Skip to content

DocIcon

  • Layer: Primitive / Icon library
  • Base: Custom inline SVG

Part of the vault icon library. Icons are accent-coloured SVGs — stroke/fill driven by var(--accent) set on the parent container. Glow via CSS drop-shadow filter consuming var(--accent-rgb).

One icon per supported type

diary
note
goal
worklog
follow-through
idea
observation
mentee
document
decision
research

goal icon at 14 / 18 / 22 / 28 / 36 px

14px
18px
22px
28px
36px
PropTypeDefaultDescription
typeIdstringrequiredDocument type key — determines which icon is rendered
sizenumber22Width and height of the SVG in px
typeIdIconDescription
"diary"Ruled notebookRuled notebook with side bookmarks
"note"Dog-eared pageDog-eared sheet with two ruled lines
"goal"CrosshairThree concentric circles with cardinal tick marks
"worklog"BriefcaseBriefcase with handle and two inner lines
"follow-through"Arrow-throughHorizontal line piercing into a rightward chevron
"idea"LightbulbBulb silhouette with base, filament rays and filament lines
"observation"EyeEllipse with inner pupil and lash accents
"mentee"Person with checkHead and shoulders with a check mark beside them
"document"Page with highlightTall page with ruled lines and a highlighted block
"decision"Y-forkDownward stem forking to two upper nodes from a lower node
"research"Magnifier with plusMagnifying glass with plus inside
any otherDotFilled circle fallback
import { DocIcon } from '@risingswamp/design-system'
// Inside a container that sets --accent and --accent-rgb:
<div style={{ "--accent": "#00e5c8", "--accent-rgb": "0,229,200" }}>
<DocIcon typeId="goal" />
</div>
// Custom size:
<DocIcon typeId="diary" size={18} />
  • The icon consumes var(--accent) from the nearest ancestor that defines it — no accent prop on the icon itself.
  • Glow filter applied inline: drop-shadow(0 0 5px rgba(var(--accent-rgb), 0.7)) drop-shadow(0 0 11px rgba(var(--accent-rgb), 0.3)).
  • Intended for use inside VaultCard, which sets --accent and --accent-rgb automatically based on typeId. Can be used standalone when the parent sets those variables.
  • SVG viewBox is always 0 0 32 32 regardless of size — the size prop scales via width/height attributes only.