Usage
Icon renders one generated glyph as an inline SVG. Import the glyph from @prepared911/ui/icons/<kebab-name> (or by name from @prepared911/ui/icons) and pass it to glyph. Size is an IconSize token; paint is currentColor, steered by the optional foreground prop or by the surrounding text color when foreground is Foreground.Inherit (the default).Text where the icon reinforces meaning already present in words (status + label, category + title).foreground to a member of Text's Foreground enum when the icon should paint a token directly (Storybook ForegroundMatrix). Members with an icon rung (Default, Subtle, Muted, Disabled, OnAccent, Transient*) bind --color-icon-*; Link, Accent, AccentStrong, and the status members bind the same foreground tokens as Text. With Foreground.Inherit, set color on a wrapping Text run instead (Storybook InContext under Composition).hand-alt-outlined while off and hand-alt-filled while on (ControlIsland's raise hand). Pass each to glyph from its own subpath.check-circle glyphs with circle-check-filled (circleCheckFilled from @prepared911/ui/icons/circle-check-filled): a solid disc with the check knocked out, authored in the design file as circle-check-filled until the hosted manifest publishes it. Use foreground={Foreground.Success} (or success-coloured text with Foreground.Inherit).glyphs/custom-glyphs.json, refreshed with pnpm icons:generate) include ai-sparkle (the AI mark) and the raise hand pair (hand-alt-outlined, hand-alt-filled).APPROVED_FIGMA_CUSTOM_GLYPHS in packages/ui/tests/icons-lucide-only.test.ts: bwcicon (the body-worn camera mark on the map's device badge), call-end (end-call handset), and dial-pad (the dial-pad toggle; do not use grip-horizontal, which is the window drag grip). Their geometry stays in the manifest snapshot (pnpm icons:sync / icons:export), not in custom-glyphs.json.Icon. A glyph outside the Lucide-sourced or approved sets fails the Lucide-only test, which scans remotes and apps.svg sized by IconSize classes (--icon-xs through --icon-lg). Lucide-sourced glyphs stroke currentColor; filled fallbacks fill currentColor. The glyph aligns with adjacent text baselines as an inline icon.label for decorative icons beside visible text; pass label only when the icon is the sole carrier of meaning at that point in the tree.size to the adjacent text step: dense tables use IconSize.Small or ExtraSmall; page headers may use Medium or Large.rotation applies quarter-turn steps via IconRotation (Storybook Rotation).spin turns the glyph continuously for loading affordances owned by a control; it stops under reduced motion (Storybook Spin).Interactable or Button when clicking is required.