Skip to content

Component · <input type="range">

Slider

A native range input with a filled track.

64

Install

npx @lazizbekio/mitame add slider

Usage

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

export default function SliderDemo() {
  const [volume, setVolume] = useState(64);
  return (
    <div className="flex w-full max-w-sm items-center gap-4">
      <Slider aria-label="Volume" value={volume} onValueChange={setVolume} />
      <span className="w-8 text-right text-sm tabular-nums">{volume}</span>
    </div>
  );
}

Props

PropTypeDefaultDescription
value / defaultValuenumber—Controlled or uncontrolled value.
onValueChange(value: number) => void—Called with the new number.
min / max / stepnumber0 / 100 / 1Range.

Keyboard

KeyDoes
← → ↑ ↓Step
Home / EndMin / max
Page Up / DownBig step

Styling

Every part has a data-slot starting with slider, and state lives in data-state,data-variant and friends. Pass any class to override; theme styles sit in a lower CSS layer, so yours win. See Theming.