Icons

@velon-finance/icons · status: stable · foundation

Curated icon set for the Velon Platform UI. Wraps lucide-react with a brand-curated subset, plus Velon domain aliases, brand marks (the tetrahedron symbol), and payment-method marks.

A curated, consistent set serves Verdade: each icon means one thing across every app, so the symbol always reads true to the action behind it.

Why curate

lucide-react ships ~1500 icons. The Velon apps use a small fraction. Curation gives us:

  1. Consistency: one Wallet icon across Console, User, and Manager.
  2. Brand alongside Lucide: the Velon symbol mark and payment-method icons live in the same package, so consumers don’t juggle two icon libraries.
  3. Semantic naming: SendIcon and ReceiveIcon instead of Send and ArrowDownLeft.

Lucide subset (196 icons)

The icons below are re-exported from lucide-react and shipped under @velon-finance/icons. The list reflects everything in production today across Console, User, and Manager (audit 2026-04-29).

import { Wallet, ChevronDown } from '@velon-finance/icons'
 
;<Wallet size={20} className="text-primary" />
Activity
AlertCircle
AlertTriangle
ArrowDown
ArrowDownCircle
ArrowDownLeft
ArrowDownRight
ArrowLeft
ArrowLeftRight
ArrowRight
ArrowRightLeft
ArrowUp
ArrowUpCircle
ArrowUpDown
ArrowUpRight
Award
BadgeCheck
BadgePercent
Ban
Banknote
BarChart2
BarChart3
Bell
BellOff
BookOpen
Bot
Briefcase
Building
Building2
Calculator
Calendar
CalendarClock
CalendarRange
Camera
Check
CheckCheck
CheckCircle
CheckCircle2
ChevronDown
ChevronLeft
ChevronRight
ChevronsLeft
ChevronsRight
ChevronsUpDown
ChevronUp
Circle
CircleDollarSign
ClipboardCopy
ClipboardPaste
Clock
CloudUpload
Code
Coins
Copy
CreditCard
Crown
Database
DollarSign
Download
Edit
Edit2
Edit3
ExternalLink
Eye
EyeOff
FileCheck
FileSpreadsheet
FileText
FileWarning
FileX
Filter
Fingerprint
FolderSearch
Fuel
Gauge
Globe
GraduationCap
Grid3X3
GripVertical
Group
Handshake
Hash
Headset
Heart
HelpCircle
History
Image
Info
Key
KeyRound
Landmark
Layers
LayoutDashboard
LifeBuoy
Lightbulb
LineChart
Link2
List
ListChecks
Loader2
Lock
LogOut
Mail
MapPin
Medal
Menu
MessageCircle
MessageSquare
Minus
Monitor
Moon
MoreHorizontal
MoreVertical
MousePointer
Nfc
Package
PackageCheck
Palette
PanelLeft
Paperclip
Pencil
Percent
Phone
PieChart
Play
Plug
Plus
Printer
Puzzle
QrCode
Quote
Receipt
RefreshCcw
RefreshCw
Repeat
Rocket
RotateCcw
RotateCw
Save
Scale
Search
Send
Server
Settings
Settings2
Share2
Shield
ShieldAlert
ShieldCheck
ShieldOff
ShieldX
Ship
ShoppingBag
ShoppingCart
Smartphone
Snowflake
Sparkles
Square
Star
Stethoscope
Store
Sun
Tag
Tags
Target
Terminal
TestTube
Ticket
ToggleLeft
ToggleRight
Trash2
TrendingDown
TrendingUp
Trophy
Truck
Undo2
Unlock
Upload
User
UserCheck
UserPlus
Users
UserX
Vault
Volume2
VolumeX
Wallet
Webhook
Wifi
WifiOff
Wrench
X
XCircle
Zap
ZoomIn
ZoomOut

Need an icon that isn’t here? Open a PR adding it to packages/icons/src/lucide.ts. Keeping the catalog reviewable is the whole point.

Domain aliases

Semantic wrappers for the Velon product domain. These are wrappers (not pass-through re-exports), so the underlying glyph can change later without breaking consumer imports.

import { WalletIcon, SendIcon, ReceiveIcon } from '@velon-finance/icons'
WalletIcon
CardIcon
SendIcon
ReceiveIcon
ScanIcon
CopyIcon
AliasMaps to (today)Use for
WalletIconWalletConta / carteira do usuário.
CardIconCreditCardCredit/debit/prepaid card.
SendIconSendOutgoing transfer (Send / Withdraw).
ReceiveIconArrowDownLeftIncoming transfer (Receive / Deposit).
ScanIconQrCodeQR scan action.
CopyIconCopyCopy-to-clipboard action.

Brand marks (Velon symbol)

The Velon symbol (a wireframe tetrahedron whose six edges converge to a single vertex, reading as a “V” from the front) per the VELON Manual da Marca v1.0 (Junho 2026) §4. Subpath export, only loaded if you import from it.

import {
  VelonVGradient,
  VelonVMonoLight,
  VelonVMonoDark,
} from '@velon-finance/icons/brand'
Velon
VelonVGradient
Velon
VelonVMonoLight
Velon
VelonVMonoDark

Hard rules (VELON Manual da Marca v1.0 §4, §6):

  • The symbol uses only two colorways: navy #1B3A6B on light, or white on dark. Never recolor the mark, rotate or distort it, add shadows, or apply a gradient. The symbol is never gradient (the only sanctioned gradient is the card surface, §6.2).
  • The wordmark is always set in caps: VELON. Pair it with FINANCE in the lockup. Tagline: “Simples para pessoas. Completa para empresas.”
VariantUse on
VelonVMonoLightLight surfaces (navy symbol on light).
VelonVMonoDarkDark backgrounds (white symbol on velon-navy / velon-deep).
VelonVGradientReserved card-surface lockups only (navy → azul profundo, §6.2). Never on the bare symbol, wordmark or buttons.

Payment-method marks

Authored SVGs (not Lucide) for the platform’s payment methods. Each accepts size, title, and monochrome (uses currentColor for muted contexts).

import { PixIcon } from '@velon-finance/icons/payment'
 
;<PixIcon size={24} />
;<PixIcon size={24} monochrome />
PIXPixIcon
ComponentDefault fillNotes
PixIcon#32BCADBCB official teal.

Accessibility

All authored icon components default to role="img" with a <title> matching the title prop. Pass title="" to render decoratively (aria-hidden).

Lucide re-exports inherit upstream accessibility behaviour: pass an aria-label (or wrap in a <button> with text) for screen readers.

Not shipped

Facebook, Instagram, and Linkedin were removed from Lucide upstream due to trademark concerns and are not re-exported here. Apps that need social marks can:

  • Continue importing them from older lucide-react versions directly (^0.539.0 still ships them);
  • Or wait for @velon-finance/icons/social (planned: Velon-authored SVGs alongside the payment marks).