avodado
avodado docs
Blocks reference

Design system

Field contracts and worked examples for the 5 design system blocks.

Field contracts and worked examples for the design system blocks — converted at build time from the repo's authoring-skill reference. Every example body is YAML; in a real doc the fence language is the block type (for example sequence … ). Schemas are strict — unknown fields are rejected. See the field contract for the at-a-glance shape of all 77 blocks, or the block catalog for live previews.

Design system

palette — color-token swatches

```paletteeditable · live
renderedavo renders this
SECTION 01 · Palette

Brand palette

Core tokens — always reference by name, never by raw hex.

#0E54A1
Primary
Buttons, links, focus rings
#1F2937
Ink
Body text
#F6F8FB
Surface
Card and panel backgrounds
#1F9747
Positive
Success states
Valid — passes avo check

A responsive card grid (cols 2-6, default 4): each card is a swatch filled with value, the hex shown in mono inside it (auto-contrast — dark text on light swatches, white on dark; on overrides), then the token name and usage. Always quote hex values ("#0E54A1") — an unquoted # starts a YAML comment. Invalid colors fall back to a neutral gray swatch. Use palette for color tokens; use stats for KPI numbers.

typescale — a live type specimen

```typescaleeditable · live
renderedavo renders this
SECTION 01 · Type scale

Type scale

Display
40px / weight 700
hero headings
The five boxing wizards jump quickly
Body
15px / weight 400
The five boxing wizards jump quickly
Caption
12px / weight 500
secondary text
The five boxing wizards jump quickly
Code
13px / weight 400
The five boxing wizards jump quickly
Valid — passes avo check

One row per style: a meta column (name, NNpx / weight NNN, note) and the sample text rendered live at that size / weight / lineHeight (default 1.3) in the chosen font (display | body | mono, default body). Sizes over 64px render clamped at 64 but the label keeps the true size. size, weight, and lineHeight are plain numbers. Use typescale for type ramps; use table for token tables with no visual payoff.

dodont — do / don't guideline cards

```dodonteditable · live
renderedavo renders this
SECTION 01 · Guidelines

Button usage

Do
Use one primary button per view
Write labels as verbs
Save changes
Don't
Stack two primary buttons side by side
Disable a button without explaining why
tooltip: Add a line item first
Valid — passes avo check

Two cards side by side — DO (green band, ✓) and DON'T (red band, ✕), one column on mobile. Both dos and donts are required. An item's optional example renders beneath it as a mono chip — great for label copy or code. Use dodont for usage guidelines; use proscons to weigh a decision and callout for a single warning.

inventory — component / feature status board

```inventoryeditable · live
renderedavo renders this
SECTION 01 · Inventory

Component status

Buttonv2
stable
Data table
API may change before GA
beta
Date picker
experimental
Modal (legacy)
Use Dialog instead
deprecated
Charts
planned
Valid — passes avo check

Compact hairline-separated rows, scannable like a status page: name (+ tiny mono tag chip), an optional note beneath, and a right-aligned color-coded status chip — stable green · beta blue · experimental purple · deprecated red · planned gray. Use inventory for component / feature maturity; use statustable for task work and changelog for shipped history.

UI mockups

wireframe — low-fi screen mockups (desktop / browser / phone)

```wireframeeditable · live
renderedavo renders this
SECTION 01 · Mockup

What the user sees

UI
UI mockupapp.example.com/inboxHomeInboxSettingsNotifications3 newMark all as readDesktop — notification center9:41100%AlertsHomeSearchBellYouiPhone — live bell + feed
Valid — passes avo check

screens lay out left-to-right; each picks a device frame (desktop / browser / phone) and stacks elements top-to-bottom. device: browser shows an address bar (url); phone adds a notch + home indicator. title is the window/status-bar text, label is the caption under the frame.

Element type is one of: header · subheader · text · button · input · search · image · avatar · card · list · nav · tabs · divider · badge · toggle · spacer. rows repeats stack-like elements (list / card) or sizes text / spacer. nav / tabs read their items from a comma-separated label (quote it). align is l | c | r; tone is accent | muted | danger (colours buttons, badges, toggles). Keep it low-fidelity — it's a wireframe, not a comp.