LLabanaat

Slider

Single or multi-thumb range slider built on Radix's Slider primitive.

function Demo() {
const [value, setValue] = useState([50]);
return (
  <Slider
    label="Volume"
    value={value}
    onValueChange={setValue}
    formatValue={(v) => `${v}%`}
  />
);
}
render(<Demo />);

Editable — change the code above and the preview updates live.

Range selection

Pass a two-value array to get a min/max range with two thumbs.

function Demo() {
const [value, setValue] = useState([20, 80]);
return (
  <Slider
    label="Price range"
    value={value}
    onValueChange={setValue}
    formatValue={(v) => `$${v}`}
  />
);
}
render(<Demo />);

Editable — change the code above and the preview updates live.

Installation

import { Slider } from "@labanaat/ui/slider";

Props

PropTypeDefaultDescription
value / defaultValuenumber[]Controlled / uncontrolled value(s); a two-value array enables range mode
onValueChange(value: number[]) => voidChange handler
min / maxnumber0 / 100Bounds
labelstringField label
formatValue(value: number) => stringFormats the value shown next to the label