UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

221 lines 7.89 kB
@charset "UTF-8"; /* * Switch theme for Sbanken * */ /* * Utilities */ .dnb-switch { --switch-width--medium: 3.75rem; --switch-height--medium: 2rem; --switch-width--large: 5rem; --switch-height--large: 2.625rem; --switch-border-width--medium: 0.0625rem; --switch-border-width--large: 0.0625rem; --switch-spacing-height--medium: 0.375rem; --switch-spacing-width--medium: 0.25rem; --switch-spacing-height--large: 0.5rem; --switch-spacing-width--large: 0.25rem; --switch-content-width: 1.125rem; --switch-content-spacing--medium: 0.5rem; --switch-content-spacing--large: 0.875rem; --button-dimension--medium: calc( var(--switch-height--medium) - var(--switch-spacing-height--medium) ); --button-dimension--large: calc( var(--switch-height--large) - var(--switch-spacing-height--large) ); } .dnb-switch--large .dnb-switch__row { height: var(--switch-height--large); } .dnb-switch__background { height: 100%; background-color: var(--sb-color-gray); border-radius: 1.5rem; } .dnb-switch__background::after { color: var(--sb-color-text); font-size: var(--sb-font-size-small); content: "Av"; } .dnb-switch--large .dnb-switch__background { height: 100%; border-radius: 1.5rem; } .dnb-switch--large .dnb-switch__background::after { font-size: var(--sb-font-size-basis); } .dnb-switch__button { width: var(--button-dimension--medium); height: var(--button-dimension--medium); background-color: var(--sb-color-white); } .dnb-switch--large .dnb-switch__button { width: var(--button-dimension--large); height: var(--button-dimension--large); } .dnb-switch { /* stylelint-disable no-descending-specificity */ /* * When switched ON */ } .dnb-switch__input:checked ~ .dnb-switch__button { transform: translateX(calc(var(--switch-width--medium) - var(--button-dimension--medium) - var(--switch-spacing-width--medium))); } .dnb-switch__input:checked ~ .dnb-switch__background { background-color: var(--sb-color-violet-light); } .dnb-switch__input:checked ~ .dnb-switch__background::after { color: var(--sb-color-white); content: "På"; transform: translateX(var(--switch-content-spacing--medium)); } .dnb-switch--large .dnb-switch__input:checked ~ .dnb-switch__button { transform: translateX(calc(var(--switch-width--large) - var(--button-dimension--large) - var(--switch-spacing-width--large))); } .dnb-switch--large .dnb-switch__input:checked ~ .dnb-switch__background::after { transform: translateX(var(--switch-content-spacing--large)); } .dnb-switch { /* * When switched OFF */ } .dnb-switch__input:not(:checked) ~ .dnb-switch__button { transform: translateX(var(--switch-spacing-width--medium)); } .dnb-switch--large .dnb-switch__input:not(:checked) ~ .dnb-switch__button { transform: translateX(var(--switch-spacing-width--large)); } .dnb-switch__input:not(:checked) ~ .dnb-switch__background::after { transform: translateX(calc(var(--switch-width--medium) - var(--switch-content-width) - var(--switch-content-spacing--medium))); } .dnb-switch--large .dnb-switch__input:not(:checked) ~ .dnb-switch__background::after { transform: translateX(calc(var(--switch-width--large) - var(--switch-content-width) - var(--switch-content-spacing--large))); } .dnb-switch { /* * On disabled state * */ } .dnb-switch__input[disabled] ~ .dnb-switch__background { background-color: var(--sb-color-gray); } .dnb-switch__input[disabled] ~ .dnb-switch__background::after { color: var(--sb-color-gray-dark); } .dnb-switch__input[disabled] ~ .dnb-switch__button { background-color: var(--sb-color-gray-light); } .dnb-switch__input[disabled]:checked ~ .dnb-switch__background { background-color: var(--sb-color-violet); opacity: 0.3; } .dnb-switch__input[disabled]:checked ~ .dnb-switch__background::after { color: var(--sb-color-white); } .dnb-switch__input[disabled]:checked ~ .dnb-switch__button { background-color: var(--sb-color-white); } .dnb-switch { /* * On focus state * */ } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):focus ~ .dnb-switch__button { outline: initial; box-shadow: none; } html[data-whatinput=""] html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):focus ~ .dnb-switch__button { box-shadow: none; } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):checked:focus ~ .dnb-switch__button { background-color: var(--focus-ring-color); } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):not(:checked):focus ~ .dnb-switch__button { outline: initial; box-shadow: none; } html[data-whatinput=""] html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):not(:checked):focus ~ .dnb-switch__button { box-shadow: none; } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):focus ~ .dnb-switch__background { background-color: var(--sb-color-blue-light-3); } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):focus ~ .dnb-switch__background::after { color: var(--focus-ring-color); font-weight: var(--sb-font-weight-bold); } html[data-whatinput=keyboard] .dnb-switch__input:not([disabled]):focus ~ .dnb-switch__button .dnb-switch__focus { --border-color: var(--focus-ring-color); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .dnb-switch { /* * On hover state * */ } .dnb-switch__background:hover, .dnb-switch__input:not([disabled]):not(:focus):not(:active):not(:checked):hover ~ .dnb-switch__background { color: var(--sb-color-violet); background-color: var(--sb-color-violet-light-3); --border-color: var(--sb-color-violet); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .dnb-switch__background:hover::after, .dnb-switch__input:not([disabled]):not(:focus):not(:active):not(:checked):hover ~ .dnb-switch__background::after { color: var(--sb-color-violet); } .dnb-switch__input:not([disabled]):not(:focus):not(:active):checked:hover ~ .dnb-switch__background { background-color: var(--sb-color-violet); } .dnb-switch { /* * On error state * */ } .dnb-switch__status--error .dnb-switch__input:not([disabled]):not(:focus):not(:active) ~ .dnb-switch__background { background-color: var(--sb-color-white); --border-color: var(--sb-color-red); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .dnb-switch__status--error .dnb-switch__input:not([disabled]):not(:focus):not(:active):hover ~ .dnb-switch__background { background-color: var(--sb-color-magenta-light-2); --border-color: var(--sb-color-red); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .dnb-switch__status--error .dnb-switch__input:not(:focus):not([disabled]):not(:active):not(:checked) ~ .dnb-switch__background::after { color: var(--sb-color-red); } .dnb-switch__status--error .dnb-switch__input:not(:focus):not([disabled]):not(:active):checked ~ .dnb-switch__background { background-color: var(--sb-color-magenta); box-shadow: none; } .dnb-switch__status--error .dnb-switch__input:not(:focus):not([disabled]):not(:active):checked:hover ~ .dnb-switch__background { background-color: var(--sb-color-red); } .dnb-switch__status--error .dnb-switch__input:not([disabled]):not(:focus):not(:active):not(:checked) ~ .dnb-switch__button .dnb-switch__focus { --border-color: var(--sb-color-red); --border-width: 0.0625rem; box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .dnb-switch__status--error .dnb-switch__input:not([disabled]):not(:focus):not(:active):checked ~ .dnb-switch__button .dnb-switch__focus { box-shadow: none; } .dnb-switch { /* stylelint-enable no-descending-specificity */ }