next-sprite-icons
v1.0.2
Published
SVG sprite generator with TypeScript support
Downloads
112
Maintainers
Readme
next-sprite-icons
SVG sprite generator with TypeScript support.
Installation
npm install next-sprite-iconsQuick Start
- Create config file
sprite.config.json:
{
"sourceDir": "./icons",
"outputDir": "./public",
"typesDir": "./types",
"separator": "-"
}Add SVG icons to
./iconsfolderGenerate sprites:
npx next-sprite-icons generate- Create Icon component:
import { IconName } from './types/icons';
interface IconProps {
name: IconName;
size?: number;
}
export function Icon({ name, size = 24 }: IconProps) {
return (
<svg width={size} height={size} fill="currentColor">
<use href={`/sprite.svg#${name}`} />
</svg>
);
}- Use with TypeScript autocomplete:
<Icon name="home" size={32} />Configuration
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| sourceDir | string | "./icons" | Source directory with SVG files |
| outputDir | string | "./public" | Output directory for sprite |
| typesDir | string | "./types" | Output directory for TypeScript types |
| separator | string | "-" | Separator for nested folder names |
| svgo | object | { enabled: true } | SVGO optimization options |
