@postnord/web-components
Version:
PostNord Web Components
151 lines (150 loc) • 3.94 kB
CSS
/* Global utility variables */
/* Input styles */
/* Transition variables */
pn-select {
display: inline-block;
}
pn-select .pn-select-label {
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: flex-end;
font-weight: 400;
color: #2d2013;
margin: 0 0 0.25em 0;
gap: 0.5em;
transition-property: color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
-webkit-tap-highlight-color: transparent;
}
pn-select .pn-select-label > span {
font-size: 0.875em;
}
pn-select .pn-select-input {
position: relative;
}
pn-select .pn-select-icon {
pointer-events: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 1.5em;
height: 1.5em;
border-radius: 50%;
background-color: transparent;
}
pn-select .pn-select-icon[data-default] {
right: 0.75em;
}
pn-select .pn-select-icon[data-custom] {
left: 0.75em;
}
pn-select .pn-select-icon[data-custom] ~ .pn-select-element {
padding-left: 3em;
}
pn-select .pn-select-icon[data-error] {
right: 3em;
}
pn-select .pn-select-icon[data-error] ~ .pn-select-element {
padding-right: 5em;
}
pn-select .pn-select-icon > .pn-icon-svg {
transition-property: transform;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-select .pn-select-element {
cursor: pointer;
color: #2d2013;
background-color: #ffffff;
border: 0.0625em solid #969087;
border-radius: 0.5em;
padding: 0.75em;
font-family: inherit;
font-size: 1em;
font-weight: 500;
line-height: 1.5em;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
transition-property: outline-color, background-color, border-color, color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
width: 100%;
padding-right: 3em;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
pn-select .pn-select-element:-webkit-autofill, pn-select .pn-select-element:-webkit-autofill:hover, pn-select .pn-select-element:-webkit-autofill:focus, pn-select .pn-select-element:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 10em #e0f8ff inset;
-webkit-text-fill-color: #2d2013;
}
pn-select .pn-select-element:focus-visible {
outline-color: #005d92;
background-color: #ffffff;
border-color: #005d92;
}
pn-select .pn-select-element::placeholder {
color: #5e554a;
font-weight: normal;
}
pn-select .pn-select-element:hover {
border-color: #005d92;
}
pn-select .pn-select-element:disabled {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
}
pn-select .pn-select-element:open + pn-icon .pn-icon-svg {
transform: rotate(180deg);
}
pn-select .pn-select-element:disabled {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
}
pn-select .pn-select-element[data-placeholder] {
color: #5e554a;
font-weight: normal;
}
pn-select .pn-select-element:hover {
color: #2d2013;
background-color: #effbff;
}
pn-select .pn-select-no-results {
margin: 0;
padding: 0.75em;
}
pn-select .pn-select-helper {
color: #5e554a;
font-size: 0.875em;
font-weight: 400;
margin: 0.25em 0 0 0;
display: flex;
flex-direction: column;
gap: 0.25em;
}
pn-select .pn-select-helper[role=alert] {
color: #a70707;
}
pn-select .pn-select[data-error] > .pn-select-label {
color: #a70707;
}
pn-select .pn-select[data-error] > .pn-select-input > .pn-select-element {
border-color: #a70707;
}
pn-select .pn-select[data-error] > .pn-select-input > .pn-select-element:hover {
border-color: #500715;
}
pn-select .pn-select[data-error] > .pn-select-input > .pn-select-element:focus-visible {
background-color: #ffffff;
border-color: #a70707;
outline-color: #a70707;
}
pn-select .pn-select[data-error] > .pn-select-input > .pn-select-element:hover {
background-color: #fdefee;
}