# AdiaUI Catalog — LLM Rules (v0.9) # Cross-component and contextual constraints that the JSON Schema validator # cannot express. Concatenated into the agent system prompt. # Generated from each component YAML's `a2ui.rules:` entries. ## AccordionItem - Child of — places one collapsible section with header + body. - Toggle behavior: click anywhere on the row toggles, unless inside [slot='actions'] or [data-no-toggle]. - For single-button disclosures (one expanding panel without a list) use
/ or compose + . ## Accordion - Hosts children. One or more sections may be open simultaneously (set single= to enforce only-one-open). - For tab-switched panels (always exactly one open) use ; accordion supports zero-open and multi-open. - Item ordering is DOM-order; no auto-sort. ## ActionItem - Child of — one inline-action row with icon + label + optional shortcut + optional sublabel. - Different from : action-items live inline in content surfaces; menu-items live inside popovers. - For navigation entries (route-changing) use instead. ## ActionList - Hosts children as a vertical command list inline in content surfaces. - For popover-style menus use + instead. - Typical use: command palettes, settings panels, agent suggestion lists. ## AgentArtifact - Inline container for structured agent payloads inside message bodies or panes. - kind attribute (a2ui|json|ticket|code|...) sets content-type-aware rendering and icon/badge styling. - For free-text agent output use or ; artifact-ui is for structured payloads only. - primary + secondary slots for header chrome; default slot for the artifact body. ## AgentFeedbackBar - Thumbs-up / thumbs-down rating row + optional Save action, rendered beneath an LLM-generated message. - Different from (star-based ordinal) — agent-feedback is binary good/bad. - Emits feedback events with value=up|down and optional save action; consumer wires the actual feedback API call. - Place at the end of an assistant message in , not on user messages. ## AgentQuestions - Multi-choice clarifying-question card emitted by an agent when it needs disambiguation before proceeding. - multi attribute controls single-select (default) vs multi-select answer behavior. - Slot accepts answer chips; for radio-card style use + children instead. - Different from (follow-up suggestions, optional) — agent-questions is gating (agent waits for answer). ## AgentReasoning - Agent inner-monologue + pipeline viewer with steps, thoughts, plans, and iterations. - Composes internally — pass reasoning steps as children rendered as . - noAutocollapse attribute prevents the auto-collapse-on-complete behavior; useful for debug surfaces. - Different from (metrics + tool-call summary) — reasoning is narrative, trace is structured-data. ## AgentSuggestions - Row of follow-up suggestion chips presented under an agent response. User taps to send the chip text as the next prompt. - Hosts children with chip-style variant; auto-applies variant if children don't set one. - Different from (required disambiguation) — suggestions are optional and the agent doesn't wait. - Place at the end of an assistant message in ; not for first-message empty-state suggestions (use ). ## AgentTrace - Collapsible metrics + training-feedback panel showing reasoning steps, tool calls, latency, and token counts. - Place inside message bodies for expert/debug views; hide by default in user-facing chat. - Different from (narrative inner monologue) — agent-trace is structured metrics. - Default collapsed=true; expand-on-demand keeps chat-thread visual density low. ## Alert - Inline alert/banner for status messages within a content region. Severity via variant (info, success, warn, error). - For ephemeral toast notifications use (or post to ); alert-ui is persistent inline. - For modal-style critical alerts use with alert content. - Billing dunning / payment-failed notices use pattern="dunning" + amount + currency + dueAt props, NOT inlined into title/description strings. - pattern="dunning" SHOULD use variant="danger" (default) or variant="warning" (grace period); never variant="info" or "success". - When pattern="dunning", slot at least one button-ui in slot="actions" with data-dunning-action ("update" or "retry"). ## Aside - Use as a slot stub inside an IN-PAGE primitive container parent (, , , ) for two-column layouts with a semantic side region. It ships no behavior; the parent reads [collapsible] and [width] via @scope. Typical contents: / / . - Do NOT use for app-shell sidebars. no longer reads (retired in v0.4.0 per ADR-0024). Use the bespoke with reflected [collapsed] / [resizing] state. Same rule for under and under . - Do NOT confuse with : aside-ui declares the semantic side role (a11y + parent layout hint); owns resize / collapse interaction. When you need interactive resize inside an aside, nest inside. - Width hints map to tokens: `width="rail"` ≈ icon-only nav, `width="panel"` ≈ nav with labels, `width="wide"` ≈ workspace pane. Unset defers to the parent default. Only pair `collapsible` with parents that wire a toggle (the prop is a hint, not a behavior). - For the settings-page description rail (label + help text on the left, controls on the right) use plain HTML