chirp-ui 0.11.0
Build AI chat UIs with a real composer, explore components in a live showcase, and ship a sharper default look — plus new overlays, resizable panels, and tighter security defaults.
uv add chirp-ui==0.11.0
This release is about shipping agent-style UIs without leaving Python, making the library feel more polished out of the box, and giving you better tools to browse, preview, and integrate components.
Install
pip install chirp-ui==0.11.0
# or
uv add chirp-ui==0.11.0
With Chirp:
pip install "bengal-chirp[ui]"
What's New
AI chat, end to end
You can now assemble a full chat experience from shipped macros — not just static mockups.
composer()— a real message input with Enter-to-send (IME-safe), send/stop toggle, paste-and-drop attachments, and suggestion chips.- Message turns — structured layouts for actions, metadata, reasoning blocks, tool calls, and citations.
- Streaming — server-sent events with a documented event vocabulary, a
streaming
prose()macro, and lifecycle cleanup when a stream finishes. - Model settings — render config forms from a typed schema with
config_form()and per-field overrides.
See docs/patterns/ai-chat.md
for the server-side abort contract and integration patterns.
A better component showcase
The live component showcase got a major upgrade:
- Browse every block in a manifest-backed gallery at
/blocks. - Try theme presets in a live theme explorer.
- Explore golden screens and shell recipes from the registry-driven home page.
- Optional
chirp-ui mcpserver for coding agents — query the shipped manifest withfind_components,get_component, andlist_categories.
The showcase app is deployed on Railway and linked from the docs site.
Visual polish you get for free
Default components look and behave more like a finished product:
- Warmer default identity — paper-toned surfaces, teal/amber accents, hero gradients, and aura tokens.
- Smoother motion — toast stacking and swipe-to-dismiss, unified animation
tokens, and consistent
error/dangerstyling. - Finer details — tabular numbers for data-heavy UI, a sliding pill on route tabs, compact/dense density modes, and floating action buttons for command palette access.
New interactive components
Five new primitives round out common UI patterns:
popover/ dropdown — focus-managed overlays.input_otp— one-time code entry.hover_card— preview content on hover/focus.menubarandnavigation_menu— application menu patterns.
Drawers, trays, and split panels also gained pointer and keyboard resize,
swipe-to-dismiss, and optionalpersist_openfor boosted navigation.
Layout and shell improvements
- Cards adapt to their column — header actions stack and horizontal cards reflow inside narrow regions (like the context rail) without waiting for a viewport breakpoint.
- Resizable sidebar — drag to any width, with persistence and keyboard control.
- Smaller CSS bundles — ship only the component partials you actually use
via
css_subsetandbuild_chirpui_css.py --components. - Data grid columns — optional
width,mobile_width, andresizableonColumnfor richer table layouts.
Docs site and theme
The Bengalchirp-themedocs site received a broad refresh:
- Unified navigation across the global side rail and top bar.
- Redesigned releases index with correct version ordering.
- Data-driven resume page, compact notebook layout, and cleaner API/docs chrome.
- A new Lucky Cat golden screen (
/screen-lucky-cat-market) demonstrating the data-dense-market layout archetype.
See the CHANGELOG for the complete list.
Improvements
- Security defaults — shell inline scripts and HTMX swaps now work with Chirp 0.8+ CSP nonces out of the box. Alpine loading in the Bengal theme is documented and wired correctly.
- Accessibility — primary accent colors now meet WCAG AA contrast in both light and dark themes; drawer/tray/split-panel interactions are keyboard- and screen-reader tested.
- Docs navigation — deeply nested sidebar folders highlight consistently, including the folder that contains the page you're on.
Fixes
- Composer Enter-to-send works correctly under htmx 2.
- Showcase streaming demos, composer abort/dismiss, and island mounting on fresh page loads all behave reliably.
- Table action buttons stay on one row instead of wrapping into a vertical stack.
- Story cards, toggle groups, and list items no longer have awkward empty slots or misaligned trailing content.
- Blocks gallery previews render correctly from normalized template snippets.
Upgrade Notes
This is a minor release — new components and capabilities, no breaking changes to existing public macros.
- Chat macros (
composer(), message turns, config forms) are new additions. Opt in when you're ready; pin your version if you're building on them early. - The MCP server and blocks gallery are optional tooling. The core library installs without them.
- If you use custom accent colors, review contrast — the default accent was
darkened for accessibility and
--chirpui-on-accentis now theme-aware.