Skip to content

feat!: v3 design system (v0.4.0) - #4

Merged
FrekiManagarm merged 4 commits into
mainfrom
feat/v3-design
Nov 10, 2026
Merged

FrekiManagarm merged 4 commits into
mainfrom
feat/v3-design

Conversation

@FrekiManagarm

Copy link
Copy Markdown
Contributor

Moves the design system to the v3 visual language (Cloud UI v3 / Dashboard UI v3) and adds the components those screens need. Ships as 0.4.0, see CHANGELOG.md for the full notes and the README "Migrating from 0.3" section.

Breaking

  • Neutral ramp re-pointed to the v3 greys (#FAFAFA page, #EAEAEA stroke, #0A0A0A ink); radii now 4 / 6 / 8 / 12 / 16.
  • Button primary is ink; the old indigo primary is accent.
  • Tabs default to the segmented style (variant="underline" for the old look).
  • sl-num is Geist Mono with tabular figures; sl-label is sentence case.
  • AppHeader is deprecated in favour of TopBar / PageHeader.

Added

  • Charts: StackedAreaChart, ChartLegend, TimeAxis, path helpers; TimeSeriesChart areas, dashed series, thresholds, p50–p95 band, playhead, header legend.
  • Status: Dot, ScoreBar, EventFeed, tone helpers (thresholdTone, scoreTone).
  • Fields and tiles: SegmentedControl, SearchField, UnitInput, InsetStat, MeterRow, SidebarBrand, SidebarPanel, CodeBlock.

Release

After merge: npm version minor on main → tag v0.4.0 → GitHub release.

Re-point the tokens at the Cloud UI v3 and Dashboard UI v3 designs: true
greys, ink primary action, Geist Mono for numbers, 6/8/12/16 radii, one
easing curve and a 2px focus outline.

Restyle the base components and add TopBar, PageHeader, SidebarBrand,
SidebarPanel, SegmentedControl and CodeBlock. AppHeader is deprecated.

BREAKING CHANGE: token values, radii, the primary button and the sl-num and
sl-label utilities change; see Migrating from 0.3 in the README.
Lift what the Cloud and dashboard v3 screens had to build locally:
StackedAreaChart, ChartLegend, LegendItem, TimeAxis and path helpers;
area fills, thresholds, a band and a playhead on TimeSeriesChart; Tone
helpers, Dot, ScoreBar, EventFeed, InsetStat, MeterRow, SearchField,
UnitInput and a progress meter on MetricCard. Add the accent-muted,
on-ink accent and border tokens and a 4px radius.
Draw TimeSeriesChart axis and threshold labels in HTML over the
stretched SVG so narrow cards no longer squash them and the last x
label is no longer clipped. Add playheadColor and yAxis, a muted tone,
and a healthy tone option on thresholdTone so in-range values can stay
in plain ink.
@FrekiManagarm
FrekiManagarm merged commit 6031497 into main Nov 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant