Icon

One glyph from Dovetail Icons, the system's own library of 320 icons, to mark an action, a status or a kind of thing.

Content Icon.jsx Icon.d.ts Icon.md

Playground

Change a prop and watch it. The code below follows along.

Icon — Dovetail Icons v1: 320 glyphs drawn for 16 and 24.

Install and import

Icon is in @dovetail-ds/react. Install it with React, if you haven't:

npm install @dovetail-ds/react react react-dom
import { Icon } from "@dovetail-ds/react";

Import @dovetail-ds/react/styles.css once at your app's root, then your theme after it. Setup covers the stylesheets, fonts and dark mode.

Guidelines

One glyph from Dovetail Icons, the system's own library of 320 icons, to mark an action, a status or a kind of thing.

Use it next to text, or on its own when its meaning is clear.

Use it when

  • A label, list row or heading reads faster with a mark beside it.
  • A control needs a glyph: pass <Icon /> to a component's icon slot, such as Button's.
  • A feature row or empty state wants a picture smaller than an illustration.

Don't use it when

  • The picture carries the message. Use Image or an illustration.
  • It would be the only way to tell two things apart. Pair it with text.
  • You need a brand mark. Upload it and place it as an Image.

Example

<Icon name="search" />
<Icon name="bell" size="sm" />
<Icon name="success" tone="success" label="Saved" />

Sizes

sizepxdrawing
xs1216 grid, 1px strokes
sm1616 grid, 1px strokes
md2024 grid, 1.5px strokes
lg2424 grid, 1.5px strokes (the default)
xl3224 grid, 1.5px strokes

The size picks the drawing, so a 16px icon is its own drawing, not a shrunken 24px one. Sizes follow --dt-size-icon-*, so a context that re-points those tokens resizes icons too.

The library

Icon.names lists every name and Icon.groups lists them by category. The SVGs, 16 and 24, and a sprite sheet for each size are in system/assets/icons/dovetail/. Sprite ids are dt-NAME-16 and dt-NAME-24.

Composition

Inline: it sits on the text baseline and doesn't stretch in a row. Put it inside Button, Inline, list rows, Badge or Card. It takes no children.

Tokens

--dt-size-icon-xs to --dt-size-icon-xl for its box. Colour is currentColor by default, so it takes the text colour around it. tone sets one of the text roles instead (--dt-text-brand, --dt-text-success and so on); never give an icon a raw colour.

Accessibility

Without label the icon is decorative: aria-hidden, and skipped by screen readers. With label it is role="img" with that name. In an icon-only button, label the button and leave the icon unlabelled.

Content

Labels are short nouns or states in sentence case: "Saved", "Unread messages".

Props

The typed contract, from Icon.d.ts.

import * as React from "react";

/** One glyph from Dovetail Icons v1, the system's own library of 320 icons. */
export interface IconProps extends Omit<React.SVGAttributes<SVGSVGElement>, "name"> {
  /** The icon's name in the library, such as "home", "search" or "arrow-right". Icon.names lists them all. Unknown names draw "star". @default "star" */
  name?: string;
  /** Size from --dt-size-icon-*: xs 12, sm 16, md 20, lg 24, xl 32. xs and sm use the drawings made for the 16px grid. @default "lg" */
  size?: "xs" | "sm" | "md" | "lg" | "xl";
  /** Its colour, from the text roles. inherit takes the colour of the text around it. @default "inherit" */
  tone?: "inherit" | "headline" | "primary" | "secondary" | "tertiary" | "link" | "brand" | "brand-secondary" | "success" | "warning" | "danger" | "info";
  /** Accessible name. Give one when the icon means something on its own; leave it out when text beside it says the same, and the icon is hidden from screen readers. */
  label?: string;
}

export declare function Icon(props: IconProps): React.JSX.Element;
export declare namespace Icon {
  /** Every icon name, in catalogue order. */
  const names: string[];
  /** The names by category, as [category, names] pairs. */
  const groups: Array<[string, string[]]>;
}

Tokens it reads

Every custom property Icon.jsx resolves, read from the source: 155 semantic. Component tier first, because that is the one to reach for.

  • semantic Shared roles. Override one and everything using that role moves with it.
TokenTierDeclared as
--dt-size-icon-lgsemanticvar(--dt-dim-6)
--dt-size-icon-mdsemanticvar(--dt-dim-5)
--dt-size-icon-smsemanticvar(--dt-dim-4)
--dt-size-icon-xlsemanticvar(--dt-dim-8)
--dt-size-icon-xssemanticvar(--dt-dim-3)
--dt-text-artboard-body-linesemanticcalc(var(--dt-line-height-md) * 2.35)
--dt-text-artboard-body-sizesemanticcalc(var(--dt-font-size-md) * 2.5)
--dt-text-artboard-display-familysemanticvar(--dt-text-display-lg-family)
--dt-text-artboard-display-linesemanticcalc(var(--dt-line-height-7xl) * 2.55)
--dt-text-artboard-display-sizesemanticcalc(var(--dt-font-size-7xl) * 2.8)
--dt-text-artboard-display-trackingsemanticvar(--dt-tracking-tightest)
--dt-text-artboard-display-weightsemanticvar(--dt-text-display-lg-weight)
--dt-text-artboard-meta-sizesemanticcalc(var(--dt-font-size-sm) * 2.2)
--dt-text-artboard-meta-trackingsemanticvar(--dt-tracking-wider)
--dt-text-artboard-title-linesemanticcalc(var(--dt-line-height-7xl) * 1.7)
--dt-text-artboard-title-sizesemanticcalc(var(--dt-font-size-7xl) * 1.75)
--dt-text-body-lg-familysemanticvar(--dt-font-family-sans)
--dt-text-body-lg-linesemanticvar(--dt-line-height-lg)
--dt-text-body-lg-sizesemanticvar(--dt-font-size-lg)
--dt-text-body-lg-trackingsemanticvar(--dt-tracking-normal)
--dt-text-body-lg-weightsemanticvar(--dt-font-weight-regular)
--dt-text-body-md-familysemanticvar(--dt-font-family-sans)
--dt-text-body-md-linesemanticvar(--dt-line-height-md)
--dt-text-body-md-sizesemanticvar(--dt-font-size-md)
--dt-text-body-md-trackingsemanticvar(--dt-tracking-normal)
--dt-text-body-md-weightsemanticvar(--dt-font-weight-regular)
--dt-text-body-sm-familysemanticvar(--dt-font-family-sans)
--dt-text-body-sm-linesemanticvar(--dt-line-height-sm)
--dt-text-body-sm-sizesemanticvar(--dt-font-size-sm)
--dt-text-body-sm-trackingsemanticvar(--dt-tracking-normal)
--dt-text-body-sm-weightsemanticvar(--dt-font-weight-regular)
--dt-text-body-xs-familysemanticvar(--dt-font-family-sans)
--dt-text-body-xs-linesemanticvar(--dt-line-height-xs)
--dt-text-body-xs-sizesemanticvar(--dt-font-size-xs)
--dt-text-body-xs-trackingsemanticvar(--dt-tracking-normal)
--dt-text-body-xs-weightsemanticvar(--dt-font-weight-regular)
--dt-text-brandsemanticvar(--dt-color-primary-700)
--dt-text-brand-secondarysemanticvar(--dt-color-secondary-700)
--dt-text-code-md-familysemanticvar(--dt-font-family-mono)
--dt-text-code-md-linesemanticvar(--dt-line-height-sm)
--dt-text-code-md-sizesemanticvar(--dt-font-size-sm)
--dt-text-code-md-trackingsemanticvar(--dt-tracking-normal)
--dt-text-code-md-weightsemanticvar(--dt-font-weight-regular)
--dt-text-code-sm-familysemanticvar(--dt-font-family-mono)
--dt-text-code-sm-linesemanticvar(--dt-line-height-xs)
--dt-text-code-sm-sizesemanticvar(--dt-font-size-xs)
--dt-text-code-sm-trackingsemanticvar(--dt-tracking-normal)
--dt-text-code-sm-weightsemanticvar(--dt-font-weight-regular)
--dt-text-dangersemanticvar(--dt-color-red-800)
--dt-text-disabledsemanticvar(--dt-color-neutral-400)
--dt-text-display-2xl-familysemanticvar(--dt-font-family-sans)
--dt-text-display-2xl-linesemanticvar(--dt-line-height-fluid)
--dt-text-display-2xl-sizesemanticvar(--dt-font-size-fluid-2xl)
--dt-text-display-2xl-trackingsemanticvar(--dt-tracking-tightest)
--dt-text-display-2xl-weightsemanticvar(--dt-font-weight-medium)
--dt-text-display-lg-familysemanticvar(--dt-font-family-sans)
--dt-text-display-lg-linesemanticvar(--dt-line-height-7xl)
--dt-text-display-lg-sizesemanticvar(--dt-font-size-7xl)
--dt-text-display-lg-trackingsemanticvar(--dt-tracking-tightest)
--dt-text-display-lg-weightsemanticvar(--dt-font-weight-medium)
--dt-text-display-md-familysemanticvar(--dt-font-family-sans)
--dt-text-display-md-linesemanticvar(--dt-line-height-6xl)
--dt-text-display-md-sizesemanticvar(--dt-font-size-6xl)
--dt-text-display-md-trackingsemanticvar(--dt-tracking-tightest)
--dt-text-display-md-weightsemanticvar(--dt-font-weight-medium)
--dt-text-display-sm-familysemanticvar(--dt-font-family-sans)
--dt-text-display-sm-linesemanticvar(--dt-line-height-5xl)
--dt-text-display-sm-sizesemanticvar(--dt-font-size-5xl)
--dt-text-display-sm-trackingsemanticvar(--dt-tracking-tighter)
--dt-text-display-sm-weightsemanticvar(--dt-font-weight-medium)
--dt-text-display-xl-familysemanticvar(--dt-font-family-sans)
--dt-text-display-xl-linesemanticvar(--dt-line-height-fluid)
--dt-text-display-xl-sizesemanticvar(--dt-font-size-fluid-xl)
--dt-text-display-xl-trackingsemanticvar(--dt-tracking-tightest)
--dt-text-display-xl-weightsemanticvar(--dt-font-weight-medium)
--dt-text-eyebrow-familysemanticvar(--dt-font-family-secondary)
--dt-text-eyebrow-linesemanticvar(--dt-line-height-2xs)
--dt-text-eyebrow-sizesemanticvar(--dt-font-size-2xs)
--dt-text-eyebrow-trackingsemanticvar(--dt-tracking-wider)
--dt-text-eyebrow-weightsemanticvar(--dt-font-weight-semibold)
--dt-text-heading-lg-familysemanticvar(--dt-font-family-sans)
--dt-text-heading-lg-linesemanticvar(--dt-line-height-3xl)
--dt-text-heading-lg-sizesemanticvar(--dt-font-size-3xl)
--dt-text-heading-lg-trackingsemanticvar(--dt-tracking-tight)
--dt-text-heading-lg-weightsemanticvar(--dt-font-weight-medium)
--dt-text-heading-md-familysemanticvar(--dt-font-family-sans)
--dt-text-heading-md-linesemanticvar(--dt-line-height-2xl)
--dt-text-heading-md-sizesemanticvar(--dt-font-size-2xl)
--dt-text-heading-md-trackingsemanticvar(--dt-tracking-tight)
--dt-text-heading-md-weightsemanticvar(--dt-font-weight-medium)
--dt-text-heading-sm-familysemanticvar(--dt-font-family-sans)
--dt-text-heading-sm-linesemanticvar(--dt-line-height-xl)
--dt-text-heading-sm-sizesemanticvar(--dt-font-size-xl)
--dt-text-heading-sm-trackingsemanticvar(--dt-tracking-snug)
--dt-text-heading-sm-weightsemanticvar(--dt-font-weight-medium)
--dt-text-heading-xl-familysemanticvar(--dt-font-family-sans)
--dt-text-heading-xl-linesemanticvar(--dt-line-height-4xl)
--dt-text-heading-xl-sizesemanticvar(--dt-font-size-4xl)
--dt-text-heading-xl-trackingsemanticvar(--dt-tracking-tighter)
--dt-text-heading-xl-weightsemanticvar(--dt-font-weight-medium)
--dt-text-heading-xs-familysemanticvar(--dt-font-family-sans)
--dt-text-heading-xs-linesemanticvar(--dt-line-height-lg)
--dt-text-heading-xs-sizesemanticvar(--dt-font-size-lg)
--dt-text-heading-xs-trackingsemanticvar(--dt-tracking-normal)
--dt-text-heading-xs-weightsemanticvar(--dt-font-weight-medium)
--dt-text-headlinesemanticvar(--dt-text-primary)
--dt-text-infosemanticvar(--dt-color-cyan-900)
--dt-text-inversesemanticvar(--dt-color-neutral-050)
--dt-text-label-lg-familysemanticvar(--dt-font-family-secondary)
--dt-text-label-lg-linesemanticvar(--dt-line-height-md)
--dt-text-label-lg-sizesemanticvar(--dt-font-size-md)
--dt-text-label-lg-trackingsemanticvar(--dt-tracking-normal)
--dt-text-label-lg-weightsemanticvar(--dt-font-weight-medium)
--dt-text-label-md-familysemanticvar(--dt-font-family-secondary)
--dt-text-label-md-linesemanticvar(--dt-line-height-sm)
--dt-text-label-md-sizesemanticvar(--dt-font-size-sm)
--dt-text-label-md-trackingsemanticvar(--dt-tracking-normal)
--dt-text-label-md-weightsemanticvar(--dt-font-weight-medium)
--dt-text-label-sm-familysemanticvar(--dt-font-family-secondary)
--dt-text-label-sm-linesemanticvar(--dt-line-height-xs)
--dt-text-label-sm-sizesemanticvar(--dt-font-size-xs)
--dt-text-label-sm-trackingsemanticvar(--dt-tracking-normal)
--dt-text-label-sm-weightsemanticvar(--dt-font-weight-medium)
--dt-text-on-actionsemanticvar(--dt-color-white)
--dt-text-on-action-brandsemanticvar(--dt-color-white)
--dt-text-on-action-brand-secondarysemanticvar(--dt-color-white)
--dt-text-on-action-dangersemanticvar(--dt-color-white)
--dt-text-on-action-disabledsemanticvar(--dt-color-neutral-400)
--dt-text-on-action-ghostsemanticvar(--dt-color-neutral-900)
--dt-text-on-action-secondarysemanticvar(--dt-color-neutral-900)
--dt-text-on-brandsemanticvar(--dt-color-white)
--dt-text-on-brand-mutedsemanticvar(--dt-color-primary-900)
--dt-text-on-brand-secondarysemanticvar(--dt-color-white)
--dt-text-on-brand-secondary-mutedsemanticvar(--dt-color-secondary-900)
--dt-text-on-dangersemanticvar(--dt-color-white)
--dt-text-on-infosemanticvar(--dt-color-white)
--dt-text-on-scrimsemanticvar(--dt-color-neutral-050)
--dt-text-on-scrim-brandsemanticvar(--dt-color-primary-200)
--dt-text-on-scrim-secondarysemanticvar(--dt-color-neutral-200)
--dt-text-on-scrim-strongsemanticvar(--dt-color-white)
--dt-text-on-selectedsemanticvar(--dt-color-neutral-900)
--dt-text-on-selected-brandsemanticvar(--dt-color-primary-900)
--dt-text-on-successsemanticvar(--dt-color-white)
--dt-text-on-warningsemanticvar(--dt-color-neutral-950)
--dt-text-primarysemanticvar(--dt-color-neutral-900)
--dt-text-secondarysemanticvar(--dt-color-neutral-600)
--dt-text-successsemanticvar(--dt-color-green-800)
--dt-text-tertiarysemanticvar(--dt-color-neutral-500)
--dt-text-warningsemanticvar(--dt-color-amber-900)
--dt-text-wordmarksemanticvar(--dt-text-primary)

Source

React only, no dependencies, every value a token.

import React from "react";

/* One glyph from Dovetail Icons, the system's own library (v1, 320 icons).
   Each icon is drawn twice: on a 16-unit grid with 1px strokes, for 16px and
   smaller, and on a 24-unit grid with 1.5px strokes for everything larger.
   The size picks the drawing, so a small icon stays crisp instead of being a
   shrunken large one. Colour is currentColor, so an icon takes its text's. */

const SIZES = {
  xs: "var(--dt-size-icon-xs)",
  sm: "var(--dt-size-icon-sm)",
  md: "var(--dt-size-icon-md)",
  lg: "var(--dt-size-icon-lg)",
  xl: "var(--dt-size-icon-xl)",
};
const SMALL = { xs: true, sm: true };

/* [16-unit drawing, 24-unit drawing or 0, stroke width of the 24 drawing].
   A 0 means the 24 drawing is the 16 one scaled by 1.5. Generated from
   system/assets/icons/dovetail/svg by tools/build-bundle.mjs; edit the SVGs. */
/* @icons:start */
const DRAWINGS = {
  "context": ["<path d=\"M4.5 1.5h-3v3 M11.5 1.5h3v3 M14.5 11.5v3h-3 M4.5 14.5h-3v-3\"/><rect x=\"5.5\" y=\"5.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M7 8h2\"/>", "<path d=\"M7 3H5q-2 0-2 2v2 M17 3h2q2 0 2 2v2 M21 17v2q0 2-2 2h-2 M7 21H5q-2 0-2-2v-2\"/><rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"2\"/><path d=\"M10 10h4 M10 14h2\"/>", 1.5],
  "prompt": ["<rect x=\"1.5\" y=\"2.5\" width=\"13\" height=\"11\" rx=\"2\"/><path d=\"M4.5 5.5l3 2.5-3 2.5 M9.5 10.5h2\"/>", "<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"3\"/><path d=\"M7 8l4 4-4 4 M14 16h3\"/>", 1.5],
  "refine": ["<path d=\"M1.5 4.5h2 M7.5 4.5h7 M1.5 11.5h7 M12.5 11.5h2\"/><circle cx=\"5.5\" cy=\"4.5\" r=\"2\"/><circle cx=\"10.5\" cy=\"11.5\" r=\"2\"/>", "<path d=\"M3 7h3 M11 7h10 M3 17h10 M18 17h3\"/><circle cx=\"8.5\" cy=\"7\" r=\"2.5\"/><circle cx=\"15.5\" cy=\"17\" r=\"2.5\"/>", 1.5],
  "workflow": ["<rect x=\"1.5\" y=\"1.5\" width=\"4\" height=\"4\" rx=\"1\"/><rect x=\"10.5\" y=\"10.5\" width=\"4\" height=\"4\" rx=\"1\"/><path d=\"M5.5 3.5h4q3 0 3 3v4\"/>", "<rect x=\"3\" y=\"3\" width=\"6\" height=\"6\" rx=\"1.5\"/><rect x=\"15\" y=\"15\" width=\"6\" height=\"6\" rx=\"1.5\"/><path d=\"M9 6h6a3 3 0 0 1 3 3v3 M15.5 9.5l2.5 2.5 2.5-2.5\"/>", 1.5],
  "check": ["<path d=\"M2.5 8l3.5 3.5 7.5-8\"/>", 0, 1],
  "clipboard": ["<path d=\"M5 2.5H4q-1.5 0-1.5 1.5v9q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5V4q0-1.5-1.5-1.5h-1\"/><rect x=\"5\" y=\"1.5\" width=\"6\" height=\"3\" rx=\"1\"/>", 0, 1],
  "close": ["<path d=\"M3.5 3.5l9 9 M12.5 3.5l-9 9\"/>", 0, 1],
  "copy": ["<rect x=\"5.5\" y=\"4.5\" width=\"8\" height=\"10\" rx=\"1.5\"/><path d=\"M10.5 3q0-1.5-1.5-1.5H4q-1.5 0-1.5 1.5v7q0 1.5 1.5 1.5\"/>", 0, 1],
  "download": ["<path d=\"M8 1.5v9 M4.5 7 8 10.5 11.5 7 M2.5 11v2q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5v-2\"/>", 0, 1],
  "duplicate": ["<rect x=\"5.5\" y=\"5.5\" width=\"9\" height=\"9\" rx=\"1.5\"/><path d=\"M10.5 3.5V3q0-1.5-1.5-1.5H3q-1.5 0-1.5 1.5v6q0 1.5 1.5 1.5h.5\"/>", 0, 1],
  "edit": ["<path d=\"M2 11.5 10.5 3l2.5 2.5L4.5 14H2Z M9 4.5 11.5 7\"/>", 0, 1],
  "external-link": ["<path d=\"M9.5 1.5h5v5 M14 2 7 9 M6 3.5H4q-1.5 0-1.5 1.5v7q0 1.5 1.5 1.5h7q1.5 0 1.5-1.5v-2\"/>", 0, 1],
  "link": ["<path d=\"M6.5 9.5 9.5 6.5 M6.5 5.5l2.75-2.75c2.5-2.5 6.5 1.5 4 4L10.5 9.5 M5.5 6.5 2.75 9.25c-2.5 2.5 1.5 6.5 4 4l2.75-2.75\"/>", 0, 1],
  "minus": ["<path d=\"M2.5 8h11\"/>", 0, 1],
  "plus": ["<path d=\"M8 2.5v11 M2.5 8h11\"/>", 0, 1],
  "redo": ["<path d=\"M11 3l3 3-3 3 M14 6H7a4 4 0 0 0 0 8h2\"/>", 0, 1],
  "refresh": ["<path d=\"M2.5 5.5C3.45 3.43 5.55 2 8 2C10.07 2 11.89 3.05 12.97 4.64 M2.5 2v3.5H6 M13.5 10.5C12.55 12.57 10.45 14 8 14C5.93 14 4.11 12.95 3.03 11.36 M13.5 14v-3.5H10\"/>", 0, 1],
  "save": ["<path d=\"M3.5 1.5H11l3 3V13q0 1.5-1.5 1.5h-9Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M5 1.5V5q0 1.5 1.5 1.5h3Q11 6.5 11 5V1.5 M5 14.5V11q0-1.5 1.5-1.5h3q1.5 0 1.5 1.5v3.5\"/>", 0, 1],
  "search": ["<circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l4.5 4.5\"/>", 0, 1],
  "share": ["<path d=\"M8 10V1.5 M4.5 5 8 1.5 11.5 5 M4 7.5q-1.5 0-1.5 1.5v4q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5V9q0-1.5-1.5-1.5\"/>", 0, 1],
  "trash": ["<path d=\"M2 4.5h12 M6 4.5v-3h4v3 M3.5 4.5l1 10h7l1-10 M6.5 7v5 M9.5 7v5\"/>", 0, 1],
  "undo": ["<path d=\"M5 3 2 6l3 3 M2 6h7a4 4 0 0 1 0 8H7\"/>", 0, 1],
  "unlink": ["<path d=\"M5 7.5 2.5 10a2.5 2.5 0 0 0 3.5 3.5L8.5 11 M7.5 5 10 2.5a2.5 2.5 0 0 1 3.5 3.5L11 8.5 M4.5 3.5v-2 M1.5 4.5h2 M11.5 12.5v2 M12.5 11.5h2\"/>", 0, 1],
  "upload": ["<path d=\"M8 10.5v-9 M4.5 5 8 1.5 11.5 5 M2.5 11v2q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5v-2\"/>", 0, 1],
  "award": ["<circle cx=\"8\" cy=\"6\" r=\"4\"/><path d=\"M5 9 3.5 14l3-1 1.5 1 1.5-1 3 1L11 9\"/>", 0, 1],
  "bag": ["<path d=\"M4 5.5h8q1 0 1.125 1L14 13q.125 1.5-1.5 1.5h-9Q1.875 14.5 2 13l.875-6.5Q3 5.5 4 5.5Z M5.5 6V4a2.5 2.5 0 0 1 5 0v2\"/>", 0, 1],
  "bell-add": ["<path d=\"M2 11h6 M3 11l1-3V5a4 4 0 0 1 8 0v2 M5 14h2\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "briefcase": ["<rect x=\"1.5\" y=\"4.5\" width=\"13\" height=\"10\" rx=\"1.5\"/><path d=\"M5 4.5V3q0-1.5 1.5-1.5h3Q11 1.5 11 3v1.5 M1.5 8h13 M8 7v2\"/>", 0, 1],
  "calendar-check": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"11\" rx=\"1.5\"/><path d=\"M4.5 1.5v4 M11.5 1.5v4 M1.5 7h13\"/><path d=\"M5 10.5 7 12.5 11 9\"/>", 0, 1],
  "calendar-clock": ["<path d=\"M8 14.5H3q-1.5 0-1.5-1.5V5q0-1.5 1.5-1.5h10q1.5 0 1.5 1.5v2 M4.5 1.5v4 M11.5 1.5v4 M1.5 7h13\"/><circle cx=\"11.5\" cy=\"11.5\" r=\"3\"/><path d=\"M11.5 9.5v2l1 1\"/>", 0, 1],
  "calendar-range": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"11\" rx=\"1.5\"/><path d=\"M4.5 1.5v4 M11.5 1.5v4 M1.5 7h13\"/><path d=\"M4.5 10.5h7\"/>", 0, 1],
  "credit-card-add": ["<path d=\"M7 12.5H3q-1.5 0-1.5-1.5V5q0-1.5 1.5-1.5h10q1.5 0 1.5 1.5v2 M1.5 6.5h13\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "gift": ["<rect x=\"1.5\" y=\"5.5\" width=\"13\" height=\"3\" rx=\"1\"/><path d=\"M2.5 8.5v4q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5v-4 M8 5.5v9 M8 5.5C0 5.5 3-2 8 5.5c5-7.5 8 0 0 0\"/>", 0, 1],
  "rocket": ["<path d=\"M6 10C5 5 9 2 14 2c0 5-3 9-8 8Z M6 6H3l-1 5 4-1 M10 10v3l-5 1 1-4 M2 14l2-2\"/><circle cx=\"10.5\" cy=\"5.5\" r=\"1\"/>", 0, 1],
  "sparkles": ["<path d=\"M9 1.5 11 6l3.5 2L11 10l-2 4.5L7 10 3.5 8 7 6Z M2.5 1.5v3 M1 3h3\"/>", 0, 1],
  "wallet": ["<path d=\"M13.5 6V4q0-1.5-1.5-1.5H3q-1.5 0-1.5 1.5v8q0 1.5 1.5 1.5h9q1.5 0 1.5-1.5v-1\"/><rect x=\"9\" y=\"6\" width=\"5.5\" height=\"5\" rx=\"1\"/><circle cx=\"11\" cy=\"8.5\" r=\"0.4\"/>", 0, 1],
  "contrast": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M8 1.5a6.5 6.5 0 0 1 0 13Z\" fill=\"currentColor\"/>", 0, 1],
  "corner-radius": ["<path d=\"M2.5 13.5V7a4.5 4.5 0 0 1 4.5-4.5h6.5 M2.5 1.5v1 M1.5 2.5h1\"/>", 0, 1],
  "fill": ["<path d=\"M6 2 14 10l-6 5-7-7 5-6Z M3 10h11 M5 1l5 5\"/>", 0, 1],
  "moon": ["<path d=\"M6 2C3.4 2.8 1.7 5.3 2 8C2.3 11.4 5.2 14 8.6 13.8C11.1 13.7 13.1 12.2 14 10C11.3 10.9 8.3 10 6.7 7.7C5.6 6.1 5.3 3.9 6 2Z\"/>", 0, 1],
  "opacity": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M8 1.5v13 M8 4h4 M8 7h6 M8 10h6 M8 13h4\"/>", 0, 1],
  "stroke": ["<path d=\"M2 12.5 12.5 2 M2 15h12\"/>", 0, 1],
  "sun": ["<circle cx=\"8\" cy=\"8\" r=\"3\"/><path d=\"M8 1v1 M8 14v1 M1 8h1 M14 8h1 M3 3l1 1 M12 12l1 1 M3 13l1-1 M12 4l1-1\"/>", 0, 1],
  "anchor": ["<circle cx=\"8\" cy=\"3.5\" r=\"2\"/><path d=\"M8 5.5V14 M2 9.5v1a6 3.5 0 0 0 12 0v-1 M1 10.5l1-1 1 1 M13 10.5l1-1 1 1\"/>", 0, 1],
  "crop": ["<path d=\"M4 1.5V12h10.5 M1.5 4H12v10.5\"/>", 0, 1],
  "cursor": ["<path d=\"M3 1.5 13.5 8 8.5 9.5 6 14.5Z\"/>", 0, 1],
  "cursor-direct": ["<path d=\"M4 1.5v13l4-4h5Z\"/>", 0, 1],
  "diamond": ["<path d=\"M8 1.5 14.5 8 8 14.5 1.5 8Z\"/>", 0, 1],
  "ellipse": ["<ellipse cx=\"8\" cy=\"8\" rx=\"6.5\" ry=\"5\"/>", 0, 1],
  "fit-view": ["<path d=\"M1.5 5V1.5H5 M11 1.5h3.5V5 M14.5 11v3.5H11 M5 14.5H1.5V11\"/>", 0, 1],
  "flip-horizontal": ["<path d=\"M6 3 1.5 12H6Z M10 3l4.5 9H10Z M8 1v14\"/>", 0, 1],
  "flip-vertical": ["<path d=\"M3 6 12 1.5V6Z M3 10l9 4.5V10Z M1 8h14\"/>", 0, 1],
  "frame": ["<path d=\"M4.5 1v14 M11.5 1v14 M1 4.5h14 M1 11.5h14\"/>", 0, 1],
  "hand": ["<path d=\"M5 8V4a1 1 0 0 1 2 0v3 M7 7V2.5a1 1 0 0 1 2 0V7 M9 7V3.5a1 1 0 0 1 2 0V8 M11 7a1 1 0 0 1 2 0v3.5a4 4 0 0 1-7.2 2.4L2.5 9a1 1 0 0 1 1.5-1.3L5 9\"/>", 0, 1],
  "image": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><circle cx=\"5\" cy=\"5\" r=\"1\"/><path d=\"m1.5 12 4-4 3 3 3-4 3 4\"/>", 0, 1],
  "line": ["<path d=\"M2.5 13.5l11-11\"/>", 0, 1],
  "pen": ["<path d=\"M3 13 2 6 8 2 14 8 10 14Z M3 13 7 9\"/><circle cx=\"8\" cy=\"8\" r=\"1.25\"/>", 0, 1],
  "pencil": ["<path d=\"M2 11.5 11 2.5l2.5 2.5-9 9H2Z M9.5 4 12 6.5\"/>", 0, 1],
  "polygon": ["<path d=\"M4.5 1.5h7l3.5 6.5-3.5 6.5h-7L1 8Z\"/>", 0, 1],
  "rectangle": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/>", 0, 1],
  "rotate": ["<path d=\"M2.5 5.5C3.45 3.43 5.55 2 8 2C11.31 2 14 4.69 14 8C14 11.31 11.31 14 8 14C5.39 14 3.17 12.33 2.34 10 M2.5 2v3.5H6\"/>", 0, 1],
  "ruler": ["<path d=\"M2 11 11 2l3 3-9 9Z M9 4l2 2 M6.5 6.5 8 8 M4 9l2 2\"/>", 0, 1],
  "star": ["<path d=\"M8 1.5 10 6l4.5.5-3.5 3 1 5-4-2.5L4 14.5l1-5-3.5-3L6 6Z\"/>", 0, 1],
  "text": ["<path d=\"M2 2.5h12 M8 2.5v12 M5 14.5h6\"/>", 0, 1],
  "triangle": ["<path d=\"M8 1.5 14.5 14h-13Z\"/>", 0, 1],
  "zoom-in": ["<circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l4.5 4.5 M4 6.5h5 M6.5 4v5\"/>", 0, 1],
  "zoom-out": ["<circle cx=\"6.5\" cy=\"6.5\" r=\"4.5\"/><path d=\"M10 10l4.5 4.5 M4 6.5h5\"/>", 0, 1],
  "aspect-ratio": ["<rect x=\"1.5\" y=\"3\" width=\"13\" height=\"10\" rx=\"1.5\"/><path d=\"M4 8V5.5h2.5 M12 8v2.5H9.5\"/>", 0, 1],
  "bezier": ["<path d=\"M2 12C2 3 14 3 14 12 M3 5h3.5 M9.5 5H13\"/><circle cx=\"2\" cy=\"5\" r=\"1\"/><circle cx=\"14\" cy=\"5\" r=\"1\"/><rect x=\"6.5\" y=\"3.5\" width=\"3\" height=\"3\" rx=\"0.5\"/>", 0, 1],
  "boolean-exclude": ["<path d=\"M8 3a5 5 0 1 0 0 10Q2 8 8 3Z M8 3a5 5 0 1 1 0 10Q14 8 8 3Z\"/>", 0, 1],
  "boolean-intersect": ["<path d=\"M8 2.5Q1 8 8 13.5Q15 8 8 2.5Z\"/>", 0, 1],
  "boolean-subtract": ["<path d=\"M3 1.5h5.5V7q0 1.5 1.5 1.5h4.5V13q0 1.5-1.5 1.5H3q-1.5 0-1.5-1.5V3Q1.5 1.5 3 1.5Z\"/>", 0, 1],
  "boolean-union": ["<path d=\"M6 2a4 4 0 0 0-1 8 4 4 0 1 0 5-5 4 4 0 0 0-4-3Z\"/>", 0, 1],
  "constraints": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><rect x=\"5.5\" y=\"5.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M8 1.5v2 M8 12.5v2 M1.5 8h2 M12.5 8h2\"/>", 0, 1],
  "eraser": ["<path d=\"M2 8 8 2q1-1 2 0l4 4q1 1 0 2l-6 6H5l-3-3q-1-1 0-3Z M5 5l6 6 M8 14h6\"/>", 0, 1],
  "eyedropper": ["<path d=\"M3 10 10 3l3 3-7 7-4 1Z M9 2l5 5 M10 3l2-2 3 3-2 2\"/>", 0, 1],
  "gradient": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M5 2v12 M8 2v12 M11 2v12\"/>", 0, 1],
  "guides": ["<path d=\"M4 1.5v13 M12 1.5v13 M1.5 4h13 M1.5 12h13 M6.5 8h3\"/>", 0, 1],
  "height": ["<path d=\"M3 1.5h10 M3 14.5h10 M8 4v8 M6 6l2-2 2 2 M6 10l2 2 2-2\"/>", 0, 1],
  "layout-board": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M6 1.5v13 M10 1.5v13 M3.5 4.5v3 M8 4.5v6 M12 4.5v2\"/>", 0, 1],
  "layout-footer": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 10.5h13 M5 3v4 M11 3v4\"/>", 0, 1],
  "layout-header": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 5.5h13\"/>", 0, 1],
  "layout-masonry": ["<rect x=\"1.5\" y=\"1.5\" width=\"5\" height=\"8\" rx=\"1\"/><rect x=\"9.5\" y=\"1.5\" width=\"5\" height=\"4\" rx=\"1\"/><rect x=\"1.5\" y=\"12.5\" width=\"5\" height=\"2\" rx=\"1\"/><rect x=\"9.5\" y=\"8.5\" width=\"5\" height=\"6\" rx=\"1\"/>", 0, 1],
  "layout-split": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M8 1.5v13\"/>", 0, 1],
  "layout-three": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M6 1.5v13 M6 8h8.5\"/>", 0, 1],
  "mask": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><circle cx=\"8\" cy=\"8\" r=\"3.5\"/>", 0, 1],
  "node-add": ["<rect x=\"5.5\" y=\"5.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M1 8h4.5 M10.5 8H15 M8 1v3 M6.5 2.5h3\"/>", 0, 1],
  "node-remove": ["<rect x=\"5.5\" y=\"5.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M1 8h4.5 M10.5 8H15 M6.5 2.5h3\"/>", 0, 1],
  "paintbrush": ["<path d=\"M6 9 11.5 2q1-1 2 0t0 2L8 11 M6 9q-3-1-3 2t-2 3q6 1 7-3Z\"/>", 0, 1],
  "palette": ["<path d=\"M14 8a6 6 0 1 0-6 6h2q2 0 1-2t1-2h1q1 0 1-2Z\"/><circle cx=\"4\" cy=\"7\" r=\"0.7\"/><circle cx=\"6\" cy=\"4\" r=\"0.7\"/><circle cx=\"10\" cy=\"4.5\" r=\"0.7\"/>", 0, 1],
  "path": ["<path d=\"M3 11C3 2 13 14 13 5\"/><rect x=\"1.5\" y=\"11\" width=\"3\" height=\"3\" rx=\"0.5\"/><rect x=\"11.5\" y=\"2\" width=\"3\" height=\"3\" rx=\"0.5\"/>", 0, 1],
  "position-absolute": ["<rect x=\"4.5\" y=\"4.5\" width=\"7\" height=\"7\" rx=\"1\"/><path d=\"M1.5 5V1.5H5 M11 1.5h3.5V5 M14.5 11v3.5H11 M5 14.5H1.5V11\"/>", 0, 1],
  "position-fixed": ["<circle cx=\"8\" cy=\"8\" r=\"3\"/><path d=\"M8 1v4 M8 11v4 M1 8h4 M11 8h4\"/>", 0, 1],
  "rotate-clockwise": ["<g transform=\"translate(16 0) scale(-1 1)\"><path d=\"M2.5 5.5C3.45 3.43 5.55 2 8 2C11.31 2 14 4.69 14 8C14 11.31 11.31 14 8 14C5.39 14 3.17 12.33 2.34 10 M2.5 2v3.5H6\"/></g>", 0, 1],
  "snap": ["<path d=\"M2 3v5a6 6 0 0 0 12 0V3h-3v5a3 3 0 0 1-6 0V3Z M2 5h3 M11 5h3\"/>", 0, 1],
  "width": ["<path d=\"M1.5 3v10 M14.5 3v10 M4 8h8 M6 6 4 8l2 2 M10 6l2 2-2 2\"/>", 0, 1],
  "cart": ["<path d=\"M1.5 2.5h2l2 8h7l2-6h-10 M5.5 10.5l-1 2h8\"/><circle cx=\"6\" cy=\"14.5\" r=\"0.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"0.5\"/>", "<path d=\"M2 4h3l3 11h11l2-8H6 M8 15l-1 3h12\"/><circle cx=\"9\" cy=\"21\" r=\"1\"/><circle cx=\"18\" cy=\"21\" r=\"1\"/>", 1.5],
  "payment": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"2\"/><path d=\"M1.5 6.5h13 M4.5 9.5h3\"/>", "<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><path d=\"M3 10h18 M7 15h4\"/>", 1.5],
  "product": ["<path d=\"m1.5 4.5 6.5-3 6.5 3v7L8 14.5l-6.5-3Z M1.5 4.5L8 7.5l6.5-3 M8 7.5v7\"/>", "<path d=\"m3 7 9-4 9 4v10l-9 4-9-4Z M3 7l9 4 9-4 M12 11v10 M8 5l9 4v4\"/>", 1.5],
  "receipt": ["<path d=\"M3.5 1.5h9v13l-2-1.5L8 14.5l-2.5-1.5-2 1.5Z M5.5 5.5h5 M5.5 8.5h5\"/>", "<path d=\"M5 3h14v18l-3-2-4 2-4-2-3 2Z M8 7h8 M8 11h8 M8 15h4\"/>", 1.5],
  "at": ["<circle cx=\"7\" cy=\"8\" r=\"3\"/><path d=\"M10 5v5c0 3 5 1 4-3a6.5 6.5 0 1 0-2 6\"/>", 0, 1],
  "bell": ["<path d=\"M2.5 11.5h11l-1.5-3v-3a4 4 0 0 0-8 0v3Z M6 14h4\"/>", 0, 1],
  "chat": ["<path d=\"M3 1.5h7q1.5 0 1.5 1.5v5q0 1.5-1.5 1.5H5.5l-4 3V3q0-1.5 1.5-1.5Z M6 11.5h5l3.5 3v-8q0-1.5-1.5-1.5\"/>", 0, 1],
  "comment": ["<path d=\"M3 2.5h10q1.5 0 1.5 1.5v6q0 1.5-1.5 1.5H6l-4.5 3V4q0-1.5 1.5-1.5Z\"/>", "<g transform=\"scale(1.5)\"><path d=\"M3 2.5h10q1.5 0 1.5 1.5v6q0 1.5-1.5 1.5H6l-4.5 3V4q0-1.5 1.5-1.5Z\"/><path d=\"M4.5 5.5h7 M4.5 8h4\"/></g>", 1],
  "mail": ["<rect x=\"1.5\" y=\"3\" width=\"13\" height=\"10\" rx=\"1.5\"/><path d=\"M2 3.5 8 8l6-4.5\"/>", 0, 1],
  "notification-off": ["<path d=\"M1.5 1.5l13 13 M5.5 2a4 4 0 0 1 6.5 3v3 M4 5v3.5l-1.5 3h9 M6 14h4\"/>", 0, 1],
  "send": ["<path d=\"M1.5 1.5 14.5 8 1.5 14.5 4 8Z M4 8h10.5\"/>", 0, 1],
  "audio": ["<path d=\"M2.5 6v4 M5.5 3v10 M8.5 1v14 M11.5 4v8 M14.5 6v4\"/>", "<path d=\"M3 10v4 M7 6v12 M12 3v18 M17 7v10 M21 10v4\"/>", 1.5],
  "collection": ["<rect x=\"1.5\" y=\"6.5\" width=\"13\" height=\"8\" rx=\"1.5\"/><path d=\"M3.5 3.5h9 M5.5 1.5h5\"/>", "<rect x=\"3\" y=\"9\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M6 6h12 M8 3h8\"/>", 1.5],
  "document": ["<rect x=\"3.5\" y=\"1.5\" width=\"9\" height=\"13\" rx=\"1.5\"/><path d=\"M5.5 5.5h5 M5.5 8.5h5 M5.5 11.5h3\"/>", "<rect x=\"5\" y=\"3\" width=\"14\" height=\"18\" rx=\"2\"/><path d=\"M8 8h8 M8 12h8 M8 16h5\"/>", 1.5],
  "video": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"2\"/><path d=\"M6.5 5.5l4 2.5-4 2.5Z\"/>", "<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><path d=\"M10 9l5 3-5 3Z\"/>", 1.5],
  "braces": ["<path d=\"M6 2H5q-2 0-2 2v2q0 2-1.5 2Q3 8 3 10v2q0 2 2 2h1 M10 2h1q2 0 2 2v2q0 2 1.5 2Q13 8 13 10v2q0 2-2 2h-1\"/>", 0, 1],
  "brackets": ["<path d=\"M6 2H3v12h3 M10 2h3v12h-3\"/>", 0, 1],
  "branch": ["<circle cx=\"4\" cy=\"3\" r=\"1.5\"/><circle cx=\"12\" cy=\"3\" r=\"1.5\"/><circle cx=\"4\" cy=\"13\" r=\"1.5\"/><path d=\"M4 4.5v7 M12 4.5v1q0 3-4 3H4\"/>", 0, 1],
  "chart-area": ["<path d=\"M2 2v12h12 M4 12V8l3-3 3 3 4-5v9Z\"/>", 0, 1],
  "chart-bar": ["<path d=\"M2 2v12h12\"/><rect x=\"5\" y=\"8\" width=\"2\" height=\"4\" rx=\"0.5\"/><rect x=\"10\" y=\"4\" width=\"2\" height=\"8\" rx=\"0.5\"/>", 0, 1],
  "chart-line": ["<path d=\"M2 2v12h12 M4 10l3-4 3 2 4-5\"/>", 0, 1],
  "chart-pie": ["<path d=\"M7 1.5a6.5 6.5 0 1 0 7.5 7.5H7Z M10 1.5V6h4.5A6 6 0 0 0 10 1.5Z\"/>", 0, 1],
  "commit": ["<path d=\"M1.5 8h3 M11.5 8h3\"/><circle cx=\"8\" cy=\"8\" r=\"3.5\"/>", 0, 1],
  "compass": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M10.5 5.5 9 9l-3.5 1.5L7 7Z\"/>", 0, 1],
  "data-rows": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 6h13 M1.5 10h13 M4 3.5h1 M4 8h1 M4 12h1\"/>", 0, 1],
  "drag-handle": ["<circle cx=\"5.5\" cy=\"3\" r=\"0.5\"/><circle cx=\"5.5\" cy=\"8\" r=\"0.5\"/><circle cx=\"5.5\" cy=\"13\" r=\"0.5\"/><circle cx=\"10.5\" cy=\"3\" r=\"0.5\"/><circle cx=\"10.5\" cy=\"8\" r=\"0.5\"/><circle cx=\"10.5\" cy=\"13\" r=\"0.5\"/>", 0, 1],
  "flag": ["<path d=\"M3 14.5v-13 M3 2h10l-2 3 2 3H3\"/>", 0, 1],
  "location-arrow": ["<path d=\"M2 6 14 2 10 14 7.5 8.5Z\"/>", 0, 1],
  "merge": ["<circle cx=\"4\" cy=\"3\" r=\"1.5\"/><circle cx=\"12\" cy=\"3\" r=\"1.5\"/><circle cx=\"8\" cy=\"13\" r=\"1.5\"/><path d=\"M4 4.5v1q0 2.5 4 3 M12 4.5v1q0 2.5-4 3v3\"/>", 0, 1],
  "pin-board": ["<path d=\"M5 2h6 M5.5 2v4L3 9h10l-2.5-3V2 M8 9v5\"/>", 0, 1],
  "plug": ["<path d=\"M5 1.5v4 M11 1.5v4 M3.5 5.5h9V8a4.5 4.5 0 0 1-9 0Z M8 12.5v2\"/>", 0, 1],
  "power": ["<path d=\"M8 1.5v6 M4 3.5a6 6 0 1 0 8 0\"/>", 0, 1],
  "pull-request": ["<circle cx=\"3\" cy=\"3\" r=\"1.5\"/><circle cx=\"3\" cy=\"13\" r=\"1.5\"/><circle cx=\"13\" cy=\"13\" r=\"1.5\"/><path d=\"M3 4.5v7 M13 11.5V6q0-3-3-3H8 M10 1 8 3l2 2\"/>", 0, 1],
  "server": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"5\" rx=\"1.5\"/><rect x=\"1.5\" y=\"9.5\" width=\"13\" height=\"5\" rx=\"1.5\"/><circle cx=\"4\" cy=\"4\" r=\"0.5\"/><circle cx=\"4\" cy=\"12\" r=\"0.5\"/><path d=\"M8 4h3 M8 12h3\"/>", 0, 1],
  "settings": ["<path d=\"M12.830 6.706L14.437 7.095L14.437 8.905L12.830 9.294L12.330 10.500L13.191 11.912L11.912 13.191L10.500 12.330L9.294 12.830L8.905 14.437L7.095 14.437L6.706 12.830L5.500 12.330L4.088 13.191L2.809 11.912L3.670 10.500L3.170 9.294L1.563 8.905L1.563 7.095L3.170 6.706L3.670 5.500L2.809 4.088L4.088 2.809L5.500 3.670L6.706 3.170L7.095 1.563L8.905 1.563L9.294 3.170L10.500 3.670L11.912 2.809L13.191 4.088L12.330 5.500Z\"/><circle cx=\"8\" cy=\"8\" r=\"2.5\"/>", 0, 1],
  "table": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 6h13 M1.5 10h13 M6 6v8.5\"/>", 0, 1],
  "trend-down": ["<path d=\"M2 4l4 4 3-2 5 7 M9 13h5V8\"/>", 0, 1],
  "trend-up": ["<path d=\"M2 12l4-4 3 2 5-7 M9 3h5v5\"/>", 0, 1],
  "wifi": ["<path d=\"M1.5 5C5 1.5 11 1.5 14.5 5 M4 8c2-2 6-2 8 0 M6.5 11q1.5-1.5 3 0\"/><circle cx=\"8\" cy=\"13.5\" r=\"0.5\"/>", 0, 1],
  "code": ["<path d=\"M5 3 1.5 8 5 13 M11 3l3.5 5-3.5 5 M9 1.5l-2 13\"/>", 0, 1],
  "desktop": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M8 10.5v4 M5 14.5h6\"/>", 0, 1],
  "laptop": ["<rect x=\"3\" y=\"2\" width=\"10\" height=\"9\" rx=\"1.5\"/><path d=\"M3 11 1.5 13q-.5 1 1 1h11q1.5 0 1-1L13 11\"/>", 0, 1],
  "phone": ["<rect x=\"4\" y=\"1.5\" width=\"8\" height=\"13\" rx=\"2\"/><path d=\"M7 12.5h2\"/>", "<g transform=\"scale(1.5)\"><rect x=\"4\" y=\"1.5\" width=\"8\" height=\"13\" rx=\"2\"/><path d=\"M7 12.5h2\"/><path d=\"M7 3.5h2\"/></g>", 1],
  "tablet": ["<rect x=\"2.5\" y=\"1.5\" width=\"11\" height=\"13\" rx=\"1.5\"/><path d=\"M7 12.5h2\"/>", 0, 1],
  "terminal": ["<rect x=\"1.5\" y=\"2.5\" width=\"13\" height=\"11\" rx=\"1.5\"/><path d=\"M4 5.5 7 8l-3 2.5 M9 10.5h3\"/>", 0, 1],
  "bookmark": ["<path d=\"M5 1.5h6q1.5 0 1.5 1.5v11.5L8 11l-4.5 3.5V3Q3.5 1.5 5 1.5Z\"/>", 0, 1],
  "coffee": ["<path d=\"M2 5.5h9v5a4.5 4.5 0 0 1-9 0Z M11 6h1.5a2.5 2.5 0 0 1 0 5H11 M4 1.5v1.5 M8 1.5v1.5\"/>", 0, 1],
  "filter": ["<path d=\"M1.5 2.5h13l-5 6v5l-3 1v-6Z\"/>", 0, 1],
  "globe": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><ellipse cx=\"8\" cy=\"8\" rx=\"2.5\" ry=\"6.5\"/><path d=\"M1.5 8h13\"/>", 0, 1],
  "heart": ["<path d=\"M8 14s-7-4.5-7-8.5C1 1 6 1 8 4c2-3 7-3 7 1.5C15 9.5 8 14 8 14Z\"/>", 0, 1],
  "key": ["<circle cx=\"5\" cy=\"5\" r=\"3.5\"/><path d=\"M7.5 7.5l7 7 M10 10l2-2 M12 12l2-2\"/>", 0, 1],
  "pin": ["<path d=\"M8 14.5s5-5 5-8a5 5 0 0 0-10 0c0 3 5 8 5 8Z\"/><circle cx=\"8\" cy=\"6.5\" r=\"1.5\"/>", 0, 1],
  "shield": ["<path d=\"M8 1.5 14 4v4c0 3-3 5-6 6.5C5 13 2 11 2 8V4Z\"/>", "<g transform=\"scale(1.5)\"><path d=\"M8 1.5 14 4v4c0 3-3 5-6 6.5C5 13 2 11 2 8V4Z\"/><path d=\"M5 8 7 10l4-4\"/></g>", 1],
  "sort": ["<path d=\"M5 1.5v13 M1.5 5 5 1.5 8.5 5 M11 14.5v-13 M7.5 11l3.5 3.5 3.5-3.5\"/>", 0, 1],
  "tag": ["<path d=\"M3 1.5h4.5q.5 0 1 .5l5.5 5.5q.5.5 0 1L8.5 14q-.5.5-1 0L2 8.5q-.5-.5-.5-1V3Q1.5 1.5 3 1.5Z\"/><circle cx=\"5\" cy=\"5\" r=\"1\"/>", 0, 1],
  "archive": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"4\" rx=\"1.5\"/><path d=\"M2.5 5.5V13q0 1.5 1.5 1.5h8q1.5 0 1.5-1.5V5.5 M6 8.5h4\"/>", 0, 1],
  "cloud": ["<path d=\"M4.5 12.5H11.5C13.16 12.5 14.5 11.16 14.5 9.5C14.5 7.84 13.16 6.5 11.5 6.5C11.5 4.29 9.93 2.5 8 2.5C6.07 2.5 4.5 4.29 4.5 6.5C2.84 6.5 1.5 7.84 1.5 9.5C1.5 11.16 2.84 12.5 4.5 12.5Z\"/>", 0, 1],
  "database": ["<ellipse cx=\"8\" cy=\"3.5\" rx=\"6\" ry=\"2\"/><path d=\"M2 3.5v9c0 2.5 12 2.5 12 0v-9 M2 8c0 2.5 12 2.5 12 0\"/>", 0, 1],
  "file": ["<path d=\"M4.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-7Q3 14.5 3 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/>", 0, 1],
  "file-add": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "file-audio": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M6 8v3 M8.5 7v5 M11 8v3\"/>", 0, 1],
  "file-chart": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M5 12v-2 M8 12V8 M11 12V7\"/>", 0, 1],
  "file-check": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M9 12l2 2 3.5-4\"/>", 0, 1],
  "file-close": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M10 10l4 4 M14 10l-4 4\"/>", 0, 1],
  "file-code": ["<path d=\"M4.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-7Q3 14.5 3 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M6.5 8 5 9.5 6.5 11 M9.5 8 11 9.5 9.5 11\"/>", 0, 1],
  "file-download": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M12 9v5.5 M9.5 12l2.5 2.5 2.5-2.5\"/>", 0, 1],
  "file-image": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M4.5 12 7 9l2 2 2-2\"/>", 0, 1],
  "file-lock": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><rect x=\"9.5\" y=\"11.5\" width=\"5\" height=\"3\" rx=\"1\"/><path d=\"M10.5 11.5V10a1.5 1.5 0 0 1 3 0v1.5\"/>", 0, 1],
  "file-remove": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M9.5 12h5\"/>", 0, 1],
  "file-search": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><circle cx=\"11\" cy=\"11\" r=\"2\"/><path d=\"M12.5 12.5l2 2\"/>", 0, 1],
  "file-settings": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><circle cx=\"8\" cy=\"10\" r=\"2\"/><path d=\"M8 7v1 M8 12v1 M5 10h1 M10 10h1\"/>", 0, 1],
  "file-table": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><rect x=\"4.5\" y=\"7.5\" width=\"7\" height=\"5\" rx=\"1\"/><path d=\"M4.5 10h7 M8 7.5v5\"/>", 0, 1],
  "file-text": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M5 8h6 M5 11h4\"/>", 0, 1],
  "file-upload": ["<path d=\"M8 14.5H3.5Q2 14.5 2 13V3q0-1.5 1.5-1.5H8l4 4V7 M8 1.5V4q0 1.5 1.5 1.5H12\"/><path d=\"M12 14.5V9 M9.5 11.5 12 9l2.5 2.5\"/>", 0, 1],
  "file-video": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M6 8l4 2-4 2Z\"/>", 0, 1],
  "file-zip": ["<path d=\"M3.5 1.5H9l4 4V13q0 1.5-1.5 1.5h-8Q2 14.5 2 13V3q0-1.5 1.5-1.5Z M9 1.5V4q0 1.5 1.5 1.5H13\"/><path d=\"M7 7h2 M7 9h2 M7 11h2\"/>", 0, 1],
  "folder": ["<path d=\"M1.5 6V4q0-1.5 1.5-1.5h3.5l2 2H13q1.5 0 1.5 1.5v7q0 1.5-1.5 1.5H3q-1.5 0-1.5-1.5Z M1.5 6h7\"/>", 0, 1],
  "folder-add": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "folder-check": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M9 12l2 2 3.5-4\"/>", 0, 1],
  "folder-close": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M10 10l4 4 M14 10l-4 4\"/>", 0, 1],
  "folder-download": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M12 9v5.5 M9.5 12l2.5 2.5 2.5-2.5\"/>", 0, 1],
  "folder-lock": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><rect x=\"9.5\" y=\"11.5\" width=\"5\" height=\"3\" rx=\"1\"/><path d=\"M10.5 11.5V10a1.5 1.5 0 0 1 3 0v1.5\"/>", 0, 1],
  "folder-open": ["<path d=\"M1.5 12.5V4q0-1.5 1.5-1.5h3.5l2 2H13q1.5 0 1.5 1.5 M2 13.5l1.8-6.3q.2-.7 1-.7h9q1 0 .7 1L12.9 13q-.2.5-1 .5Z\"/>", 0, 1],
  "folder-remove": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M9.5 12h5\"/>", 0, 1],
  "folder-search": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><circle cx=\"11\" cy=\"11\" r=\"2\"/><path d=\"M12.5 12.5l2 2\"/>", 0, 1],
  "folder-upload": ["<path d=\"M8 13.5H3q-1.5 0-1.5-1.5V4q0-1.5 1.5-1.5h3l2 2h5q1.5 0 1.5 1.5V7 M1.5 6H8\"/><path d=\"M12 14.5V9 M9.5 11.5 12 9l2.5 2.5\"/>", 0, 1],
  "image-add": ["<path d=\"M7 14.5H3Q1.5 14.5 1.5 13V3Q1.5 1.5 3 1.5h10q1.5 0 1.5 1.5v4 M1.5 11l4-4 3 3\"/><circle cx=\"5\" cy=\"4.5\" r=\"1\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "checkbox": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M4 8 7 11l5-6\"/>", 0, 1],
  "checkbox-empty": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/>", 0, 1],
  "checkbox-mixed": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M4.5 8h7\"/>", 0, 1],
  "cursor-text": ["<path d=\"M5 1.5h6 M8 1.5v13 M5 14.5h6\"/>", 0, 1],
  "form": ["<rect x=\"2\" y=\"1.5\" width=\"12\" height=\"13\" rx=\"1.5\"/><path d=\"M5 5h6 M5 8h6 M5 11h3\"/>", 0, 1],
  "input": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M5 5.5v5 M3.5 5.5h3 M3.5 10.5h3\"/>", 0, 1],
  "keyboard": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M4 6h1 M7.5 6h1 M11 6h1 M4 9.5h8\"/>", 0, 1],
  "number-input": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M5 6 6 5.5v5 M10 6.5l1-1 1 1 M10 9.5l1 1 1-1\"/>", 0, 1],
  "password": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><circle cx=\"4.5\" cy=\"8\" r=\"0.5\"/><circle cx=\"8\" cy=\"8\" r=\"0.5\"/><circle cx=\"11.5\" cy=\"8\" r=\"0.5\"/>", 0, 1],
  "radio": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/><circle cx=\"8\" cy=\"8\" r=\"2.5\"/>", 0, 1],
  "radio-empty": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/>", 0, 1],
  "select": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M9 7l2 2 2-2 M4 8h2\"/>", 0, 1],
  "slider": ["<path d=\"M1.5 8h4 M10.5 8h4\"/><circle cx=\"8\" cy=\"8\" r=\"2.5\"/>", 0, 1],
  "stepper": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"9\" rx=\"1.5\"/><path d=\"M6 3.5v9 M10 3.5v9 M3 8h1.5 M11 8h2 M12 7v2\"/>", 0, 1],
  "toggle-off": ["<rect x=\"1\" y=\"4\" width=\"14\" height=\"8\" rx=\"4\"/><circle cx=\"5\" cy=\"8\" r=\"2\"/>", 0, 1],
  "toggle-on": ["<rect x=\"1\" y=\"4\" width=\"14\" height=\"8\" rx=\"4\"/><circle cx=\"11\" cy=\"8\" r=\"2\"/>", 0, 1],
  "bring-front": ["<rect x=\"1.5\" y=\"1.5\" width=\"9\" height=\"9\" rx=\"1.5\"/><path d=\"M12.5 5.5h.5q1.5 0 1.5 1.5v6q0 1.5-1.5 1.5H7q-1.5 0-1.5-1.5v-.5\"/>", 0, 1],
  "component": ["<path d=\"M8 1.5 14.5 8 8 14.5 1.5 8Z\"/>", 0, 1],
  "component-set": ["<path d=\"M8 1l2 2-2 2-2-2Z\"/><path d=\"M3 6l2 2-2 2-2-2Z\"/><path d=\"M13 6l2 2-2 2-2-2Z\"/><path d=\"M8 11l2 2-2 2-2-2Z\"/>", 0, 1],
  "eye": ["<path d=\"M1 8c3-7 11-7 14 0-3 7-11 7-14 0Z\"/><circle cx=\"8\" cy=\"8\" r=\"2\"/>", 0, 1],
  "eye-off": ["<path d=\"M1.5 1.5l13 13 M5 3.5C9 2 13 4 15 8l-2 3 M10.5 12.5C6 14 3 12 1 8l2-3\"/>", 0, 1],
  "group": ["<path d=\"M1.5 5V1.5H5 M11 1.5h3.5V5 M14.5 11v3.5H11 M5 14.5H1.5V11\"/><rect x=\"5\" y=\"5\" width=\"6\" height=\"6\" rx=\"1\"/>", 0, 1],
  "layers": ["<path d=\"M8 1.5 14.5 5 8 8.5 1.5 5Z M1.5 8 8 11.5 14.5 8 M1.5 11 8 14.5 14.5 11\"/>", 0, 1],
  "lock": ["<rect x=\"3\" y=\"7\" width=\"10\" height=\"7\" rx=\"1.5\"/><path d=\"M5 7V4a3 3 0 0 1 6 0v3\"/>", "<g transform=\"scale(1.5)\"><rect x=\"3\" y=\"7\" width=\"10\" height=\"7\" rx=\"1.5\"/><path d=\"M5 7V4a3 3 0 0 1 6 0v3\"/><path d=\"M8 10v2\"/></g>", 1],
  "send-back": ["<rect x=\"5.5\" y=\"5.5\" width=\"9\" height=\"9\" rx=\"1.5\"/><path d=\"M3.5 10.5H3q-1.5 0-1.5-1.5V3q0-1.5 1.5-1.5h6q1.5 0 1.5 1.5v.5\"/>", 0, 1],
  "ungroup": ["<rect x=\"1.5\" y=\"1.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"9.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/><path d=\"M10 2h4v4 M2 10v4h4\"/>", 0, 1],
  "unlock": ["<rect x=\"3\" y=\"7\" width=\"10\" height=\"7\" rx=\"1.5\"/><path d=\"M5 7V4a3 3 0 0 1 6 0\"/>", "<g transform=\"scale(1.5)\"><rect x=\"3\" y=\"7\" width=\"10\" height=\"7\" rx=\"1.5\"/><path d=\"M5 7V4a3 3 0 0 1 6 0\"/><path d=\"M8 10v2\"/></g>", 1],
  "align-bottom": ["<path d=\"M1 14.5h14\"/><rect x=\"3\" y=\"3.5\" width=\"3\" height=\"8\" rx=\"0.5\"/><rect x=\"10\" y=\"7.5\" width=\"3\" height=\"4\" rx=\"0.5\"/>", 0, 1],
  "align-center": ["<path d=\"M8 1v.5 M8 7.5v1 M8 14.5v.5\"/><rect x=\"3.5\" y=\"3\" width=\"9\" height=\"3\" rx=\"0.5\"/><rect x=\"5.5\" y=\"10\" width=\"5\" height=\"3\" rx=\"0.5\"/>", 0, 1],
  "align-left": ["<path d=\"M1.5 1v14\"/><rect x=\"4.5\" y=\"3\" width=\"8\" height=\"3\" rx=\"0.5\"/><rect x=\"4.5\" y=\"10\" width=\"4\" height=\"3\" rx=\"0.5\"/>", 0, 1],
  "align-middle": ["<path d=\"M1 8h.5 M7.5 8h1 M14.5 8h.5\"/><rect x=\"3\" y=\"3.5\" width=\"3\" height=\"9\" rx=\"0.5\"/><rect x=\"10\" y=\"5.5\" width=\"3\" height=\"5\" rx=\"0.5\"/>", 0, 1],
  "align-right": ["<path d=\"M14.5 1v14\"/><rect x=\"3.5\" y=\"3\" width=\"8\" height=\"3\" rx=\"0.5\"/><rect x=\"7.5\" y=\"10\" width=\"4\" height=\"3\" rx=\"0.5\"/>", 0, 1],
  "align-top": ["<path d=\"M1 1.5h14\"/><rect x=\"3\" y=\"4.5\" width=\"3\" height=\"8\" rx=\"0.5\"/><rect x=\"10\" y=\"4.5\" width=\"3\" height=\"4\" rx=\"0.5\"/>", 0, 1],
  "columns": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M6 1.5v13 M10 1.5v13\"/>", 0, 1],
  "distribute-horizontal": ["<path d=\"M1.5 2v12 M14.5 2v12\"/><rect x=\"4.5\" y=\"4.5\" width=\"2\" height=\"7\" rx=\"0.5\"/><rect x=\"9.5\" y=\"4.5\" width=\"2\" height=\"7\" rx=\"0.5\"/>", 0, 1],
  "distribute-vertical": ["<path d=\"M2 1.5h12 M2 14.5h12\"/><rect x=\"4.5\" y=\"4.5\" width=\"7\" height=\"2\" rx=\"0.5\"/><rect x=\"4.5\" y=\"9.5\" width=\"7\" height=\"2\" rx=\"0.5\"/>", 0, 1],
  "gap-horizontal": ["<path d=\"M1.5 3v10 M14.5 3v10 M4 8h8 M6 6 4 8l2 2 M10 6l2 2-2 2\"/>", 0, 1],
  "gap-vertical": ["<path d=\"M3 1.5h10 M3 14.5h10 M8 4v8 M6 6l2-2 2 2 M6 10l2 2 2-2\"/>", 0, 1],
  "padding": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1\"/><rect x=\"5\" y=\"5\" width=\"6\" height=\"6\" rx=\"0.5\"/>", 0, 1],
  "rows": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 6h13 M1.5 10h13\"/>", 0, 1],
  "stack-horizontal": ["<rect x=\"1.5\" y=\"3\" width=\"5\" height=\"10\" rx=\"1\"/><rect x=\"9.5\" y=\"3\" width=\"5\" height=\"10\" rx=\"1\"/>", 0, 1],
  "stack-vertical": ["<rect x=\"3\" y=\"1.5\" width=\"10\" height=\"5\" rx=\"1\"/><rect x=\"3\" y=\"9.5\" width=\"10\" height=\"5\" rx=\"1\"/>", 0, 1],
  "wrap": ["<path d=\"M2 3h8a4 4 0 0 1 0 8H5 M8 8l-3 3 3 3 M2 7h3\"/>", 0, 1],
  "camera": ["<path d=\"M3 4.5h1.5q.5 0 .75-.5l.5-1q.25-.5.75-.5h3q.5 0 .75.5l.5 1q.25.5.75.5H13q1.5 0 1.5 1.5v7q0 1.5-1.5 1.5H3q-1.5 0-1.5-1.5V6q0-1.5 1.5-1.5Z\"/><circle cx=\"8\" cy=\"9\" r=\"3\"/>", 0, 1],
  "headphones": ["<path d=\"M3 8V6.5a5 5 0 0 1 10 0V8\"/><rect x=\"1.5\" y=\"8\" width=\"3\" height=\"6\" rx=\"1.5\"/><rect x=\"11.5\" y=\"8\" width=\"3\" height=\"6\" rx=\"1.5\"/>", 0, 1],
  "microphone": ["<rect x=\"5\" y=\"1.5\" width=\"6\" height=\"9\" rx=\"3\"/><path d=\"M2.5 7v1a5.5 5.5 0 0 0 11 0V7 M8 13.5v1 M5 14.5h6\"/>", 0, 1],
  "microphone-off": ["<path d=\"M1.5 1.5l13 13 M5 5v3a3 3 0 0 0 3 3 M5.5 2.5A3 3 0 0 1 11 4v3 M2.5 7v1A5.5 5.5 0 0 0 10 13 M13.5 7v1 M8 13.5v1 M5 14.5h6\"/>", 0, 1],
  "mute": ["<path d=\"M1.5 5.5H5l4-4v13l-4-4H1.5Z M11 6l4 4 M15 6l-4 4\"/>", 0, 1],
  "pause": ["<path d=\"M4.5 2v12 M11.5 2v12\"/>", 0, 1],
  "play": ["<path d=\"M4 1.5 14 8 4 14.5Z\"/>", 0, 1],
  "repeat": ["<path d=\"M3 6V4.5Q3 3 4.5 3H14 M11 1l3 2-3 2 M13 10v1.5q0 1.5-1.5 1.5H2 M5 11l-3 2 3 2\"/>", 0, 1],
  "shuffle": ["<path d=\"M2 4h3c3 0 3 8 6 8h3 M12 10l2 2-2 2 M2 12h3q1.5 0 2.5-2.5 M8.5 6.5Q9.5 4 11 4h3 M12 2l2 2-2 2\"/>", 0, 1],
  "skip-next": ["<path d=\"M2 2 11 8 2 14Z M14 2v12\"/>", 0, 1],
  "skip-previous": ["<path d=\"M14 2 5 8l9 6Z M2 2v12\"/>", 0, 1],
  "stop": ["<rect x=\"3\" y=\"3\" width=\"10\" height=\"10\" rx=\"1.5\"/>", 0, 1],
  "volume": ["<path d=\"M1.5 5.5H5l4-4v13l-4-4H1.5Z M12 4a6 6 0 0 1 0 8\"/>", 0, 1],
  "volume-low": ["<path d=\"M1.5 5.5H5l4-4v13l-4-4H1.5Z M12 6a3 3 0 0 1 0 4\"/>", 0, 1],
  "arrow-circle-down": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M8 5v6 M5 8l3 3 3-3\"/>", 0, 1],
  "arrow-circle-left": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M11 8H5 M8 5 5 8l3 3\"/>", 0, 1],
  "arrow-circle-right": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M5 8h6 M8 5l3 3-3 3\"/>", 0, 1],
  "arrow-circle-up": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M8 11V5 M5 8l3-3 3 3\"/>", 0, 1],
  "arrow-down": ["<path d=\"M8 2.5v11 M3.5 9 8 13.5 12.5 9\"/>", 0, 1],
  "arrow-down-left": ["<path d=\"M13 3 3 13 M3 5v8h8\"/>", 0, 1],
  "arrow-down-right": ["<path d=\"M3 3l10 10 M5 13h8V5\"/>", 0, 1],
  "arrow-left": ["<path d=\"M13.5 8h-11 M7 3.5 2.5 8 7 12.5\"/>", 0, 1],
  "arrow-left-right": ["<path d=\"M2 8h12 M5 5 2 8l3 3 M11 5l3 3-3 3\"/>", 0, 1],
  "arrow-right": ["<path d=\"M2.5 8h11 M9 3.5 13.5 8 9 12.5\"/>", 0, 1],
  "arrow-up": ["<path d=\"M8 13.5v-11 M3.5 7 8 2.5 12.5 7\"/>", 0, 1],
  "arrow-up-down": ["<path d=\"M8 2v12 M5 5l3-3 3 3 M5 11l3 3 3-3\"/>", 0, 1],
  "arrow-up-left": ["<path d=\"M13 13 3 3 M3 11V3h8\"/>", 0, 1],
  "arrow-up-right": ["<path d=\"M3 13 13 3 M5 3h8v8\"/>", 0, 1],
  "chevron-down": ["<path d=\"M3 6l5 5 5-5\"/>", 0, 1],
  "chevron-left": ["<path d=\"M10 3 5 8l5 5\"/>", 0, 1],
  "chevron-right": ["<path d=\"M6 3l5 5-5 5\"/>", 0, 1],
  "chevron-up": ["<path d=\"M3 10l5-5 5 5\"/>", 0, 1],
  "chevrons-down": ["<path d=\"M3 3l5 5 5-5 M3 8l5 5 5-5\"/>", 0, 1],
  "chevrons-left": ["<path d=\"M8 3 3 8l5 5 M13 3 8 8l5 5\"/>", 0, 1],
  "chevrons-right": ["<path d=\"M3 3l5 5-5 5 M8 3l5 5-5 5\"/>", 0, 1],
  "chevrons-up": ["<path d=\"M3 8l5-5 5 5 M3 13l5-5 5 5\"/>", 0, 1],
  "collapse": ["<path d=\"M2 2l4 4 M6 2v4H2 M14 2l-4 4 M10 2v4h4 M2 14l4-4 M2 10h4v4 M14 14l-4-4 M10 14v-4h4\"/>", 0, 1],
  "dashboard": ["<rect x=\"1.5\" y=\"1.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"9.5\" y=\"1.5\" width=\"5\" height=\"8\" rx=\"1\"/><rect x=\"1.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"9.5\" y=\"12.5\" width=\"5\" height=\"2\" rx=\"1\"/>", 0, 1],
  "enter": ["<path d=\"M13 2.5V8q0 2-2 2H2 M5 7l-3 3 3 3\"/>", 0, 1],
  "exit": ["<path d=\"M6 2H3.5Q2 2 2 3.5v9Q2 14 3.5 14H6 M6 8h8 M11 5l3 3-3 3\"/>", 0, 1],
  "expand": ["<path d=\"M2 6V2h4 M10 2h4v4 M14 10v4h-4 M6 14H2v-4 M2 2l4 4 M14 2l-4 4 M2 14l4-4 M14 14l-4-4\"/>", 0, 1],
  "grid": ["<rect x=\"1.5\" y=\"1.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"1.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"9.5\" y=\"1.5\" width=\"5\" height=\"5\" rx=\"1\"/><rect x=\"9.5\" y=\"9.5\" width=\"5\" height=\"5\" rx=\"1\"/>", 0, 1],
  "home": ["<path d=\"M1.5 7 8 1.5 14.5 7 M3 6v7q0 1.5 1.5 1.5h7q1.5 0 1.5-1.5V6 M6 14.5V11q0-1.5 1.5-1.5h1q1.5 0 1.5 1.5v3.5\"/>", 0, 1],
  "list": ["<path d=\"M5.5 3h9 M5.5 8h9 M5.5 13h9\"/><circle cx=\"2\" cy=\"3\" r=\"0.5\"/><circle cx=\"2\" cy=\"8\" r=\"0.5\"/><circle cx=\"2\" cy=\"13\" r=\"0.5\"/>", 0, 1],
  "log-in": ["<path d=\"M10 2h2.5Q14 2 14 3.5v9q0 1.5-1.5 1.5H10 M2 8h8 M7 5l3 3-3 3\"/>", 0, 1],
  "menu": ["<path d=\"M2 3.5h12 M2 8h12 M2 12.5h12\"/>", 0, 1],
  "more-horizontal": ["<circle cx=\"3\" cy=\"8\" r=\"0.6\"/><circle cx=\"8\" cy=\"8\" r=\"0.6\"/><circle cx=\"13\" cy=\"8\" r=\"0.6\"/>", 0, 1],
  "more-vertical": ["<circle cx=\"8\" cy=\"3\" r=\"0.6\"/><circle cx=\"8\" cy=\"8\" r=\"0.6\"/><circle cx=\"8\" cy=\"13\" r=\"0.6\"/>", 0, 1],
  "move": ["<path d=\"M8 1.5v13 M1.5 8h13 M6 3.5l2-2 2 2 M6 12.5l2 2 2-2 M3.5 6l-2 2 2 2 M12.5 6l2 2-2 2\"/>", 0, 1],
  "panel-bottom": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M1.5 10.5h13\"/>", 0, 1],
  "sidebar-left": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M5.5 1.5v13\"/>", 0, 1],
  "sidebar-right": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"1.5\"/><path d=\"M10.5 1.5v13\"/>", 0, 1],
  "book": ["<path d=\"M8 4C6 2 3 2 1.5 3v10C4 12 6 12 8 14c2-2 4-2 6.5-1V3C13 2 10 2 8 4Z M8 4v10\"/>", "<path d=\"M12 6C9 3 6 3 3 4v15c3-1 6-1 9 2 3-3 6-3 9-2V4c-3-1-6-1-9 2Z M12 6v15\"/>", 1.5],
  "building": ["<path d=\"M2.5 14.5v-13h8v13 M10.5 6.5h3v8 M1.5 14.5h13 M5.5 4.5h2 M5.5 7.5h2 M5.5 10.5h2\"/>", "<path d=\"M4 21V3h11v18 M15 9h5v12 M2 21h20 M8 7h3 M8 11h3 M8 15h3 M8 21v-3h3v3 M17 13h1 M17 17h1\"/>", 1.5],
  "light": ["<path d=\"M5.5 11.5c0-2-2-2-2-5a4.5 4.5 0 0 1 9 0c0 3-2 3-2 5Z M6 14.5h4 M6.5 6.5 8 8l1.5-1.5 M8 8v3.5\"/>", "<path d=\"M8 16c0-3-3-3-3-7a7 7 0 0 1 14 0c0 4-3 4-3 7Z M8 19h8 M10 22h4 M10 9l2 2 2-2 M12 11v5\"/>", 1.5],
  "plant": ["<path d=\"M8 11.5v-6 M8 7.5c-4 0-6-2-6-5 4 0 6 2 6 5Z M8 9.5c0-3 2-5 6-5 0 3-2 5-6 5Z M4.5 11.5h7l-1 3h-5Z\"/>", "<path d=\"M12 17V8 M12 11C7 11 4 8 4 4c5 0 8 2 8 7Z M12 14c0-5 3-8 8-8 0 5-3 8-8 8Z M7 17h10l-1 5H8Z\"/>", 1.5],
  "handoff": ["<path d=\"M1.5 4.5h12 M10.5 1.5l3 3-3 3 M14.5 11.5h-12 M5.5 8.5l-3 3 3 3\"/>", "<path d=\"M3 7h16 M15 3l4 4-4 4 M21 17H5 M9 13l-4 4 4 4\"/>", 1.5],
  "invite": ["<circle cx=\"5.5\" cy=\"4.5\" r=\"2\"/><path d=\"M1.5 14.5v-2a4 4 0 0 1 6.5-3 M12 9v5 M9.5 11.5h5\"/>", "<circle cx=\"8\" cy=\"7\" r=\"3\"/><path d=\"M2 21v-2a6 6 0 0 1 10-4 M18 13v8 M14 17h8\"/>", 1.5],
  "person": ["<circle cx=\"8\" cy=\"4.5\" r=\"2.5\"/><path d=\"M3.5 14.5v-1a4.5 4.5 0 0 1 9 0v1\"/>", "<circle cx=\"12\" cy=\"7\" r=\"3.5\"/><path d=\"M5 21v-2a7 7 0 0 1 14 0v2\"/>", 1.5],
  "person-add": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><path d=\"M12 9.5v5 M9.5 12h5\"/>", 0, 1],
  "person-check": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><path d=\"M9 12l2 2 3.5-4\"/>", 0, 1],
  "person-close": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><path d=\"M10 10l4 4 M14 10l-4 4\"/>", 0, 1],
  "person-lock": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><rect x=\"9.5\" y=\"11.5\" width=\"5\" height=\"3\" rx=\"1\"/><path d=\"M10.5 11.5V10a1.5 1.5 0 0 1 3 0v1.5\"/>", 0, 1],
  "person-remove": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><path d=\"M9.5 12h5\"/>", 0, 1],
  "person-search": ["<circle cx=\"6\" cy=\"4.5\" r=\"2.5\"/><path d=\"M1.5 14v-1a4.5 4.5 0 0 1 7-3.75\"/><circle cx=\"11\" cy=\"11\" r=\"2\"/><path d=\"M12.5 12.5l2 2\"/>", 0, 1],
  "team": ["<circle cx=\"5.5\" cy=\"4.5\" r=\"2\"/><path d=\"M1.5 14.5v-2a4 4 0 0 1 8 0v2 M11 3a2 2 0 0 1 0 4 M11.5 9.5a3 3 0 0 1 3 3v2\"/>", "<circle cx=\"9\" cy=\"7\" r=\"3\"/><path d=\"M3 21v-3a6 6 0 0 1 12 0v3 M16 4a3 3 0 0 1 0 6 M18 14a5 5 0 0 1 3 4v3\"/>", 1.5],
  "calendar": ["<rect x=\"1.5\" y=\"3.5\" width=\"13\" height=\"11\" rx=\"1.5\"/><path d=\"M4.5 1.5v4 M11.5 1.5v4 M1.5 7.5h13\"/><rect x=\"4.5\" y=\"10.5\" width=\"2\" height=\"2\" rx=\"0.5\"/>", "<rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7 3v4 M17 3v4 M3 10h18\"/><rect x=\"7\" y=\"14\" width=\"3\" height=\"3\" rx=\"0.5\"/>", 1.5],
  "milestone": ["<path d=\"M4.5 14.5v-13 M4.5 2.5h9l-2 3 2 3h-9 M2.5 14.5h4\"/>", "<path d=\"M6 21V3 M6 4h13l-3 4 3 4H6 M3 21h6\"/>", 1.5],
  "project": ["<path d=\"M1.5 5.5v-2q0-1 1-1h4l2 3h5q1 0 1 1v7q0 1-1 1h-11q-1 0-1-1Z M1.5 5.5h7\"/>", "<path d=\"M3 8V6q0-2 2-2h5l3 4h6q2 0 2 2v9q0 2-2 2H5q-2 0-2-2Z M3 8h10\"/>", 1.5],
  "workspace": ["<rect x=\"1.5\" y=\"1.5\" width=\"13\" height=\"13\" rx=\"2\"/><path d=\"M1.5 5.5h13 M5.5 5.5v9\"/>", "<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3\"/><path d=\"M3 9h18 M9 9v12 M6 6h.01\"/>", 1.5],
  "clock": ["<circle cx=\"8\" cy=\"8\" r=\"6.5\"/><path d=\"M8 4v4l3 2\"/>", 0, 1],
  "error": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/><path d=\"M5.75 5.75l4.5 4.5 M10.25 5.75l-4.5 4.5\"/>", 0, 1],
  "help": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/><path d=\"M5.75 5.75C5.75 3 10.25 3 10.25 5.75C10.25 7.5 8 7.5 8 9\"/><circle cx=\"8\" cy=\"11.25\" r=\".65\" fill=\"currentColor\" stroke=\"none\"/>", 0, 1],
  "history": ["<path d=\"M2.5 5.5C3.45 3.43 5.55 2 8 2C11.31 2 14 4.69 14 8C14 11.31 11.31 14 8 14C5.39 14 3.17 12.33 2.34 10 M2.5 2v3.5H6 M8 4.5V8l2.5 1.5\"/>", 0, 1],
  "info": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/><circle cx=\"8\" cy=\"5\" r=\".65\" fill=\"currentColor\" stroke=\"none\"/><path d=\"M8 7.5v3.5\"/>", 0, 1],
  "loading": ["<path d=\"M8 2a6 6 0 1 1-6 6\"/>", 0, 1],
  "success": ["<circle cx=\"8\" cy=\"8\" r=\"6\"/><path d=\"M4.75 8 7 10.25 11.25 5.75\"/>", 0, 1],
  "warning": ["<path d=\"M7.1 2.5q.9-1.5 1.8 0l5.4 9.5q.9 1.5-.9 1.5H2.6q-1.8 0-.9-1.5Z M8 5.75v3.5\"/><circle cx=\"8\" cy=\"11.25\" r=\".65\" fill=\"currentColor\" stroke=\"none\"/>", 0, 1],
  "bold": ["<path d=\"M4 2h5a3 3 0 0 1 0 6H4V2 M4 8h5.5a3 3 0 0 1 0 6H4Z\"/>", 0, 1],
  "heading": ["<path d=\"M3 2v12 M13 2v12 M3 8h10\"/>", 0, 1],
  "indent-decrease": ["<path d=\"M7 3h7 M7 8h7 M7 13h7 M4.5 5 1.5 8l3 3\"/>", 0, 1],
  "indent-increase": ["<path d=\"M7 3h7 M7 8h7 M7 13h7 M1.5 5 4.5 8l-3 3\"/>", 0, 1],
  "italic": ["<path d=\"M7 2h6 M3 14h6 M10 2 6 14\"/>", 0, 1],
  "letter-spacing": ["<path d=\"M3 10 6.5 2 10 10 M4.5 7h4 M1.5 14h13 M3 12.5 1.5 14 M13 12.5 14.5 14\"/>", 0, 1],
  "line-height": ["<path d=\"M2.5 2v12 M1 3.5 2.5 2 4 3.5 M1 12.5 2.5 14 4 12.5 M7 3h7 M7 8h7 M7 13h7\"/>", 0, 1],
  "paragraph": ["<path d=\"M9 14V2H6a3.5 3.5 0 0 0 0 7h3 M9 2h5 M12.5 2v12\"/>", 0, 1],
  "quote": ["<rect x=\"2\" y=\"3\" width=\"4\" height=\"6\" rx=\"1\"/><rect x=\"10\" y=\"3\" width=\"4\" height=\"6\" rx=\"1\"/><path d=\"M6 9q0 4-4 4 M14 9q0 4-4 4\"/>", 0, 1],
  "strikethrough": ["<path d=\"M12 4C11 1 5 1 4 4c-.5 2 2 3 4 3 M1.5 8h13 M5 11c1 4 8 3 7-1\"/>", 0, 1],
  "text-align-center": ["<path d=\"M2 3h12 M4 6.5h8 M2 10h12 M4 13.5h8\"/>", 0, 1],
  "text-align-left": ["<path d=\"M2 3h12 M2 6.5h8 M2 10h12 M2 13.5h8\"/>", 0, 1],
  "text-align-right": ["<path d=\"M2 3h12 M6 6.5h8 M2 10h12 M6 13.5h8\"/>", 0, 1],
  "text-justify": ["<path d=\"M2 3h12 M2 6.5h12 M2 10h12 M2 13.5h12\"/>", 0, 1],
  "text-size": ["<path d=\"M1.5 3h8 M5.5 3v10 M3.5 13h4 M10 7h5 M12.5 7v6\"/>", 0, 1],
  "underline": ["<path d=\"M3.5 2v6a4.5 4.5 0 0 0 9 0V2 M2 14h12\"/>", 0, 1],
};
const GROUPS = [["AI & automation",["context","prompt","refine","workflow"]],["Actions",["check","clipboard","close","copy","download","duplicate","edit","external-link","link","minus","plus","redo","refresh","save","search","share","trash","undo","unlink","upload"]],["App essentials",["award","bag","bell-add","briefcase","calendar-check","calendar-clock","calendar-range","credit-card-add","gift","rocket","sparkles","wallet"]],["Appearance",["contrast","corner-radius","fill","moon","opacity","stroke","sun"]],["Canvas",["anchor","crop","cursor","cursor-direct","diamond","ellipse","fit-view","flip-horizontal","flip-vertical","frame","hand","image","line","pen","pencil","polygon","rectangle","rotate","ruler","star","text","triangle","zoom-in","zoom-out"]],["Canvas & layout",["aspect-ratio","bezier","boolean-exclude","boolean-intersect","boolean-subtract","boolean-union","constraints","eraser","eyedropper","gradient","guides","height","layout-board","layout-footer","layout-header","layout-masonry","layout-split","layout-three","mask","node-add","node-remove","paintbrush","palette","path","position-absolute","position-fixed","rotate-clockwise","snap","width"]],["Commerce",["cart","payment","product","receipt"]],["Communication",["at","bell","chat","comment","mail","notification-off","send"]],["Content",["audio","collection","document","video"]],["Data & tools",["braces","brackets","branch","chart-area","chart-bar","chart-line","chart-pie","commit","compass","data-rows","drag-handle","flag","location-arrow","merge","pin-board","plug","power","pull-request","server","settings","table","trend-down","trend-up","wifi"]],["Devices",["code","desktop","laptop","phone","tablet","terminal"]],["Everyday",["bookmark","coffee","filter","globe","heart","key","pin","shield","sort","tag"]],["Files",["archive","cloud","database","file","file-add","file-audio","file-chart","file-check","file-close","file-code","file-download","file-image","file-lock","file-remove","file-search","file-settings","file-table","file-text","file-upload","file-video","file-zip","folder","folder-add","folder-check","folder-close","folder-download","folder-lock","folder-open","folder-remove","folder-search","folder-upload","image-add"]],["Forms",["checkbox","checkbox-empty","checkbox-mixed","cursor-text","form","input","keyboard","number-input","password","radio","radio-empty","select","slider","stepper","toggle-off","toggle-on"]],["Layers",["bring-front","component","component-set","eye","eye-off","group","layers","lock","send-back","ungroup","unlock"]],["Layout",["align-bottom","align-center","align-left","align-middle","align-right","align-top","columns","distribute-horizontal","distribute-vertical","gap-horizontal","gap-vertical","padding","rows","stack-horizontal","stack-vertical","wrap"]],["Media",["camera","headphones","microphone","microphone-off","mute","pause","play","repeat","shuffle","skip-next","skip-previous","stop","volume","volume-low"]],["Navigation",["arrow-circle-down","arrow-circle-left","arrow-circle-right","arrow-circle-up","arrow-down","arrow-down-left","arrow-down-right","arrow-left","arrow-left-right","arrow-right","arrow-up","arrow-up-down","arrow-up-left","arrow-up-right","chevron-down","chevron-left","chevron-right","chevron-up","chevrons-down","chevrons-left","chevrons-right","chevrons-up","collapse","dashboard","enter","exit","expand","grid","home","list","log-in","menu","more-horizontal","more-vertical","move","panel-bottom","sidebar-left","sidebar-right"]],["Objects",["book","building","light","plant"]],["People",["handoff","invite","person","person-add","person-check","person-close","person-lock","person-remove","person-search","team"]],["Projects",["calendar","milestone","project","workspace"]],["Status",["clock","error","help","history","info","loading","success","warning"]],["Typography",["bold","heading","indent-decrease","indent-increase","italic","letter-spacing","line-height","paragraph","quote","strikethrough","text-align-center","text-align-left","text-align-right","text-justify","text-size","underline"]]];
/* @icons:end */

export function Icon({ name = "star", size = "lg", tone = "inherit", label, style, ...rest }) {
  const drawing = DRAWINGS[name] || DRAWINGS.star;
  const small = SMALL[size];
  const grid = small ? 16 : 24;
  const body = !drawing ? "" : small ? drawing[0] : drawing[1] || `<g transform="scale(1.5)">${drawing[0]}</g>`;
  const stroke = small || !drawing ? 1 : drawing[1] ? drawing[2] : 1;
  const box = SIZES[size] || SIZES.lg;
  return (
    <svg
      xmlns="http://www.w3.org/2000/svg"
      viewBox={`0 0 ${grid} ${grid}`}
      fill="none"
      stroke="currentColor"
      strokeWidth={stroke}
      strokeLinecap="round"
      strokeLinejoin="round"
      focusable="false"
      role={label ? "img" : undefined}
      aria-label={label || undefined}
      aria-hidden={label ? undefined : true}
      data-icon={name}
      style={{ width: box, height: box, flex: "none", display: "inline-block", verticalAlign: "middle", color: tone && tone !== "inherit" ? `var(--dt-text-${tone})` : undefined, ...style }}
      dangerouslySetInnerHTML={{ __html: body }}
      {...rest}
    />
  );
}

/* Every name in the library, in catalogue order, and the names by category
   ([category, names] pairs), for pickers. */
Icon.names = Object.keys(DRAWINGS);
Icon.groups = GROUPS;

In context

Icon also appears on the content reference cards, alongside the rest of its family.