v0.5.0
Minor Changes
- 5593d1c:
showToastnow returns the toast's id, and the newdismissToast(id)removes a toast before it expires, for a message that stopped being true (an error toast after the retry succeeded).
A toast viewport to mount once, anywhere in the app; `showToast()` from anywhere then renders a dismissible, auto-expiring Radix toast in it.
showToast now returns the toast's id, and the new dismissToast(id) removes a toast before it expires, for a message that stopped being true (an error toast after the retry succeeded).variant: "warning" (a --warning modifier). The success and warning stripes read --color-success-inverse and --color-warning-inverse, falling back to the status aliases, so an app without them looks as before. The stripe is now 6px wide for every variant, and the action is pulled left so its label lines up with the title.--color-error-inverse, falling back to --md-sys-color-error-container and then --color-error, so an app without the token looks as before.--md-sys-color-inverse-primary, so it measures at least 3:1 against the toast's inverse-surface in Light and Dark.--success / --error modifiers on a new internal ToastItem block (BHT__ToastItem). The data-variant attribute is removed, and the BHT__Toast__root, __title, __description, __action and __close classes are renamed to BHT__ToastItem and BHT__ToastItem__title, __description, __action, __close.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.