Component gallery

EmptyState

The PageInfo preset for nothing-here screens: tone, icon, and the call to action that fills the void.

Default

Falls back to a generic icon/title when nothing is passed

Nothing here yet

Custom copy + icon

Icon accepts the same IconRender union as everywhere else

No results

Try a different search term or clear your filters.

With an action

action is a free JSX slot: a button, a link, anything

No records yet

Import a file to get started.

Compact

Tighter spacing and a smaller icon, for nested placements

Empty folder

Drop files here or create a new one.

Tones

tone carries meaning, never decoration: muted for a plain absence, success when the absence is the good outcome

No files

Nothing attached to this job.

No errors

Everything validated clean.

Granular knobs

iconCircle draws a tinted disc; gap overrides the rhythm; every slot takes a className

No results

Try fewer filters.

Nothing uploaded

Drop a spreadsheet to get started.

Shipped configs

Real call shapes from the apps: speedway uses the compact form directly in 13 files

No jobs yet

Each time you run a module, it shows up here.

No parts match

Loosen a filter or clear the search.

Skeleton

skeleton renders a placeholder block

Styling slots

Every className the component exposes, and what it reaches
className
the outer container
iconWrapClassName
the circle behind the icon
iconClassName
the icon
titleClassName
the heading
descriptionClassName
the body copy
actionClassName
the recovery action slot
@versable-git/ui · all states, both themes