The static string to use used for `aria-label` if no visible label is used.
Slider
The Slider is used to allow users to make selections from a range of values.
Sliders reflect a range of values along a bar, from which users may select a single value. They are ideal for adjusting settings such as volume, brightness, or applying image filters.
Import#
Chakra UI export 4 components for Slider:
Slider: The wrapper that provides context and functionality for all children.SliderTrack: The empty part of the slider that shows the track.SliderFilledTrack: The filled part of the slider.SliderThumb: The handle that's used to change the slider value.
import {Slider,SliderTrack,SliderFilledTrack,SliderThumb,} from "@chakra-ui/react"
Usage#
Note: We recommend adding a
aria-labeloraria-labelledbyprop to provide an accessible label for the Slider.
Changing the slider color scheme#
Changing the slider orientation#
Customizing the Slider#
Slider component was designed to be composed to make it easy for you to
customize its styles.
Discrete Sliders#
Discrete sliders allow you to snap to predefined sets of values. This can be
accomplished using the step prop.
Getting the final value when dragging the slider#
Dragging the slider can trigger lots of updates and the user might only be
interested in the final result after sliding is complete. You can use
onChangeEnd for this.
<Slider aria-label="slider-ex-5" onChangeEnd={(val) => console.log(val)}><SliderTrack><SliderFilledTrack /></SliderTrack><SliderThumb /></Slider>
Configure thumb focus with focusThumbOnChange#
By default SliderThumb will receive focus whenever value changes. You can
opt-out of this behavior by setting the value of focusThumbOnChange to
false. This is normally used with a "controlled" slider value.
<Slider aria-label="slider-ex-5" value={value} focusThumbOnChange={false}><SliderTrack><SliderFilledTrack /></SliderTrack><SliderThumb /></Slider>
useSlider#
We've exported the useSlider hook to help users manage and build custom slider
UIs.
Props#
Slider Props#
The Slider component wraps all its children in the Box
component, so you can pass all Box props to change its style.
aria-label
aria-labelstringaria-labelledby
aria-labelledbyThe static string `aria-labelledby` that points to the ID of the element that serves as label for the slider
stringaria-valuetext
aria-valuetextThe static string to use used for `aria-valuetext`
stringcolorScheme
colorScheme"whiteAlpha" | "blackAlpha" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "linkedin" | "facebook" | "messenger" | "whatsapp" | "twitter" | "telegram""blue"defaultValue
defaultValueThe initial value of the slider in uncontrolled mode
numberfocusThumbOnChange
focusThumbOnChangeIf false, the slider handle will not capture focus when value changes.
booleantruegetAriaValueText
getAriaValueTextFunction that returns the `aria-valuetext` for screen readers. It is mostly used to generate a more human-readable representation of the value for assistive technologies
((value: number) => string)id
idThe base id to use for the slider and its components
stringisDisabled
isDisabledIf true, the slider will be disabled
booleanisReadOnly
isReadOnlyIf true, the slider will be in `read-only` state
booleanisReversed
isReversedIf true, the value will be incremented or decremented in reverse.
booleanmax
maxThe maximum allowed value of the slider. Cannot be less than min.
number100min
minThe minimum allowed value of the slider. Cannot be greater than max.
number0name
nameThe name attribute of the hidden input field.
This is particularly useful in forms
stringonChange
onChangefunction gets called whenever the slider handle is being dragged or clicked
((value: number) => void)onChangeEnd
onChangeEndfunction gets called whenever the user stops dragging the slider handle.
((value: number) => void)onChangeStart
onChangeStartfunction gets called whenever the user starts dragging the slider handle
((value: number) => void)size
size"sm" | "md" | "lg""md"step
stepThe step in which increments/decrements have to be made
number1value
valueThe value of the slider in controlled mode
numbervariant
variantVariants for Slider are not implemented in the default theme. You can extend the theme to implement them.
stringSliderThumb Props#
SliderThumb composes Box so you can pass all Box props
to change its style.
SliderFilledTrack Props#
SliderFilledTrack composes Box so you can pass all Box
props to change its style.
SliderTrack Props#
SliderTrack composes Box so you can pass all Box props
to change its style.