Design System Specimen
A live, interactive design system specimen block that showcases the full Visor token system and component library. Responds dynamically to the active theme.
Preview
Design System Specimen
A live showcase of all Visor design tokens and components. Switch themes to see everything update in real-time.
Color Palette
Theme identity colors, status indicators, and semantic tokens.
Typography
Font families, weights, and the full type scale.
400500600700400500700Spacing
4px-based spacing scale.
Shadows & Elevation
Shadow tokens from subtle to prominent.
xs
--shadow-xssm
--shadow-smmd
--shadow-mdlg
--shadow-lgxl
--shadow-xlSurfaces
Background surface tokens for layering and hierarchy.
Border Radius
Radius scale from sharp to fully rounded.
Motion & Duration
Duration tokens control transition speed.
Easing Curves
Easing tokens control the feel of transitions.
Icons
Phosphor icons at multiple sizes. All icons from @phosphor-icons/react.
Accessibility
WCAG contrast ratios for key text/background pairs.
Form Controls
All form input types in default, error, and disabled states.
Component Showcase
A selection of Visor components composed together.
Card content with body text and semantic surface tokens.
Overview content goes here.
Content above
Content below
Installation
npx visor add --block design-system-specimenThis copies the specimen block and all its sub-components into your project:
blocks/design-system-specimen/design-system-specimen.tsx— orchestrator componentblocks/design-system-specimen/design-system-specimen.module.css— stylesblocks/design-system-specimen/specimen-data.ts— token data arraysblocks/design-system-specimen/token-specimens.tsx— color, typography, spacing, shadow, surface, radius sectionsblocks/design-system-specimen/motion-specimens.tsx— duration and easing previewsblocks/design-system-specimen/component-specimens.tsx— button, form, and component showcaseblocks/design-system-specimen/utility-specimens.tsx— icon grid and accessibility checks
Usage
import { DesignSystemSpecimen } from '@/blocks/design-system-specimen/design-system-specimen';
export default function DesignSystemPage() {
return <DesignSystemSpecimen />;
}What It Covers
The specimen block includes 12 interactive sections:
- Color Palette — Swatches for all primitive and semantic color tokens
- Typography — Full type scale from display (4xl) to fine print (xs)
- Spacing — Visual spacing scale with proportional bars
- Shadows & Elevation — All shadow levels applied to cards
- Surfaces — Background variants with labels
- Border Radius — Radius scale from sharp to fully rounded
- Motion & Duration — Animated bars showing each duration token
- Easing Curves — Animated dots demonstrating each easing function
- Icons — Phosphor icon grid with size scale and semantic map
- Accessibility — WCAG contrast pairs with AA/AAA pass/fail indicators
- Buttons — All variants, sizes, and interactive states
- Form Controls — Text input, textarea, checkbox, radio, select, switch, slider, toggle group
- Component Showcase — Card, badge, alert, progress, tabs, separator
Theme Responsive
The specimen is fully theme-responsive. Use the theme switcher in the docs header to see every section update in real-time. This makes it useful for validating that a theme covers all design tokens completely.
Theme-Derived Font Weights
The Typography → Font Families section reads the active theme's declared weights (from typography.{display,body,heading}.weights in the theme's .visor.yaml) so the rendered weight rows match what the theme actually loads. A theme that loads Light/Regular/Medium/Bold/Extra Bold shows five rows; a theme that loads only Regular and Bold shows two. When the active theme has no weights declared, the specimen falls back to the standard 400/500/600/700 + 400/500/700 grid.
Pass a themeManifest prop (typed DesignSystemSpecimenThemeEntry[]) to wire in your own typography metadata. The docs site auto-injects its PRIVATE_THEMES manifest — call sites in MDX don't need to pass it manually.
<DesignSystemSpecimen
themeManifest={[
{
slug: "blacklight",
typography: {
body: { family: "PP Model Mono", weights: [300, 400, 500, 700, 800] },
},
},
]}
/>About Blocks
Blocks are complete UI patterns made up of multiple Visor components. Unlike individual components, blocks represent larger, composed sections of UI. Blocks are copy-and-own, just like components — install them into your project and customize freely.
Design System Deck
A complete, registry-driven design system presentation deck with navigable slides, dot navigation, keyboard nav, and fullscreen support.
Export Menu
Export button + popover composing a format-picker radio group, optional scope checkboxes, and an async-aware Cancel/Export footer. Drop-in for any admin list's export affordance.