Skip to content

Slider

<ts-slider> vv0.6.3

The ts-slider component.

Open in Storybook for interactive demos.

<ts-slider max="100" min="0" orientation="horizontal"></ts-slider>
PropertyAttributeTypeDefaultDescription
disableddisabledbooleanfalseDisables the slider.
labellabelstring | undefinedAccessible label.
marksmarksstring | undefinedJSON string of marks: [{“value”: 0, “label”: “0%”}, …]
maxmaxnumber100Maximum value.
minminnumber0Minimum value.
orientationorientation"horizontal" | "vertical"'horizontal'Orientation of the slider.
rangerangebooleanfalseWhether to use range mode (dual thumbs).
showValueshow-valuebooleanfalseWhether to display the current value.
sizesize"lg" | "md" | "sm" | "xl" | "xs"'md'The size of the slider.
stepstepnumber1Step increment.
valuevaluenumber0Current slider value (single mode).
valueHighvalue-highnumber | undefinedHigh value for range mode.
valueLowvalue-lownumber | undefinedLow value for range mode.
EventDetailBubblesComposedDescription
tsChange`{ value: number; valueLow?: numberundefined; valueHigh?: numberundefined; }`Yes
tsInput`{ value: number; valueLow?: numberundefined; valueHigh?: numberundefined; }`Yes

Use ::part() to style internal elements:

PartDescription
fillThe filled portion of the track.
labelThe value label.
marksThe marks container.
thumbThe draggable thumb (single mode).
thumb-highThe high thumb (range mode).
thumb-lowThe low thumb (range mode).
trackThe slider track.
ts-slider::part(fill) {
/* your custom styles */
}
<ts-slider max="100" min="0" orientation="horizontal"></ts-slider>
import { TsSlider } from '@tessera-ui/react';
<TsSlider max="100" min="0"></TsSlider>