KQ-784 · PRESET/DECK
Preset Deck
One slider per field above a deck of preset cards. Applying a card sends every slider to its values on glide in a cascade, so the panel reads as one gesture sweeping down; the card whose values match is checked with a tick drawn on flick, and nudging a slider unchecks it and arms Save. Saving opens a name field inside the frame and mints a new card that slides in at the front on snap while the others make room on glide. Sliders take arrows, PageUp and PageDown, Home and End; the deck is a radio group whose arrows move and apply.
KQ-784 · PRESET/DECK
Fernworks Model 3 · samplingBalanced
Temperature0.7
Top-p0.95
Max length1024
Preset Balanced · 3 saved
Install
One command — the source lands in your repo. Or copy it from the Code tab.
$ pnpm dlx shadcn@latest add @kinetiq/preset-deck
Props
- fields
- PresetField[]
- default —
- One slider each: id, label, min, max, step and an optional format.
- values / defaultValues
- Record<string, number>
- default —
- Controlled or initial slider values by field id; a missing field starts at its minimum.
- onValuesChange
- (values: Record<string, number>) => void
- default —
- Fires from a slider or an applied preset.
- presets / defaultPresets
- Preset[]
- default —
- Controlled or initial deck; each card carries a name and a value per field.
- onPresetsChange
- (presets: Preset[]) => void
- default —
- Fires from a save with the new card at the front.
- onApply
- (preset: Preset) => void
- default —
- Fires from a card press or an arrow key.
- label
- string
- default —
- Names the panel.
| Prop | Type | Default | Description |
|---|---|---|---|
| fields | PresetField[] | — | One slider each: id, label, min, max, step and an optional format. |
| values / defaultValues | Record<string, number> | — | Controlled or initial slider values by field id; a missing field starts at its minimum. |
| onValuesChange | (values: Record<string, number>) => void | — | Fires from a slider or an applied preset. |
| presets / defaultPresets | Preset[] | — | Controlled or initial deck; each card carries a name and a value per field. |
| onPresetsChange | (presets: Preset[]) => void | — | Fires from a save with the new card at the front. |
| onApply | (preset: Preset) => void | — | Fires from a card press or an arrow key. |
| label | string | — | Names the panel. |