Repository navigation
v5.4.7
Patch Changes
-
3af4462: Absorb the
ButtonandTagsingle-element primitives (ui-kit#278 ③, #294
Phase 4). Both atoms now render their own native element instead of wrapping
core/button/core/badge, and the shared a11y/state chassis (focus ring,
aria-invalid, flex centering) is extracted toINTERACTIVE_CHASSISso the
absorb relocates that treatment rather than dropping it.Buttonextends the
chassis withdisabled:*,outline-noneand icon sizing;Tagdoes not (it is
not disableable).solidnow carries itsbg-primaryfill explicitly instead
of inheriting it from the core default variant.Pure refactor: rendered output is byte-identical across the full Button matrix
(6 variants × 3 sizes × 3 shapes × colors + states) and every Tag variant/color,
verified against a pre-refactor render capture.core/buttonstays (its
buttonVariantsis still used bycore/calendar);./coreremains public.
What's Changed
- 📝 docs(ui): document src/core membership criterion and smell check by @pjb0811 in #299
- 👷 ci(ui): add Phase 3 regression net (API surface / preflight reset / SSR smoke) by @pjb0811 in #300
- 👷 ci(ui): assert data-slot + a11y chassis contracts in SSR smoke by @pjb0811 in #302
- 👷 ci(ui): guard Tag's non-keyed data-slot in SSR smoke net by @pjb0811 in #303
- ♻️ refactor(ui): absorb Button/Tag primitives into a shared chassis (Phase 4) by @pjb0811 in #304
- 🔖 chore: version packages by @github-actions[bot] in #305
Full Changelog: v5.4.6...v5.4.7