UNPKG

@geoffcox/sterling-svelte-themes

Version:

A modern theme for the sterling-svelte component library.

186 lines (156 loc) 3.71 kB
.sterling-slider { box-sizing: border-box; outline: none; padding: 0; overflow: visible; display: grid; transition: background-color 250ms, color 250ms, border-color 250ms; min-width: 200px; } .sterling-slider.horizontal { height: 2em; } .sterling-slider.vertical { height: 100%; width: 2em; } /* ----- container ----- */ .sterling-slider .container { position: relative; } .sterling-slider.horizontal .container { margin: 0 0.75em; } .sterling-slider.vertical .container { margin: 0.75em 0; } /* ----- track ----- */ .sterling-slider .track { position: absolute; background: var(--stsv-common__background-color--secondary); transition: background-color 250ms, color 250ms, border-color 250ms; } .sterling-slider.horizontal .track { left: 0; right: 0; top: 50%; height: 3px; transform: translate(0, -50%); } .sterling-slider.vertical .track { bottom: 0; left: 50%; top: 0; transform: translate(-50%, 0); width: 3px; } /* ----- fill ----- */ .sterling-slider .fill { background: var(--stsv-common__color); position: absolute; transition: background-color 250ms, color 250ms, border-color 250ms; } .sterling-slider.horizontal .fill { height: 3px; top: 50%; transform: translate(0, -50%); width: var(--valueOffset); } .sterling-slider.horizontal:not(.reverse) .fill { left: 0; } .sterling-slider.horizontal.reverse .fill { right: 0; } .sterling-slider.vertical .fill { left: 50%; transform: translate(-50%, 0); width: 3px; height: var(--valueOffset); } .sterling-slider.vertical:not(.reverse) .fill { bottom: 0; } .sterling-slider.vertical.reverse .fill { top: 0; } /* ----- thumb ----- */ .sterling-slider .thumb { background-color: var(--stsv-button__background-color); border-color: var(--stsv-button__border-color); border-radius: 10000px; border-style: solid; border-width: var(--stsv-button__border-width); box-sizing: border-box; color: var(--stsv-button__color); cursor: pointer; display: block; font: inherit; height: 1.5em; overflow: hidden; outline: none; padding: 0; text-decoration: none; transition: background-color 250ms, color 250ms, border-color 250ms; white-space: nowrap; position: absolute; width: 1.5em; } .sterling-slider.horizontal:not(.reverse) .thumb { top: 50%; transform: translate(-50%, -50%); left: var(--valueOffset); } .sterling-slider.horizontal.reverse .thumb { top: 50%; transform: translate(50%, -50%); right: var(--valueOffset); } .sterling-slider.vertical:not(.reverse) .thumb { left: 50%; transform: translate(-50%, 50%); bottom: var(--valueOffset); } .sterling-slider.vertical.reverse .thumb { left: 50%; transform: translate(-50%, -50%); top: var(--valueOffset); } .sterling-slider:not(.disabled) .thumb:hover { background-color: var(--stsv-button__background-color--hover); border-color: var(--stsv-button__border-color--hover); color: var(--stsv-button__color--hover); } .sterling-slider:not(.disabled) .thumb:active { background-color: var(--stsv-button__background-color--active); border-color: var(--stsv-button__border-color--active); color: var(--stsv-button__color--active); } .sterling-slider:not(.disabled).using-keyboard:focus-visible .thumb { outline-color: var(--stsv-common__outline-color); outline-offset: 0; outline-style: solid; outline-width: var(--stsv-common__outline-width); } /* ----- reduced motion ----- */ @media (prefers-reduced-motion) { .sterling-slider, .sterling-slider .track, .sterling-slider .fill, .sterling-slider .thumb, .sterling-slider .thumb::after { transition: none; } }