@scania/tegel
Version:
Tegel Design System
316 lines (313 loc) • 8.95 kB
CSS
tds-slider {
box-sizing: border-box;
width: 100%;
}
tds-slider * {
box-sizing: border-box;
}
tds-slider input[type=range].tds-slider-native-element {
display: none;
}
tds-slider .sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
.tds-slider-wrapper {
width: 100%;
}
.tds-slider-wrapper.read-only {
pointer-events: none;
}
.tds-slider {
width: 100%;
display: flex;
flex-wrap: nowrap;
padding-top: 65px;
}
.tds-slider .tds-slider-inner {
width: 100%;
height: 20px;
position: relative;
}
.tds-slider .tds-slider-inner:focus-within .tds-slider__thumb-inner {
outline: var(--tds-slider-thumb-focus-outline);
box-shadow: var(--tds-slider-thumb-focus-box-shadow);
outline-offset: var(--tds-slider-thumb-focus-outline-offset);
z-index: 1;
}
.tds-slider .tds-slider__controls {
position: relative;
top: -25px;
}
.tds-slider .tds-slider__controls .tds-slider__control {
cursor: pointer;
}
.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus {
padding: 18px 18px 18px 0;
}
.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus {
padding: 18px 0 18px 18px;
}
.tds-slider .tds-slider__input-values {
position: relative;
top: -25px;
display: flex;
flex-wrap: nowrap;
align-items: center;
}
.tds-slider .tds-slider__input-values .tds-slider__input-value {
user-select: none;
padding: 18px;
color: var(--tds-slider-input-value-color);
font: var(--tds-detail-02);
letter-spacing: var(--tds-detail-02-ls);
}
.tds-slider .tds-slider__input-values .tds-slider__input-value.min-value {
padding-left: 0;
}
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper {
background-color: var(--tds-slider-inputfield-background);
display: flex;
align-items: center;
justify-content: center;
border-radius: 4px 4px 0 0;
}
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number] {
width: auto;
padding: 12px;
text-align: center;
appearance: textfield;
}
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number]::-webkit-outer-spin-button,
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input[type=number]::-webkit-inner-spin-button {
appearance: none;
margin: 0;
}
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-input:read-only {
text-align: left;
}
.tds-slider .tds-slider__input-values .tds-slider__input-field-wrapper tds-text-field .text-field-icon__readonly {
right: 12px;
}
.tds-slider label {
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
user-select: none;
position: absolute;
color: var(--tds-slider-label-color);
padding-bottom: 16px;
transform: translateY(-100%);
}
.tds-slider label.offset {
padding-bottom: 34px;
}
.tds-slider .tds-slider__value {
font: var(--tds-detail-01);
letter-spacing: var(--tds-detail-01-ls);
user-select: none;
border-radius: 4px;
padding: 8px 11px;
position: absolute;
transform: translate(-50%, -100%);
top: -24px;
background-color: var(--tds-slider-value-tooltip-background);
color: var(--tds-slider-value-tooltip-color);
}
.tds-slider .tds-slider__value svg {
color: var(--tds-slider-value-tooltip-background);
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 34px;
}
.tds-slider .tds-slider__thumb {
position: absolute;
}
.tds-slider .tds-slider__thumb:hover .tds-slider__value {
display: block;
}
.tds-slider .tds-slider__thumb .tds-slider__thumb-inner {
width: 20px;
height: 20px;
border-radius: 100%;
background-color: var(--tds-slider-thumb-color);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
cursor: pointer;
}
.tds-slider .tds-slider__thumb .tds-slider__thumb-inner::before {
content: " ";
display: none;
width: 48px;
height: 48px;
background-color: var(--tds-slider-thumb-color);
position: absolute;
border-radius: 100%;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.tds-slider .tds-slider__thumb .tds-slider__thumb-inner:hover::before {
display: block;
background-color: var(--tds-slider-thumb-hover);
}
.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed {
width: 24px;
height: 24px;
}
.tds-slider .tds-slider__thumb .tds-slider__thumb-inner.pressed::before {
display: block;
background-color: var(--tds-slider-thumb-pressed);
}
.tds-slider .tds-slider__value-dividers-wrapper {
position: relative;
width: 100%;
pointer-events: none;
}
.tds-slider .tds-slider__value-dividers {
pointer-events: none;
position: absolute;
display: flex;
justify-content: space-between;
width: 100%;
}
.tds-slider .tds-slider__value-dividers .tds-slider__value-divider {
transform: translateY(-50%);
height: 16px;
background-color: var(--tds-slider-divider-color);
color: var(--tds-slider-divider-values-color);
width: 1px;
}
.tds-slider .tds-slider__value-dividers .tds-slider__value-divider span {
display: block;
user-select: none;
color: var(-tds-grey-700);
font: var(--tds-detail-05);
letter-spacing: var(--tds-detail-05-ls);
position: relative;
top: -7px;
left: 50%;
transform: translate(-50%, -100%);
width: 50px;
text-align: center;
}
.tds-slider .tds-slider__track {
width: 100%;
height: 2px;
border-radius: 1px;
background-color: var(--tds-slider-track-color);
position: relative;
cursor: pointer;
}
.tds-slider .tds-slider__track::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: -10px;
bottom: -10px;
cursor: pointer;
z-index: 0;
}
.tds-slider .tds-slider__track:focus {
outline: 0;
}
.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner {
width: 24px;
height: 24px;
}
.tds-slider .tds-slider__track:focus .tds-slider__thumb .tds-slider__thumb-inner::before {
display: block;
opacity: 0.08;
}
.tds-slider .tds-slider__track .tds-slider__track-fill {
background-color: var(--tds-slider-track-fill-color);
border-radius: 2px;
height: 4px;
position: absolute;
left: 0;
top: -1px;
}
.tds-slider .tds-slider__track .tds-slider__thumb {
z-index: 1;
}
.tds-slider.disabled {
cursor: not-allowed;
}
.tds-slider.disabled > * {
pointer-events: none;
}
.tds-slider.disabled label {
color: var(--tds-slider-label-disabled);
}
.tds-slider.disabled .tds-slider__controls .tds-slider__control {
cursor: default;
}
.tds-slider.disabled .tds-slider__input-values .tds-slider__input-value {
color: var(--tds-slider-input-value-disabled);
}
.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper {
pointer-events: none;
}
.tds-slider.disabled .tds-slider__input-values .tds-slider__input-field-wrapper input.tds-slider__input-field {
color: var(--tds-slider-inputfield-number-disabled);
box-shadow: none;
pointer-events: none;
background: var(--tds-slider-inputfield-background-disabled);
}
.tds-slider.disabled .tds-slider__value {
display: none;
}
.tds-slider.disabled .tds-slider__track {
cursor: not-allowed;
background-color: var(--tds-slider-track-disabled);
}
.tds-slider.disabled .tds-slider__track .tds-slider__track-fill {
background-color: var(--tds-slider-track-disabled);
}
.tds-slider.disabled .tds-slider__value-dividers .tds-slider__value-divider {
background-color: var(--tds-slider-divider-disabled);
}
.tds-slider.disabled .tds-slider__value-dividers .tds-slider__value-divider span {
color: var(--tds-slider-divider-values-disabled);
}
.tds-slider.disabled .tds-slider__thumb {
pointer-events: none;
}
.tds-slider.disabled .tds-slider__thumb .tds-slider__thumb-inner {
background-color: var(--tds-slider-thumb-disabled);
cursor: default;
}
.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner {
width: 16px;
height: 16px;
}
.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner::before {
width: 40px;
height: 40px;
}
.tds-slider.tds-slider-small .tds-slider__thumb .tds-slider__thumb-inner.pressed {
width: 20px;
height: 20px;
}
.tds-slider .tds-slider__controls .tds-slider__control {
cursor: pointer;
}
.tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon, .tds-slider .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon {
color: var(--tds-slider-controls-color);
}
.tds-slider.disabled .tds-slider__controls .tds-slider__control {
cursor: default;
}
.tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-minus tds-icon, .tds-slider.disabled .tds-slider__controls .tds-slider__control.tds-slider__control-plus tds-icon {
color: var(--tds-slider-controls-disabled);
}