v0.1.0-alpha.8
Pre-releaseThe Continuum Hub WebUI becomes this package's second consumer, and this release carries the two fixes it contributed back.
Added
--token-scrollbarSize (0.5rem) and --token-scrollbarRadius (0.25rem), and the scrollbar rules that read them (#10). styles/base.css had no scrollbar styling of any kind, so a consumer got the operating system's default bar on every scrollable surface and had no token to change it from. The four ::-webkit-scrollbar rules cover Chromium and Safari; a :root pair of scrollbar-width: thin and scrollbar-color covers Firefox, which exposes no ::-webkit pseudo-elements and would otherwise keep the OS bar no matter what the other four rules said. Both Firefox properties are inherited, so one root declaration themes every descendant and a surface that hides its own bar, as Tabs.css does, still overrides them locally.
styles/scrollbar.test.ts, a guard against a second source of truth for the bar's size. [data-theme="x"] ::-webkit-scrollbar outranks the global rule on specificity, so a size declared in a theme file cannot be corrected from base.css and has to be removed instead. The source product shipped exactly that and paid for it on a 200px sidebar rail, where a 17px bar took 8.5% of the width. Hiding a bar with display: none and scoping the shared size to one surface both stay legal.
Fixed
StatCard no longer cuts a long value off without an ellipsis (#11). .stat-card sets overflow: hidden so the corner accent follows the rounded corner, and .stat-card__value declared no overflow, text-overflow, white-space, or min-width of its own, so a value wider than the card was clipped silently. The card cannot grow out of it, which is what makes this the component's defect rather than the consumer's: a grid track with a px floor keeps its floor no matter how long the content is. Both --emphasis variants inherit the fix.
Before you upgrade
styles/base.css is no longer custom properties only. It now carries one block of element rules, the scrollbar, and the file header says why: a scrollbar is painted on a box the package does not own, so there is no component to hang the rules on.
A consumer whose scrollbars were the operating system default will now see an 8px themed bar. New tokens are a minor release, but that rendering change would be a major outside the alpha series under the versioning policy. It lands here for the same reason 0.1.0-alpha.2, alpha.6, and alpha.7 each shipped a rendering change: the package is still an alpha with one consumer mid-migration. Pin an exact version rather than a range.
The StatCard fix is a patch for every consumer whose values already fit. For one whose value was being clipped, the rendering moves from a hard cut to an ellipsis.
Full changelog: v0.1.0-alpha.7...v0.1.0-alpha.8