v0.4.0
Minor Changes
- 280ec88: Add an
invalidprop: it adds the--invalidmodifier and setsaria-invalid. A directaria-invalidalso turns the modifier on. Styling moves from the attribute selector to the modifier.
A bare text input — the native `<input>` is this component's own root element. It has no built-in label/hint/error; wrap it in `FormField` for that chrome. Works standalone too — not every input needs the full form suite.
invalid prop: it adds the --invalid modifier and sets aria-invalid. A direct aria-invalid also turns the modifier on. Styling moves from the attribute selector to the modifier.description from the README's first paragraph, and homepage plus a Docs: line in the README pointing at the package's page on https://bht-galaxy.vercel.app, all applied at publish time from one source. Seven READMEs that still said "TODO" have a summary; @behivetech/atoms.stat and @behivetech/cms.base-styles have a README at all; the hand-written props tables are gone from the READMEs, since the Props tab on the site is generated from the interface.pnpm add @behivetech/atoms.button. The versions already on GitHub Packages stay there; nothing in the packages changed.<name>.example.tsx (was <name>.composition.tsx), following template 0.4.0 of the component registry: the published files list and the docs site's Examples tab use the new name. No component code changed.registry/behivetech/<category>/<name> and builds with the template's shared env. Published output is the same code; the class-name helper is bundled into each package instead of being a runtime dependency on @behivetech/get-class-name, the tarball now ships README.md, the source, the compositions and a docs.json the docs site reads, and each package declares license: MIT.a7bf591: Restyle to Material Design 3. Colors, type, shape, elevation and motion now come from --md-sys-* tokens, and each one falls back to the pre-MD3 --color-* name. Hardcoded brand colors and filter: brightness() are gone, so components follow the theme in both light and dark.
Interaction
:focus-visible ring.Props and component sizes are unchanged.
Visible changes
--admin-sidebar-* variables.Fixes: these never matched and now work:
Specificity: modifier styles now use .BHT__X--mod.BHT__X (0-2-0). A single-class className override of a modifier-controlled property needs matching specificity to win.
f8c57db: Generate TypeScript declarations once per build instead of once per format.
dist/index.d.cts is no longer emitted. Nothing referenced it: each package's exports["."].types points at dist/index.d.ts, which is unchanged and still covers both the import and require conditions. There are no API, type, or runtime changes.