Chart builder: SelectControl pickers, channel chooser, per-type aggregates

This commit is contained in:
2026-06-12 14:45:31 +03:00
parent 4dcff4601d
commit ed66fe9c05
15 changed files with 1232 additions and 276 deletions
+10 -18
View File
@@ -8,23 +8,15 @@ record the resolution into the contract (`docs/architecture/09`+`10` and the rel
## Open
### Chart Builder — encoding type control: cycle vs. explicit pick
_(none — the 2026-06-12 batch resolved all parked items: type-cycle chip → direct-pick
SelectControl; field-assignment flow → explicit channel chooser + visible armed state, drag
still deferred; "or constant" → "Use a constant" ghost button; chart-level controls →
properties strip under the preview. Resolutions recorded in `architecture/10` §5 and
`spec/06`.)_
- **Where:** `src/app/components/ChartBuilderModal.tsx``ChannelPill` (the `pillType` chip).
- **What:** a mapped channel's field type is shown as a **cycling chip** — activating it steps
N → O → Q → T within the set valid for the column/channel. It is compact and matches the
approved field-first pill design, but a _cycling_ button gives a screen-reader / keyboard
user no way to jump straight to a type; they step through the cycle. The pre-2B control was
an explicit `N | O | Q | T` segmented radio (direct pick, APG radio pattern).
- **Decision to make:** keep the cycle, restore the explicit segmented control, or a hybrid
(chip for a quick mouse cycle + an accessible radio/menu for direct selection).
- **Lens:** WAI-ARIA APG (radio vs. toggle button), IBM Carbon, the project's keyboard-first
accessibility bar.
## Deferred (not design debts, revisit on demand)
### Chart Builder — empty Colour/Size "or constant" affordance
- **Where:** `ChannelPill` / `ChannelSlot` — the constant-value entry on Colour/Size (2A).
- **What:** an empty Colour/Size slot offers a small underlined "or constant" text button to
switch the channel from a field binding to a fixed `{ value }`. Confirm the copy, emphasis,
and discoverability read well alongside the field-assign affordance.
- **Lens:** Carbon / GOV.UK content + control emphasis.
- **Drag-and-drop field assignment** — chips are click/keyboard-first by design; drag would
be a progressive enhancement on top of the chooser model, not a replacement. Revisit if
real usage asks for it (likely alongside Phase 4 faceting, where drag-to-shelf reads most
naturally).