Main panel content area for pages, tables, forms, and charts.
Extended reusable components under src/components/ui with neutral defaults and strict-friendly APIs.
App frame primitives with optional sidebar layout.
Simple accessible action menus with keyboard support.
ToastProvider + useToast hook + Toast component stack.
Clear empty placeholders and loading placeholders.
Upload your first spec, invoice, or contract to start collaborating with your team.
Data-heavy dashboard helpers.
MRR
$42,430
+8.2% vs last month
Churn Rate
1.9%
-0.4% vs last month
Failed Payments
14
+3 this week
Solid, outline, ghost, danger; sm, md, lg.
Input, Textarea, Select, and FormRow with helper/error text.
Used across billing and user invites.
Please keep it under 200 characters.
Simple composable primitives for layout and messaging.
src/styles/tokens.ts and mirrored as CSS variables in src/app/globals.css.Lightweight client-side tabs with controlled/uncontrolled support.
Overview content goes here.
Generic typed table with custom cells and empty state support.
| Invoice | Customer | Plan | Status | Amount |
|---|---|---|---|---|
| INV-2107 | Nexa Labs | Pro | Paid | $480.00 |
| INV-2108 | Aster Retail | Starter | Pending | $99.00 |
| INV-2109 | Granite Co | Business | Overdue | $1,290.00 |
Simple controlled dialog for confirmations and forms.
v1 token object exported from TypeScript.
{
"colors": {
"bg": "#f7f7f8",
"surface": "#ffffff",
"surfaceMuted": "#f1f1f3",
"text": "#17171a",
"textMuted": "#5a5f68",
"border": "#d7d9dd",
"primary": "#1f2937",
"primaryText": "#ffffff",
"success": "#0f766e",
"warning": "#b45309",
"danger": "#b91c1c",
"info": "#2563eb"
},
"radius": {
"sm": "0.375rem",
"md": "0.5rem",
"lg": "0.75rem"
},
"space": {
"xs": "0.25rem",
"sm": "0.5rem",
"md": "0.75rem",
"lg": "1rem",
"xl": "1.5rem",
"xxl": "2rem"
},
"font": {
"family": "'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif",
"sizeSm": "0.875rem",
"sizeMd": "1rem",
"sizeLg": "1.125rem"
},
"shadow": {
"sm": "0 1px 2px rgba(0, 0, 0, 0.06)",
"md": "0 8px 20px rgba(0, 0, 0, 0.08)"
},
"zIndex": {
"modal": 1000
}
}