Fader

Pro

Level fader for volume, mixers and lights: a mixing-desk strip that can show a scale and live level meter, or a fill-style tile. Optional set points click with a gentle haptic.

Preview

Installation

npx @lumioui/cli add pro/fader

Usage

import { Fader } from "@/components/ui/fader/fader";
<Fader />

Examples

Ambience layers

A sleep-sounds mixer in green.

Smart-home dimmer

A smart-home room in amber.

Sound mixer bank

A rehearsal-room mixer bank in neutral ink.

Video-call volume

The audio panel of a call in green: the person you're talking to above, then a mic-gain and a speaker-volume fader side by side in purpose, each with its own live meter.

API reference

Prop Type Default
value number —
defaultValue number —
onValueChange (value: number) => void

Fires only when the stepped value changes — never per frame.

—
onSlidingComplete (value: number) => void

Fires once when the finger lifts.

—
min number 0
max number 100
step number 1
detents number[]

Values the cap snaps to within ~8pt, with a selection haptic.

—
orientation "vertical" | "horizontal" "vertical"
appearance "tile" | "channel"

tile — the tile is the control; channel — groove + cap + meter. Default channel.

"channel"
length number

Main-axis length in pt. Default 208 (tile) / 240 (channel) vertical; horizontal faders fill their width.

—
label string —
formatValue (value: number) => string —
showValue boolean true
icon IconName

Tile icon / horizontal channel icon.

—
level number | SharedValue<number>

Live input level 0–1 for the meter (number or SharedValue). Omit for no meter.

—
postFader boolean

Meter shows level × fader position (post-fader). Default true.

true
marks FaderMark[]

Channel scale labels (dB marks).

—
disabled boolean false
progressValue SharedValue<number>

Receives the 0–1 position on the UI thread every frame — drive a room's light or a tint from it without touching React.

—
className string —