Design System

Work in progress. I'm adding components as I go, following patterns from what's already documented. Nothing here is set in stone yet.

Diagram

Colored inline diagrams for structured data. Stacked rows or arrow layouts, usable in MDX articles.

Diagram

Molecule

Figure wrapper with optional caption. Contains layout sub-components for different diagram types.

Wrapper only

Layout content goes here
A simple caption
<Diagram caption="...">...</Diagram>

Props

PropTypeDescription
captionstringCentered caption below the diagram

DiagramStack

Molecule

Vertical column of labeled rows with optional detail text and badges.

Basic

Presentation
Logic
Data
<DiagramStack rows={[{ label, color }]} />

With badges

TypeScriptstrict
CSS Modulesscoped
HTMLstatic
Build output per layer

With detail

Server-rendered(fast)SSR
Client-hydrated(deferred)island
Static(zero JS)HTML

Props

PropTypeDescription
rowsDiagramRow[]Array of row data
DiagramRowType
labelstringMain text
badgestringColored pill on the right
detailstringMuted text next to badge
colorDiagramColorpurple, orange, red, green, pink, blue, cyan

DiagramArrow

Molecule

Two-box layout connected by an arrow, with optional label.

Basic

Sourceemits event
event→
Targetreacts
<DiagramArrow from={node} to={node} label="event" />

Bidirectional

Clientsends request
←HTTP→
Serversends response
<DiagramArrow from={node} to={node} label="HTTP" bidirectional />

Props

PropTypeDescription
fromDiagramNodeLeft box (label, detail?, color)
toDiagramNodeRight box (label, detail?, color)
labelstringText between boxes
bidirectionalbooleanShow arrows in both directions

DiagramFlow

Molecule

Horizontal step chain with arrows between each step.

Preview

MDXauthor
→
Astrobuild
→
HTMLoutput
<DiagramFlow steps={[{ label, detail?, color }]} />

Props

PropTypeDescription
stepsDiagramFlowStep[]Array of step data

DiagramTree

Molecule

Indented hierarchy with recursive nesting.

Preview

src/
└ components/
└ Button.tsx
└ Card.astro
└ layouts/
└ Layout.astro
└ pages/
└ index.astro
<DiagramTree nodes={[{ label, color, children? }]} />

Props

PropTypeDescription
nodesDiagramTreeNode[]Root nodes (recursive)

DiagramCompare

Molecule

Side-by-side columns for comparing options.

Preview

SSR
Fast TTFB
SEO friendly
Server cost
CSR
Rich interactions
Offline capable
Slow initial load
SSG
Zero runtime
CDN cacheable
Build-time only
Rendering strategies
<DiagramCompare columns={[{ title, color, items }]} />

Props

PropTypeDescription
columnsDiagramCompareColumn[]Array of column data

DiagramCycle

Molecule

Circular loop with arrows wrapping around.

Preview

Plan
→
Build
→
Test
→
Deploy
→
Development cycle
<DiagramCycle steps={[{ label, color }]} />

Props

PropTypeDescription
stepsDiagramCycleStep[]Array of cycle step data

DiagramPageMap

Molecule

Nested page wireframe showing component regions. Blocks can contain children laid out in rows or columns, up to 3 levels deep.

Preview

Headerstatique
Logo
Nav
Rechercheisland
Panierisland
Contenu
Galerie
Zone d'achatisland
Taille
Ajout panier
Footerstatique
Architecture islands · fiche produit
<DiagramPageMap blocks={[{ label, color, badge?, children?, direction? }]} />

Props

PropTypeDescription
blocksPageMapBlock[]Root-level page regions
PageMapBlockType
labelstringRegion name
colorDiagramColorColor variant
badgestringBadge label (e.g. 'island', 'statique')
detailstringMuted detail text
childrenPageMapBlock[]Nested blocks (up to 3 levels)
direction'row' | 'column'Children layout direction (default: column)

Diagram Colors

Foundation

All available color variants for diagram elements.

Preview

purple
orange
red
green
blue
cyan
pink

kinoo.dev · Design System