Svelte Heroicons
!!!WARNING!!!
With version 3.0.0 , this package is primarily meant for SvelteKit projects and it is not guaranteed to work with other build systems!
Description
- complete heroicon set optimized for svelte
- programatically change solid or outline version based on the
solid
attribute - fully typed for a great IDE experience
- works with SvelteKit & Vite
Install
- install as
dependency
(important)
NPM
npm install svelte-hero-icons
Configuration
- Add this to your
vite.config.js
, so all icons are bundled into one file -> no import waterfalls
const config = {
kit: {
vite: {
ssr: {
noExternal: ["svelte-hero-icons"],
},
optimizeDeps: {
include: ["svelte-hero-icons"],
},
},
},
};
export default config;
Usage
- Default is Outline version of icon
- Use solid attribute for Solid Icons
<script>
import { Icon, ArrowUp, Filter } from "svelte-hero-icons";
</script>
<Icon src="{Filter}" solid />
<Icon src="{ArrowUp}" size="32" />
<Icon src="{Filter}" class="h-6 text-red-500 w-6" />
See all icons here: https://github.com/refactoringui/heroicons
Known Problems
Windows & pnpm
If you are developing with Windows or pnpm you need to prevent the dependency from being externalized for SSR:
const config = {
kit: {
vite: {
ssr: {
noExternal: ["svelte-hero-icons"],
},
},
},
};
Author
This package is based on heroicons