Skip to main content

Icons

MemberPulse uses Lucide Icons - the same icon library used by shadcn/ui. Lucide is a beautiful and consistent icon library with 1000+ icons.

Icon Basics

Icon Sizing

Icon Colours

Icons inherit the current text colour by default. Use these colour classes:

Common Icons

Home

Home - Dashboard, main page

Menu

Menu - Navigation menu

Settings

Settings - Configuration

Search

Search - Search functionality

Bell

Bell - Notifications

User

User - Profile, account

Log Out

LogOut - Sign out

Chevron

ChevronRight - Navigation

Action Icons

Plus

Plus - Add, create

Pencil

Pencil - Edit

Trash

Trash2 - Delete

Copy

Copy - Duplicate

Download

Download - Export

Upload

Upload - Import

Share

Share2 - Share

External

ExternalLink - Open in new tab

Status Icons

Check

Check - Success, complete

X

X - Close, error

Alert

AlertTriangle - Warning

Info

Info - Information

Circle Check

CheckCircle - Verified

Circle X

XCircle - Failed

Loader

Loader2 - Loading (animated)

Clock

Clock - Pending, time

Content Icons

File

File - Document

File Text

FileText - Text document

Image

Image - Photo

Video

Video - Video content

Folder

Folder - Directory

Link

Link - URL

Mail

Mail - Email

Phone

Phone - Contact

Data Icons

Bar Chart

BarChart2 - Statistics

Line Chart

TrendingUp - Trends

Pie Chart

PieChart - Distribution

Table

Table - Data table

Filter

Filter - Filter data

Sort

ArrowUpDown - Sort

Calendar

Calendar - Date picker

List

List - List view

MemberPulse Domain Icons

Member Management

Events

Learning & CPD

Payments & Plans


Icon Usage

In Buttons

In Navigation

Status Indicators


Icon Best Practices

  • Use the same icon for the same concept throughout the app
  • Maintain consistent icon sizes within contexts
  • Keep icon weight consistent (outline vs filled)
  • Icons should enhance, not replace text labels
  • Use tooltips for icon-only buttons
  • Choose recognizable, standard icons
  • Add aria-label for icon-only buttons
  • Ensure icons have sufficient contrast
  • Don’t rely on colour alone for meaning
  • Import icons individually, not the entire library
  • Use tree-shaking for production builds
  • Consider SVG sprites for heavily-used icons

Importing Icons

Single Import

Multiple Imports

Dynamic Import (for large apps)


Custom Icon Component