Lab · Design system, live
The Lab
A living design system, not screenshots. Flip the theme and everything re-tints through design tokens. Every component, every state, accessibility and color, real and interactive.
One source of truth
Color, type, spacing, radius, elevation and motion, defined as CSS variables. The theme switcher just swaps them. Click any color to copy its value.
Variants and states
Five variants, three sizes, and every state handled: rest, hover, keyboard focus, pressed, disabled and loading.
The "Click me" button runs rest → loading → success, then re-arms itself.
Input and validation
Visible labels, persistent helper text, validation on blur, error messages next to the field and announced to screen readers.
Feedback and overlays
Keyboard tabs, height-animated accordion, a modal with a focus trap, polite toasts, tooltip, progress, skeleton, chips and badges.
Use the left and right arrow keys to move between tabs. Focus follows and the indicator slides.
Roving tabindex, aria-selected, and a spatially continuous indicator.
Each panel is a labelled region, reachable by keyboard.
Built in at the token
A live WCAG contrast checker, touch targets of at least 44px, visible keyboard focus, and reduced-motion respect.
ratio
Below 44px, fingers miss. Every control here meets the minimum.
- Tab move in visual order
- ←→ switch tabs and segments
- EnterSpace activate
- Esc close the modal
Variants × states
The way a design system documents itself: every variant against every state, on one board.
| Default | Hover | Focus | Disabled | |
|---|---|---|---|---|
| Primary | ||||
| Secondary | ||||
| Danger |