chirp-ui 0.9.0

Release 0.9.0

Install

pip install chirp-ui==0.9.0
# or
uv add chirp-ui==0.9.0

With Chirp:

pip install "bengal-chirp[ui]"

What's New

Appearance and tone pilot

The first descriptor-backedappearance and toneparameters are now available onbtn, badge, alert, card, surface, and form fields. This starts the public styling vocabulary that can span components without turning Chirp UI into utility classes.

The shared destructive tone isdanger. Existing component-local variant="error"compatibility remains unchanged.

Token-only theme-pack catalog

Chirp UI now ships a first catalog of packaged token-only theme packs: atlas, ember, and sage. Their metadata is immutable and discoverable through the Python library contract and manifest.

The theme packs are visible in the showcase matrix and wired into Bengal palette-control metadata, with browser proof across navigation, forms, overlay layers, compact data tables, desktop and mobile viewports, and light, dark, and system token resolution.

Application chrome and visual proof

The application chrome work now has follow-up proof for rail-to-drawer recipes, multi-family browser gauntlets, rhythm audits, Bengal parity, composite evaluation, and release-readiness tracking.

First-party showcase chrome was cleaned up so new examples stop teaching legacy helper-class chains. A static visual audit surface now gives maintainers and agents a first QA stop for visual decisions.

Anatomy docs and agent sources

New anatomy guides and published site mirrors cover:

  • Bengal theme controls
  • Drawers and trays
  • Dropdown menus, selects, and split menus
  • Modals and confirm dialogs
  • HTMX tabs, client-side tab panels, route tabs, and tabbed page layouts

The docs also gain agent source inventory and source-map collateral that records provenance, snippet eligibility, generated-output ownership, and forbidden output-name overlaps.

Changed

  • Boosted shell navigation, live search/filter helpers, and mutating HTMX form/action helpers now get rapid-click request coordination defaults.
  • The pre-1.0 compatibility policy for legacy helpers is documented alongside the cleaned showcase chrome.

Fixed

  • Dropdown menu and split-menu selection payloads now read labels, URLs, and actions from escapeddata-*attributes instead of inline Alpine JavaScript literals.
  • Tab-panel selection now reads tab ids from escapeddata-*attributes in chirpuiTabs().

Upgrade Notes

This is a minor release because it adds new public styling vocabulary, theme pack discovery, and application-chrome documentation/proof.

  • Prefertone="danger"for shared destructive styling in the new appearance/tone pilot surfaces.
  • Keep theme customization token-first; the catalog packs are token-only and do not introduce component selector forks.
  • Treat application chrome as recipe-first. No mega-shell macro is promoted in this release.
  • Apps with custom Alpine payload handling should prefer escapeddata-* attributes over interpolated inline literals.

Verification

Release prep passed:

  • uv run poe ci
  • uv run poe test-browser-chrome
  • make release-preflight