/*******
 ! Entry
********/

@mixin linked_entry($bg) {
	border-width: 1px;
	border-radius: 0;
	border-right-width: 0;
	border-left-width: 0;

	&:first-child {
		border-width: 1px;
		border-radius: $roundness;
		border-right-width: 0;
		border-bottom-right-radius: 0;
		border-top-right-radius: 0;
	}

	&:last-child {
		border-width: 1px;
		border-radius: $roundness;
		border-left-width: 0;
		border-bottom-left-radius: 0;
		border-top-left-radius: 0;
	}

	&:only-child {
		border-width: 1px;
		border-radius: $roundness;
	}
}

@mixin entry($bg, $fg) {
	@include border(shade($bg, .9));

	padding: ($spacing - 1px) $spacing;
	border-width: 1px;
	border-style: solid;
	border-radius: $roundness;
	background-color: $bg;
	background-image: none;
	transition: border 100ms ease;
	box-shadow: inset 1px 0 alpha($dark_shadow, .1),
				inset 0 1px alpha($dark_shadow, .12),
				inset -1px 0 alpha($dark_shadow, .1),
				inset 0 -1px alpha($dark_shadow, .05),
				0 1px 2px -1px shade($bg, 1.4);

	&:selected, &:selected:focus {
		background-color: $selected_bg_color;
		color: $selected_fg_color;
	}

	&:insensitive {
		background-color: shade($bg, .9);
		background-image: none;
		color: mix($bg, $fg, .5);
		box-shadow: none;
	}

	&.progressbar {
		@include linear-gradient($selected_bg_color);

		border-width: 0;
		border-radius: $roundness;
		color: $selected_fg_color;
	}

	&.image.left { padding-right: $spacing; }
}

@include exports("entry") {
	.entry { @include entry($base_color, $text_color); }
}


/******************
 ! Combobox entry *
*******************/

@include exports("combobox") {
	GtkComboBox {
		&.combobox-entry {
			.entry {
				&, &:hover, &:focus, &:active, &:insensitive {
					border-width: 1px 0 1px 1px;
					border-top-right-radius: 0;
					border-bottom-right-radius: 0;
				}
			}

			.button {
				&, &:hover, &:focus, &:active, &:insensitive {
					border-width: 1px 1px 1px 1px;
					border-bottom-left-radius: 0;
					border-top-left-radius: 0;
				}
			}
		}

		.separator {
			/* always disable separators */
			-GtkWidget-wide-separators: true;
			-GtkWidget-horizontal-separator: 0;
			-GtkWidget-vertical-separator: 0;

			border-style: none;
		}
	}
}