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 streamingprose()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 mcp server for coding agents — query the shipped manifest withfind_components, get_component, and list_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 consistenterror / 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.
  • menubar and navigation_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 viacss_subset and build_chirpui_css.py --components.
  • Data grid columns — optionalwidth, mobile_width, and resizableon Columnfor 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.