Skip to content

Icon

  • Layer: Primitive / Icon library
  • Base: lucide-solid (ISC license)

The Icon primitive is the canonical icon component. Pass exactly one of name (curated UI affordance) or kind (document type id; mapped to a Lucide glyph). Stroke width is fixed at 1.6, colour is driven by tone, and there is no drop-shadow — it stays plane-1-safe.

One Lucide glyph per type_id

Curated 16-name set

accent / default / muted / tertiary / error

goal kind at 14 / 16 / 20 / 24 / 32 px

PropTypeDefaultDescription
nameIconNameCurated UI-affordance glyph. Mutually exclusive with kind.
kindIconKindDocument type_id. Mutually exclusive with name.
sizenumber16Width and height in px.
toneIconTone"default"Maps to --colors-* tokens.
classstringForwarded to the underlying SVG.
kindLucide
draftNotepadTextDashed
diaryBookHeart
noteStickyNote
goalTarget
worklogClipboardList
follow-throughArrowRight
ideaLightbulb
observationEye
menteeUserStar
documentFileText
decisionGitBranch
researchLibraryBig
import { Icon } from "@cypskytech/design-system";
<Icon kind="idea" size={16} tone="accent" />
<Icon name="search" size={20} tone="muted" />