Changelog
0.11.0 — 2026-06-16 — KpiTile hover hint + Menu icon
All six core packages cut to 0.11.0 in lockstep (primitives / motion / tokens / icons / utils / intl); venue → 0.4.1. Component count is unchanged at 46 (25 primitives + 21 patterns) — this release is an affordance plus an icon.
Primitives
KpiTile— a non-interactive tile withhoverContentnow auto-gains a lighter hover affordance: an amber border-highlight on hover plus a small info hint glyph, signalling "hover for more" without the button semantics (cursor / lift / role) ofinteractive. When the tile isinteractive, the drill-down expand glyph still takes precedence.
Icons (0.11.0)
Menuadded (MaterialMenuOutlined) — the hamburger glyph. Restores the export the 0.9.0 notes referenced and lets downstream apps drop their lastlucide-reactimport for it.
0.10.0 — 2026-06-16 — Avatars, Hover Cards, Legend
All six core packages cut to 0.10.0 in lockstep (primitives / motion / tokens / icons / utils / intl) — the fixed group bumps together off the primitives change. The package now ships 46 components (25 primitives + 21 patterns).
Primitives
Avatar— newcolorFromNameprop: the initials fallback derives a stable tint from a hash ofname, drawn from the on-brand token palette, so each operator gets a consistent colour (no effect once an image loads).HoverCard— new primitive on@radix-ui/react-hover-card: a pointer-only hover preview (Trigger+Contentcompound) that reveals a rich card on dwell. Focus-safe and not a menu —openDelay/closeDelay, collision-aware placement, reduced-motion-gated fade/scale.KpiTile— newhoverContentprop wraps the tile in aHoverCardto surface richer context on pointer dwell, alongside the existing drill-down click.
Venue (0.10.0)
VenueLayoutCanvaslegend reworked from an inline chip row into a collapsible vertical dropdown — the kind filters now live in a compact menu, freeing map edge space while keeping per-kind toggle behaviour.
0.9.0 — 2026-06-15 — Material icons
All six core packages cut to 0.9.0 in lockstep (primitives / motion / tokens / icons / utils / intl) — the fixed group bumps together off the icons change.
Icons (0.9.0)
@roger-emerson/ploxum-iconsre-based on Material Design Outlined glyphs — self-hosted, build-time-rendered SVG markup (scripts/generate-icons.mjs), dropping thelucide-reactruntime dependency (publisheddependenciesare now empty).- Names + API unchanged — every export (
Menu,Bell,HeartPulse,Shield, …) keeps its identifier,size/color/className, thearia-hidden-by-default behaviour, and theLucideProps/LucideIconsource-compat type aliases. A swap is a drop-in; only the rendered glyph shape changes. strokeWidthis now a no-op — Material Outlined glyphs are fill-based, so the prop is accepted for source-compat but destructured out and never forwarded to the DOM.
Registry
sidebar— composite collapse polish: tighter collapsed-rail behaviour plus a top collapse toggle on the rail header.
Registry — 2026-06-15 — Sheet + collapsible Sidebar
Two new registry composites — registry-only, no core version change (the @roger-emerson/ploxum-* packages are unchanged).
sheet— shadcn-aligned Sheet composite: flatSheetContent/SheetHeader/SheetFooter/SheetTitle/SheetDescriptionAPI withdata-slots, re-exposing theSheetprimitive (edge-anchored Radix Dialog over ploxum tokens + motion).npx ploxum add sheet.sidebar— collapse-to-icon navigation rail:SidebarProvidercontext withlocalStoragepersistence + a global Cmd/Ctrl+B toggle, right-side tooltip labels when collapsed, andSidebarMenu/SidebarMenuButtonparts (token-themed, density-aware).npx ploxum add sidebar.- Registry catalog grows to 19 items; manifest regenerated via
build-manifest.mjs.
0.8.0 — 2026-06-15 — Interactive KPI affordance
KpiTile interactive tiles now signal they're drillable at rest — an amber ring + soft amber underglow + a corner "expand" glyph — brightening with a 1px lift on hover (reduced-motion gated). No API change; interactive / onClick behave as before.
0.7.0 — 2026-06-15 — Charts & KPI
The chart vocabulary behind drill-down dashboards.
Primitives
Sparkline— interactive cursor-scrubbing sparkline (Catmull-Rom path, dual-path colour reveal) with a staticrole="img"fallback; reduced-motion gates the draw-in.KpiTile— adopts the sharedSparklineand gainsinteractive/onClickprops that turn a tile into a keyboard-activatable drill-down trigger (default display-only).
Tokens (0.7.0)
--ploxum-color-chart-series5..8added to both themes (light + dark) — lifts the chart-series palette cap from 4 to 8.
Registry
chart-frame— newChartTooltipContent(rich, token-reading tooltip) and a documented horizontal-bar (layout="vertical") pattern.pie-chart— new donut/pie composite: token-coloured slices (up to 8 series), hover-dim highlight, optional donut center label + legend.
0.6.0 — 2026-06-15 — Smoothness program
All six core packages cut to 0.6.0 in lockstep (primitives / motion / tokens / icons / utils / intl) — consolidating the accumulated changesets into one release; per-package detail lives in each package's CHANGELOG.md. The package now ships 45 components (24 primitives + 21 patterns); registry unchanged at 16 items.
Primitives
AnimatedNumber— count-up tween for live values; reduced-motion snaps to the final value.SlideToConfirm+CountdownButton— drag-to-confirm and timer/cooldown confirm for critical/destructive actions.BottomSheet— snap-point bottom sheet (peek/half/full), velocity-aware drag, progressive scrim, keyboard control.Combobox— searchable single/multi-select on cmdk-in-Popover; keyboard nav, disabled options.Marquee— seamless infinite scroller (h/v), pause-on-hover, edge fade; manual-scroll under reduced motion.Stepper— horizontal/vertical phase tracker (complete/active/upcoming) with animated connectors.ScrollArea— overlay scrollbars on Radix; thin token thumb, hover-reveal, no reserved width.KpiTile— newanimateprop counts the value up via AnimatedNumber.
Motion (0.2.0)
springs.snappy,springs.bouncy;interactions.press/hoverLift;variants.fadeIn/listItem/staggerContainer;stagger()helper.
Tokens (0.2.0)
- Global on-brand thin scrollbars in
theme.css(*+::-webkit-scrollbar);.scrollbar-noneopt-out preserved.
Registry
data-table— column reorder + visibility toggles + persisted layout (additive).meta.jsondependenciescorrected forcommand-shell,focal-canvas-page,detail-drawer,alert-center,ai-assistant-panel,kpi-strip.
0.5.0 — 2026-06-11
shadcn integration + MapViewport (Wave 23)
Package now ships 37 components (21 primitives + 16 patterns); registry now has 16 items.
ContextMenu(package) — Radix-context-menu right-click menu sharing the DropdownMenu overlay treatment (items, shortcuts, destructive, checkbox/radio, sub-menus).Sheet(package) — Radix-dialog-backed edge-anchored panel (side/size, scrim, slide gated on reduced-motion, built-in close).map-viewport(registry) — zoom/pan chrome around a map SVG: wheel-zoom toward cursor, clamped pan, click-through threshold, imperativeapiRef.resizable(registry) —react-resizable-panelsv4 wrapper with a token rail + grip chip + host-persisted layout.event-stream— newsourceToneprop for per-sourceBadgetheming (grouped workcenter tones in the demo feed).- Icons —
Maximize2,Minus(MapViewport controls) andGripVertical(Resizable grip). - Demo — venue map gains a right-click context menu + an expand-to-Sheet view; Security gains resizable columns + feed split; new Workforce dashboard.
Consumer bootstrap (Wave 23)
@roger-emerson/ploxum-tokens/theme.css— a new shipped Tailwind v4 partial (the@theme inlinemap +darkvariant + base helpers). Consumers import one file instead of hand-copying the ~80-line block. Getting-started rewritten end-to-end (vendoring, fonts,@source, provider) for the pre-npm-publish path.
0.4.0 — 2026-06-10
Component polish (Wave 22)
No new shippable components (still 35 package / 14 registry). Existing components gained features:
EventStream— newfillprop (fill a bounded-height parent and scroll internally instead of capping atmaxHeight) andglowOnArrival(brief amber pulse on newly-arrived rows; critical rows and reduced-motion never glow).Card— newfillprop: stretch to the parent's height and flex+clip the body so a scrollable child fills the space.CommandShell— canvas now scrolls vertically (overflow-y-auto) so tall dashboards fit within the 4-zone layout.- Icons — 14 facilities/infrastructure glyphs added to the barrel:
Activity,Cpu,Database,Droplets,Factory,HeartPulse,Network,Recycle,Server,ShieldAlert,Thermometer,Wifi,Wind,Wrench.
Live demo (Wave 22)
- Two new nav sections with four KPI dashboards: Infrastructure (Technology, Industrial, Sanitation) and Health & Safety (Medical).
0.3.0 — 2026-06-10
Package components (Wave 21)
1 new component in @roger-emerson/ploxum-primitives (35 total, ≈80 KB ESM / ≈16 KB gzip):
Disclosure— headless collapsible; controlled/uncontrolled,trigger+trailingslots, chevron rotation,aria-expanded/aria-controlsregion.
Registry composites (Wave 21)
2 new items via npx ploxum add <name> (14 registry items total):
property-tree— recursive nested tree on the Disclosure primitive; branch nodes disclose, leaf nodes optionally select, with StatusPips and trailing KPIs.notification-menu— bell-anchored dropdown listing notifications, each row with inline acknowledge / archive / delete actions.
Fixes
- Gauge label collision — center value and the beneath-arc label no longer overlap at small sizes. Shipped as a 0.2.x patch.
0.2.0 — 2026-06-10
Package components (Wave 20)
7 new components in @roger-emerson/ploxum-primitives (34 total, ≈80 KB ESM / ≈16 KB gzip):
Gauge— 240° arc gauge; tone derived from warning/critical thresholds.TrendDelta— signed delta with directional glyph;invertPolarityfor down-is-good metrics.Meter— linear utilization bar with threshold ticks and optional segments.Skeleton— loading placeholder; opacity-only pulse, static under reduced motion.Avatar(+AvatarStack) — operator avatar with initials fallback, StatusPip anchor, +N overflow stack.SegmentedControl— exclusive-choice radiogroup with arrow-key navigation.DropdownMenu— Radix-backed compound menu withKbdshortcut slot.
Registry composites (Wave 20)
5 new items via npx ploxum add <name> (12 registry items total):
event-stream— live activity feed with follow mode; newest events pin to the bottom.status-board— density-aware system-health grid with pips, deltas, and sparklines.timeline— show timeline with phase bands, scrubbable playhead, cue markers, and a GO LIVE return.chart-frame— Card-framed recharts wrapper plus the token-readingchartTheme.time-range-picker— popover time-window scoper with presets and a range calendar.
0.1.1 — 2026-06-07
Brand + hero overhaul (Wave 15)
- New positioning: "Ploxum UI — The UI for your Command Center" replaces the prior poetic tagline ("Command the moment — every seat, every second, in focus") across README, CLAUDE.md, Storybook welcome, and
/overview. - Homepage hero (
ploxum.com/) restructured to a centered layout with a gradient white→translucent title, an announcement chip ("v0.1.0 · 27 components shipping"), and a glow-haloed live mini-dashboard atmax-w-6xl. - CTA flow restructured: hero → Explore (→
/overview) + Browse Storybook ↗;/overviewpage now hosts a dedicated See it live → button at the top, pointing atploxum.com/demo/.
Fixes
- Wave 14 hot-fix — docs hero
@source "../components/..."corrected to./components/.... The wrong path resolved to a nonexistent directory; Tailwind generated no utilities for hero-specific classes (text-5xl,grid-cols-4,max-w-5xl, etc.) in the prod CSS bundle. Hero rendered as collapsed mobile-style layout at desktop widths until the fix shipped.
0.1.0 — 2026-06-06
Components
- 27 primitives + patterns shipping in
@roger-emerson/ploxum-primitives(≈49 KB ESM / ≈15 KB gzip):- Primitives (15):
PloxumProvider,Button,Input,Select,Checkbox,Switch,Slider,Badge,StatusPip,ProgressRing,Spinner,Kbd,Icon,Separator,Tooltip(+TooltipProvider). - Patterns (12):
KpiTile,Card,AlertCard,Banner,EmptyState,TabBar,Dialog,Popover,Toast(+ToastProvider),SidebarNav,TopBar,CommandPalette.
- Primitives (15):
- 4 composites + 3 templates shipping via the registry CLI:
- Composites:
kpi-strip,alert-center,data-table(virtualized via TanStack Virtual from day one),ai-assistant-panel. - Templates:
command-shell(the 4-zone layout),focal-canvas-page,detail-drawer.
- Composites:
Theme system
<PloxumProvider>extended withtheme+modeprops alongsidedensity.useTheme()hook +<ThemeSwitcher>/<ModeToggle>/<ThemePalette>picker primitives.- Two-layer token model: every theme defines shadcn semantic names (
--background,--card,--primary,--ring,--chart-1..5, sidebar group) AND a ploxum derivation block. Any tweakcn-generated theme CSS drops in as a single new file. - Two themes ship: Cinematic (locked dark-only — the brand) and Amber Minimal (full light + dark).
- localStorage persistence:
ploxum.theme,ploxum.mode. System prefers-color-scheme bridge. .cinematic-onlyCSS gate — visual effects only correct under cinematic (bokeh wash, stage glow) hide automatically under other themes.
Live demo
ploxum.com/demo/— operational dashboard across 5 WorkCentres: Overview, Venue, Security, Production, Finance.ploxum.com/demo/themes— tweakcn-style catalog: palette swatches left, live preview right. Switching themes rerenders the entire demo with no layout shift.- Cmd+K command palette with cinematic spring entry. Density toggle. LIVE / REPLAY pill. Deterministic Reticle Arena world (mock-data persists across screenshots).
CLI
ploxumv0.1.0 shipsinit/list/addwith topological dependency walk, path-traversal guards, overwrite + dry-run support, and 15 vitest cases covering the safety surface.- Catalog endpoint:
registry.ploxum.com/r/index.json.
Tokens
- DTCG source at
tokens.json→ Style Dictionary v5 →tokens.css,tailwind.preset.mjs,tokens.mjs, andthemes/{cinematic,amber-minimal}.css. - Tailwind v4
@theme inlineexposes both the ploxum-prefixed namespace AND the shadcn aliases, sobg-card,text-foreground,bg-primary,border-borderall work natively.
npm publication
- Six publishable packages (
@roger-emerson/{ploxum-primitives,ploxum-tokens,ploxum-icons,ploxum-motion,ploxum-intl,ploxum-utils}) at0.1.0. - Release workflow gated to
workflow_dispatchpending npm scope reservation. See ROADMAP.
Routing fix
- Demo routes dropped the redundant
/demoprefix that double-stacked againstBrowserRouter basename="/demo". Address-bar URLs are now single-slash (ploxum.com/demo/venue, notploxum.com/demo/demo/venue), and deep links resolve to the correct WorkCentre.
0.0.0 — 2026-05-31
Initial workspace scaffold:
- DTCG tokens (
tokens.json) — cinematic dark palette - Primitives:
Button,StatusPip,Badge,Kbd,Separator,PloxumProvider - Brand mark: "The Reticle"
- Storybook 10 + Vocs docs scaffolding
- CI workflows (ci.yml, deploy-docs.yml, release.yml)
- Cloudflare Workers + Assets deployment ready
