Spaces:
Sleeping
Sleeping
| @use "shared"; | |
| @use "../utilities/controls"; | |
| @use "../utilities/css-variables" as cv; | |
| @use "../utilities/initial-variables" as iv; | |
| @use "../utilities/extends"; | |
| $select-colors: shared.$form-colors !default; | |
| .#{iv.$class-prefix}select { | |
| @include cv.register-vars( | |
| ( | |
| "input-h": #{cv.getVar("scheme-h")}, | |
| "input-s": #{cv.getVar("scheme-s")}, | |
| "input-border-style": solid, | |
| "input-border-width": 1px, | |
| "input-border-l": #{cv.getVar("border-l")}, | |
| ) | |
| ); | |
| display: inline-block; | |
| max-width: 100%; | |
| position: relative; | |
| vertical-align: top; | |
| &:not(.#{iv.$class-prefix}is-multiple) { | |
| height: shared.$input-height; | |
| } | |
| &:not(.#{iv.$class-prefix}is-multiple):not(.#{iv.$class-prefix}is-loading) { | |
| &::after { | |
| @extend %arrow; | |
| inset-inline-end: 1.125em; | |
| z-index: 4; | |
| } | |
| } | |
| &.#{iv.$class-prefix}is-rounded { | |
| select { | |
| border-radius: cv.getVar("radius-rounded"); | |
| padding-inline-start: 1em; | |
| } | |
| } | |
| select { | |
| @extend %input; | |
| cursor: pointer; | |
| display: block; | |
| font-size: 1em; | |
| max-width: 100%; | |
| outline: none; | |
| &::-ms-expand { | |
| display: none; | |
| } | |
| &[disabled]:hover, | |
| fieldset[disabled] &:hover { | |
| border-color: shared.$input-disabled-border-color; | |
| } | |
| &:not([multiple]) { | |
| padding-inline-end: 2.5em; | |
| } | |
| &[multiple] { | |
| height: auto; | |
| padding: 0; | |
| option { | |
| padding: 0.5em 1em; | |
| } | |
| } | |
| } | |
| // Colors | |
| @each $name, $pair in $select-colors { | |
| &.#{iv.$class-prefix}is-#{$name} { | |
| @include cv.register-vars( | |
| ( | |
| "input-h": #{cv.getVar($name, "", "-h")}, | |
| "input-s": #{cv.getVar($name, "", "-s")}, | |
| "input-l": #{cv.getVar($name, "", "-l")}, | |
| "input-focus-h": #{cv.getVar($name, "", "-h")}, | |
| "input-focus-s": #{cv.getVar($name, "", "-s")}, | |
| "input-focus-l": #{cv.getVar($name, "", "-l")}, | |
| "input-border-l": #{cv.getVar($name, "", "-l")}, | |
| "arrow-color": #{cv.getVar($name)}, | |
| ) | |
| ); | |
| } | |
| } | |
| // Sizes | |
| &.#{iv.$class-prefix}is-small { | |
| @include controls.control-small; | |
| } | |
| &.#{iv.$class-prefix}is-medium { | |
| @include controls.control-medium; | |
| } | |
| &.#{iv.$class-prefix}is-large { | |
| @include controls.control-large; | |
| } | |
| // Modifiers | |
| &.#{iv.$class-prefix}is-disabled { | |
| &::after { | |
| border-color: shared.$input-disabled-color ; | |
| opacity: 0.5; | |
| } | |
| } | |
| &.#{iv.$class-prefix}is-fullwidth { | |
| width: 100%; | |
| select { | |
| width: 100%; | |
| } | |
| } | |
| &.#{iv.$class-prefix}is-loading { | |
| &::after { | |
| @extend %loader; | |
| inset-inline-end: 0.625em; | |
| margin-top: 0; | |
| position: absolute; | |
| top: 0.625em; | |
| transform: none; | |
| } | |
| &.#{iv.$class-prefix}is-small:after { | |
| font-size: cv.getVar("size-small"); | |
| } | |
| &.#{iv.$class-prefix}is-medium:after { | |
| font-size: cv.getVar("size-medium"); | |
| } | |
| &.#{iv.$class-prefix}is-large:after { | |
| font-size: cv.getVar("size-large"); | |
| } | |
| } | |
| } | |