Allow multiple array items open simultaneously
Author: DamianKocjanCreated Aug 27, 2026Updated Aug 28, 2026
Labelstype: featurein triage
Description
Currently, array fields only allow a single item to be expanded/open at any given time. Opening a new array item automatically collapses the currently active one.
Considerations
- Existing implementations rely on single-accordion behavior (storing an active index), which would need to support a array of open items.
- Prop naming should remain concise and intuitive while avoiding API bloat on the root
<Puck />component as new toggles/flags are introduced.
Proposals
Proposal 1: Direct boolean prop (e.g., allowMultipleArrayItemsOpen)
Add a dedicated boolean prop directly to the <Puck /> component (or field configuration) to toggle this behavior.
export function Editor() {
return (
<Puck allowMultipleArrayItemsOpen />
);
}
- Pros: Simple, quick to implement, and easy to discover via autocomplete.
- Cons: Verbose prop names like
allowMultipleArrayItemsOpencan clutter the top-level<Puck />prop interface as more feature toggles are added over time.
Proposal 2: Grouped features or flags configuration object
Introduce a unified features (or flags) object prop on <Puck />. This standardizes optional editor capabilities and future-proofs the API against prop sprawl.
export function Editor() {
return (
<Puck features={{ allowMultipleArrayItemsOpen: true }}/>
);
}
- Pros: Clean, scalable foundation for future editor feature flags and experimental settings.
- Cons: Slightly more nested API surface for single-prop use cases.
Source: puckeditor/puck