Y2K UI

Slider

A flat range slider — thick navy border, lemon thumb, five color variants. Fully controlled / uncontrolled.

Bare (no props)

The simplest usage: a single thumb, no label. Useful when the slider sits inside a labeled section or when the parent provides context.

slider-bare-demo.app

With props (label, value, trailing unit, range)

Pass label, showValue, and trailingLabel to render a labelled slider. Use an array value for a range slider with two thumbs (great for min/max).

slider-with-label-demo.app
Volume42dB
Sweetness30 – 70

Pink variant

slider-pink-demo.app

Range (two thumbs)

slider-range-demo.app

Installation

terminal.sh
npx y2kui@latest add slider

Usage

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

Props

PropTypeDefaultDescription
variant'default' | 'pink' | 'mint' | 'lilac' | 'lemon''default'Pastel color for the filled range.
valuenumber[]Controlled value (one number per thumb).
defaultValuenumber[]Initial value (uncontrolled).
onValueChange(value: number[]) => voidFired when the value changes.
minnumber0Minimum value.
maxnumber100Maximum value.
stepnumber1Step increment.
labelReactNodeOptional label shown above the slider.
showValuebooleanfalseShow the current numeric value next to the label.
trailingLabelReactNodeRight-aligned unit text (e.g. 'dB', 'px').
disabledbooleanfalseDisable the slider.

On this page