Overview
@drift-labs/icons is a comprehensive icon library containing 197+ React components auto-generated from Figma designs. Each icon is fully customizable, accessible, and optimized for performance. The icons maintain consistency with Drift’s design system while being flexible enough for various use cases.
Installation
Peer Dependencies
This package uses React 19 RC but is compatible with React 18.x as well.
Quick Start
Basic Usage
With Custom Styling
Icon Props
All icons accept the following props:Set icon fill color. Accepts any valid CSS color value.
Set width and height of icon in pixels.
Whether to scale icon according to font-size. Sets width and height to 1em.
Props to pass directly to the SVG element.
Any additional props are passed to the wrapper span element.
Type Definition
Available Icons
There are 197 icons available. Below is a categorized selection. See the full list in the source code or by importing from the package.
Navigation & Actions
Add - Plus/add symbol
ArrowLeft - Left arrow
ArrowRight - Right arrow
ChevronDown - Down chevron
ChevronUp - Up chevron
ChevronLeft - Left chevron
ChevronRight - Right chevron
Close - Close/X symbol
Menu - Hamburger menu
MoreVertical - Vertical dots
MoreHorizontal - Horizontal dots
Refresh - Refresh symbol
Status & Indicators
AlertTriangle - Warning
CheckFilled - Filled check
CheckEmpty - Empty check
Checkmark - Checkmark
Info - Information
Error - Error symbol
Success - Success symbol
Loading - Loading spinner
Finance & Trading
Balance - Balance scale
Bank - Bank building
Calculator - Calculator
Chart - Chart/graph
Coins - Coin stack
Dollar - Dollar sign
Wallet - Wallet icon
TrendingUp - Trending up
TrendingDown - Trending down
Position - Position icon
UI Elements
Calendar - Calendar
Clock - Clock
Copy - Copy symbol
Download - Download arrow
Edit - Edit/pencil
Eye - Eye/visible
EyeOff - Eye off/hidden
Filter - Filter funnel
Search - Search magnifier
Settings - Settings gear
Sort - Sort arrows
Star - Star
Social & Platforms
Usage Examples
Responsive Icon Size
UseautoSize to make icons scale with text:
Dynamic Color
Icons default tocurrentColor, inheriting text color:
With Custom SVG Props
Button with Icon
Icon Grid
Trading Interface Example
Icon Generation
Icons are automatically generated from Figma using a custom build script. Do not manually edit icon component files.
Regenerating Icons
To regenerate icons from Figma:Generation Process
- Fetch from Figma: The script connects to Figma API and downloads SVG assets
- Transform: SVGs are processed with SVGR to create React components
- Generate Components: Each icon becomes a typed React component
- Export: All icons are exported from
src/icons/index.ts
Component Structure
Each icon component follows this structure:src/icons/components/Add.tsx:1.
TypeScript Support
Full TypeScript support with exported types:Accessibility
Icons are wrapped in a<span> element with proper ARIA attributes:
Performance
Tree Shaking
The package is built with tree-shaking support. Only imported icons are included in your bundle:Bundle Size
Each icon is approximately 0.5-1 KB gzipped. The package uses:- No external dependencies (except React)
- Inline SVG (no HTTP requests)
- Minimal wrapper code
Styling
CSS Styling
Tailwind CSS
Common Patterns
Icon Button Component
Status Icon
Dynamic Icon Loader
Package Scripts
Related Resources
React Package
Use icons with React components and hooks
Common Package
Core utilities for Drift applications
GitHub Repository
View source code and icon generation scripts
Figma Design System
View the source Figma file (requires access)
Full Icon List
Here is the complete alphabetical list of all 197 icons:View All Icons (197 total)
View All Icons (197 total)
Accordion, Account, Add, AlertTriangle, Amplify, Apple, ArrowLeft, ArrowRight, Autoconfirm, Balance, Bank, Bankrupt, Bolt, Books, Bridge, Calculator, Calendar, CaretDown, CaretUp, CheckEmpty, CheckFilled, Checkmark, ChevronDown, ChevronLeft, ChevronRight, ChevronUp, ChevronsDown, ChevronsLeft, ChevronsRight, ChevronsUp, Circle, Clock, Close, Coins, Connect, Copy, CopyOld, Cross, Cursor, Dashboard, Delegate, DelegateV2, Delete, Deposit, Discord, Disconnect, Dollar, DollarSquare, Donate, DoubleChevronDown, DoubleChevronLeft, DoubleChevronRight, DoubleChevronUp, Download, Earn, Edit, EmptyCheckbox, EmptyRadio, Error, Eth, Exclamation, ExternalLink, Eye, EyeOff, Faucet, FilledCheckbox, FilledRadio, Filter, Github, Google, Governance, Grid, Help, History, Home, Import, Info, InfoOutline, Insurance, Jupiter, Leaderboard, Leverage, Lightning, Link, List, Lock, Logo, LogoSimple, Logout, Maker, Medium, Menu, Minus, Moon, MoreHorizontal, MoreVertical, NotificationBell, NotificationBellOff, OpenOrders, Order, Pause, Pencil, PerpStats, Play, Plus, Portfolio, Position, Power, Profile, Refresh, RefreshOld, Rocket, Search, Send, Settings, Share, Shield, SignOut, Slippage, Sol, SolanaFmIcon, SolanaLogo, SolscanLogo, Sort, SortAsc, SortDesc, Sparkle, Speedometer, Spinner, Spot, SpotStats, Star, Stats, Success, Sun, Swap, Taker, Telegram, Timer, Token, Trade, TradingView, Transactions, Transfer, Trash, TrendingDown, TrendingUp, Triangle, Twitter, TwoArrows, Unlock, Upload, Usdc, User, Users, Vault, Verified, Vote, Wallet, Warning, Withdraw, World, Wrench, X, ZoomIn, ZoomOut
Icon names are exported exactly as shown. Import them with named imports for best tree-shaking.