One package, from the public registry. No account, no licence key, no private registry to configure.
npm install @devigner-ui/icons
# or
pnpm add @devigner-ui/icons
# or
yarn add @devigner-ui/iconsRequires React 18+:
{
"peerDependencies": {
"react": ">=18.0.0",
"react-dom": ">=18.0.0"
}
}import { IconShoppingCart, IconArrowRight, IconUser } from '@devigner-ui/icons';
function Header() {
return (
<nav>
<IconArrowRight className="size-6" /> {/* outline */}
<IconShoppingCart variant="TwoTone" className="size-6" /> {/* twotone */}
<IconUser variant="Bold" className="size-6" /> {/* bold */}
</nav>
);
}| Framework | Support |
|---|---|
| React 18+ | ✅ Full |
| Next.js 13+ | ✅ App Router compatible |
| Vite | ✅ Optimized |
| Remix | ✅ |
| Astro | ✅ (with React integration) |
Full type safety out of the box:
import type { IconName, IconStyle } from '@devigner-ui/icons';
// IconName is a literal union of all 2,146 icon names
const iconName: IconName = 'ShoppingCart'; // ✅ Valid
const invalid: IconName = 'NonExistent'; // ❌ Type error
// IconStyle is 'outline' | 'twotone' | 'bold' | 'bulk'
const style: IconStyle = 'bold';Only imported icons are bundled:
// Only IconShoppingCart and IconArrowRight in bundle
import { IconShoppingCart, IconArrowRight } from '@devigner-ui/icons';