v1.1.3: Radix-composable buttons, meter ballistics/dBFS/loudness, PanKnob
- PushButton/Button forward native button props (...rest) and compose their own event handlers with consumer/Radix-injected ones, so a Button works as a Radix `asChild` trigger (dropdowns/tooltips/popovers). Prop types now extend React.ButtonHTMLAttributes. - Meter gains opt-in metering: `ballistics` (PPM attack/decay), `peakDecay` (peak-hold fall tail), `scale="db"` (feed amplitude → dBFS with reference lines; min/max default -60/0), and `integrated` (windowed LUFS-ish loudness readout + marker). New rAF engine in meterEngine.ts with ampToDb/dbToAmp helpers; default behavior unchanged. - New `PanKnob` — bipolar stereo pan: fills from center, center detent, L<n>/C/R<n> readout, -50..50 default. - Docs: ApiDocs rows + recipes (dBFS meter, pan strip, Button-as-trigger), gallery cards (dBFS meter, Pan) + a Regenerate Button in the panel. CHANGELOG 1.1.3; version 1.1.3; install URLs bumped. Library + docs typecheck and build; 46 tests pass. - Meter dBFS readout: muted-grey unit labels (LUFS matched to dB), value-first layout in an aligned 2-column grid so peak/loudness decimals line up, and ghost pad digits removed — the loudness row no longer looks like a stray tag. - Action buttons (Button / PushButton mode="action") no longer show an LED by default — an action has no state to indicate. led defaults to 'strip' for toggle/momentary and false for action; led="dot"/"strip" opts back in. - Meter dBFS readout: units (dB / LUFS) sit centered directly under each value; grid alignment tidied and ghost pad digits removed. Docs: dBFS-meter card moved next to the Meters card (same component) + a horizontal example.
This commit is contained in:
parent
605c38af51
commit
d183d7d16b
15 changed files with 644 additions and 80 deletions
11
README.md
11
README.md
|
|
@ -35,10 +35,11 @@ import { MetalKnob, LEDKnob, Fader, logTaper } from 'dreamknob'
|
|||
rounding, discrete `values` lists, evenly spaced detents (`steps`), linear / log /
|
||||
power / custom tapers.
|
||||
- **Styles**: `FlatKnob`, `MetalKnob`, `RubberKnob`, `VintageKnob`, `LEDKnob`, `NeonKnob`,
|
||||
`SteppedKnob`, `ImageKnob` (film-strips), `Fader`, `LEDFader`, `Meter`, `MeterBridge`,
|
||||
`Gauge`, `XYPad`, `PushButton`, `IndicatorLamp`, `LampRow`, `ToggleSwitch`,
|
||||
`SegmentSwitch`, `TransportButton`, `ScrubField`, `SegmentDisplay`, `AlphaDisplay`,
|
||||
plus `LabeledField`/`Rack` layout — every color themeable per instance.
|
||||
`SteppedKnob`, `PanKnob`, `ImageKnob` (film-strips), `Fader`, `LEDFader`, `Meter`
|
||||
(PPM ballistics · dBFS · loudness), `MeterBridge`, `Gauge`, `XYPad`, `PushButton`,
|
||||
`Button`, `IndicatorLamp`, `LampRow`, `ToggleSwitch`, `SegmentSwitch`,
|
||||
`TransportButton`, `ScrubField`, `SegmentDisplay`, `AlphaDisplay`, plus
|
||||
`LabeledField`/`Rack` layout — every color themeable per instance.
|
||||
- **Composable**: `<Knob>` + primitives (`Arc`, `Pointer`, `Ticks`, `TickLabels`, `Face`,
|
||||
`KnobValue`, `KnobLabel`, `GlowFilter`) for custom designs, or go fully headless with
|
||||
`useKnob`.
|
||||
|
|
@ -50,7 +51,7 @@ See `packages/dreamknob/README.md` and the docs app for the full API.
|
|||
The easiest way is the published release on our Forgejo:
|
||||
|
||||
```bash
|
||||
pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.2/dreamknob-1.1.2.tgz
|
||||
pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.3/dreamknob-1.1.3.tgz
|
||||
```
|
||||
|
||||
Or build locally — the package builds to `packages/dreamknob/dist` (ESM + CJS + types):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue