UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

262 lines 8.68 kB
/* * Slider component * */ /* * Utilities */ .eufemia-scope--10_104_0 .dnb-slider { --slider-track-height: 0.25rem; --slider-thumb-size: 2rem; --slider-button-size: 1.5rem; --slider-space: 1rem; --slider-line-before: black; --slider-line-after: gray; --slider-line-before--disabled: dimgray; --slider-line-after--disabled: lightgray; --slider-marker: var(--slider-line-before); --slider-marker-height: calc(var(--slider-thumb-size) * 0.75); --slider-marker-width: 0.125rem; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; display: flex; font-size: var(--font-size-small); line-height: var(--slider-thumb-size); } .eufemia-scope--10_104_0 .dnb-slider--stretch { width: 100%; } .eufemia-scope--10_104_0 .dnb-slider--vertical { display: flex; width: auto; height: 100%; min-width: inherit; min-height: inherit; } .eufemia-scope--10_104_0 .dnb-slider__wrapper { display: inline-flex; flex-direction: column; flex: 1; width: 100%; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__wrapper { align-items: center; width: auto; height: 100%; } .eufemia-scope--10_104_0 .dnb-slider__inner { display: inline-flex; height: var(--slider-thumb-size); } .eufemia-scope--10_104_0 .dnb-slider__suffix { align-self: center; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__suffix { padding-left: 0; padding-top: 0.5rem; } .eufemia-scope--10_104_0 .dnb-slider__marker { position: absolute; top: 0; bottom: 0; z-index: 3; margin: auto; width: var(--slider-marker-width); height: var(--slider-marker-height); background-color: var(--slider-marker); } .eufemia-scope--10_104_0 .dnb-slider__marker:focus { outline: none; outline: none; } html[data-whatinput=keyboard] .eufemia-scope--10_104_0 .dnb-slider__marker:focus { --border-color: var(--focus-ring-color); --border-width: var(--focus-ring-width); box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .eufemia-scope--10_104_0 .dnb-slider__marker::before { content: ""; position: absolute; width: 100%; height: 100%; transform: scale(10, 1); } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__marker { top: auto; right: 0; bottom: auto; left: 0; height: var(--slider-marker-width); width: var(--slider-marker-height); } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__marker::before { transform: scale(1, 10); } .eufemia-scope--10_104_0 .dnb-slider__track { touch-action: none; position: relative; flex: 1; margin: 0 calc(var(--slider-space) * 1.5); min-width: 2rem; cursor: pointer; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__track { margin: calc(var(--slider-space) * 1.5) 0; min-height: 2rem; min-width: auto; } .eufemia-scope--10_104_0 .dnb-slider--no-buttons .dnb-slider__track { margin: 0 calc(var(--slider-space)); } .eufemia-scope--10_104_0 .dnb-slider--no-buttons.dnb-slider--vertical .dnb-slider__track { margin: calc(var(--slider-space)) 0; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__inner { flex-direction: column; width: var(--slider-thumb-size); height: inherit; min-width: inherit; min-height: inherit; } .eufemia-scope--10_104_0 .dnb-slider__line { position: absolute; left: 0; top: 50%; margin: 0 calc(0px - var(--slider-space)); height: var(--slider-track-height); transform: translate3d(0, -50%, 0); background-color: var(--slider-line-before); border-radius: var(--slider-track-height); } .eufemia-scope--10_104_0 .dnb-slider__line__before { z-index: 2; } .eufemia-scope--10_104_0 .dnb-slider__line__after { z-index: 1; right: 0; background-color: var(--slider-line-after); } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__line { width: var(--slider-track-height); height: auto; left: 50%; top: 0; margin: calc(0px - var(--slider-space)) 0; transform: translate3d(-50%, 0, 0); } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__line__before { top: 0; bottom: 0; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__line__after { bottom: 0; } .eufemia-scope--10_104_0 .dnb-slider__thumb { box-shadow: var(--shadow-sharp); } .eufemia-scope--10_104_0 .dnb-slider__button-helper, .eufemia-scope--10_104_0 .dnb-slider__thumb { position: absolute; left: 0; top: 0; z-index: 4; display: flex; justify-content: center; transform: translate3d(-50%, 0, 0); border-radius: 50%; } .eufemia-scope--10_104_0 .dnb-slider__button-helper, .eufemia-scope--10_104_0 .dnb-slider__button-helper .dnb-button, .eufemia-scope--10_104_0 .dnb-slider__thumb, .eufemia-scope--10_104_0 .dnb-slider__thumb .dnb-button { height: var(--slider-thumb-size); width: var(--slider-thumb-size); } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__thumb { transform: translate3d(0, -50%, 0); } .eufemia-scope--10_104_0 .dnb-slider__button.dnb-button--size-small { height: var(--slider-button-size); width: var(--slider-button-size); line-height: var(--slider-button-size); transform: translateY(0.25rem); z-index: 2; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-slider__button.dnb-button--size-small { transform: translateX(0.25rem); } .eufemia-scope--10_104_0 .dnb-slider__state--disabled .dnb-slider__track, .eufemia-scope--10_104_0 .dnb-slider__state--disabled .dnb-slider__thumb, .eufemia-scope--10_104_0 .dnb-slider__state--disabled .dnb-slider__line { cursor: not-allowed; } .eufemia-scope--10_104_0 .dnb-slider__state--animate .dnb-slider__thumb, .eufemia-scope--10_104_0 .dnb-slider__state--animate .dnb-slider__line { transition: left 250ms var(--easing-default), top 250ms var(--easing-default), bottom 250ms var(--easing-default), right 250ms var(--easing-default), box-shadow 250ms var(--easing-default); } @media (prefers-reduced-motion: reduce) { .eufemia-scope--10_104_0 .dnb-slider__state--animate .dnb-slider__thumb, .eufemia-scope--10_104_0 .dnb-slider__state--animate .dnb-slider__line { transition-duration: 0.01ms; } } html[data-visual-test] .eufemia-scope--10_104_0 .dnb-slider__thumb, html[data-visual-test] .eufemia-scope--10_104_0 .dnb-slider__line { transition: none !important; } .eufemia-scope--10_104_0 .dnb-slider__button-helper { pointer-events: none; z-index: 2; opacity: 0; transform: translate3d(0.0625rem, 0, 0); } .eufemia-scope--10_104_0 .dnb-slider__button-helper:not(:disabled):focus ~ .dnb-button { outline: none; } html[data-whatinput=keyboard] .eufemia-scope--10_104_0 .dnb-slider__button-helper:not(:disabled):focus ~ .dnb-button { --border-color: var(--focus-ring-color); --border-width: var(--focus-ring-width); box-shadow: 0 0 0 var(--border-width) var(--border-color); border-color: transparent; } .eufemia-scope--10_104_0 .dnb-slider > .dnb-form-label { align-self: flex-start; margin-right: 1rem; line-height: var(--slider-thumb-size); } .eufemia-scope--10_104_0 .dnb-slider > .dnb-form-label--vertical { margin-right: 0; line-height: var(--line-height-basis); } .eufemia-scope--10_104_0 .dnb-slider__label--vertical { flex-direction: column; } .eufemia-scope--10_104_0 .dnb-slider__label--vertical.dnb-slider--vertical { align-items: center; } .eufemia-scope--10_104_0 .dnb-slider__label--vertical.dnb-slider--vertical .dnb-form-label { text-align: center; width: 100%; margin-right: 0; margin-bottom: 0.5rem; } .eufemia-scope--10_104_0 .dnb-slider .dnb-form-status { order: 2; margin-top: 0.5rem; } .eufemia-scope--10_104_0 .dnb-slider--vertical .dnb-form-status { margin-top: 1rem; } @media screen and (max-width: 40em) { .eufemia-scope--10_104_0 .dnb-responsive-component .dnb-slider { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 0.5rem; } .eufemia-scope--10_104_0 .dnb-responsive-component .dnb-slider > .dnb-form-label { margin-bottom: 0.5rem; } } .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__line, .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__marker, .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__state--disabled .dnb-slider__line { background-color: var(--skeleton-color); } .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__track::before, .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__track::after, .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track::before, .eufemia-scope--10_104_0 .dnb-slider.dnb-skeleton .dnb-slider__state--disabled.dnb-slider__track::after { background-color: var(--skeleton-color); }