Design system demo
Live internal reference for the current civic design system. This route should expose the actual tokens, primitives, patterns, and workflow states that the app ships.
18
19
4
3
21
Selective
Color, type, and surface language
The design system is CSS-first. Tokens stay in variables, and the route renders them directly instead of copying screenshots into docs.
Actions and statuses
Buttons, links, tags, and status labels should be enough for most route work without ad hoc variants.
Panels, callouts, and banners
Surface and callout tones provide state signaling without raw route-level color decisions.
Operational note
Accessibility posture
Field primitives
The field primitives own label, hint, error, and grouped-control semantics. Route code should not rebuild these by hand.
There is a problem
Lists, workflow states, and civic transaction summaries
Patterns are the repo’s preferred route-building layer. The tabs below show the main categories in the current system.
Document list
Structured row list
CMS Studio
Draft/live posture, preview route, and publishing checklist.SubmittedDocument library
Search, citations, and source adapter state.Under Review
Data table
| Module | Surface | Status |
|---|---|---|
| Permits | Public + tenant admin | In Progress |
| Document library | Public + platform | Submitted |
| Shared billing | Tenant + platform | Under Review |
What stays local and why
The system uses shadcn/Radix selectively. Interaction-heavy primitives stay local under `src/components/ui`, while civic semantics, evidence rules, and route patterns stay repo-owned.