Found while implementing #7073, which corrects the trigger row on overlay/context-menu.mdx for a different reason (requiredness). The type name on that row is a separate divergence, spanning six pages, and was left untouched there.
Measured on origin/main592acafbeed97c5aed81a18f4d848b6179d3c044.
The divergence
ComponentSchema is a real shipped export — packages/types/src/blocks.ts:388 — and it is not a node slot:
exportinterfaceComponentSchemaextendsBaseSchema{type: 'component';componentName?: string;props?: Record<string,any>;
...
}It is the concrete type: 'component' block. The keys these pages spell as ComponentSchema are declared SchemaNode (packages/types/src/base.ts:398), which admits any BaseSchema plus string | number | boolean | null | undefined. So a reader who looks the name up finds a narrow, unrelated type.
Six pages use the wrong name:
| page | rows |
|---|
content/docs/components/overlay/alert-dialog.mdx:30,33 | trigger, actions |
content/docs/components/overlay/context-menu.mdx:47 | trigger |
content/docs/components/overlay/hover-card.mdx:17,18 | trigger, content |
content/docs/components/overlay/dropdown-menu.mdx:51 | trigger |
content/docs/components/overlay/sheet.mdx:26,29 | trigger, content |
content/docs/components/feedback/empty.mdx:28 | action |
It is not house convention — the house already spells it the other way
Four sibling overlay pages publish the same kind of slot with the declared name:
content/docs/components/overlay/tooltip.mdx:16 — children: SchemaNode;content/docs/components/overlay/popover.mdx:15,16 — trigger: SchemaNode; children: SchemaNode[];content/docs/components/overlay/drawer.mdx:15,17 — trigger: SchemaNode; children: SchemaNode[];content/docs/components/overlay/dialog.mdx:15,18,19 — trigger: SchemaNode; children: SchemaNode[]; footer?: SchemaNode[];
So the overlay family is split 4-to-5 on the name of the same concept, and the minority-by-page-count spelling is the correct one. This is a mechanical rename with a fixed correct form, not a judgement call — but it is nine rows across six pages in a family #7073 does not own, so it belongs on its own card.
Why nothing red covers it
These are all plaintext fences. check:doc-snippets only compiles ts/tsx/typescript (TS_FENCE_LANGUAGES, scripts/check-doc-snippet-types.mjs:317, acted on at :600), so no gate parses them — the same blindness #5250 records and #5867 declares the population of.
⚠️ Check per page whether the array form is also owed (SchemaNode | SchemaNode[] where the declaration carries the union) rather than doing a blind string replace; ContextMenuSchema.trigger and DropdownMenuSchema.trigger disagree with each other on exactly that, which is filed separately.
Refs: #7073 · #5250 · #5867 · #6150.
Generated by Claude Code
Found while implementing #7073, which corrects the
triggerrow onoverlay/context-menu.mdxfor a different reason (requiredness). The type name on that row is a separate divergence, spanning six pages, and was left untouched there.Measured on
origin/main592acafbeed97c5aed81a18f4d848b6179d3c044.The divergence
ComponentSchemais a real shipped export —packages/types/src/blocks.ts:388— and it is not a node slot:It is the concrete
type: 'component'block. The keys these pages spell asComponentSchemaare declaredSchemaNode(packages/types/src/base.ts:398), which admits anyBaseSchemaplusstring | number | boolean | null | undefined. So a reader who looks the name up finds a narrow, unrelated type.Six pages use the wrong name:
content/docs/components/overlay/alert-dialog.mdx:30,33trigger,actionscontent/docs/components/overlay/context-menu.mdx:47triggercontent/docs/components/overlay/hover-card.mdx:17,18trigger,contentcontent/docs/components/overlay/dropdown-menu.mdx:51triggercontent/docs/components/overlay/sheet.mdx:26,29trigger,contentcontent/docs/components/feedback/empty.mdx:28actionIt is not house convention — the house already spells it the other way
Four sibling overlay pages publish the same kind of slot with the declared name:
content/docs/components/overlay/tooltip.mdx:16—children: SchemaNode;content/docs/components/overlay/popover.mdx:15,16—trigger: SchemaNode; children: SchemaNode[];content/docs/components/overlay/drawer.mdx:15,17—trigger: SchemaNode; children: SchemaNode[];content/docs/components/overlay/dialog.mdx:15,18,19—trigger: SchemaNode; children: SchemaNode[]; footer?: SchemaNode[];So the overlay family is split 4-to-5 on the name of the same concept, and the minority-by-page-count spelling is the correct one. This is a mechanical rename with a fixed correct form, not a judgement call — but it is nine rows across six pages in a family #7073 does not own, so it belongs on its own card.
Why nothing red covers it
These are all
plaintextfences.check:doc-snippetsonly compilests/tsx/typescript(TS_FENCE_LANGUAGES,scripts/check-doc-snippet-types.mjs:317, acted on at:600), so no gate parses them — the same blindness #5250 records and #5867 declares the population of.SchemaNode | SchemaNode[]where the declaration carries the union) rather than doing a blind string replace;ContextMenuSchema.triggerandDropdownMenuSchema.triggerdisagree with each other on exactly that, which is filed separately.Refs: #7073 · #5250 · #5867 · #6150.
Generated by Claude Code