@sargamdesign/icons-react
v1.6.7
Published
A collection of open-source icons crafted to match your exquisite designs.
Maintainers
Readme
Sargam Icons for React
A collection of open-source icons crafted to match your exquisite designs.
Part of sargamicons.com ♪♪♪ ヽ(ˇ∀ˇ )ゞ
Features
- Tree-shakeable: Modular imports ensure you only bundle what you use.
- TypeScript: Full type definitions included.
- Accessibility: Built-in support for titles and ARIA attributes.
- Optimization: Wrapped in
React.memofor performance. - Theming: Uses
currentColorfor easy CSS styling.
Installation
npm install @sargamdesign/icons-react
# or
yarn add @sargamdesign/icons-react
# or
bun add @sargamdesign/icons-reactUsage
Import icons from their specific style paths (preferred) or the main package.
Note: All icon components are prefixed with Si (e.g., SiStar, SiHome).
Style Imports (Recommended)
import { SiStar } from '@sargamdesign/icons-react/line';
import { SiHeart } from '@sargamdesign/icons-react/duotone';
import { SiHome } from '@sargamdesign/icons-react/fill';
function App() {
return (
<div style={{ fontSize: '24px', color: '#555' }}>
<SiStar />
<SiHeart />
<SiHome />
</div>
);
}Namespace Imports
import * as Icons from '@sargamdesign/icons-react';
function App() {
return <Icons.Line.SiStar />;
}Customization
Icons inherit fontSize and color (via currentColor) from their parent. You can also pass props directly.
// Inherit styles (2em red icon)
<div style={{ fontSize: '2em', color: 'red' }}>
<SiStar />
</div>
// Direct props
<SiStar
width={32}
height={32}
color="#3b82f6"
className="my-icon"
style={{ margin: '8px' }}
/>Accessibility
- Semantic: Add a
titleprop. The icon will render a<title>tag and usearia-labelledby.<SiStar title="Add to favorites" /> - Decorative: Omit the
title. The icon will havearia-hidden="true".<SiStar />
TypeScript
All components are fully typed with IconProps.
import { SiStar, IconProps } from '@sargamdesign/icons-react/line';
const MyButton = ({ icon: Icon }: { icon: React.FC<IconProps> }) => (
<button><Icon /></button>
);Ref Forwarding
Access the underlying SVG element using standard refs.
const iconRef = useRef<SVGSVGElement>(null);
return <SiStar ref={iconRef} />;Props
| Prop | Type | Default | Description |
|------|------|---------|-------------|
| title | string | - | Accessible title. If omitted, icon is hidden from screen readers. |
| width | number \| string | 1em | Icon width. |
| height | number \| string | 1em | Icon height. |
| color | string | currentColor | Icon fill/stroke color. |
| ...props| SVGProps | - | All standard SVG attributes (onClick, style, etc.) |
