IGrow Icon System
The sprite at system/icons/sprite.svg contains 31 Lucide UI icons and 4 Simple Icons brand marks. They serve different purposes and have different usage rules.
Library 1 — Lucide (UI icons)
Source: lucide.dev
Licence: ISC
Style: Stroke, 1.75px, currentColor, 24×24
Use for: All UI contexts — navigation, status, property specs, contact details, actions, form fields
Rendering
<!-- Sprite reference (recommended for HTML/WordPress) -->
<svg class="ig-icon" aria-hidden="true">
<use href="/path/to/system/icons/sprite.svg#bed"/>
</svg>
<!-- React (lucide-react package) -->
import { Bed } from 'lucide-react'
<Bed size={24} strokeWidth={1.75} aria-hidden="true" />
<!-- WordPress PHP helper -->
<?php echo igrow_icon('bed'); ?>
Sizing
| Class | Size | Use |
|---|---|---|
ig-icon--sm |
16px | Inline with small text |
ig-icon (default) |
24px | Standard UI use |
ig-icon--lg |
32px | Feature icons, empty states |
Colour
Icons inherit currentColor — set color on the parent element, not on the SVG itself.
<span style="color: var(--color-accent-primary)">
<svg class="ig-icon" aria-hidden="true"><use href="#star"/></svg>
</span>
Library 2 — Simple Icons (brand marks)
Source: simpleicons.org
Licence: CC0 1.0 Universal (public domain)
Style: Filled brand marks, 24×24, fill="currentColor"
Use for: Social media links in footers and contact sidebars — nowhere else
Brand marks are trademark-protected by their respective companies regardless of the CC0 icon licence. Use them only to link to the corresponding platform — never alter their shape, apply gradients, or use them decoratively.
Rendering
<!-- Always on a parent with color: white (footer/dark background) -->
<a href="https://facebook.com/IGrowWealth" aria-label="Facebook">
<svg class="ig-icon" aria-hidden="true">
<use href="/path/to/system/icons/sprite.svg#facebook"/>
</svg>
</a>
Always provide
aria-labelon the<a>— the SVG isaria-hidden. Use the platform name only ("Facebook", not "Follow us on Facebook").
Bundled brand marks
| Sprite ID | Brand | Colour |
|---|---|---|
facebook |
#0866FF |
|
instagram |
#E4405F |
|
linkedin |
#0A66C2 |
|
whatsapp |
#25D366 |
Adding new icons
Adding a Lucide icon:
- Find it at lucide.dev
- Copy the SVG source
- Add a
<symbol id="name" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round">block to the Lucide section ofsprite.svg - Update
lucide-list.mdwith the context → name mapping - Update the inline sprite in
system/preview/foundations.html
Adding a Simple Icons brand mark:
- Find it at simpleicons.org
- Copy the SVG
<path>content - Add a
<symbol id="name" viewBox="0 0 24 24" fill="currentColor">block to the Simple Icons section ofsprite.svg - Update
lucide-list.mdwith the brand → sprite ID entry - Update the inline sprite in
system/preview/foundations.html
Full icon reference
See lucide-list.md for the complete context → sprite ID mapping for both libraries.