You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Measured while implementing #4632 (PR #4651). Filed unassigned. Duplicate-searched (keyword + AccordionItem + the renderer path): no open issue covers it.
The finding
The same defect as #4632, one interface up in the same file. packages/types/src/disclosure.ts declares on AccordionItem:
Grepping icon and disabled across that renderer returns no item-level read. The Zod mirror packages/types/src/zod/disclosure.zod.ts declares both too, so — as in #4632 — the retirement/wiring has three declaration surfaces, not one.
Impact
Dormant rather than breaking, same shape as #4632: an author who declares either key gets a correctly rendered accordion with the key silently dropped. Nothing goes red.
Unmeasured here (the #4632 seat did not sweep the accordion corpus): whether any catalog entry, docs page or example app authors them. That sweep is part of taking this card, since it is what decides the direction.
Options
Enforce-or-remove, per key, decided by measured pull — the #4632 ruling's framing:
Measured while implementing #4632 (PR #4651). Filed unassigned. Duplicate-searched (keyword +
AccordionItem+ the renderer path): no open issue covers it.The finding
The same defect as #4632, one interface up in the same file.
packages/types/src/disclosure.tsdeclares onAccordionItem:packages/components/src/renderers/disclosure/accordion.tsxreadsitem.value,item.titleanditem.content— and nothing else:Grepping
iconanddisabledacross that renderer returns no item-level read. The Zod mirrorpackages/types/src/zod/disclosure.zod.tsdeclares both too, so — as in #4632 — the retirement/wiring has three declaration surfaces, not one.Impact
Dormant rather than breaking, same shape as #4632: an author who declares either key gets a correctly rendered accordion with the key silently dropped. Nothing goes red.
Unmeasured here (the #4632 seat did not sweep the accordion corpus): whether any catalog entry, docs page or example app authors them. That sweep is part of taking this card, since it is what decides the direction.
Options
Enforce-or-remove, per key, decided by measured pull — the #4632 ruling's framing:
disabled— Radix's accordion item supports it natively, so it is likely a one-prop forward with no edit to the syncedui/file. Note finding(components): ToggleGroupItem.icon is declared in types but no renderer reads it — authored icons render nothing #4632 measured item-leveldisabledas established live convention (tabs,select,dropdown-menu,menubar,context-menu, and nowtoggle-groupall forward it), which is real pull for wiring rather than retiring this one.iconunless the accordion corpus shows pull that toggle-group's did not.Related class: #4631 (three-surface reconciliation instrument). This is one more measured instance and does not wait for it.
Refs #4632, PR #4651.
Generated by Claude Code