Component
A Component is the root of the contract: startupbuilder.dev defines each one, and mdxui documents how it renders and which export draws it.
startupbuilder.dev defines the Component: "A Component is a named block of a Page, such as a hero, a pricing table, or a form, filled from records through typed props." A Component never takes a className.
What mdxui renders
| Component | Defined at | Rendered here | Export |
|---|---|---|---|
| Page | startupbuilder.dev | Page | @mdxui/site#PageSchema |
| Section | The Component's region, section | Section | @mdxui/site#SectionSchema |
| Section type | The Component's name, such as Pricing | Section types | @mdxui/site#BlockSchema |
| Theme | startupbuilder.dev | The Theme contract | @mdxui/themes#compileTheme |
| Site | startupbuilder.dev | Site | Unpublished |
| Template | startupbuilder.dev | Template | The template field only |
| The Product record | — | The Product record | Unpublished |
| App, View, Dashboard | startupbuilder.dev | App | Unpublished |
Intended Noun
The generated contract, the mdxui package, types every Component from its Noun. The published mdxui@7.0.0-alpha.1 predates it.
noun: Component
definition: owned by startupbuilder.dev, quoted above
fields:
name: { type: string, required: true, note: the name a Template places it by }
props: { type: schema, required: true, note: every string bounded, every list counted }
region: { type: enum, values: [header, section, footer, notice] }
interactive: { type: boolean, note: it still renders a static still without script }
never: [className, inline style, markup]Prior definitions
| Prior | Definition | Disposition |
|---|---|---|
| startupbuilder.dev Component | A named block of a Page, filled from records through typed props | Adopted word for word |
| startupbuilder.dev design-is-data rulings | Component, then Region or Section, then Items, then an item | Kept as one Noun: Region and Section are values of region, Items is ListSection, and the item root is Tile |
@mdxui/site block | One catalog layout, its CSS and its renderer | Called a Section type in public prose |
| mdxui 6 components | React components of the 6 line | Superseded: a Component is data, rendered by a Section type |