- components
- ›
- slider
- ›
- svelte
Slider
Capture input from a range of values.
Color
Disabled
Readonly
Multiple Thumbs
Direction
API Reference
Root
flex flex-col gap-2 w-full
Property | Default | Type |
---|---|---|
ids | - | Partial<{ root: string; thumb: (index: number) => string; hiddenInput: (index: number) => string; control: string; track: string; range: string; label: string; valueText: string; marker: (index: number) => string; }> | undefinedThe ids of the elements in the slider. Useful for composition. |
aria-label | - | string[] | undefinedThe aria-label of each slider thumb. Useful for providing an accessible name to the slider |
aria-labelledby | - | string[] | undefinedThe `id` of the elements that labels each slider thumb. Useful for providing an accessible name to the slider |
name | - | string | undefinedThe name associated with each slider thumb (when used in a form) |
form | - | string | undefinedThe associate form of the underlying input element. |
value | - | number[] | undefinedThe controlled value of the slider |
defaultValue | - | number[] | undefinedThe initial value of the slider when rendered. Use when you don't need to control the value of the slider. |
disabled | - | boolean | undefinedWhether the slider is disabled |
readOnly | - | boolean | undefinedWhether the slider is read-only |
invalid | - | boolean | undefinedWhether the slider is invalid |
onValueChange | - | ((details: ValueChangeDetails) => void) | undefinedFunction invoked when the value of the slider changes |
onValueChangeEnd | - | ((details: ValueChangeDetails) => void) | undefinedFunction invoked when the slider value change is done |
onFocusChange | - | ((details: FocusChangeDetails) => void) | undefinedFunction invoked when the slider's focused index changes |
getAriaValueText | - | ((details: ValueTextDetails) => string) | undefinedFunction that returns a human readable value for the slider thumb |
min | 0 | number | undefinedThe minimum value of the slider |
max | 100 | number | undefinedThe maximum value of the slider |
step | 1 | number | undefinedThe step value of the slider |
minStepsBetweenThumbs | 0 | number | undefinedThe minimum permitted steps between multiple thumbs. `minStepsBetweenThumbs` * `step` should reflect the gap between the thumbs. - `step: 1` and `minStepsBetweenThumbs: 10` => gap is `10` - `step: 10` and `minStepsBetweenThumbs: 2` => gap is `20` |
orientation | "horizontal" | "vertical" | "horizontal" | undefinedThe orientation of the slider |
origin | "start" | "start" | "center" | "end" | undefinedThe origin of the slider range. The track is filled from the origin to the thumb for single values. - "start": Useful when the value represents an absolute value - "center": Useful when the value represents an offset (relative) - "end": Useful when the value represents an offset from the end |
thumbAlignment | "contain" | "center" | "contain" | undefinedThe alignment of the slider thumb relative to the track - `center`: the thumb will extend beyond the bounds of the slider track. - `contain`: the thumb will be contained within the bounds of the track. |
thumbSize | - | { width: number; height: number; } | undefinedThe slider thumbs dimensions |
dir | "ltr" | "ltr" | "rtl" | undefinedThe document's text/writing direction. |
getRootNode | - | (() => ShadowRoot | Node | Document) | undefinedA root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
RootProvider
Property | Default | Type |
---|---|---|
value | - | () => SliderApi<PropTypes> |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
RootContext
Property | Default | Type |
---|---|---|
children | - | Snippet<[() => SliderApi<PropTypes>]> |
Label
label-text
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"label">]> | undefinedRender the element yourself |
ValueText
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"output">]> | undefinedRender the element yourself |
Control
flex items-center data-disabled:opacity-50
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Track
bg-surface-200-800 rounded-base h-2 overflow-hidden flex-1
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Range
bg-surface-950-50 h-full
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Thumb
size-5 bg-surface-50-950 ring-inset ring-2 ring-surface-950-50 rounded-full focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-surface-950-50
Property | Default | Type |
---|---|---|
index | - | number |
name | - | string | undefined |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
HiddenInput
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"input">]> | undefinedRender the element yourself |
MarkerGroup
Property | Default | Type |
---|---|---|
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |
Marker
text-xs text-surface-600-400
Property | Default | Type |
---|---|---|
value | - | number |
element | - | Snippet<[HTMLAttributes<"div">]> | undefinedRender the element yourself |