Icon

Icon set drawn on one consistent grid, sized and coloured from your theme. The heart, star and bookmark can fill in place inside their outline, then fade back out.

Preview

Installation

npx @lumioui/cli add icon

Usage

import { Icon } from "@/components/ui/icon/icon";
<Icon />

Examples

Sizes

Each size where it lives on a maps place sheet: xl in the category disc, md in the sheet toolbar, lg on the action tiles, sm in the metadata line.

API reference

Glyph

Prop Type Default
size number

Rendered size in pt — the 24 grid scales to it. Default 24.

—
color string —
strokeWidth number

Stroke width on the 24 grid — default 2.

—
fill string

Fill colour for the glyph's shapes; "none" (default) keeps it a stroke icon.

—

Icon

Prop Type Default
name IconName

Glyph name — e.g. "check", "chevron-down", "star".

—
color keyof ColorTokens | ColorValue

Color: a theme token ("foreground", "mutedForeground", "primary", …) or hex.

—
filled boolean

Fill the glyph (heart, star, bookmark).

—
strokeWidth number

Stroke width — default 2.

2
size
"sm" | "md" +2 "sm" | "md" | "lg" | "xl"

Size preset.

"md"
className string —
textClassName string

Extra classes for the glyph text (when children is a string).

—
accessibilityLabel string

Icons are decorative by default (hidden from screen readers). Provide a label for a standalone semantic icon — it is exposed with role "image".

—
children React.ReactNode

Custom element (e.g. your own SVG) — overrides name.

—