Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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 with hoverContent now 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) of interactive. When the tile is interactive, the drill-down expand glyph still takes precedence.

Icons (0.11.0)

  • Menu added (Material MenuOutlined) — the hamburger glyph. Restores the export the 0.9.0 notes referenced and lets downstream apps drop their last lucide-react import 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 — new colorFromName prop: the initials fallback derives a stable tint from a hash of name, 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 + Content compound) that reveals a rich card on dwell. Focus-safe and not a menu — openDelay / closeDelay, collision-aware placement, reduced-motion-gated fade/scale.
  • KpiTile — new hoverContent prop wraps the tile in a HoverCard to surface richer context on pointer dwell, alongside the existing drill-down click.

Venue (0.10.0)

  • VenueLayoutCanvas legend 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-icons re-based on Material Design Outlined glyphs — self-hosted, build-time-rendered SVG markup (scripts/generate-icons.mjs), dropping the lucide-react runtime dependency (published dependencies are now empty).
  • Names + API unchanged — every export (Menu, Bell, HeartPulse, Shield, …) keeps its identifier, size / color / className, the aria-hidden-by-default behaviour, and the LucideProps / LucideIcon source-compat type aliases. A swap is a drop-in; only the rendered glyph shape changes.
  • strokeWidth is 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: flat SheetContent / SheetHeader / SheetFooter / SheetTitle / SheetDescription API with data-slots, re-exposing the Sheet primitive (edge-anchored Radix Dialog over ploxum tokens + motion). npx ploxum add sheet.
  • sidebar — collapse-to-icon navigation rail: SidebarProvider context with localStorage persistence + a global Cmd/Ctrl+B toggle, right-side tooltip labels when collapsed, and SidebarMenu / SidebarMenuButton parts (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 static role="img" fallback; reduced-motion gates the draw-in.
  • KpiTile — adopts the shared Sparkline and gains interactive / onClick props that turn a tile into a keyboard-activatable drill-down trigger (default display-only).

Tokens (0.7.0)

  • --ploxum-color-chart-series5..8 added to both themes (light + dark) — lifts the chart-series palette cap from 4 to 8.

Registry

  • chart-frame — new ChartTooltipContent (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 — new animate prop 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-none opt-out preserved.

Registry

  • data-table — column reorder + visibility toggles + persisted layout (additive).
  • meta.json dependencies corrected for command-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, imperative apiRef.
  • resizable (registry) — react-resizable-panels v4 wrapper with a token rail + grip chip + host-persisted layout.
  • event-stream — new sourceTone prop for per-source Badge theming (grouped workcenter tones in the demo feed).
  • Icons — Maximize2, Minus (MapViewport controls) and GripVertical (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 inline map + dark variant + 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 — new fill prop (fill a bounded-height parent and scroll internally instead of capping at maxHeight) and glowOnArrival (brief amber pulse on newly-arrived rows; critical rows and reduced-motion never glow).
  • Card — new fill prop: 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 + trailing slots, chevron rotation, aria-expanded/aria-controls region.

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; invertPolarity for 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 with Kbd shortcut 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-reading chartTheme.
  • 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 at max-w-6xl.
  • CTA flow restructured: hero → Explore (→ /overview) + Browse Storybook ↗; /overview page now hosts a dedicated See it live → button at the top, pointing at ploxum.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.
  • 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.

Theme system

  • <PloxumProvider> extended with theme + mode props alongside density.
  • 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-only CSS 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

  • ploxum v0.1.0 ships init / list / add with 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, and themes/{cinematic,amber-minimal}.css.
  • Tailwind v4 @theme inline exposes both the ploxum-prefixed namespace AND the shadcn aliases, so bg-card, text-foreground, bg-primary, border-border all work natively.

npm publication

  • Six publishable packages (@roger-emerson/{ploxum-primitives,ploxum-tokens,ploxum-icons,ploxum-motion,ploxum-intl,ploxum-utils}) at 0.1.0.
  • Release workflow gated to workflow_dispatch pending npm scope reservation. See ROADMAP.

Routing fix

  • Demo routes dropped the redundant /demo prefix that double-stacked against BrowserRouter basename="/demo". Address-bar URLs are now single-slash (ploxum.com/demo/venue, not ploxum.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