crucıble

Dashboard

A dense, dark admin/analytics shell for a commerce back office: a collapsible sectioned icon-rail sidebar, a topbar with search, notifications, and user chip, a row of KPI stat cards with odometer count-ups, trend chips, and mini sparklines, a large seeded SVG area chart, a revenue-by-channel bar list, a recent-orders table, and an interactive tasks checklist — every string, series, and row rebrandable through props.

motionpro

Installation

CLI

npx shadcn@latest add @crucible/dashboard

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
brandstring"Ledgerline"Brand name in the sidebar wordmark.
logoReact.ReactNodethe Ledgerline monogramLogo mark (24×24, ideally currentColor).
accentstring"#a5b4fc"Signature accent color (active nav, chart, deltas, focus).
navSectionsDashboardNavSection[]the Ledgerline groupsSidebar nav, grouped into labelled sections.
statsDashboardStat[]the four Ledgerline statsKPI stat cards (animated count-ups + sparklines).
chartTitlestring"Net revenue"Main chart panel title.
chartSubtitlestringMain chart panel subtitle.
chartSeriesnumber[]a seeded 30-point Ledgerline curveSeries for the area chart, 0–100, oldest → newest. Rendered as a seeded smooth SVG area.
chartTicksstring[]month abbreviationsX-axis tick labels laid out evenly under the chart.
chartHeadlinestringHeadline value shown above the chart, e.g. "$284,910".
chartDeltastringDelta chip next to the headline, e.g. "+18.2% vs last quarter".
chartTrend"positive" | "negative" | "neutral""positive"Colors the chart delta chip.
channelTitlestring"Revenue by channel"Secondary "channels / sources" bar-list title.
channelsDashboardChannel[]the five Ledgerline channelsBar-list rows.
ordersTitlestring"Recent orders"Orders table title.
ordersDashboardOrderRow[]the five Ledgerline ordersOrders table rows.
tasksTitlestring"Today's tasks"Tasks card title.
tasksDashboardTask[]the four Ledgerline tasksTasks card rows.
userDashboardUserDela AmevorTopbar user chip.
notificationCountnumber5Unread count on the notifications bell.
pageTitlestring"Dashboard"Main heading.
pageSubtitlestringa dated greetingSub-line under the heading.
searchPlaceholderstring"Search orders, customers, reports…"Search input placeholder.
defaultCollapsedbooleanfalseStart with the sidebar collapsed to the icon rail.
Also accepts all props of Omit<React.ComponentPropsWithoutRef<"div">, "children">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.