Uh oh!
There was an error while loading. Please reload this page.
docs(accordion): rewrite Schema block to match the real AccordionSchema/AccordionItem interface - #4727
Conversation
…ma/AccordionItem interface The "Schema" section on the accordion docs page taught a fictional shape (`defaultOpen?: number[]`, `multiple?: boolean`) that never existed on `AccordionSchema`, was missing the required `AccordionItem.value` key entirely, and omitted `collapsible`/`onValueChange`/`variant` plus the now-honored `disabled`. Rewritten to match `packages/types/src/disclosure.ts` field-for- field, post-#4723 (`icon` retired). Swept the rest of the page: it has exactly one other block (the `<SchemaExample>` demo, not an inline code block), which already renders `disabled: true` correctly against the real interface — no further drift found on this page. Fixes#4722 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RnQd8iMMUwXQEV1crFmQiQ
The latest updates on your projects. Learn more about Vercel for GitHub. |
yinlianghui
commented
Aug 15, 2026
Review verdict: ACCEPT (reviewer of record, PM session Verified against this PR, not the report: one changed file, Will flip ready + enable auto-merge once Lint, Type Check, and Test shards 1–4 conclude Generated by Claude Code |
Uh oh!
There was an error while loading. Please reload this page.
Fixes#4722
What changed
content/docs/components/disclosure/accordion.mdx's "Schema" code block taught afictional shape that never existed on the real interface. Rewrote it to match
packages/types/src/disclosure.ts'sAccordionSchema/AccordionItemfield-for-field,post-#4723 (which retired
icon):packages/types/src/disclosure.ts)items: Array< { title, content } >items: AccordionItem[]—AccordionItemrequiresvalue: string(missing from docs entirely)content: string | SchemaNodecontent: SchemaNode | SchemaNode[]defaultOpen?: number[]defaultValue?: string | string[]multiple?: booleanaccordionType?: 'single' | 'multiple'collapsible?: boolean,value?: string | string[],onValueChange?: (value) => void,variant?: 'default' | 'bordered' | 'separated', item-leveldisabled?: booleandefaultOpen/multiplenever existed on the real interface — this was an early draft ofthe component that was never updated as the interface evolved, not a two-name rename.
Same-page drift sweep
Per the card's sweep instruction, checked every other code block on the page. The page has
exactly one other block: the
SchemaExampledemo component (idcomponents-disclosure-accordion/basic-accordion), which is a live-rendered demo, not aninline fenced code block, and the prose above it ("The second item sets
disabled: true...") is already accurate against the real, now-honored
AccordionItem.disabled. Nofurther drift found on this page.
Out of scope (filed, not fixed here)
While reading the renderer to confirm the real interface, found that the schema-catalog's
own
basic-accordion.json— the JSON backing thatSchemaExampledemo — omits therequired
valuekey on every item, silently tolerated by a renderer-side fallback(
item.value || item-${index}). Different file, different defect class (a required-keyomission in an authored example vs. this card's stale-prose-in-docs), so filed separately
rather than folded in here: #4726.
Verification
Docs-only change (
content/), no interface/renderer edits, nocontent/docs/releases/touched.
node scripts/check-doc-links.mjs—Links are valid across 13 scan roots.node scripts/check-control-bytes.mjs—OK (scanned 4250 tracked text file(s); skipped 85 binary).node scripts/check-changeset-presence.mjs—No source of a released package changed in this range, so no changeset is owed.(content/is not under a released package'ssrc/; no changeset added, per the gate's own verdict.)All three re-run at the final commit, HEAD
9e4735e5f.Generated by Claude Code