@rsuite/icons
@rsuite/icons is a comprehensive icon library for React Suite, offering a collection of SVG icons as React components. It provides a flexible and performant way to include and customize icons in your React applications.
Installation
npm install @rsuite/icons --save
# or
yarn add @rsuite/icons
Usage
Basic Usage
import { Icon } from '@rsuite/icons';
import GearIcon from '@rsuite/icons/Gear';
// Use preset icon
<GearIcon />
// Use custom SVG icon
<Icon as={YourSvgComponent} />
Customization
// Size
<GearIcon style={{ fontSize: '2em' }} />
// Color
<GearIcon style={{ color: '#4caf50' }} />
// Rotate
<GearIcon rotate={90} />
// Flip
<GearIcon flip="horizontal" />
// Pulse
<GearIcon pulse />
// Spin
<GearIcon spin />
Features
- React Component: Optimized for React applications
- TypeScript Support: Built with TypeScript for type safety
- Customizable: Control size, color, rotation and more
- React 19 Compatible: Updated to work with React 19
API
<Icon>
Props
The <Icon>
component extends React.SVGProps<SVGElement>
so it accepts all valid SVG attributes.
Property | Type | Default | Description | |
---|---|---|---|---|
as |
`React.ElementType \ | string` | 'svg' |
The custom SVG component |
spin |
boolean |
false |
Dynamic rotation icon | |
pulse |
boolean |
false |
Use pulse to have it rotate with 8 steps | |
rotate |
`number \ | string` | - | Rotate the icon by a specific degree |
viewBox |
string |
- | View box of the SVG | |
flip |
`'horizontal' \ | 'vertical'` | - | Flip the icon |
fill |
string |
'currentColor' |
SVG fill color | |
width |
`number \ | string` | '1em' |
SVG width |
height |
`number \ | string` | '1em' |
SVG height |
Documentation
For more information, please visit Icon documentation
Development
Setup
npm install
Run Storybook
npm run storybook
Build
npm run build
Test
npm run test
License
MIT © React Suite