@use "../config" as *; @use "../colors" as *; @use "../variables" as *; @use "../functions" as *; @use "../vendor/rfs" as *; @use "../mixins/border-radius" as *; @use "../mixins/box-shadow" as *; @use "../mixins/color-mode" as *; @use "../mixins/focus-ring" as *; @use "../mixins/transition" as *; @use "form-variables" as *; // scss-docs-start form-select-variables $form-select-padding-y: $input-padding-y !default; $form-select-padding-x: $input-padding-x !default; $form-select-font-family: $input-font-family !default; $form-select-font-size: $input-font-size !default; $form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image $form-select-font-weight: $input-font-weight !default; $form-select-line-height: $input-line-height !default; $form-select-color: $input-color !default; $form-select-bg: $input-bg !default; $form-select-disabled-color: null !default; $form-select-disabled-bg: $input-disabled-bg !default; $form-select-disabled-border-color: $input-disabled-border-color !default; $form-select-bg-position: right $form-select-padding-x center !default; $form-select-bg-size: 16px 12px !default; // In pixels because image dimensions $form-select-indicator-color: $gray-800 !default; $form-select-indicator: url("data:image/svg+xml,") !default; $form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default; $form-select-feedback-icon-position: center right $form-select-indicator-padding !default; $form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; $form-select-border-width: $input-border-width !default; $form-select-border-color: $input-border-color !default; $form-select-border-radius: $input-border-radius !default; $form-select-box-shadow: var(--#{$prefix}box-shadow-inset) !default; $form-select-focus-border-color: $input-focus-border-color !default; $form-select-focus-width: $input-focus-width !default; // $form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default; $form-select-padding-y-sm: $input-padding-y-sm !default; $form-select-padding-x-sm: $input-padding-x-sm !default; $form-select-font-size-sm: $input-font-size-sm !default; $form-select-border-radius-sm: $input-border-radius-sm !default; $form-select-padding-y-lg: $input-padding-y-lg !default; $form-select-padding-x-lg: $input-padding-x-lg !default; $form-select-font-size-lg: $input-font-size-lg !default; $form-select-border-radius-lg: $input-border-radius-lg !default; $form-select-transition: $input-transition !default; // scss-docs-end form-select-variables @layer forms { .form-select { --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator)}; display: block; width: 100%; padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x; font-family: $form-select-font-family; @include font-size($form-select-font-size); font-weight: $form-select-font-weight; line-height: $form-select-line-height; color: $form-select-color; appearance: none; background-color: $form-select-bg; background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none); background-repeat: no-repeat; background-position: $form-select-bg-position; background-size: $form-select-bg-size; border: $form-select-border-width solid $form-select-border-color; @include border-radius($form-select-border-radius, 0); @include box-shadow($form-select-box-shadow); @include transition($form-select-transition); &:focus-visible { border-color: $form-select-focus-border-color; @include focus-ring(true); } &[multiple], &[size]:not([size="1"]) { padding-right: $form-select-padding-x; background-image: none; } &:disabled { color: $form-select-disabled-color; background-color: $form-select-disabled-bg; border-color: $form-select-disabled-border-color; } // Remove outline from select box in FF &:-moz-focusring { color: transparent; text-shadow: 0 0 0 $form-select-color; } } .form-select-sm { padding-top: $form-select-padding-y-sm; padding-bottom: $form-select-padding-y-sm; padding-left: $form-select-padding-x-sm; @include font-size($form-select-font-size-sm); @include border-radius($form-select-border-radius-sm); } .form-select-lg { padding-top: $form-select-padding-y-lg; padding-bottom: $form-select-padding-y-lg; padding-left: $form-select-padding-x-lg; @include font-size($form-select-font-size-lg); @include border-radius($form-select-border-radius-lg); } @if $enable-dark-mode { @include color-mode(dark) { .form-select { --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator-dark)}; } } } }