Icon
v0.3.0A hand-authored, stroke-based SVG icon set behind a single `Icon` component — the same idea as `@ant-design/icons`/`@mui/icons-material`, but self-contained (no new dependency). Icons use `stroke="currentColor"`, so they inherit color from whatever text color is in scope.
A hand-authored, stroke-based SVG icon set behind a single Icon component — the same idea as @ant-design/icons/@mui/icons-material, but self-contained (no new dependency). Icons use stroke="currentColor", so they inherit color from whatever text color is in scope.
Usage
Available icons
close, chevron-up, chevron-down, pencil, trash, box, upload, bold, italic, list, link, image, file-text, ellipse, rectangle, polygon, cursor, label, camp-border, structure, road, restroom
Note that box is the 3D carton glyph; rectangle is the flat shape primitive that pairs with ellipse.
Add new icons by adding a module under icons/ that calls createIcon with geometry in a 0 0 24 24 viewBox, stroke-based to match the existing set, then registering it in icons/index.ts and icons/registry.ts.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
name | IconName | — | Which icon to render (required) |
size | sm | md | lg | xl | md | Icon width/height |
className | string | — | Additional class names |
Compositions
Open all 6 →Properties
Icon props
| Prop | Type | Default | Description |
|---|---|---|---|
name* | enum | — | Which icon to render |
className | string | — | Additional class names to merge with the component root element |
size | "sm" | "md" | "lg" | "xl" | — | Controls width/height; defaults to md |
Also accepts the native attributes of its root element (className, aria-*, event handlers, …).