1 viewer
Back to Components
Component · Content

Icon

Named symbolic glyph that inherits text color and can be decorative or labelled.

Category
Content
Slots
1
States
2
Writer
Shared
cre8.primitive.icon

Preview

Live renderShared SSR + WASM writers
<Row gap="16px">
  <Icon name="home" size={24} />
  <Icon name="search" size={24} />
  <Icon name="runtime" size={24} />
  <Icon name="components" size={24} />
  <Icon name="message" size={24} />
  <Icon name="clock" size={24} />
  <Icon name="folder" size={24} />
  <Icon name="check" size={24} />
</Row>

Anatomy

The named parts of the rendered markup. Recipes style these hooks, and every renderer keeps them stable.

SlotDOM class
root.primitive-icon
1 row

States and platforms

The states the contract publishes, the platforms it declares, and the style recipes that dress it.

States
decorativelabelled
Platforms
webnativeruntime-node
Recipes
unstyledruntime-console

Renderers

Shared writer
Icon renders through the one writer the server and the WASM DOM share, so both emit the same markup.

Every tag in the example above renders through a shared writer.

Declared adapters. A status is the manifest's declaration, not a measured parity result.

TargetRendererStatus
webreactexperimental
runtime-nodeview-nodeready
ssrhtml-semanticready
terminalterminal-textplanned
nativenative-adapterexperimental
5 rows

Accessibility

Decorative icons are hidden from assistive technology; meaningful icons expose an image label.

  • Set decorative=false and provide a label when the icon communicates content.
  • Use currentColor so icons inherit the surrounding semantic tone.