You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Closes the parity gap #2709 opened: when a `select` + `multiple` (and the
`multiselect` type) began delegating to the multi-value chip picker, that picker
did not implement the ADR-0058 per-option `visibleWhen` cascading / `dependsOn`
gating the single `SelectField` has, so a multi-select with dependent options
showed the unfiltered set.
- Extract `useCascadingOptions` — the shared hook resolving per-option
`visibleWhen` filtering, `dependsOn` gating, and the live `dependentValues` +
predicate-scope wiring — and route both `SingleSelectField` and
`MultiSelectField` through it (no duplicated resolver).
- `MultiSelectField` narrows its offered chips against the live record +
`current_user`, gates behind a "select the parent first" hint while a
`dependsOn` field is empty, and surfaces a legible empty state.
- Cascade-clear prunes only the now-invalid selections (array analogue of the
single select's clear), keeping still-offered ones.
- Tests mirror `SelectField.cascade.test.tsx`; README + changeset updated.
Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments