beacon-icons
v3.2.6
Published
Beacon Design System - Icon components
Readme
Beacon Icons
Icon component library for Beacon Design System. A collection of 94+ SVG icons built as React components.
Installation
npm install beacon-iconsUsage
import { SearchIcon, ChevronDownIcon, CheckIcon } from 'beacon-icons';
function MyComponent() {
return (
<div>
<SearchIcon size="xs" />
<ChevronDownIcon size="sm" />
<CheckIcon size={20} />
</div>
);
}Adding New Icons
To add new icons to the library:
- Place your
.svgfiles in theicons/directory at the project root. - Run the preparation script from the root:
npm run prepare:icons - Rebuild the icons package:
npm run build:icons - Remove the source SVG files from the
icons/directory to avoid duplication in future runs.
Icon Props
interface IconProps {
size?: number | "xs" | "sm" | "rg" | "md" | "lg" | "xl" | "2xl";
className?: string;
color?: string;
}Available Icons
Navigation
ChevronDownIcon,ChevronUpIcon,ChevronLeftIcon,ChevronRightIconDownArrowIcon,UpArrowIcon,LeftArrowIcon,RightArrowIconMenuIcon,CloseIcon
Actions
SearchIcon,SearchFilledIconCheckIcon,CopyIconDownloadIcon,LinkIconDeleteBinIcon,DeleteBinFilledIconPencilIcon,PencilFilledIcon
User & Profile
UserPersonIcon,UserPersonFilledIconUserCircleIcon,UserCircleFilledIcon
UI Elements
ListIcon,ListCheckIcon,ListDetailsIconGridUILayoutIcon,GridUILayoutFilledIconSettingsGearIcon,SettingsGearFilledIcon
Communication
EmailEnvelopeIcon,EmailEnvelopeFilledIconMessageDotsIcon,MessageDotsFilledIconPhoneCallIcon,PhoneCallFilledIcon
Status & Alerts
AlertTriangleErrorIcon,AlertTriangleErrorFilledIconCircleErrorIcon,CircleErrorFilledIconErrorSearchIcon,ErrorSearchFilledIcon
Time & Calendar
CalendarIcon,CalendarFilledIconTimerAlarmIcon,TimerAlarmFilledIcon
Theme
SunIcon,SunFilledIconMoonIcon,MoonFilledIconPaletteIcon,PaletteFilledIcon
And many more...
Size Options
Icons support both token-based sizes and numeric pixel values:
// Token-based sizes
<SearchIcon size="xs" /> // Extra small
<SearchIcon size="sm" /> // Small
<SearchIcon size="rg" /> // Regular (default)
<SearchIcon size="md" /> // Medium
<SearchIcon size="lg" /> // Large
<SearchIcon size="xl" /> // Extra large
<SearchIcon size="2xl" /> // 2X large
// Numeric pixel values
<SearchIcon size={16} />
<SearchIcon size={24} />Styling
Icons use currentColor by default, so they inherit the text color:
<div style={{ color: 'var(--fg-primary)' }}>
<SearchIcon size="md" />
</div>You can also override the color directly using the color prop:
<SearchIcon size="md" color="#ff0000" />
<SearchIcon size="md" color="var(--fg-primary)" />
<SearchIcon size="md" color="rgb(255, 0, 0)" />Or use className for custom styling:
<SearchIcon size="md" className="my-icon-class" />Version
Current version: 3.2.2
License
MIT
Repository
https://github.com/raza-ahmed/beacon
