Repository navigation
Releases: pacit/components
Releases · pacit/components
Release list
components@0.2.0
0.2.0 (2026-09-25)
Features
⚠️ badge: the tone is the library's four, and the absence is the neutral (#13, #9)- button: a tone is a colour the button wears, and every wearing is measured (#9)
- api: what can stop being public does, and everything public says what it is (352aee2)
- api: the public methods say since when too (5ffc3ff)
- api: every public API says since when, and the release names what was next (ba39abc)
Fixes
- release: the rehearsal's gate says the undated
nextas a warning, and the release as a refusal (dcf6960) - mutation: the spec the run never selects, and the sentences that explained it wrongly (#15, #14)
- mutation: the four equivalent-mutant excuses follow their lines (4ce1789)
- release: the release commit carries the manifest and the stamp (e649f1f)
Refactoring
- select: the filter predicates leave the types file, and a types file holds types alone (#22)
- schematics: the migration calls Angular's parser instead of imitating it (#15, #110)
⚠️ Breaking Changes
- badge: the tone is the library's four, and the absence is the neutral (#13, #9)
PctBadgeToneis gone andtonetakesPctTone | null,
defaultnull.tone="neutral"no longer compiles — a badge with no tone takes
notoneat all — and an untoned badge no longer carriesdata-pct-toneat all,
where it used to sayneutral. A stylesheet or a test keyed on
[data-pct-tone='neutral']stops matching: the library's own unit suite had two
such assertions and this commit rewrites them, and theng updatemigration
removes the attribute from templates — but neither can see a consumer's
selectors, which is why this stands in the footer.
Not one pixel moves. The old sheet had no[data-pct-tone='neutral']rule, so
that attribute carried no paint and the base tokens on:hostwere the neutral
all along.
PctBadgeTonenamed the skin's missing ramps as its condition for growing (0053).
The ramps landed with the button's tone axis (0082), so the list is spent rather
than widened: two vocabularies for one idea is the state 0076 exists to end, and
deleting the union is the honest version of that news — every consumer who wrote
the type down sees it at compile time instead of learning later that their
'neutral'quietly means something else.
neutralis refused as a member and granted as an absence. A union member
meaning "none of the above" makes every consumer write it.
Two things chosen rather than fallen into:import type.PctTonecomes in type-only, so the build erases it and
./badgestill reaches for no other entrypoint — the internal-deps column of
size.snapshot.mdstays-. The row moves on its own bytes, 1706 to 2229,
which is the three extra tone rules in the stylesheet.- The tone rules assign tokens and paint nothing. Each one sets
--pct-badge-bg/-fg/-borderand declares nocolorand noborder-color,
so they never enter the cascade for the two properties the forced-colours block
paints. That is why one:hostrule inside the media block is enough here,
where the button had to repeat all four of its selectors (lesson-70): the
button's faces paint those properties directly, at a specificity that wins.
components@0.1.0
0.1.0 (2026-09-17)
The first public release of @pacit/components: 34 components for Angular,
standalone and zoneless, on signal forms, rendering on the server, themed through design
tokens — where every promise is held by a gate that runs on every commit.
- 93 features and 24 fixes since the first commit, 12 of them breaking on the way to this shape
- 30 gates, each with a negative control that proves it can fail — the registry of promise → gate → control is the trust page
- every component with its live demos, API, parts, tokens and keyboard map: https://components.pacit.pl/components/
- install:
npm install @pacit/components, thenng add @pacit/components— get started