v1.1.1: second integration-feedback release
Readout legibility (the #1 ask): - bold own-cell decimal point + colon in seven/fourteen-seg (not hairlines) - weight prop thickens strokes; gap controls inter-cell kerning Display colors: - SegmentDisplay defaults to theme.ledGreen, AlphaDisplay to theme.ledAmber - valueColor fn + value-space zones on SegmentDisplay (self-coloring readouts) - charset: colon in both, $ and % in 14-seg; disabled + data-disabled Knob captions: sublabel (second line) + labelSize (independent of dial size). New components: - ToggleSwitch (rocker/slider boolean, role=switch) - Gauge (read-only radial arc meter, round sibling of Meter) - TransportButton (play/stop/record/pause/panic, record blinks) - LampRow (console-print lamp bank), LabeledField, Rack (panel chrome) Responsiveness: fill on Meter + Fader (stretch to container). Niceties: PushButton leadingIcon; theme ledGreen/ledAmber/panel tokens. 54 -> 63 exports. 38 unit tests. Browser-verified.
This commit is contained in:
parent
d8b7b55505
commit
5b97091902
32 changed files with 1535 additions and 133 deletions
|
|
@ -5,7 +5,7 @@ headless core, any number range, any decimal precision, and colors you fully con
|
|||
Zero runtime dependencies.
|
||||
|
||||
```
|
||||
pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.0/dreamknob-1.1.0.tgz
|
||||
pnpm add https://git.dreamodus.software/Dreamodus/DreamKnob/releases/download/v1.1.1/dreamknob-1.1.1.tgz
|
||||
```
|
||||
|
||||
(Latest release tarballs: https://git.dreamodus.software/Dreamodus/DreamKnob/releases)
|
||||
|
|
@ -73,7 +73,7 @@ when you provide `getAriaValueText`).
|
|||
the cursor mid-gesture.
|
||||
- `wheelStep` / `wheelRequiresFocus` — tune wheel notches, or keep hover-scroll free.
|
||||
- `onChange` / `onChangeStart` / `onChangeEnd` — gesture-aware callbacks with
|
||||
`meta.source` (`'drag' | 'wheel' | 'keyboard' | 'reset' | 'api'`).
|
||||
`meta.source` (`'drag' | 'wheel' | 'keyboard' | 'reset' | 'edit' | 'api'`).
|
||||
- `wrap` — endless encoder mode: values roll around min↔max (pair with
|
||||
`angleOffset={0} angleRange={360}`).
|
||||
- `animateChanges` — tween the pointer on programmatic changes (preset loads);
|
||||
|
|
@ -100,16 +100,26 @@ import {
|
|||
ImageKnob, // film-strip sprite knob (KnobMan-style PNG strips)
|
||||
Meter, // read-only LED level meter — mono or multi-channel (value={[l, r]})
|
||||
MeterBridge, // labeled multi-strip meter block with per-channel peak text
|
||||
Gauge, // read-only radial arc meter (round sibling of Meter) for CPU/RAM/load
|
||||
XYPad, // two-parameter pad (cutoff/resonance, vector mixing)
|
||||
PushButton, // panel button with LED strip or corner dot (toggle or momentary)
|
||||
IndicatorLamp, // pressable LED lamp — the hardware checkbox (blink, momentary)
|
||||
LampRow, // row of indicator lamps with console-print captions
|
||||
ToggleSwitch, // rocker/slider boolean — the knob slides OFF↔ON
|
||||
SegmentSwitch, // segmented option selector (radiogroup, LED tick)
|
||||
TransportButton,// play/stop/record/pause/panic family (record blinks)
|
||||
ScrubField, // AE-style numeric field: drag the label to scrub, click to type
|
||||
SegmentDisplay, // standalone seven-segment numeric display
|
||||
AlphaDisplay, // fourteen-segment alphanumeric display
|
||||
SegmentDisplay, // seven-segment numeric display (weight, gap, value-color zones)
|
||||
AlphaDisplay, // fourteen-segment alphanumeric display (now incl. : $ %)
|
||||
LabeledField, // label · control · unit in one aligned inspector row
|
||||
Rack, // channel-strip / rack container (panel chrome + spacing)
|
||||
} from 'dreamknob'
|
||||
```
|
||||
|
||||
Knob skins also take `sublabel` (a second caption line) and `labelSize` (caption
|
||||
size independent of the dial); `Meter` and `Fader` take `fill` to stretch to their
|
||||
container.
|
||||
|
||||
## Theming
|
||||
|
||||
```tsx
|
||||
|
|
@ -121,7 +131,8 @@ import { DreamknobProvider } from 'dreamknob'
|
|||
```
|
||||
|
||||
`base="light"` swaps in light-background defaults. Tokens: `accent`, `track`, `face`,
|
||||
`text`, `label`, `ticks`, `focusRing`, `fontMono`, `fontUI`.
|
||||
`text`, `label`, `ticks`, `focusRing`, `zoneGood`/`zoneWarn`/`zoneHot` (meter zones),
|
||||
`ledGreen`/`ledAmber` (display defaults), `panel` (rack chrome), `fontMono`, `fontUI`.
|
||||
|
||||
Every knob skin and fader takes the core props plus `size`, `label`, `showValue`,
|
||||
`unit`, `format`, and per-part color props (`color`, `trackColor`, `faceColor`,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue