This is the snapshot of v0.4.2, the current version, as recorded on 2026-11-10. The live page runs its examples →
Changelog up to v0.4.2
v0.4.2
Patch Changes
- 8fe9fb4: Declare
"sideEffects": ["**/*.css"] so a bundler can drop the package when its exports are unused. Packages that build class names depend on @behivetech/get-class-name (a real dependency, kept external) instead of bundling their own copy of the helper, so an app loads it once.
- Updated dependencies [8fe9fb4]
- @behivetech/get-class-name@0.1.0
v0.4.1
Patch Changes
- 1b59e66: Spell the brand "BEhive" in the READMEs, examples and the scaffolded site README.
- b12f0c9: Dependency updates: Radix UI (checkbox 1.4, dialog 1.3, dropdown-menu 2.2, select 2.4, slot 1.5, switch 1.4, toast 1.3, tooltip 1.4), react-hook-form 7.91, TipTap 3.33 and TanStack Query 5.107. No API changes. TipTap 3.33 brings prosemirror-view 1.42.6 or later, which fixes a paste XSS (GHSA-c8x8-7fp4-3x9w). In the rich-text editor, Tab at the start of a paragraph right after a list now moves that paragraph into the list (TipTap's list keymap, from 3.30) instead of moving focus out of the editor.
v0.4.0
Minor Changes
- 9394e03: Style Radix runtime state (open, closed, highlighted) through BEM modifiers built by
getClassName instead of data-* selectors; the look is unchanged (#223). The popup is now its own block: the class BHT__DropdownMenu__content is renamed BHT__DropdownMenuContent (with --open / --closed) and the BHT__DropdownMenu root class is gone. The className prop now reaches the popup.
v0.3.0
Minor Changes
- 280ec88: Style a disabled item through a
--disabled modifier on a new internal BHT__DropdownMenuItem block. The BHT__DropdownMenu__item class is renamed to BHT__DropdownMenuItem, and [data-disabled] is no longer used for styling.
v0.2.4
Patch Changes
- 0c52e51: Each published package now says what it is and where its docs are:
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.
v0.2.3
Patch Changes
- c733fc5: Published to the public npm registry (registry.npmjs.org, access public, with provenance) instead of GitHub Packages. Install with no registry configuration:
pnpm add @behivetech/atoms.button. The versions already on GitHub Packages stay there; nothing in the packages changed.
v0.2.2
Patch Changes
- e3bf015: Live examples are
<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.
v0.2.1
Patch Changes
- dcbb801: README code samples are complete, runnable examples: each declares the state, data or handler it uses, so the registry site renders them live and they copy-paste as working code. No component code changed.
- 726a7ab: The component registry is now the bht-component-registry template, adopted into this repo: every package lives at
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.
v0.2.0
Minor Changes
-
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
- Hover, focus and press show a translucent layer of the content color.
- Interactive controls get a
:focus-visible ring.
- Small controls get a 48px touch target without changing their drawn size.
Props and component sizes are unchanged.
Visible changes
- Buttons are pill-shaped.
- Text fields are outlined with a transparent fill.
- FormField labels use body-small type.
- Tooltips and toasts use the inverse surface.
- Modal has no outline and 28px corners.
- The hero headline is display-medium at regular weight.
- Sidebar and NavItem no longer read cms-admin's
--admin-sidebar-* variables.
Fixes: these never matched and now work:
- The NavItem active state.
- Spinner sizes.
- Button icon-only widths.
- Table row dividers.
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.
v0.1.1
Patch Changes
-
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.
v0.1.0
Minor Changes
- 08d7dd6: class names are namespaced with a BHT__ prefix, and sizing moves to rem
v0.0.1
Patch Changes
-
d0111c4: transient layers (dropdown, toast, tooltip) now stack above surfaces
--z-dropdown moves 100 to 450 so Select and DropdownMenu popups render above
Modal (400) and sticky headers (200). Every overlay atom portals its content to
document.body, so a popup is a sibling of the modal that spawned it rather than
a descendant, and raw z-index is the only thing ordering them. Inline fallbacks
are corrected too, for consumers importing an atom's CSS without base-styles'
tokens.