@postnord/web-components
Version:
PostNord Web Components
554 lines (552 loc) • 17.1 kB
CSS
/* Global utility variables */
/* Input styles */
/* Transition variables */
pn-multiselect {
display: inline-block;
}
pn-multiselect .pn-multiselect {
border: 0;
margin: 0;
padding: 0;
}
pn-multiselect .pn-multiselect[data-icon] .pn-multiselect-element {
padding-left: 3em;
}
pn-multiselect .pn-multiselect[data-error] .pn-multiselect-element {
padding-right: 5.5em;
border-color: #a70707;
}
pn-multiselect .pn-multiselect[data-error] .pn-multiselect-element:hover {
border-color: #500715;
}
pn-multiselect .pn-multiselect[data-error] .pn-multiselect-element:focus-visible {
background-color: #ffffff;
border-color: #a70707;
outline-color: #a70707;
}
pn-multiselect .pn-multiselect-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;
width: 100%;
}
pn-multiselect .pn-multiselect-label > span {
font-size: 0.875em;
}
pn-multiselect .pn-multiselect-sr-only {
position: absolute;
height: 1px;
width: 1px;
overflow: hidden;
clip: rect(1px, 1px, 1px, 1px);
margin: -1px;
white-space: nowrap;
}
pn-multiselect .pn-multiselect-group {
position: relative;
padding: 0;
margin: 0;
}
pn-multiselect .pn-multiselect-input {
position: relative;
}
pn-multiselect .pn-multiselect-input > pn-icon {
pointer-events: none;
position: absolute;
top: 0.75em;
right: 3.5em;
}
pn-multiselect .pn-multiselect-input > pn-icon[data-custom] {
left: 0.75em;
right: unset;
}
pn-multiselect .pn-multiselect-button {
cursor: pointer;
position: absolute;
right: 0.75em;
top: 50%;
transform: translateY(-50%);
padding: 0;
margin: 0;
border: 0;
width: 2em;
height: 2em;
font-size: 1em;
border-radius: 50%;
background-color: transparent;
-webkit-tap-highlight-color: transparent;
transition-property: background-color, outline-color, border-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
}
pn-multiselect .pn-multiselect-button:focus-visible {
outline-color: #005d92;
background-color: #ffffff;
border-color: #005d92;
}
pn-multiselect .pn-multiselect-button > pn-icon > svg > path {
transition-property: transform;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
transition-delay: 0.2s;
transform-origin: center;
transform: rotate(0deg);
}
pn-multiselect .pn-multiselect-button:hover {
background-color: #effbff;
}
pn-multiselect .pn-multiselect-button[aria-expanded=true] {
background-color: #effbff;
}
pn-multiselect .pn-multiselect-button[aria-expanded=true] > pn-icon > svg > path {
transform: rotate(180deg);
transition-delay: 0s;
}
pn-multiselect .pn-multiselect-element {
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);
cursor: text;
text-align: left;
transition-delay: 0.1s, 0.1s, 0s;
width: 100%;
padding-right: 3.5em;
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5em;
overflow: hidden;
text-overflow: ellipsis;
}
pn-multiselect .pn-multiselect-element:-webkit-autofill, pn-multiselect .pn-multiselect-element:-webkit-autofill:hover, pn-multiselect .pn-multiselect-element:-webkit-autofill:focus, pn-multiselect .pn-multiselect-element:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 10em #e0f8ff inset;
-webkit-text-fill-color: #2d2013;
}
pn-multiselect .pn-multiselect-element:focus-visible {
outline-color: #005d92;
background-color: #ffffff;
border-color: #005d92;
}
pn-multiselect .pn-multiselect-element::placeholder {
color: #5e554a;
font-weight: normal;
}
pn-multiselect .pn-multiselect-element:hover {
border-color: #005d92;
}
pn-multiselect .pn-multiselect-element:disabled {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
}
pn-multiselect .pn-multiselect-element:disabled {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
pointer-events: none;
}
pn-multiselect .pn-multiselect-element:disabled + .pn-multiselect-button {
pointer-events: none;
}
pn-multiselect .pn-multiselect-element:disabled + .pn-multiselect-button path {
fill: #5e554a;
}
pn-multiselect .pn-multiselect-element:placeholder {
color: #5e554a;
font-weight: normal;
}
pn-multiselect .pn-multiselect-element[type=input]:hover {
cursor: pointer;
color: #2d2013;
background-color: #effbff;
transition-delay: 0s;
}
pn-multiselect .pn-multiselect-element[type=input]:hover[aria-invalid=true] {
background-color: #fdefee;
}
pn-multiselect .pn-multiselect-element:focus-visible {
transition-delay: 0s;
}
pn-multiselect .pn-multiselect-element::-webkit-search-cancel-button, pn-multiselect .pn-multiselect-element::-webkit-search-decoration {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
pn-multiselect .pn-multiselect-options {
scroll-behavior: smooth;
position: absolute;
z-index: 10;
top: calc(100% + 0.5em);
left: 0;
right: 0;
opacity: 0;
background-color: #ffffff;
box-shadow: 0em 0.075em 0.225em 0em rgba(0, 0, 0, 0.1), 0em 0.4em 0.9em 0em rgba(0, 0, 0, 0.13);
border-radius: 0.5em;
list-style: none;
margin: 0;
padding: 0;
width: var(--pn-select-options-width);
max-height: var(--pn-select-max-height);
overflow-y: auto;
overflow-x: hidden;
display: flex;
flex-direction: column;
visibility: hidden;
transform-origin: top left;
transform: scaleY(0) translateZ(0);
}
pn-multiselect .pn-multiselect-options[data-moving] {
transition-property: transform, opacity, visibility;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-multiselect .pn-multiselect-options[data-open] {
opacity: 1;
transform: scaleY(1) translateZ(0);
visibility: visible;
}
pn-multiselect .pn-multiselect-options[data-upwards] {
top: unset;
bottom: calc(100% + 0.5em);
transform-origin: bottom left;
box-shadow: 0 -0.0625em 0.125em rgba(0, 0, 0, 0.2);
}
pn-multiselect .pn-multiselect-options::-webkit-scrollbar {
background-color: #ffffff;
width: 0.875em;
border-radius: 0.5em;
}
pn-multiselect .pn-multiselect-options::-webkit-scrollbar-track {
background-color: #ffffff;
border-radius: 0.5em;
}
pn-multiselect .pn-multiselect-options::-webkit-scrollbar-thumb {
cursor: pointer;
background-color: #969087;
border-radius: 1em;
border: 0.25em solid #ffffff;
}
pn-multiselect .pn-multiselect-options::-webkit-scrollbar-thumb:hover {
background-color: #5e554a;
}
pn-multiselect .pn-multiselect-options::-webkit-scrollbar-corner, pn-multiselect .pn-multiselect-options::-webkit-scrollbar-button {
display: none;
}
pn-multiselect .pn-multiselect-options > pn-input {
padding: 0.5em;
}
pn-multiselect .pn-multiselect-optgroup {
list-style: none;
padding: 0;
}
pn-multiselect .pn-multiselect-optgroup > .pn-multiselect-option > .pn-multiselect-option-content {
padding-left: 2em;
}
pn-multiselect .pn-multiselect-chips {
list-style: none;
display: flex;
flex-wrap: wrap;
gap: 0.5em;
padding: 0;
margin: 0.5em 0 0 0;
color: #5e554a;
font-weight: 400;
}
pn-multiselect .pn-multiselect-chips:empty {
display: none;
}
pn-multiselect .pn-multiselect-chip {
margin: 0;
display: inline-flex;
align-items: center;
gap: 0.25em;
background-color: #ffffff;
border-radius: 0.5em;
padding: 0.125em 0.25em 0.125em 0.5em;
line-height: 1.5em;
border: 0.0625em solid #5e554a;
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
transition-property: background-color, outline-color, border-color, color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-multiselect .pn-multiselect-chip:focus-within {
color: #005d92;
outline-color: #005d92;
background-color: #effbff;
border-color: #005d92;
}
pn-multiselect .pn-multiselect-chip[data-count] {
pointer-events: none;
border: 0;
padding-left: 0;
padding-right: 0;
background-color: unset;
}
pn-multiselect .pn-multiselect-chip-label {
font-size: 0.875em;
white-space: nowrap;
}
pn-multiselect .pn-multiselect-chip-button {
cursor: pointer;
font-size: 1em;
padding: 0.25em;
height: 1.5em;
width: 1.5em;
border: 0;
background-color: unset;
border-radius: 50%;
transition-property: background-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
-webkit-tap-highlight-color: transparent;
}
pn-multiselect .pn-multiselect-chip-button:hover {
background-color: #8eddf9;
}
pn-multiselect .pn-multiselect-chip-button:focus {
outline: 0;
}
pn-multiselect .pn-multiselect-no-results {
margin: 0;
padding: 0.75em;
}
pn-multiselect .pn-multiselect-description {
color: #5e554a;
font-size: 0.875em;
font-weight: 400;
margin: 0.25em 0 0 0;
display: flex;
flex-direction: column;
gap: 0.25em;
}
pn-multiselect .pn-multiselect-description[role=alert] {
color: #a70707;
}
pn-multiselect .pn-multiselect-option {
position: relative;
margin: 0;
padding: 0;
}
pn-multiselect .pn-multiselect-option .pn-ripple {
animation: ripple 0.4s cubic-bezier(0.7, 0, 0.3, 1);
position: absolute;
border-radius: 50%;
background-color: #005d92;
transform: translate(-50%, -50%) scale(0);
opacity: 0.1;
pointer-events: none;
z-index: 3;
}
@keyframes ripple {
to {
transform: translate(-50%, -50%) scale(1);
opacity: 0;
}
}
pn-multiselect .pn-multiselect-option-input {
cursor: pointer;
position: absolute;
opacity: 0;
left: 0;
top: 0;
height: 100%;
width: 100%;
margin: 0;
-webkit-tap-highlight-color: transparent;
}
pn-multiselect .pn-multiselect-option-input:disabled {
pointer-events: none;
}
pn-multiselect .pn-multiselect-option-input:disabled + .pn-multiselect-option-content {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
pointer-events: none;
}
pn-multiselect .pn-multiselect-option-input:disabled + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #f3f2f2;
border-color: #969087;
}
pn-multiselect .pn-multiselect-option-input:disabled + .pn-multiselect-option-content path {
fill: #5e554a;
}
pn-multiselect .pn-multiselect-option-input:disabled:checked + .pn-multiselect-option-content {
color: #5e554a;
background-color: #f3f2f2;
border-color: #f3f2f2;
}
pn-multiselect .pn-multiselect-option-input:disabled:checked + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #969087;
border-color: #969087;
}
pn-multiselect .pn-multiselect-option-input:disabled:checked + .pn-multiselect-option-content path {
fill: #5e554a;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true] + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
border-color: #a70707;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true] + .pn-multiselect-option-content .pn-ripple {
background-color: #a70707;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked + .pn-multiselect-option-content {
background-color: #fdefee;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #a70707;
border-color: #a70707;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked:focus-visible + .pn-multiselect-option-content {
background-color: #fdefee;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked:focus-visible + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #500715;
border-color: #500715;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked:hover + .pn-multiselect-option-content {
background-color: #fef7f6;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:checked:hover + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #500715;
border-color: #500715;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:hover + .pn-multiselect-option-content {
background-color: #fef7f6;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:hover + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #fdefee;
border-color: #a70707;
}
pn-multiselect .pn-multiselect-option-input[aria-invalid=true]:focus-visible + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
outline-color: #a70707;
background-color: #fdefee;
border-color: #a70707;
}
pn-multiselect .pn-multiselect-option-input:hover + .pn-multiselect-option-content {
background-color: #effbff;
}
pn-multiselect .pn-multiselect-option-input:hover + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
border-color: #005d92;
background-color: #e0f8ff;
}
pn-multiselect .pn-multiselect-option-input:focus-visible + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
outline-color: #005d92;
background-color: #e0f8ff;
border-color: #005d92;
}
pn-multiselect .pn-multiselect-option-input:checked + .pn-multiselect-option-content {
background-color: #e0f8ff;
}
pn-multiselect .pn-multiselect-option-input:checked + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
border-color: #005d92;
background-color: #005d92;
}
pn-multiselect .pn-multiselect-option-input:checked + .pn-multiselect-option-content .pn-multiselect-option-checkbox svg polyline.pn-multiselect-option-checkbox-checkmark-path {
transition-delay: 0.2s;
stroke-dashoffset: 0;
}
pn-multiselect .pn-multiselect-option-input:checked:hover + .pn-multiselect-option-content {
background-color: #effbff;
}
pn-multiselect .pn-multiselect-option-input:checked:hover + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
border-color: #0d234b;
background-color: #0d234b;
}
pn-multiselect .pn-multiselect-option-input:checked:focus-visible + .pn-multiselect-option-content {
background-color: #e0f8ff;
}
pn-multiselect .pn-multiselect-option-input:checked:focus-visible + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
border-color: #0d234b;
background-color: #0d234b;
}
pn-multiselect .pn-multiselect-option-input:indeterminate + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #005d92;
border-color: #005d92;
}
pn-multiselect .pn-multiselect-option-input:indeterminate + .pn-multiselect-option-content svg .pn-multiselect-option-checkbox-checkmark-path {
stroke-dashoffset: 23;
}
pn-multiselect .pn-multiselect-option-input:indeterminate + .pn-multiselect-option-content svg .pn-multiselect-option-checkbox-indeterminate-path {
stroke-dashoffset: 0;
}
pn-multiselect .pn-multiselect-option-input:indeterminate:hover + .pn-multiselect-option-content .pn-multiselect-option-checkbox {
background-color: #0d234b;
border-color: #0d234b;
}
pn-multiselect .pn-multiselect-option-content {
position: relative;
overflow: hidden;
z-index: -1;
display: flex;
align-items: center;
padding: 0.75em 1em;
gap: 0.5em;
background-color: #ffffff;
transition-property: background-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-multiselect .pn-multiselect-option-text {
flex: 1;
text-overflow: ellipsis;
overflow: hidden;
}
pn-multiselect .pn-multiselect-option-label {
color: #2d2013;
font-weight: 400;
}
pn-multiselect .pn-multiselect-option-helper {
color: #5e554a;
margin: 0;
}
pn-multiselect .pn-multiselect-option-checkbox {
background-color: #ffffff;
flex: 0 0 1.5em;
width: 1.5em;
height: 1.5em;
border: 0.0625em solid #969087;
border-radius: 0.25em;
outline: 0.2rem solid transparent;
outline-offset: 0.2rem;
transition-property: background-color, border-color, outline-color;
transition-duration: 0.2s;
transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
pn-multiselect .pn-multiselect-option-checkbox svg polyline {
stroke: #ffffff;
stroke-linecap: round;
stroke-dasharray: 23;
transition: stroke-dashoffset 0.2s cubic-bezier(0.7, 0, 0.3, 1) 0s;
}
pn-multiselect .pn-multiselect-option-checkbox svg polyline.pn-multiselect-option-checkbox-checkmark-path {
stroke-dashoffset: 23;
}
pn-multiselect .pn-multiselect-option-checkbox svg polyline.pn-multiselect-option-checkbox-indeterminate-path {
stroke-dashoffset: 23;
}