UNPKG

@postnord/web-components

Version:
282 lines (281 loc) 7.99 kB
/* Global utility variables */ /* Input styles */ /* Transition variables */ pn-toggle-switch { display: inline-block; position: relative; } pn-toggle-switch .pn-toggle { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1em; } pn-toggle-switch .pn-toggle-label { cursor: pointer; display: flex; justify-content: space-between; align-items: flex-end; font-weight: 500; color: #2d2013; margin: 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-toggle-switch .pn-toggle-label { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle-label > span { font-size: 1em; } pn-toggle-switch .pn-toggle-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-toggle-switch .pn-toggle-content { flex: 1 0; } pn-toggle-switch .pn-toggle-button { position: relative; font-size: 1em; width: 3.625em; height: 2em; padding: 0.1875em; transition-property: transform; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle-button { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle-button { -webkit-tap-highlight-color: transparent; } pn-toggle-switch .pn-toggle-button[data-small] { width: 2.625em; height: 1.5em; } pn-toggle-switch .pn-toggle-button[data-small] .pn-toggle-circle { width: 1.125em; height: 1.125em; } pn-toggle-switch .pn-toggle-button[data-small][data-loading] > .pn-toggle-bg { width: 1.5em; } pn-toggle-switch .pn-toggle-button[data-large] { width: 4.625em; height: 2.5em; } pn-toggle-switch .pn-toggle-button[data-large] .pn-toggle-circle { width: 2.125em; height: 2.125em; } pn-toggle-switch .pn-toggle-button[data-large][data-loading] > .pn-toggle-bg { width: 2.5em; } pn-toggle-switch .pn-toggle-button[data-loading] .pn-toggle-bg { width: 2em; } pn-toggle-switch .pn-toggle-button[data-loading] .pn-toggle-circle, pn-toggle-switch .pn-toggle-button[data-loading] .pn-toggle-element:checked ~ .pn-toggle-circle { transform: translateX(50%); } pn-toggle-switch .pn-toggle-button[data-loading] .pn-toggle-element:checked ~ .pn-toggle-circle .pn-toggle-check { opacity: 0; } pn-toggle-switch .pn-toggle-button[data-loading] .pn-toggle-element:checked ~ .pn-toggle-circle .pn-toggle-check polyline { stroke-dashoffset: 23; transition-delay: 0s; } pn-toggle-switch .pn-toggle-button[data-loading] pn-spinner { opacity: 1; } pn-toggle-switch .pn-toggle-bg { position: absolute; top: 0; left: 50%; width: 100%; height: 100%; z-index: 0; border-radius: 2em; background-color: #969087; transform: translateX(-50%); outline: 0.2rem solid transparent; outline-offset: 0.2rem; transition-property: width, 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-toggle-switch .pn-toggle-bg { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle-circle { position: relative; z-index: 1; width: 1.625em; height: 1.625em; background-color: #ffffff; box-shadow: 0 0.25em 0.5em rgba(0, 0, 0, 0.1); border-radius: 50%; padding: 0.25em; 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-toggle-switch .pn-toggle-circle { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle-circle { transform: translateX(0%); } pn-toggle-switch .pn-toggle-element { position: absolute; z-index: 3; top: 0; left: 0; cursor: pointer; width: 100%; height: 100%; opacity: 0; margin: 0; /*---------------------------------------Focus-------------------------------------------*/ } pn-toggle-switch .pn-toggle-element:focus-visible + .pn-toggle-bg { outline-color: #005d92; } pn-toggle-switch .pn-toggle-element:hover + .pn-toggle-bg { background-color: #5e554a; } pn-toggle-switch .pn-toggle-element:hover:checked + .pn-toggle-bg { background-color: #0d234b; } pn-toggle-switch .pn-toggle-element:hover:checked ~ .pn-toggle-circle .pn-toggle-check polyline { stroke: #0d234b; } pn-toggle-switch .pn-toggle-element:checked ~ .pn-toggle-bg { background-color: #005d92; } pn-toggle-switch .pn-toggle-element:checked ~ .pn-toggle-circle { transform: translateX(100%); } pn-toggle-switch .pn-toggle-element:checked ~ .pn-toggle-circle .pn-toggle-check { opacity: 1; } pn-toggle-switch .pn-toggle-element:checked ~ .pn-toggle-circle .pn-toggle-check polyline { transition-delay: 0.2s, 0s; stroke-dashoffset: 0; } pn-toggle-switch .pn-toggle-element:disabled { cursor: not-allowed; } pn-toggle-switch .pn-toggle-element:disabled + .pn-toggle-bg { background-color: #d3cecb; box-shadow: none; } pn-toggle-switch .pn-toggle-element:disabled ~ .pn-toggle-circle { background-color: #f3f2f2; } pn-toggle-switch .pn-toggle-element:disabled ~ .pn-toggle-circle .pn-toggle-check polyline { stroke: #969087; } pn-toggle-switch .pn-toggle-element:disabled ~ .pn-toggle-circle pn-spinner .pn-spinner-circle { stroke: #969087; } pn-toggle-switch .pn-toggle-element:disabled ~ .pn-toggle-circle pn-spinner .pn-spinner-dot { fill: #969087; } pn-toggle-switch .pn-toggle-element:disabled:hover + .pn-toggle-bg, pn-toggle-switch .pn-toggle-element:disabled:hover:checked + .pn-toggle-bg { background-color: #d3cecb; } pn-toggle-switch .pn-toggle-element:disabled:hover ~ .pn-toggle-circle .pn-toggle-check polyline, pn-toggle-switch .pn-toggle-element:disabled:hover:checked ~ .pn-toggle-circle .pn-toggle-check polyline { stroke: #969087; } pn-toggle-switch .pn-toggle-check { position: absolute; left: 50%; top: 50%; height: 1.5em; width: 1.5em; padding: 0.25em; transform: translate(-50%, -50%); opacity: 0; transition-property: opacity; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle-check { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle-check polyline { stroke: #005d92; stroke-linecap: round; stroke-dasharray: 23; stroke-dashoffset: 23; transition-property: stroke-dashoffset, stroke; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle-check polyline { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle pn-spinner { opacity: 0; transition-property: opacity; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle pn-spinner { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle pn-spinner .pn-spinner-circle { transition-property: stroke; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle pn-spinner .pn-spinner-circle { transition-duration: 0s; transition-delay: 0s; } } pn-toggle-switch .pn-toggle pn-spinner .pn-spinner-dot { transition-property: fill; transition-duration: 0.2s; transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1); } @media (prefers-reduced-motion: reduce) { pn-toggle-switch .pn-toggle pn-spinner .pn-spinner-dot { transition-duration: 0s; transition-delay: 0s; } }