shelstad-icons
v0.0.3
Published
A collection of open source icons
Downloads
19
Readme
Shelstad Icons
A collection of open source SVG icons published as @shelstad/icons.
Install
npm install @shelstad/iconsAvailable Packs
essentials- Core UI icons for common actions and navigation.vibes- A colorful extension pack for expressive interfaces.
Usage
CSS Classes (Recommended)
Import the CSS file and use class names directly in your HTML:
<!-- In your HTML head -->
<link rel="stylesheet" href="node_modules/@shelstad/icons/dist/shelstad-icons.css">
<!-- Or import in your JavaScript/CSS -->
<!-- @import '@shelstad/icons/dist/shelstad-icons.css'; -->
<!-- Use icons with class names -->
<i class="driw-icon-essentials-home"></i>
<span class="driw-icon-essentials-edit"></span>
<i class="driw-icon-vibes-bolt"></i>Class naming convention: driw-icon-{pack}-{name}
driw-icon-essentials-home- Home icon from essentials packdriw-icon-essentials-edit- Edit icon from essentials packdriw-icon-vibes-retro-pc- Retro PC icon from vibes pack
JavaScript/TypeScript
import icons, { essentials, vibes } from '@shelstad/icons';
// Named exports by pack
const homeIcon = essentials.home;
const retroPcIcon = vibes['retro-pc'];
// Default export contains all packs
const sameHomeIcon = icons.essentials.home;Icon keys are generated from SVG filenames. Use bracket notation for names with hyphens.
Development
Adding New Icons
- Add
.svgfiles undersrc/icons/<pack>/(for examplesrc/icons/essentials/). - Run
npm run generate-iconsto regeneratesrc/index.ts. - Run
npm run buildto regenerate exports and compile TypeScript.
src/index.ts is auto-generated by scripts/generate-icons.js. Do not edit it manually.
Creating New Packs
- Create a new folder under
src/icons/. - Add
.svgfiles to that folder. - Run
npm run build.
The generator discovers SVG files recursively and creates pack-based exports automatically.
Scripts
npm run generate-icons- Generatesrc/index.tsfrom all SVG files.npm run generate-css- Generatedist/shelstad-icons.csswith icon classes.npm run build- Regenerate icons, CSS, and compile TypeScript.npm run prepublishOnly- Runs automatically before publishing.
Publishing
- Update the version in
package.json. - Run
npm run build. - Run
npm packto validate package contents locally. - Run
npm publish.
prepublishOnly runs npm run build, so publishing always uses fresh generated exports.
