blob: 908bbaacbe75310d1e47b358694d688c7dfd8740 [file] [log] [blame]
.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;
}
}
}