Skip to content
SevenUI
Esc
navigateopen⌘Jpreview
Sign in
On this page

Slider

Displays a slider built on the Base UI Slider primitive.

import { Slider } from "@/registry/base/ui/slider";

export default function SliderDemo() {
  return (
    <div className="flex w-96 max-w-full flex-col gap-8">
      <Slider defaultValue={[40]} />
      <Slider defaultValue={[20, 60]} />
    </div>
  );
}

Installation

npx shadcn@latest add https://sevenui.dev/r/slider.json

Usage

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

<Slider defaultValue={40} />;

Range

Pass an array to defaultValue (or value) to render one thumb per value. Each thumb is indexed automatically in the order its value appears in the array.

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

<Slider defaultValue={[20, 60]} />;

Examples

Vertical

import { Slider } from "@/registry/base/ui/slider";

export default function SliderVertical() {
  return (
    <div className="flex h-48 items-stretch gap-8">
      <Slider orientation="vertical" defaultValue={[60]} />
      <Slider orientation="vertical" defaultValue={[20, 80]} />
    </div>
  );
}

Multiple thumbs

One thumb per array entry — three values give a three-thumb slider.

import { Slider } from "@/registry/base/ui/slider";

export default function SliderMultiple() {
  return (
    <div className="w-96 max-w-full">
      <Slider defaultValue={[20, 50, 80]} />
    </div>
  );
}

Disabled

import { Slider } from "@/registry/base/ui/slider";

export default function SliderDisabled() {
  return (
    <div className="flex w-96 max-w-full flex-col gap-8">
      <Slider defaultValue={[60]} disabled />
      <Slider defaultValue={[20, 60]} disabled />
    </div>
  );
}

API reference

Slider

Extends the Base UI Slider Root — all its props apply; the track, range indicator, and thumbs are built in. Pass value/defaultValue as an array: one thumb renders per entry, so [40] is a single-value slider and [20, 60] a range. With no value at all, a full-range two-thumb slider is rendered.

Prop Type Default
value number[]
defaultValue number[]
min / max number 0 / 100
step number 1
orientation "horizontal" | "vertical" "horizontal"

Was this page helpful?