Package-level declarations
Types
Material 3 contrast levels (standard, medium, high), for readability needs.
Built-in color palettes for AiElementsTheme, each a full Material 3 color scheme computed from one seed color by Google's material-color-utilities (tonal-spot; GRAPHITE is the neutral variant), in light and dark and at three contrast levels. Regenerate with tools/generate-schemes.mjs.
Reading type for conversation content, derived from the app's MaterialTheme.typography (so custom fonts carry over). Chat is long-form reading on a small screen: body sits between M3 bodyMedium and bodyLarge, the same density as mainstream assistant apps, and headings step down so a reply doesn't read like a document title page.
Properties
Functions
The generated scheme for palette; cached, cheap to call from composition.
Material 3 Expressive theme for AI Elements: expressive motion (spring based), rounder shapes, and dynamic color on Android 12+; otherwise (or with dynamicColor off) one of the generated AiPalette schemes.
An extra-small (32dp) icon button that still has a 48dp touch target: the visual shrinks, the hit area doesn't.