ATOM
Components (registry)Actions

Icon

Sizes and colors an inline SVG; the DS owns scale, not the path art. Pair with any approved icon set.

Preview

Anatomía CSS

<div class="icon">

</div>
ClasePropósito
iconroot
icon--brandmodifier
icon--lmodifier
icon--leadingmodifier
icon--mmodifier
icon--mutedmodifier
icon--smodifier
icon--successmodifier
icon--xlmodifier
icon--xsmodifier

Tokens resueltos

Valores finales tras seguir la cadena de tokens. Derivados del source: si un token cambia, esta tabla cambia sola.

VariantePropValorToken
allfgcurrentColor(literal)
allfillcurrentColor(literal)
successfg#25d366success
brandfg#ff6600brand
mutedfg#525252muted.foreground

CSS mínimo funcional

Autocontenido: sin imports ni tokens. Para previews y prototipos — en producción se consume el CSS del DS (@atom-uikit/css/components.css</code>, <code>@atom-uikit/tokens/tokens.css).

/* -------------------------------------------------------------------------
   Icon

   Contenedor de tamano para SVG inline. El DS no envia paths (los iconos son
   contenido, no estilo): envia la ESCALA y el color, para que ningun consumidor
   vuelva a dimensionar SVGs a mano.

   Uso:  <svg class="icon icon--m icon--success" viewBox="0 0 24 24">…</svg>
   Sizes:  xs 1em · s 1.25em · m 1.5em · l 2em · xl 2.5em  (relativos al
           font-size del contexto: el icono acompana al texto y escala con el)
   Intents: currentColor por defecto; success/brand/muted como atajos.
   ------------------------------------------------------------------------- */

.icon {
  display: inline-block;
  flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  color: currentcolor;
  fill: currentcolor;
  vertical-align: middle;
}

.icon--xs { --icon-size: 1em; }
.icon--s  { --icon-size: 1.25em; }
.icon--m  { --icon-size: 1.5em; }
.icon--l  { --icon-size: 2em; }
.icon--xl { --icon-size: 2.5em; }

.icon--success { color: #25d366; }
.icon--brand   { color: #ff6600; }
.icon--muted   { color: #525252; }

/* Alineacion optica con la primera linea cuando acompana texto multilinea */
.icon--leading { margin-block-start: 0.2em; }

Codigo fuente

styles/components/icon.css
/* -------------------------------------------------------------------------
   Icon

   Contenedor de tamano para SVG inline. El DS no envia paths (los iconos son
   contenido, no estilo): envia la ESCALA y el color, para que ningun consumidor
   vuelva a dimensionar SVGs a mano.

   Uso:  <svg class="icon icon--m icon--success" viewBox="0 0 24 24">…</svg>
   Sizes:  xs 1em · s 1.25em · m 1.5em · l 2em · xl 2.5em  (relativos al
           font-size del contexto: el icono acompana al texto y escala con el)
   Intents: currentColor por defecto; success/brand/muted como atajos.
   ------------------------------------------------------------------------- */

.icon {
  display: inline-block;
  flex-shrink: 0;
  width: var(--icon-size, 1.25em);
  height: var(--icon-size, 1.25em);
  color: currentcolor;
  fill: currentcolor;
  vertical-align: middle;
}

.icon--xs { --icon-size: 1em; }
.icon--s  { --icon-size: 1.25em; }
.icon--m  { --icon-size: 1.5em; }
.icon--l  { --icon-size: 2em; }
.icon--xl { --icon-size: 2.5em; }

.icon--success { color: var(--success); }
.icon--brand   { color: var(--brand); }
.icon--muted   { color: var(--muted-foreground); }

/* Alineacion optica con la primera linea cuando acompana texto multilinea */
.icon--leading { margin-block-start: 0.2em; }

On this page

Detalles

Publicado14 de mayo de 2026
Categoriaactions
Lectura...
Visitas...
Ayuda?Slack

Componente

Icon

Source

components-react / cssDisponible via MCP: atom_uikit_source("icon")