displaytexulinot agent-emittableapp
Icon
icon
A glyph by name or Lucide component; allowing icon allows every icon set.
One token contract, every theme. Display components take color, radius, density and state styling from the --tx-* token contract — the same variables the theme strip below overrides — so a theme swap re-colors them without per-component fixes.
Live examples
Search glyph
Search glyph
Loading demo…
Muted chevron
Muted chevron
In your theme
This page renders in the site theme, enterprise-neutral. Every one of the 210 library themes re-colors every component through the --tx-* contract. The three below carry real token values from the library, rendered at build — no island, no extra requests.
Violet
backgroundsurfaceprimaryaccentborder
Monochrome
backgroundsurfaceprimaryaccentborder
Accessible Dark Contrast
backgroundsurfaceprimaryaccentborder
Props
| Name | Kind | Required | Default | Description |
|---|---|---|---|---|
icon | string | no | — | Built-in name, registered name, or a Lucide component |
size | enum (xs, sm, md, lg) | no | "md" | — |
tone | enum (default, primary, success, warning, destructive, info, neutral) | no | "default" | — |
label | string | no | — | Accessible name; omit for decorative |
class | string | no | — | — |
Keyboard
| Key | Action |
|---|---|
a | With a label it is an image; without a label it is decorative (aria-hidden). |
Accessibility
- With a label it is an image; without a label it is decorative (aria-hidden).
- Unknown names render nothing.
Evidence for icon
Latest committed gates for icon (as of 2026-10-23). Static snapshot — not live CI.
Behavior
n/ano behavior scenario
No dedicated behavior scenario for this catalog id (a styled or display surface, covered by its unit and axe tests).
Size (gzip)
texuli/icon · budget 12.0 KiB
Budget from texuli.budgets.json; re-measure with `pnpm size --filter <entry>`.
Axe
documented
tests/e2e/site-component-pages.spec.tsdocs/quality (a11y-*)
Site component pages axe gate; package-level a11y docs under docs/quality when present.
Browsers
chromiumwebkitmobile
Playwright projects: Desktop Chrome, Desktop Safari, Pixel 7. Firefox is a known gap on this host.
When to use
Use when
- A decorative or labelled glyph next to a control or a list row
Don’t use when
Prefer another component
- A pressable control (use icon-button)
- Navigation chrome (use nav-icon)

