--- meta: title: Range description: Ranges allow the user to select a single value within a given range using a slider. layout: component --- ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` :::tip This component works with standard `
` elements. Please refer to the section on [form controls](/getting-started/form-controls) to learn more about form submission and client-side validation. ::: ## Examples ### Labels Use the `label` attribute to give the range an accessible label. For labels that contain HTML, use the `label` slot instead. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Help Text Add descriptive help text to a range with the `help-text` attribute. For help texts that contain HTML, use the `help-text` slot instead. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Min, Max, and Step Use the `min` and `max` attributes to set the range's minimum and maximum values, respectively. The `step` attribute determines the value's interval when increasing and decreasing. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Disabled Use the `disabled` attribute to disable a slider. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Tooltip Placement By default, the tooltip is shown on top. Set `tooltip` to `bottom` to show it below the slider. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Disable the Tooltip To disable the tooltip, set `tooltip` to `none`. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ; ``` ### Custom Track Colors You can customize the active and inactive portions of the track using the `--track-color-active` and `--track-color-inactive` custom properties. ```html:preview ``` {% raw %} ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ( ); ``` {% endraw %} ### Custom Track Offset You can customize the initial offset of the active track using the `--track-active-offset` custom property. ```html:preview ``` {% raw %} ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => ( ); ``` {% endraw %} ### Custom Tooltip Formatter You can change the tooltip's content by setting the `tooltipFormatter` property to a function that accepts the range's value as an argument. ```html:preview ``` ```jsx:react import { SlRange } from '@shoelace-style/shoelace/dist/react'; const App = () => `Total - ${value}%`} />; ```