.sdc-dropdown { @include body-1; position: relative; display: block; .sdc-dropdown__error--block { display: none; } &.headless { display: none; } /************************************* SDC DropDown styles *************************************/ .sdc-dropdown__component-container { position: relative; height: 40px; .sdc-dropdown__header { background: $white; text-align: left; position: relative; color: $dark-gray; @include base-font-regular; font-size: 14px; text-indent: 6px; border: solid 1px $light-gray; width: 100%; height: 40px; line-height: 36px; box-sizing: border-box; border-radius: 2px; &.placeholder { @include base-font-italic; color: $gray; } &.disabled { border: solid 1px $light-gray; background-color: $light-silver; color: $light-gray; cursor: default; &:focus { border: solid 1px $light-gray; outline: none; .svg-icon>svg { fill: $light-gray; } } .svg-icon>svg { fill: $light-gray; } } &:focus { border: solid 1px $light-blue; outline: none; .svg-icon>svg { fill: $light-blue; } } .sdc-dropdown-handle { float: right; .svg-icon>svg { fill: $dark-gray; } } svg-icon { margin: 10px 6px; float: right; } } } &.open-bottom { .sdc-dropdown__header { border-bottom-left-radius: 0; border-bottom-right-radius: 0; border: 1px solid $light-blue; box-sizing: border-box; .svg-icon>svg { fill: $light-blue; } } } &.open-top { .sdc-dropdown__header { border-top-left-radius: 0; border-top-right-radius: 0; } } .sdc-dropdown__options-list { position: relative; opacity: 0; top: 100%; left: 0; width: 100%; max-height: 0; overflow-y: auto; box-sizing: border-box; border: 1px solid $light-blue; background-color: white; box-shadow: 0 3px 7px -3px $dark-gray; z-index: 999; &.sdc-dropdown__options-wrapper--top { bottom: 40px; border-top: 1px solid $light-blue; } &.sdc-dropdown__options-list--headless { border-top: 1px solid $light-blue; } .sdc-dropdown__option { @include base-font-regular; font-size: 14px; text-indent: 10px; padding: 10px; background: transparent; cursor: pointer; height: 40px; box-sizing: border-box; &.sdc-dropdown__option--hr { height: 1px; overflow: hidden; border-top: 1px solid $silver; padding: 0; margin: 10px 20px; } &.sdc-dropdown__option--group { text-indent: 30px; } &:hover { background-color: $light-silver; //@include base-font-semibold; } &.selected { background-color: $lighter-blue; color: $blue; @include base-font-semibold; } &.sdc-dropdown__option--header { @include base-font-semibold; color: $text-black; cursor: default; &.sdc-dropdown__option--group { text-indent: 10px; } &:hover { background-color: transparent; } } &.sdc-dropdown__option--disabled { color: $gray; cursor: default; &:hover { background-color: transparent; } &::after { color: $gray; } &:focus { border: solid 1px $light-gray; outline: none; } } } } .sdc-dropdown__select { @include base-font-regular; text-indent: 6px; border: solid 1px $light-gray; width: 100%; &.disabled { opacity: 0.7; } option { padding: 3px; } } .sdc-dropdown__label { margin-bottom: 5px; display: block; @include body-3-emphasis; color: $text-black; &.required::before { content: '*'; color: $red; margin: 0 4px 0 0; } } /************************************* SDC Auto-DropDown styles *************************************/ &.open-bottom { .sdc-dropdown-auto__wrapper { border: 1px solid $light-blue; box-sizing: border-box; .svg-icon>svg { fill: $light-blue; } } } .sdc-dropdown-auto__wrapper { display: flex; border: solid 1px $light-gray; border-radius: 2px; .sdc-dropdown__header { border: none; color: $gray; &:focus { border: none; } } svg-icon { margin: 12px 10px; float: right; } } /************************************* SDC Error styles *************************************/ &.sdc-dropdown__error { .sdc-dropdown__header { border: solid 1px $red; @include font-error; &::after { @include font-error; } &:focus { border: solid 1px $red; .sdc-dropdown-handle { use { fill: $red; } } } .sdc-dropdown-handle { use { fill: $red; } } } .sdc-dropdown__error--block { display: block; @include font-error; margin: 4px 0; @include body-3; } .sdc-dropdown__options-wrapper--frame { .sdc-dropdown__options-list { border: 1px solid $red; border-top: none; } &.sdc-dropdown__options-wrapper--top { .sdc-dropdown__options-list { border-top: 1px solid $red; } } } .svg-icon.__exclamationTriangleFull { width: 12px; height: 10px; margin-right: 6px; } } } .sdc-dropdown__error--icon { fill: $red; } /********************************************************/ /* Animation */ /********************************************************/ @include keyframes-expand-animation('top-to-bottom-exp', 244px); @include keyframes-collapse-animation('top-to-bottom', 244px); @include keyframes-expand-animation('bottom-to-top-exp', 244px); @include keyframes-collapse-animation('bottom-to-top', 244px); .sdc-dropdown__options-wrapper--frame { overflow: hidden; position: absolute; top: auto; width: 100%; &.sdc-dropdown__options-wrapper--top { bottom: 40px; top: auto; padding: 10px 0 0 0; /* Expend animation from bottom to top */ .sdc-dropdown__options-list { border-top: 1px solid $light-blue; box-shadow: 0 0 7px -1px $dark-gray; &.sdc-dropdown__options-list--animation-init { border-bottom: none; padding: 0; animation: bottom-to-top .0s forwards; } } &.sdc-dropdown__options-wrapper--uncollapsed { .sdc-dropdown__options-list { animation: bottom-to-top-exp .0s forwards; } } } } /** Fold animation from top to bottom */ .sdc-dropdown { .sdc-dropdown__options-list.sdc-dropdown__options-list--animation-init { animation: top-to-bottom .0s forwards; } } /** Expend animation from top to bottom */ .sdc-dropdown { .sdc-dropdown__options-wrapper--uncollapsed { .sdc-dropdown__options-list.sdc-dropdown__options-list--animation-init { animation: top-to-bottom-exp .0s forwards; } } }