IconFrame
Give an icon a consistent size, semantic color and framed treatment for cards, metrics and status summaries.
IconFrameThree frame sizes
Use a small frame for compact metadata and a larger frame to introduce a section.
<Flex align="center" wrap="true">
<IconFrame name="lucide:check" tone="success" size="sm" aria-hidden="true" />
<IconFrame name="lucide:check" tone="success" size="md" aria-hidden="true" />
<IconFrame name="lucide:check" tone="success" size="lg" aria-hidden="true" />
<span>Small, medium and large</span>
</Flex> Tone and treatment
Frames consume the same semantic palette as surrounding components.
<Flex align="center" wrap="true">
<IconFrame name="lucide:mail" tone="accent" variant="solid" aria-hidden="true" />
<IconFrame name="lucide:mail" tone="info" variant="surface" aria-hidden="true" />
<IconFrame name="lucide:mail" tone="neutral" variant="outline" aria-hidden="true" />
<span>Message destinations</span>
</Flex> Behavior and accessibility
IconFrame is a span, not a control. Use a visible label alongside decorative frames or an accessible wrapper for meaningful standalone symbols. A missing name removes the frame.
API reference
IconFrame contract
Props below are the public template API. RefOrValue accepts a literal or a reactive ref; bind refs with a colon-prefixed attribute. Native attributes and events can be passed through the component root.
name
RefOrValue<string> - Default
not set
Exact registered SVG icon name, including its collection prefix.
tone
RefOrValue<SemanticTone> - Default
inherited
Semantic intent: neutral, accent, secondary, info, success, warning, danger, feature, custom or ghost. The active skin supplies the colors.
size
RefOrValue<IconFrameSize> - Default
md
Frame size: sm, md or lg. Invalid values use the medium frame.
variant
RefOrValue<ComponentVariant> - Default
solid
Visual treatment. Accepts solid, surface, surfaceAlt, spotlight, glass, flat, flatAlt, flatSolid, outlineFill, outline, subtle, subtleBtn, link, sheen, underline, rail, bracket or none.
variantMode
RefOrValue<ComponentVariantMode> - Default
stateless
Use stateless for content surfaces; stateful enables the treatment’s hover, focus and active styles. It does not add interaction handlers.
Composition
No slots. Register defineIconComponents with the icon resolver; it registers both Icon and IconFrame.