#1816·puck

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.

typescript
export function Editor() {
  return (
    <Puck allowMultipleArrayItemsOpen />
  );
}
  • Pros: Simple, quick to implement, and easy to discover via autocomplete.
  • Cons: Verbose prop names like allowMultipleArrayItemsOpen can 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.

typescript
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.