@import '../less/variables/colors.less';
@import '../less/variables/forms.less';

.c-tag-input__row {
	align-items: flex-start;
	display: flex;
}

.c-tag-input__field-and-message {
	flex-grow: 2;
	position: relative;

	&.is-disabled {
		background-color: @color-gray-xx-light;
		cursor: not-allowed;
	}

	&.is-inline {
		// Match o-form-control style
		border: @form-input-border-width solid @color-gray-x-light;
		border-radius: @form-input-border-radius;

		// Lay out the tags and input flexibly
		display: flex;
		flex-wrap: wrap;
		min-height: 34px;
		padding: 2px 12px; // slightly less than default input
	}

	& .o-text-validation {
		top: @form-input-height;
	}
}

.c-tag-input__inline-tags {
	display: inline-block;
}

.c-tag-input__inline-input {
	border: none;
	display: inline-block;
	flex-basis: 100px;
	flex-grow: 2;
	height: 22px;
	margin: 2px 0;

	&:focus {
		outline: 0;
	}

	&.is-disabled {
		background-color: @color-gray-xx-light;
		cursor: not-allowed;
	}
}

.c-tag-input__button {
	margin-left: 5px;
}

.c-tag-input__tags {
	display: flex;
	flex-wrap: wrap;
	margin-top: 5px;
}

.c-tag-input__tag {
	align-items: center;
	display: inline-flex;
	margin-right: 15px;
	overflow: hidden;
	word-wrap: break-word;

	&.is-disabled {
		opacity: 0.75;
		pointer-events: none;
	}

	&.is-inline {
		background: #fff;
		border: 1px solid @color-gray-xx-light;
		border-radius: 15px;
		line-height: 1.6;
		margin: 2px 6px 2px 0;
		padding: 0 8px 0 10px;
	}
}

.c-tag-input__tag-remove {
	color: @color-gray-medium;
	cursor: pointer;
	margin: 0 4px 1px 0;
	transition: color 0.25s;

	&:hover {
		color: @color-danger;
	}

	&.is-inline {
		font-size: 13px;
		margin: 0 2px 0 8px;
	}
}

.c-tag-input__tag-text {
	min-width: 1px; // wrap long single words in flex item
}
