UNPKG

@postnord/web-components

Version:
417 lines (416 loc) 11.7 kB
/* Global utility variables */ /* Input styles */ /* Transition variables */ pn-range { display: block; } pn-range .pn-range { color: #2d2013; display: flex; flex-direction: row; flex-wrap: wrap; gap: clamp(0.25em, 5vw, 0.75em); align-items: center; container-type: inline-size; } @container (max-width: 24em) { pn-range .pn-range .pn-range-header[data-input] { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); margin: -1px; white-space: nowrap; } pn-range .pn-range > pn-input { flex: 1 1 100%; } pn-range .pn-range > pn-input .pn-input-label { position: unset; height: unset; width: unset; overflow: unset; clip: unset; margin: 0 0 0.25em 0; white-space: unset; } } pn-range .pn-range[data-markers] { margin-bottom: 1em; } pn-range .pn-range[data-markers][data-input] { margin-bottom: 0.5em; } pn-range .pn-range-header { display: flex; justify-content: space-between; flex: 1 1 100%; width: 100%; } pn-range .pn-range-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; -webkit-tap-highlight-color: transparent; transition-property: color, transform; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-label { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-label > span { font-size: 0.875em; } pn-range .pn-range-message { color: #5e554a; font-size: 0.875em; font-weight: 400; margin: 0.25em 0 0 0; display: flex; flex-direction: column; gap: 0.25em; text-align: left; flex: 1 1 100%; width: 100%; } pn-range .pn-range-message[hidden], pn-range .pn-range-message > span[hidden] { display: none; } pn-range .pn-range-error { color: #a70707; } pn-range .pn-range-field { flex: 0 0 auto; } pn-range .pn-range-field .pn-input-label { position: absolute; height: 1px; width: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); margin: -1px; white-space: nowrap; } pn-range .pn-range-group { position: relative; min-height: 0.75em; padding: 0.75em 0; flex: 1 1 auto; } pn-range .pn-range-group[data-pressing] *, pn-range .pn-range-group[data-pressing] *:before, pn-range .pn-range-group[data-pressing] *:after { transition-duration: 0s; } pn-range .pn-range-text { font-weight: 400; font-size: 0.875em; color: #2d2013; } pn-range .pn-range-input { z-index: 1; position: absolute; top: 0; left: 0; height: 100%; width: 100%; margin: 0; opacity: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; } pn-range .pn-range-input:focus ~ .pn-range-thumb:before, pn-range .pn-range-input:hover ~ .pn-range-thumb:before { background-color: #0d234b; } pn-range .pn-range-input:focus ~ .pn-range-thumb .pn-range-tooltip, pn-range .pn-range-input:hover ~ .pn-range-thumb .pn-range-tooltip { opacity: 1; transform: translateX(50%) translateY(0%); transition-delay: 0s; } pn-range .pn-range-input:focus-visible[data-single] ~ .pn-range-thumb:before { outline-color: #005d92; } pn-range .pn-range-input:focus-visible[data-start] ~ .pn-range-thumb[data-start]:before, pn-range .pn-range-input:focus-visible[data-end] ~ .pn-range-thumb[data-end]:before { outline-color: #005d92; } pn-range .pn-range-input[aria-invalid=true] ~ .pn-range-thumb:before { background-color: #a70707; } pn-range .pn-range-input[aria-invalid=true] ~ .pn-range-thumb .pn-range-tooltip { background-color: #500715; } pn-range .pn-range-input[aria-invalid=true] ~ .pn-range-track:before { background-color: #a70707; } pn-range .pn-range-input[aria-invalid=true]:focus-visible[data-start] ~ .pn-range-thumb[data-start]:before, pn-range .pn-range-input[aria-invalid=true]:focus-visible[data-end] ~ .pn-range-thumb[data-end]:before { outline-color: #a70707; } pn-range .pn-range-input[aria-invalid=true]:hover ~ .pn-range-thumb:before { background-color: #500715; } pn-range .pn-range-input:disabled { cursor: not-allowed; } pn-range .pn-range-input:disabled + .pn-range-track:before { background-color: #969087; } pn-range .pn-range-input:disabled ~ .pn-range-thumb:before { background-color: #5e554a; } pn-range .pn-range-input:disabled ~ .pn-range-thumb .pn-range-tooltip { background-color: #2d2013; } pn-range .pn-range-overlay-input { z-index: 5; cursor: pointer; position: absolute; appearance: none; top: 0; left: 0; height: 100%; width: 100%; margin: 0; padding: 0; border: 0; outline: 0; opacity: 0; display: block; -webkit-tap-highlight-color: transparent; } pn-range .pn-range-overlay-input:focus ~ .pn-range-thumb:before, pn-range .pn-range-overlay-input:focus-visible ~ .pn-range-thumb:before, pn-range .pn-range-overlay-input:hover ~ .pn-range-thumb:before { background-color: #0d234b; } pn-range .pn-range-overlay-input:focus ~ .pn-range-thumb[data-align=right] .pn-range-tooltip, pn-range .pn-range-overlay-input:focus-visible ~ .pn-range-thumb[data-align=right] .pn-range-tooltip, pn-range .pn-range-overlay-input:hover ~ .pn-range-thumb[data-align=right] .pn-range-tooltip { transform: translateX(0%) translateY(0%); border-bottom-right-radius: 0em; } pn-range .pn-range-overlay-input:focus ~ .pn-range-thumb[data-align=left] .pn-range-tooltip, pn-range .pn-range-overlay-input:focus-visible ~ .pn-range-thumb[data-align=left] .pn-range-tooltip, pn-range .pn-range-overlay-input:hover ~ .pn-range-thumb[data-align=left] .pn-range-tooltip { transform: translateX(100%) translateY(0%); border-bottom-left-radius: 0em; } pn-range .pn-range-overlay-input:focus ~ .pn-range-thumb .pn-range-tooltip, pn-range .pn-range-overlay-input:focus-visible ~ .pn-range-thumb .pn-range-tooltip, pn-range .pn-range-overlay-input:hover ~ .pn-range-thumb .pn-range-tooltip { opacity: 1; transform: translateX(50%) translateY(0%); transition-delay: 0s; } pn-range .pn-range-overlay-input[aria-invalid=true]:focus ~ .pn-range-thumb:before, pn-range .pn-range-overlay-input[aria-invalid=true]:focus-visible ~ .pn-range-thumb:before, pn-range .pn-range-overlay-input[aria-invalid=true]:hover ~ .pn-range-thumb:before { background-color: #500715; } pn-range .pn-range-track { pointer-events: none; position: relative; min-height: inherit; display: block; background-color: #d3cecb; border-radius: 2em; overflow: hidden; } pn-range .pn-range-track:before, pn-range .pn-range-track:after { content: ""; z-index: 0; position: absolute; right: 100%; pointer-events: none; height: 100%; width: 100%; background-color: #005d92; transform: translateX(var(--pn-range-progress)); transition-property: transform, background-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-track:before, pn-range .pn-range-track:after { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-track:after { display: none; } pn-range .pn-range-track:before { background-color: #005d92; transform: translateX(var(--pn-range-progress)); } pn-range .pn-range-track[data-multiple]:before { transform: translateX(var(--pn-range-progress-end)); } pn-range .pn-range-track[data-multiple]:after { display: unset; background-color: #d3cecb; transform: translateX(var(--pn-range-progress)); } pn-range .pn-range-thumb { pointer-events: none; position: absolute; height: 100%; width: calc(100% - 1em); top: 0; right: calc(100% - 0.5em); transform: translateX(var(--pn-range-progress)); transition-property: transform, border-radius; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-thumb { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-thumb[data-end] { transform: translateX(var(--pn-range-progress-end)); } pn-range .pn-range-thumb[data-align=right] .pn-range-tooltip { transform: translateX(0%) translateY(10%); } pn-range .pn-range-thumb[data-align=right] .pn-range-tooltip:before { transform: translateX(50%) translateY(-50%) rotate(0deg); } pn-range .pn-range-thumb[data-align=left] .pn-range-tooltip { transform: translateX(100%) translateY(10%); } pn-range .pn-range-thumb[data-align=left] .pn-range-tooltip:before { transform: translateX(50%) translateY(-50%) rotate(0deg); } pn-range .pn-range-thumb:before { content: ""; position: absolute; top: 0.5em; right: -0.65625em; height: 1.3125em; width: 1.3125em; background-color: #005d92; border-radius: 5em; outline: 0.2rem solid transparent; outline-offset: 0.2rem; transition-property: background-color, outline-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-thumb:before { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-tooltip { position: absolute; z-index: 10; top: -85%; right: 0; text-align: center; line-height: 1.25em; white-space: nowrap; height: 1.75em; min-width: 2em; padding: 0.25em 0.5em; border-radius: 0.5em; background-color: #0d234b; color: #ffffff; transform: translateX(50%) translateY(10%); opacity: 0; transition-property: opacity, transform, border-radius, background-color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-tooltip { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-tooltip { transition-delay: 0.4s; } pn-range .pn-range-tooltip-label { font-size: 0.875em; font-weight: 400; } pn-range .pn-range-tooltip:before { content: ""; z-index: -1; position: absolute; left: 50%; bottom: -0.25em; height: 0.5em; width: 0.5em; background-color: inherit; transform: translateX(-50%) translateY(0%) rotate(45deg); transition-property: left, transform; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-tooltip:before { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-markers { position: absolute; top: 100%; left: 0.5em; min-height: 1em; width: calc(100% - 1em); padding: 0; margin: 0; list-style: none; display: flex; flex-direction: row; flex-wrap: nowrap; } pn-range .pn-range-markers-item { position: relative; left: var(--pn-range-marker-position); } pn-range .pn-range-markers-item[data-min] .pn-range-markers-label { left: -0.0625em; transform: translateX(0%); } pn-range .pn-range-markers-item[data-max] .pn-range-markers-label { left: unset; right: 0; transform: translateX(0%); } pn-range .pn-range-markers-item:before { content: ""; position: absolute; left: 0; top: -100%; border-left: 0.0625em solid #d3cecb; height: 1em; z-index: -1; } pn-range .pn-range-markers-label { position: absolute; top: 0; left: 50%; transform: translateX(-50%); font-weight: 400; font-size: 0.875em; color: #5e554a; transition-property: color; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-range .pn-range-markers-label { transition-duration: 0s; transition-delay: 0s; } } pn-range .pn-range-markers-label[data-active] { color: #2d2013; }