API Reference

Props and variants for key components.

Button

PropTypeDefaultDescription
variant"default" | "destructive" | "outline" | "secondary" | "amber" | "ghost" | "link""default"Visual style of the button
size"default" | "sm" | "lg" | "icon""default"Button size
asChildbooleanfalseMerge props onto child element instead of rendering a <button>

Badge

PropTypeDefaultDescription
variant"default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error""default"Visual style and color of the badge

Card

PropTypeDefaultDescription
interactivebooleanfalseAdds hover border, shadow lift, and press-down effect

Input

PropTypeDefaultDescription
typestring

HTML input type (text, email, password, etc.)
classNamestring

Additional classes. Uses border-2 and focus:ring by default.

Field

PropTypeDefaultDescription
errorbooleanfalseApplies error styling to label and child inputs
idstring

Custom id — auto-generated if not provided

Combobox

PropTypeDefaultDescription
options{ value: string; label: string }[]

List of selectable options
valuestring | string[]

Currently selected value(s)
onValueChange(value) => void

Callback when selection changes
multiplebooleanfalseEnable multi-select mode
placeholderstring"Select..."Text shown when nothing is selected
searchPlaceholderstring"Search..."Placeholder inside the search input
emptyMessagestring"No results found."Message when no options match the search

DataTable

PropTypeDefaultDescription
columnsColumnDef<TData>[]

TanStack Table column definitions
dataTData[]

Array of row data
toolbarReactNode

Optional toolbar rendered above the table

DatePicker

PropTypeDefaultDescription
dateDate

Currently selected date
onDateChange(date: Date | undefined) => void

Callback when a date is selected
placeholderstring"Pick a date"Text shown when no date is selected

SearchField

PropTypeDefaultDescription
valuestring

Current search string
onChange(value: string) => void

Callback when the search value changes
placeholderstring"Search..."Input placeholder text
shortcutstring

Optional keyboard shortcut hint (e.g. "/")
onClear() => void

Optional callback when the clear button is clicked

Stack

PropTypeDefaultDescription
gap"none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl""md"Vertical spacing between children
align"start" | "center" | "end" | "stretch""stretch"Cross-axis alignment
asChildbooleanfalseMerge props onto child element

Cluster

PropTypeDefaultDescription
gap"none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl""sm"Spacing between items
align"start" | "center" | "end" | "baseline""center"Cross-axis alignment
justify"start" | "center" | "end" | "between""start"Main-axis justification
wrapbooleantrueAllow items to wrap to the next line

Grid

PropTypeDefaultDescription
columns1 | 2 | 3 | 4 | 5 | 6 | "auto-fill" | "auto-fit"1Number of columns or auto layout mode
gap"none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl""md"Gap between grid cells
minChildWidthstring

Minimum child width for auto modes (e.g. "280px")

Center

PropTypeDefaultDescription
max"sm" | "md" | "lg" | "xl" | "2xl" | "full""2xl"Maximum width constraint
paddingbooleantrueApply responsive horizontal padding

Alert

PropTypeDefaultDescription
variant"default" | "destructive" | "success" | "warning""default"Visual style and color of the alert

Spinner

PropTypeDefaultDescription
size"sm" | "default" | "lg""default"Spinner diameter

Empty

PropTypeDefaultDescription
childrenReactNode

Compose with EmptyIcon, EmptyTitle, EmptyDescription, EmptyAction

FormSection

PropTypeDefaultDescription
childrenReactNode

Compose with FormSectionHeader, FormSectionTitle, FormSectionDescription, FormSectionContent

FormSectionContent

PropTypeDefaultDescription
layout"stack" | "grid""stack"Layout mode — "grid" renders a responsive two-column grid

StatCard

PropTypeDefaultDescription
titlestring

Metric label displayed above the value
valuestring

Primary metric value
changestring

Optional delta text (e.g. "+12.5%")
changeType"positive" | "negative" | "neutral""neutral"Color of the change text
iconComponentType

Optional icon component rendered top-right

AppShellNavItem

PropTypeDefaultDescription
hrefstring

Navigation link URL
iconComponentType

Icon component rendered before the label
activebooleanfalseHighlights the item as the current page

Colors

Raw palette, semantic tokens, and status colors.

Plum

50
100
200
300
400
500
600
700
800
900
950

Amber

50
100
200
300
400
500
600
700
800

Warm Neutrals

50
100
200
300
400
500
600
700
800
900
950

Semantic Tokens

background
card
sunken
raised
interactive
primary
destructive
accent

Status Colors

success
warning
error

Typography

Every typographic component with sample text.

H1

Heading One

H2

Heading Two

H3

Heading Three

H4

Heading Four

P

This is a paragraph of body text used across the interface.

Lead

Lead text for introductions and summaries.

Large
Large emphasis text.
Small
Small caption text.
Muted

Muted secondary text for descriptions.

Code
const x = 42;
Mono
Monospaced text for data display.

Buttons

All variants, sizes, and states.

Variants

Sizes

Disabled

Button Group

Click any button to see the press-down effect.


Badges

Status indicators and labels.

Default
Secondary
Destructive
Outline
Success
Warning
Error

Form Controls

Individual form elements and input types.

Input

Textarea

Select

Checkbox

Radio Group

Switch

Slider

Value: 50

Combobox

Date Picker

Native Select

Input OTP

Search Field


Form Patterns

Structured form layout with sections and validation.

Contact

Your personal contact information.

We will never share your email.

Preferences

Choose your notification preferences.

Notification method

Cards

Content containers with optional interactivity.

Default Card
A standard card with header, content, and footer.

Card content goes here. This is a simple example of a card layout.

Interactive Card
Hover over this card to see the interactive effect.

This card responds to hover with a subtle visual change.

Card 1
Grid card example.

Content for card 1.

Card 2
Grid card example.

Content for card 2.

Card 3
Grid card example.

Content for card 3.


Data Display

Tables, accordions, and tabbed content.

Table

NameEmailRoleStatus
Alex Chenalex@example.comEngineering
Active
Sarah Kimsarah@example.comDesign
Active
James Wilsonjames@example.comProduct
Pending
Maria Garciamaria@example.comEngineering
Active
David Parkdavid@example.comMarketing
Inactive

Data Table

Alex Chenalex@example.comEngineering
Active
Sarah Kimsarah@example.comDesign
Active
James Wilsonjames@example.comProduct
Pending
Maria Garciamaria@example.comEngineering
Active
David Parkdavid@example.comMarketing
Inactive
0 of 5 row(s) selected.
Page 1 of 1

Accordion

Tabs

Overview content with project summary and key metrics.


Feedback

Alerts, progress indicators, and loading states.

Alerts

Progress

Spinner

Loading…
sm
Loading…
default
Loading…
lg

Skeleton

Empty State

No results found

Try adjusting your search or filters to find what you're looking for.


Overlays & Floating

Dialogs, sheets, popovers, tooltips, and menus.

Context Menu

Right-click here to open the context menu


Layout Primitives

Composable layout components for spacing and alignment.

Stack

Stack item 1
Stack item 2
Stack item 3
Stack item 4

Cluster

Tag 1
Tag 2
Tag 3
Tag 4
Tag 5
Tag 6

Grid

Grid 1
Grid 2
Grid 3
Grid 4
Grid 5
Grid 6

Center

This page uses Center max="xl" for its main content area.

Divider


Spacer

Left
Right

Utility

Keyboard hints, avatars, separators, and more.

Kbd

K+K

Avatar

SCAC

Separator

Item A
Item B
Item C

Scroll Area

Scrollable item 1

Scrollable item 2

Scrollable item 3

Scrollable item 4

Scrollable item 5

Scrollable item 6

Scrollable item 7

Scrollable item 8

Scrollable item 9

Scrollable item 10

Scrollable item 11

Scrollable item 12

Scrollable item 13

Scrollable item 14

Scrollable item 15

Scrollable item 16

Scrollable item 17

Scrollable item 18

Scrollable item 19

Scrollable item 20

Aspect Ratio

16:9