Quarterly onboarding
Welcome flow for new workspace admins.
Twentyfirst UI · Pro
Pro is sharp, dense and dark-first: monochrome cells on a visible hairline grid, square corners, Geist, and colour only for state. Same components as Halo, switchable at runtime.
npx @twentyfirstmedia/ui init --kit pro
Welcome flow for new workspace admins.
Halo and Pro share every component, prop and piece of markup. Only tokens and CSS differ, so an app can switch at runtime.
Every component works from a 320px screen up: shells collapse, tables scroll, dialogs become sheets and inputs never zoom.
Empty, loading, error and approval states come with the components, so screens look finished from the first render.
Keyboard paths, focus rings and ARIA follow the reference; axe runs on every preview of both kits, light and dark.
No colour literals in component CSS. Tokens come from one file per kit and feed CSS variables and a Tailwind v4 preset.
Fonts are self-hosted, nothing phones home and components make no requests of their own.
Every page of these docs exists for both kits: the Halo/Pro switch in the header shows the same page in the other look. Load both and switch with data-kit.