VERSEVA Design.

Components.

live specimen + copy the code snippets extracted from the specimens every contract state ships

Install

Two files, no build step. Tailwind users take the bridge instead; either way the gate suite runs on your build.

npm i @verseva/designor vendor the two css files
<link rel="stylesheet" href="node_modules/@verseva/design/tokens.css">
<link rel="stylesheet" href="node_modules/@verseva/design/components.css">

<!-- consumer surfaces boot light (law 9): -->
<html data-theme="light">

<!-- enforce before you ship: -->
npx verseva-gate --tokens node_modules/@verseva/design/tokens.css src

<!-- React, source-distribution (the shadcn model): components land in
     YOUR project as source you own -->
npx verseva init
npx verseva add button field toast console-nav
npx verseva block add quote-tool

Spacing utilities

The seam law's handrail: margin, padding, and gap straight off the scale as classes (mt-5 = var(--s-5) = 24px), so a seam between a control row and its content is never left to memory. Vertical and gap only; horizontal rhythm comes from layout.

KWThe mt-4 above me is the seamchiprow to content, on the scale

Button

Equal-sized pairs; the fill says which leads (law 8). Press sits the control down 1px. All states ship or it's unfinished.

Field

Label, input, quiet help line. The error state recolors the border and the help, and says how to fix it.

As it appears on the quote.
Enter a work email first.

Checkbox + switch

The word carries the state; the color only agrees with it (law 10).

Card

Product card at --r-md (law 7). Header divides, footer holds the actions, right-aligned.

Quote 2081

Provenance complete. Ready for review.

Badge

Always a word, never a dot alone. Small text on tints still clears 4.5:1.

Verified 2 pending 1 failing Draft

Toast

One at a time, bottom-right, gone in about two seconds. The word does the work; the dot just nods.

Quote issued to Northline Foods.
Blocked: rush ruling still open.

Table

Mono uppercase headers, hairline row splits, .num for tabular right-aligned figures.

QuoteClientStatusAmount
Q-2081Northline FoodsVerified48,220.00
Q-2080Harbor BotanicsPending12,940.00

Stat tile

Display-face numerals, quiet label under. The accent italic carries a unit, not emphasis.

18
Open quotes
4.4ms
p95 response
97%
Provenance complete

Chart card

Single-hue magnitude, mono microlabels, and the takeaway caption is mandatory: label the meaning, not the axis.

Quotes closed

Last 4 weeks
W1
W2
W3
W4
Throughput doubled after the provenance sweep.

Segmented control

One selected at all times; aria-selected carries it.

Filter chips

Multi-select filters with counts; aria-pressed carries the state.

List rows + identity

The identity pattern: initials avatar, bold name over quiet meta, value right in tabular figures.

KWQuote 2081 verified2 minutes ago48,220.00
MRMachine 12 recalibrated1 hour agoLogged
KWMR+3

Skeleton

Loading is a state of the real layout, not a spinner page. Skeleton bars mirror what will load.

Select + textarea

Same contract as the input: 40px, quiet borders, the focus ring, the fix-it error state.

Assignment can change until the run starts.

Tabs

In-page section tabs. The active underline is the accent, never a hairline (law 11). React: npx verseva add tabs.

Tooltip

Inverse ground, hover or focus, one short label. Never load-bearing content. React: npx verseva add tooltip.

4 sources attached

Breadcrumbs

Quiet trail; the current page carries weight and aria-current.

Pagination

Tabular numerals, the current page on the accent tint, dead ends disabled.

Progress

Single-hue fill on the surface track; always paired with the real number (never color-alone).

Callout

A paragraph-weight status. The bold lead names the situation; the tint agrees with it.

Heads up. The rate card moved to v18; open quotes keep their issued rates.
Rush window. This date is inside the 10-day floor and needs a ruling.

Empty state

Says what belongs here and hands over the first action. Never a blank region.

No quotes yet The first one takes about four minutes.

Content accordion

Native details/summary: works with zero JS, full keyboard support for free. React: npx verseva add accordion.

Every batch, assayed
Stated dose vs measured dose, to two decimals, on every lot.
Dosing
Consistency beats timing; the streak matters more than the clock.

Top navigation

The active link carries weight and a 2px accent underline; everything else stays quiet.

Console navigation · flat

The NEMIXO console model: flat grouped rows under non-interactive eyebrows, exactly one item active by URL, the active row on the accent tint, never a hairline. React: npx verseva add console-nav.

ACAcme Consoleproduction

Sheet

Mobile bottom sheet: 26px top corners, grab handle, full-width paired actions.

Issue quote 2081?

Every line carries provenance.

Console navigation · accordion

The second console variant (law 12): collapse is the HTML hidden attribute, never a height animation; the only motion is the chevron; and the group holding the active item refuses to collapse, so you can never fold away where you are. Try it: Manage collapses, Operate will not. React: npx verseva add console-nav.