mirror of
https://github.com/jgthms/bulma.git
synced 2024-11-28 12:24:23 +00:00
98 lines
2.8 KiB
Sass
98 lines
2.8 KiB
Sass
$select-colors: $form-colors !default
|
|
|
|
.select
|
|
--select-arrow: #{$input-arrow}
|
|
--select-disabled-border-color: #{$input-disabled-border-color}
|
|
--select-hover-color: #{$input-hover-color}
|
|
--select-disabled-color: #{$input-disabled-color}
|
|
--select-focus-box-shadow-size: #{$input-focus-box-shadow-size}
|
|
display: inline-block
|
|
max-width: 100%
|
|
position: relative
|
|
vertical-align: top
|
|
&:not(.is-multiple)
|
|
height: var(--input-height)
|
|
&:not(.is-multiple):not(.is-loading)
|
|
&::after
|
|
@extend %arrow
|
|
border-color: var(--select-arrow)
|
|
+ltr-position(1.125em)
|
|
z-index: 4
|
|
&.is-rounded
|
|
select
|
|
border-radius: var(--radius-rounded, #{$radius-rounded})
|
|
+ltr-property("padding", 1em, false)
|
|
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: var(--select-disabled-border-color)
|
|
&:not([multiple])
|
|
+ltr-property("padding", 2.5em)
|
|
&[multiple]
|
|
height: auto
|
|
padding: 0
|
|
option
|
|
padding: 0.5em 1em
|
|
// States
|
|
&:not(.is-multiple):not(.is-loading):hover
|
|
&::after
|
|
border-color: var(--select-hover-color)
|
|
// Colors
|
|
@each $name, $pair in $select-colors
|
|
@debug $select-colors
|
|
$color: nth($pair, 1)
|
|
&.is-#{$name}
|
|
--hover-border-delta: -5%
|
|
--hover-border-#{$name}-l: calc(#{var(--#{$name}-l)} + #{var(--hover-border-delta)})
|
|
--hover-border-color: hsla(var(--#{$name}-h), var(--#{$name}-s), var(--hover-border-#{$name}-l), var(--#{$name}-a))
|
|
--focus-box-shadow-color: hsla(var(--#{$name}-h), var(--#{$name}-s), var(--#{$name}-l), 0.25)
|
|
&:not(:hover)::after
|
|
border-color: var(--#{$name}, #{$color})
|
|
select
|
|
border-color: var(--#{$name}, #{$color})
|
|
&:hover,
|
|
&.is-hovered
|
|
border-color: var(--hover-border-color, #{bulmaDarken($color, 5%)})
|
|
&:focus,
|
|
&.is-focused,
|
|
&:active,
|
|
&.is-active
|
|
box-shadow: var(--select-focus-box-shadow-size) var(--focus-box-shadow-color, #{bulmaRgba($color, 0.25)})
|
|
// Sizes
|
|
&.is-small
|
|
+control-small
|
|
&.is-medium
|
|
+control-medium
|
|
&.is-large
|
|
+control-large
|
|
// Modifiers
|
|
&.is-disabled
|
|
&::after
|
|
border-color: var(--select-disabled-color)
|
|
&.is-fullwidth
|
|
width: 100%
|
|
select
|
|
width: 100%
|
|
&.is-loading
|
|
&::after
|
|
@extend %loader
|
|
margin-top: 0
|
|
position: absolute
|
|
+ltr-position(0.625em)
|
|
top: 0.625em
|
|
transform: none
|
|
&.is-small:after
|
|
font-size: var(--size-small, #{$size-small})
|
|
&.is-medium:after
|
|
font-size: var(--size-medium, #{$size-medium})
|
|
&.is-large:after
|
|
font-size: var(--size-large, #{$size-large})
|