Components

Slider

An input where the user selects a value from within a given range.

Installation

Cortexcn
pnpm dlx shadcn@latest add @cortexcn/slider

Usage

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

Examples

Basic

import { Slider } from "@/components/slider"export function SliderBasic() {  return (    <div className="flex flex-col gap-6">      <Slider defaultValue={[50]} max={100} step={1} />    </div>  )}

Range

import { Slider } from "@/components/slider"export function SliderRange() {  return (    <div className="flex flex-col gap-6">      <Slider defaultValue={[25, 50]} max={100} step={5} />    </div>  )}

Multiple thumbs

import { Slider } from "@/components/slider"export function SliderMultiple() {  return (    <div className="flex flex-col gap-6">      <Slider defaultValue={[10, 20, 70]} max={100} step={10} />    </div>  )}

Vertical

import { Slider } from "@/components/slider"export function SliderVertical() {  return (    <div className="flex flex-col gap-6">      <div className="flex items-center gap-6">        <Slider          defaultValue={[50]}          max={100}          step={1}          orientation="vertical"          className="h-40"        />        <Slider          defaultValue={[25]}          max={100}          step={1}          orientation="vertical"          className="h-40"        />      </div>    </div>  )}

Controlled

0.3, 0.7
import * as React from "react"import { Label } from "@/components/label"import { Slider } from "@/components/slider"export function SliderControlled() {  const [value, setValue] = React.useState([0.3, 0.7])  return (    <div className="flex flex-col gap-6">      <div className="grid w-full gap-3">        <div className="flex items-center justify-between gap-2">          <Label htmlFor="slider-demo-temperature">Temperature</Label>          <span className="text-sm text-muted-foreground">            {value.join(", ")}          </span>        </div>        <Slider          id="slider-demo-temperature"          value={value}          onValueChange={setValue}          min={0}          max={1}          step={0.1}        />      </div>    </div>  )}

Disabled

import { Slider } from "@/components/slider"export function SliderDisabled() {  return (    <div className="flex flex-col gap-6">      <Slider defaultValue={[50]} max={100} step={1} disabled />    </div>  )}

Adapted from the shadcn/ui Slider (MIT).