@ -1,482 +1,135 @@
fieldset [ disabled ] . multiselect {
pointer-events : none ;
}
. multiselect__spinner {
position : absolute ;
right : 1 px ;
top : 1 px ;
width : 48 px ;
height : 35 px ;
background : $white ;
display : block ;
& : before , &: after {
position : absolute ;
content : " " ;
top : 50 % ;
left : 50 % ;
margin : - 8 px 0 0 - 8 px ;
width : 16 px ;
height : 16 px ;
border-radius : 100 % ;
border-color : $multiselect_primary transparent transparent ;
border-style : solid ;
border-width : 2 px ;
box-shadow : 0 0 0 1 px transparent ;
}
& : before {
animation : spinning 2 .4 s cubic-bezier ( 0 .41 , 0 .26 , 0 .2 , 0 .62 ) ;
animation-iteration-count : infinite ;
}
& : after {
animation : spinning 2 .4 s cubic-bezier ( 0 .51 , 0 .09 , 0 .21 , 0 .8 ) ;
animation-iteration-count : infinite ;
}
}
. multiselect__loading-enter-active , . multiselect__loading-leave-active {
transition : opacity 0 .4 s ease-in-out ;
opacity : 1 ;
}
. multiselect__loading-enter , . multiselect__loading-leave-active {
opacity : 0 ;
}
. multiselect , . multiselect__input , . multiselect__single {
font-family : inherit ;
font-size : 16 px ;
touch-action : manipulation ;
}
. multiselect {
box-sizing : content-box ;
display : block ;
position : relative ;
width : 100 % ;
min-height : 40 px ;
text-align : left ;
color : $text ;
width : 100 % ;
position : relative ;
* {
box-sizing : border-box ;
}
& . has-search-results . input-wrapper {
border-radius : $radius $radius 0 0 ;
border-color : $primary !important ;
background : $white !important ;
& : focus {
outline : none ;
}
}
. multiselect--disabled {
pointer-events : none ;
opacity : 0 .6 ;
}
. multiselect--active {
z-index : 50 ;
& : not ( . multiselect--above ) {
. multiselect__current , . multiselect__input , . multiselect__tags {
border-bottom-left-radius : 0 ;
border-bottom-right-radius : 0 ;
}
}
. multiselect__select {
transform : rotateZ ( 180 deg ) ;
}
}
. multiselect--above . multiselect--active {
. multiselect__current , . multiselect__input , . multiselect__tags {
border-top-left-radius : 0 ;
border-top-right-radius : 0 ;
}
}
. multiselect__input , . multiselect__single {
position : relative ;
display : inline-block ;
min-height : 20 px ;
line-height : 20 px ;
border : none ;
border-radius : 5 px ;
background : $white ;
padding : 0 0 0 5 px ;
width : calc ( 100 % ) ;
transition : border 0 .1 s ease ;
box-sizing : border-box ;
margin-bottom : 8 px ;
vertical-align : top ;
}
. multiselect__input : : placeholder {
color : $multiselect-dark ;
}
. multiselect__tag ~ {
. multiselect__input , . multiselect__single {
width : auto ;
}
}
. multiselect__input : hover , . multiselect__single : hover {
border-color : darken ( $white , 10 ) ;
}
. multiselect__input : focus {
border-color : $primary ;
outline : none ;
}
. multiselect__single {
& : focus {
border-co lor : $primary ;
outline : none ;
}
padding-left : 5 px ;
margin-bottom : 8 px ;
}
. multiselect__tags-wrap {
display : inline ;
. user {
display : inline-block ;
min-height : 30 px ;
margin : 0 0 .5 em ;
}
}
. multiselect__tags {
display : block ;
padding : 8 px 40 px 0 8 px ;
border-radius : 5 px ;
border : 1 px solid $multiselect-border ;
background : $white ;
font-size : 14 px ;
}
. multiselect__tag {
position : relative ;
display : inline-block ;
padding : 4 px 26 px 4 px 10 px ;
border-radius : 5 px ;
margin-right : 10 px ;
color : $white ;
line-heigh t : 1 ;
background : $multiselect-highlight ;
margin-bottom : 5 px ;
white-space : nowrap ;
overflow : hidden ;
max-width : 100 % ;
text-overflow : ellipsis ;
}
. multiselect__tag-icon {
cursor : pointer ;
margin-left : 7 px ;
position : absolu te ;
right : 0 ;
top : 0 ;
bottom : 0 ;
font-weight : 700 ;
font-style : initial ;
width : 22 px ;
text-align : center ;
line-height : 22 px ;
transition : all 0 .2 s ease ;
border-radius : 5 px ;
& : after {
content : " × " ;
color : darken ( $multiselect-highlight , 20 ) ;
font-size : 14 px ;
}
& : focus , &: hover {
background : lighten ( $multiselect-highlight , 10 ) ;
}
& : focus : after , &: hover : after {
color : $white ;
}
}
. multiselect__current {
line-height : 16 px ;
min-height : 40 px ;
box-sizing : border-box ;
display : block ;
overflow : hidden ;
padding : 8 px 30 px 0 12 px ;
white-space : nowrap ;
margin : 0 ;
text-decoration : none ;
border-radius : 5 px ;
border : 1 px solid $multiselect-border ;
cursor : pointer ;
}
. multiselect__select {
line-height : 16 px ;
display : block ;
position : absolute ;
box-sizing : border-box ;
width : 40 px ;
height : 38 px ;
right : 1 px ;
top : 1 px ;
padding : 4 px 8 px ;
margin : 0 ;
text-decoration : none ;
text-align : center ;
cursor : pointer ;
transition : transform 0 .2 s ease ;
& : before {
position : relative ;
right : 0 ;
top : 65 % ;
color : darken ( $multiselect-border , 30 ) ;
margin-top : 4 px ;
border-style : solid ;
border-width : 5 px 5 px 0 5 px ;
border-color : darken ( $multiselect-border , 30 ) transparent transparent transparent ;
content : " " ;
}
}
. multiselect__placeholder {
color : darken ( $white , 15 ) ;
display : inline-block ;
margin-bottom : 10 px ;
padding-top : 2 px ;
}
. multiselect--active . multiselect__placeholder {
display : none ;
}
. multiselect__content-wrapper {
position : absolute ;
display : block ;
background : $white ;
width : 100 % ;
max-height : 240 px ;
overflow : auto ;
border : 1 px solid $multiselect-border ;
border-top : none ;
border-bottom-left-radius : 5 px ;
border-bottom-right-radius : 5 px ;
z-index : 50 ;
-webkit-overflow-scrolling : touch ;
}
. multiselect__content , . content ul . multiselect__content {
list-style : none ;
display : inline-block ;
padding : 0 ;
margin : 0 ;
min-width : 100 % ;
vertical-align : top ;
li + li {
margin : 0 ;
}
}
. multiselect--above . multiselect__content-wrapper {
bottom : 100 % ;
border-radius : 5 px 5 px 0 0 ;
border-bottom : none ;
border-top : 1 px solid $multiselect-border ;
}
. multiselect__content : : webkit-scrollbar {
display : none ;
}
. multiselect__element {
display : block ;
}
. multiselect__option {
display : block ;
padding : 12 px ;
min-height : 40 px ;
line-height : 16 px ;
text-decoration : none ;
text-transform : none ;
vertical-align : middle ;
position : relative ;
cursor : pointer ;
white-space : nowrap ;
& : after {
top : 0 ;
right : 0 ;
position : absolute ;
line-height : 40 px ;
padding-right : 12 px ;
padding-left : 20 px ;
font-size : 13 px ;
}
}
. multiselect__option--highlight {
background : $multiselect-highlight ;
outline : none ;
color : $white ;
& : after {
content : attr ( data-select ) ;
background : $multiselect-highlight ;
color : $white ;
}
}
. multiselect__option--selected {
background : darken ( $white , 10 ) ;
color : $multiselect-dark ;
font-weight : bold ;
& : after {
content : attr ( data-selected ) ;
color : silver ;
}
& . multiselect__option--highlight {
background : $multiselect-highlight-negative ;
color : $white ;
& : after {
background : $multiselect-highlight-negative ;
content : attr ( data-deselect ) ;
color : $white ;
}
}
}
. multiselect--disabled {
pointer-events : none ;
. multiselect__current , . multiselect__select {
background : $multiselect-disabled ;
color : darken ( $multiselect-disabled , 40 ) ;
}
}
. multiselect__option--disabled {
background : $multiselect-disabled !important ;
color : darken ( $multiselect-disabled , 40 ) !important ;
cursor : text ;
pointer-events : none ;
}
. multiselect__option--group {
background : $multiselect-disabled ;
color : $multiselect-dark ;
& . multiselect__option--highlight {
background : $multiselect-dark ;
color : $white ;
& : after {
background : $multiselect-dark ;
}
}
}
. multiselect__option--disabled . multiselect__option--highlight {
background : $multiselect-disabled ;
}
. multiselect__option--group-selected . multiselect__option--highlight {
background : $multiselect-highlight-negative ;
color : $white ;
& : after {
background : $multiselect-highlight-negative ;
content : attr ( data-deselect ) ;
color : $white ;
}
}
. multiselect-enter-active , . multiselect-leave-active {
transition : all 0 .15 s ease ;
}
. multiselect-enter , . multiselect-leave-active {
opacity : 0 ;
}
. multiselect__strong {
margin-bottom : 8 px ;
line-height : 20 px ;
display : inline-block ;
vertical-align : top ;
}
* [ dir = " rtl " ] {
. multiselect {
text-align : right ;
}
. multiselect__select {
right : auto ;
left : 1 px ;
}
. multiselect__tags {
padding : 8 px 8 px 0 px 40 px ;
}
. multiselect__content {
text-align : right ;
}
. multiselect__option : after {
right : auto ;
left : 0 ;
}
. multiselect__clear {
right : auto ;
left : 12 px ;
}
. multiselect__spinner {
right : auto ;
left : 1 px ;
}
}
@keyframes spinning {
from {
transform : rotate ( 0 ) ;
}
to {
transform : rotate ( 2 turn ) ;
}
}
. multiselect__tags {
. remove-assignee {
vertical-align : bottom ;
color : $red ;
margin-left : - 1 .8 em ;
background : $white ;
padding : 0 4 px ;
display : inline-block ;
border-radius : 100 % ;
font-size : .8 em ;
width : 18 px ;
height : 18 px ;
}
& , & : focus-within {
border-bottom-color : $grey-lighter !important ;
}
}
. input-wrapper {
padding : 0 ;
background : $white !important ;
border-color : $grey-lighter !important ;
flex-wrap : wrap ;
height : auto ;
& : hover {
border-color : $grey-light !important ;
}
. input-loader-wrapper {
display : flex ;
max-width : 100 % ;
width : 100 % ;
align-items : center ;
. input {
border : none !important ;
background : transparent ;
height : auto ;
& : : placeholder {
font-style : normal !important ;
}
}
}
& : focus-within {
border-color : $primary !important ;
background : $white !important ;
}
. loader {
margin : 0 .5 rem ;
}
}
. search-results {
background : $white ;
border-radius : 0 0 $radius $radius ;
border : 1 px solid $primary ;
border-top : none ;
max-height : 50 vh ;
overflow-x : auto ;
position : absolute ;
z-index : 100 ;
max-width : 100 % ;
min- width : 100 % ;
button {
background : transparent ;
display : block ;
text-align : left ;
box-shadow : none ;
border-radius : 0 ;
text-transform : none ;
font-family : $family-sans-serif ;
font-weight : normal ;
display : flex ;
justify-content : space-between ;
align-items : center ;
overf low : hidden ;
span : first-child {
white-space : nowrap ;
text-overflow : ellipsis ;
overflow : hidden ;
}
. hint-text {
font-size : .75 rem ;
color : transparent ;
transition : color $transition ;
padding-left : .5 rem ;
}
& : focus , &: hover {
background : $grey-lightest ;
box-shadow : none !important ;
. hint-text {
color : $dark ;
}
}
& : active {
background : $grey-lighter ;
}
}
}
. assignee {
position : relative ;
& : not ( : first-child ) {
margin-lef t : - 1 .75 rem ;
}
. user img {
border : 2 px solid $white ;
}
. remove-assignee {
position : absolute ;
top : 4 px ;
left : 2 px ;
color : $red ;
background : $whi te ;
padding : 0 4 px ;
display : block ;
border-radius : 10 0% ;
font-size : .75 rem ;
width : 18 px ;
height : 18 px ;
z-index : 100 ;
}
}
}