## Question list An editable list of collapsible questions — each a prompt field plus its OptionRow choices — with a full-width "+ Add question" that disables at max; composes NumberedItem + OptionRow (SETTINGS-31/36). Tier: leaf-lit. Frameworks: HTML (paste-and-run, no build step) · React · Vue 3. Default to the HTML snippet — is a standard custom element that renders on open — React/Vue are thin adapters over the same element. Surfaces: editor, settings. Props: - questions: Array<{id,prompt,options:[{id,text,correct}]}>, default []. The model; set as a property or a JSON attribute - min: number, default 1. Minimum questions — delete disables at this count - max: number, default ∞. Maximum questions — +Add disables at this count - minoptions: number, default 2. Minimum options per question — option delete disables at this count - maxoptions: number, default ∞. Maximum options per question — +Add option disables at this count - disabled: boolean, default false. Disable adding questions - change: CustomEvent<{questions}>, default —. Composed event on any edit; read e.detail.questions (the full model) Tokens: color-primary, border-hover, border-disabled, bg-container, bg-container-disabled, bg-accent, text-disabled, radius-default. Use when: Question list (an editable set of questions, each with its own prompt + choices (a quiz builder, a survey)); Option row list (a flat list of options for ONE question — compose OptionRow directly).