/// @access private
/// @param {Boolean} $disabled Whether to output disabled state styling
/// @param {Boolean} $small Whether to output small input styles
/// @param {Boolean} $suffix Whether to output suffix styles
/// @output Styling for text areas
@mixin _oFormsSelect($disabled: null, $small: null, $suffix: null) {
	.o-forms-input--select {
		@if $small {
			@include _oFormsInputSmall('select');
		}

		@if $suffix {
			@include _oFormsInputSuffix('select');
		}

		select {
			@include _oFormsInputBase($disabled);
			@include oPrivateIconsContent(
				'arrow-down',
				_oFormsGet('field-standard-text'),
				$size: null,
				$include-base-styles: false
			);
			appearance: none;
			background-repeat: no-repeat;
			background-size: $_o-forms-checkbox-radio-width
				$_o-forms-checkbox-radio-width;
			border-radius: 0;
			background-clip: padding-box;
			color: _oFormsGet('default-text');
			cursor: pointer;
			outline: none;

			// For iOS 6 that doesn't support 4-value background-position
			background-position: right center;
			// stylelint-disable-next-line declaration-block-no-duplicate-properties
			background-position: right $_o-forms-spacing-two center;

			// Hide stock browser arrow in IE 10+
			&::-ms-expand {
				color: oPrivateFoundationGet('o3-color-palette-white');
				display: none;
			}

			&:disabled {
				@include oPrivateIconsContent(
					'arrow-down',
					_oFormsGet('disabled-text'),
					$size: null,
					$include-base-styles: false
				);
			}

			&[multiple] {
				background-image: none;
			}
		}
	}
}
