Production-grade React components for audio plugin frontends. Dark-industrial aesthetic, physics-grounded interactions, drop-in design tokens.
Each component is self-contained and extractable. Copy a single file to use a Knob; copy three files to get a full EQ display.
Drag vertically to change value. Each knob uses an independent arc origin — arcStartValue sets where the arc begins (center for gain, minimum for frequency).
Five band accent colors plus a structured surface hierarchy. All defined as CSS custom properties.
Copy the component files, import, and use. No build configuration needed beyond React + TypeScript.
import { Knob } from './components/Knob';
// Frequency knob — log scale, arc starts at min
<Knob
label="Freq"
value={freq}
min={10} max={30000}
unit="Hz"
isLogScale={true}
arcStartValue={10}
color="#00c3ff"
onChange={v => setFreq(v)}
formatValue={v => v >= 1000 ? (v/1000).toFixed(2)+' k' : v.toFixed(2)}
/>
// Gain knob — linear, arc starts at 0 dB center
<Knob
label="Gain"
value={gain}
min={-30} max={30}
unit="dB"
arcStartValue={0}
color="#8cf064"
onChange={v => setGain(v)}
/>