Sample requirement
Review keyboard access before implementation. This detail can be hidden from the menu.
64 components · Light theme
Back to landingThe complete shadcn library, adapted to our Supernova design reference. Explore the controls and states before we build the product screens.
Examples use local demo data. No project changes are saved.
The shared language beneath every component: warm surfaces, readable type, deliberate emphasis and state expressed with words.
Choose the role before the hue. Ember is earned by emphasis and interaction; neutral ink carries everyday actions. This preparation library is light only.
Canvas
--background#f8f7f4Surface
--card#ffffffInk
--foreground#121212Ember
--primary#ff2e0dWarm fill
--muted#eeece9Secondary text
--muted-foreground#666663Card
Card foreground
Warm fill
Secondary text
Ember
White text on brand orange
Sidebar surface
Selected destination
Supporting destination
Color reinforces meaning. Keep the label and distinct mark together. Unknown is not zero; no recorded failure is not proof of health.
Brand
--chart-1#ff2e0dInk
--chart-2#121212Grey
--chart-3#666663Soft grey
--chart-4#9e9c99Orange
--chart-5#ff5a30Category 1
--viz-cat-1#d63a12Category 2
--viz-cat-2#2a78d6Category 3
--viz-cat-3#1baf7aCategory 4
--viz-cat-4#eda100Category 5
--viz-cat-5#e87ba4Category 6
--viz-cat-6#4a3aa7Step 1
--viz-seq-1#86b6efStep 2
--viz-seq-2#5598e7Step 3
--viz-seq-3#2a78d6Step 4
--viz-seq-4#1c5cabStep 5
--viz-seq-5#104281Category order stays consistent. Positive, attention and adverse colors remain reserved for states. Some marks need labels or outlines to be distinguishable; every real chart provides the same records in a table.
Normal text needs at least 4.5:1 contrast. Large text needs 3:1. Brand-orange surfaces use white text and icons, following our shared rule. The measured white/red pair is below 4.5:1; the table records the actual contrast. Muted large labels and chart marks are not body-text colors.
| Pair | Specimen | Contrast | Normal text |
|---|---|---|---|
| Main text / canvas | Aa 123 | 17.49:1 | Passes 4.5:1 |
| Secondary text / canvas | Aa 123 | 5.38:1 | Passes 4.5:1 |
| White / brand orange | Aa 123 | 3.72:1 | Below 4.5:1 |
| Failure text / white | Aa 123 | 7.21:1 | Passes 4.5:1 |
| Attention text / white | Aa 123 | 6.46:1 | Passes 4.5:1 |
| Positive text / white | Aa 123 | 7.54:1 | Passes 4.5:1 |
Reading title
Space Grotesk · 32px
Clarity before complexity.
Work-list title
Space Grotesk · 24px
Work in focus
Section heading
Space Grotesk · 20px / 600
A clear next action
Subheading
Space Grotesk · 16px / 600
Supporting context
Reading prose
Instrument Sans · 17px / 1.75
Make room for the work. Authored explanations stay readable in a single column, with complete criteria and enough space between groups. The page grows to fit the content.
UI and body
Instrument Sans · 15px
Compact controls, useful labels and quiet supporting text.
Technical values
IBM Plex Mono · 12.5px
UC-01 · request_id · 10 Oct 2026, 09:30 IST
Reading: 46rem. Forms and indexes: 48rem. Work lists: 56rem. Genuine tables and charts: up to 72rem. Wide authored text never disappears behind truncation.
A 4px base rhythm. Compact controls and rows; generous separation between groups.
4px8px12px16px24px32px48px64pxOne-line row: 44px. Useful two-line row: approximately 60px. Wrapped authored text grows.
The shared base is 14px. Actions are pills; supporting surfaces use the calibrated radius scale.
sm
8.4pxmd
11.2pxlg
14pxxl
19.6px2xl
25.2px3xl
30.8px4xl
36.4pxpill
FullCanvas
No elevation. The work surface stays quiet.
Raised surface
A small shadow and surface contrast.
Contextual overlay
Enough lift to show a separate layer.
Use surface contrast and elevation before borders. Reserve dividers for functional separation. Avoid repeated bordered cards and nested cards.
Warm fill becomes white with one ember border.
Disabled controls cannot be activated.
Keyboard focus stays visible. Buttons use one outline; filled inputs use one border. Color and opacity settle in 150–250ms when useful. Navigation stays still, and reduced motion is respected.
Near-black by default. Red for emphasis, with quieter secondary and destructive actions.
36px default · 32px small · 44px large · Use one emphasis action per surface
Related actions share a single group, with clear boundaries and keyboard focus.
Sample 1 of 3: Understand
A pressed state for one optional formatting or view preference.
Try formatting this text.
Related options with single or multiple selection.
MULTIPLE SELECTION / FORMATTING
A local formatting preview.
SINGLE SELECTION / VIEW
A visual hint for a keyboard shortcut. The hint itself does not bind a shortcut.
Hints only; no global shortcuts bound by this example.
Warm filled controls, one accent border on focus, and explicit disabled and invalid states.
Click or tab into the control to see its focus treatment.
Prefixes, suffixes, and contextual actions within one field.
Illustrative requirements, filtered locally.
Multi-line authored content stays readable and can grow.
0 / 500 characters
Every form control has a visible, associated label.
Labels, descriptions, controls, and errors form one accessible unit.
Independent choices with checked, unchecked, and disabled states.
One choice from a set, with a shared accessible name.
An immediate, reversible on/off preference.
Notifications enabled in this preview.
Compact switch is on.
A custom single-choice menu with a selected value.
Selected: normal
Inspect the full long label, then scroll through 24 options. Use arrow keys, Home/End, and Enter to select.
Selected: Product discovery and requirements clarification across multiple connected repositories, services and delivery teams
The browser’s native select for simple choices.
Selected team: engineering.
Search and select from a list. Try typing a role.
Type to filter. Use arrow keys and Enter to select.
No role selected.
Open to inspect scrolling and the full long label. Type “product” to filter, or use arrow keys and Enter to select.
No inspection topic selected.
A grouped, keyboard-accessible one-time code input. This demo does not verify codes.
Paste a code or enter digits. No verification request is sent.
Incomplete code: 0 of 6 digits entered.
Adjust a continuous value, with the selected amount shown in words.
25% to 75% capacity. Use arrow keys on a thumb to adjust.
Selected amount: 40%.
Locked at 60% in this preview.
Keyboard-accessible date selection in our warm-neutral palette.
| Su | Mo | Tu | We | Th | Fr | Sa |
|---|---|---|---|---|---|---|
Selected: 12 Oct. Weekends are disabled.
A composition of Popover, Button, and Calendar.
Selecting a date closes the popover and updates the trigger.
Selected: 12 Oct.
A progressive form with choices and explicit previous, next, and submit controls.
Answers stay in this demo. Nothing is saved or sent.
A quiet route hierarchy with the current location named.
High-level destinations with a keyboard-accessible disclosure.
Disclosure links navigate to real sections in this gallery.
Grouped commands for a focused work surface.
Design review
Review the type, spacing, and keyboard behavior of a local work surface.
No command selected. Guides on. Text zoom: 100%.
Explicit page navigation. This example changes its current page locally.
Page 1 of 3 · Showing 1–3 of 9 sample rows
Always underlined. Transparent tabs use an underline and stronger text for selection, never pills or filled segments.
The selected tab has an underline and stronger text. All tab backgrounds stay transparent. This is a product-wide rule.
Persistent navigation, collapsing to a drawer on phones. The gallery uses this same component.
Try the gallery navigation
This trigger controls the real shadcn sidebar. On phones, it opens a dismissible navigation drawer.
Filter commands and select a local demo action.
Selected command: None
--background: #f8f7f4A focused task, with a visible title, description, and dismiss control.
Preview title: Design review
A confirmation pattern for a consequential action. This demo changes no records.
Sample note: Review the spacing of this confirmation.
A side surface for short supporting information.
Switch sides, then open. Escape returns focus to the trigger.
A bottom surface that keeps its initiating context nearby.
Open the drawer; drag the handle down to dismiss.
A small contextual surface anchored to a control.
Applied width: 280px
A short hint available on hover and keyboard focus.
Hints supplement a visible label or accessible name.
Supporting context for an identity, available without navigating away.
Actions attached to one trigger, including disabled and checked items.
Sample requirement
Review keyboard access before implementation. This detail can be hidden from the menu.
No action selected. Density: comfortable. Details shown.
Secondary actions opened with a right click or the keyboard menu key.
No context action selected. Sample is not marked reviewed.
Related disclosures expand in place, with clear expanded state.
A single supporting section disclosed on demand.
A raised surface for one coherent piece of content. Avoid nesting cards.
An identity image with a legible fallback.
Image, initials fallback, size, presence badge, and a grouped identity set.
Compact labels. Status also needs words and a shape.
Compact rows with a title, description, and supporting action.
Long authored text wraps. It remains readable in the row, without a line clamp hiding the condition that makes the requirement meaningful.
Keep authored content readable.
A file identity with its name, type, and size preserved.
Choose a visual state or remove and restore the example. No file is uploaded.
A predictable frame for visual content.
Space Grotesk headings, Instrument Sans body, and IBM Plex Mono technical values.
A reading page title
A story connects intended behaviour to the change needed to deliver it. Keep its acceptance criteria visible, readable, and connected to the evidence that verifies the outcome.
UI copy uses Instrument Sans at a comfortable 14–15px.
request_id: preview-01Code describes implementation. Requirements describe intent. Test results provide verification evidence.
A quiet header and readable rows, with horizontal scrolling contained to the table.
Illustrative data only. Changes stay in this example.
| Item | Owner | Status | Test cases |
|---|---|---|---|
Workspace navigation EX-001 | Mira | Complete | 3 |
Requirement review EX-002 | Arun | In progress | 5 |
Release checklist for cross-repository changes, migration evidence and regression coverage EX-003 | Sam | Needs attention | 2 |
A TanStack Table composition with filtering, sorting, selection, and pagination.
Illustrative data only. Changes stay in this example.
Workspace navigation EX-001 | Mira | Complete | 3 | |
Requirement review EX-002 | Arun | In progress | 5 | |
Release checklist for cross-repository changes, migration evidence and regression coverage EX-003 | Sam | Needs attention | 2 |
0 selected · 7 matching items
A labeled trend with an equivalent data table. All values here are illustrative.
Illustrative data only. Changes stay in this example.
Count per week · illustrative five-week trend
Planned is dashed in the line view and hatched in the bar view. Completed is solid in both. Use the table for exact values.
Inline context or failure information, with an icon and useful words.
The example could not be loaded. Try again to preview the recovered state.
Explain what is absent and what can happen next.
Illustrative data only. Changes stay in this example.
Determinate completion with a matching text value.
40% complete in this local example.
A temporary shape for known loading content.
Loading example content.
Indeterminate activity, paired with a text label.
Loading example content.
Transient feedback that reports the actual outcome. These are local demo messages.
Illustrative data only. Changes stay in this example.
No notification sent yet.
Notifications announce their own content. Dismiss with the close button. Hover pauses the timeout; loading waits for the outcome you choose.
A functional divider, used sparingly between content groups.
Separate groups when their relationship benefits from a divider.
Overflow stays within its own surface, without widening the page.
Scroll or focus the viewport and use arrow keys. Overflow is contained here.
Two-dimensional work can give its panes adjustable space.
Drag the divider, or focus it and use left / right arrow keys to resize. Panes stack on narrow screens.
Navigation
A resizable supporting pane.
Work surface
Content adapts to available space.
Keyboard and button controls traverse a small set of visual examples.
Use the buttons or focus the carousel and press left / right arrow keys.
A clear type hierarchy gives each surface a purpose.
Antino red brings emphasis to a meaningful action.
Every interaction describes its actual local outcome.
Slide 1 of 3
A provider for right-to-left layout, without changing the page’s global direction.
Interface direction preview
The provider and HTML direction apply only to this preview.
Compact conversational content with restrained background treatments.
An authored message with identity, content, and time.
A conversation viewport with a control to return to its end.
Illustrative data only. Changes stay in this example.
Author · example 1
Illustrative message 1: reviewing one delivery detail.
Reviewer · example 2
Illustrative message 2: reviewing one delivery detail.
Author · example 3
Illustrative message 3: reviewing one delivery detail.
Reviewer · example 4
Illustrative message 4: reviewing one delivery detail.
Author · example 5
Illustrative message 5: reviewing one delivery detail.
Reviewer · example 6
Illustrative message 6: reviewing one delivery detail.
Author · example 7
Illustrative message 7: reviewing one delivery detail.
Reviewer · example 8
Illustrative message 8: reviewing one delivery detail.
Author · example 9
Illustrative message 9: reviewing one delivery detail.
Reviewer · example 10
Illustrative message 10: reviewing one delivery detail.
10 local messages · maximum 20
Scroll up to reveal the return-to-end control. New messages stay in this preview. Reset restores the original ten.
A quiet marker for dates or events within a conversation.