Skip to content

v0.1.0-alpha.8

Pre-release
Pre-release

Choose a tag to compare

@inureyes inureyes released this 04 Sep 08:18
· 33 commits to main since this release
87ce5db

The 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