(For svelte v2, use fa-svelte v1.x.x)
A simple minimalistic lightweight svelte component for Font Awesome SVG icons.
This library is currently not intended to be fully featured, it is the option when size and speed is of importance.
Install as a development dependency
npm install -D fa-svelte
Using font awesome solid Icons, first install them using npm
npm install @fortawesome/free-solid-svg-icons
<Icon icon={icon}>
</Icon>
<script>
import Icon from 'fa-svelte'
import { faCircle } from '@fortawesome/free-solid-svg-icons/faCircle'
let icon = faCircle;
</script>
<div>
<Icon class="myClass1 myClass2" icon={faCircle}>
</Icon>
</div>
<script>
import Icon from 'fa-svelte'
import { faCircle } from '@fortawesome/free-solid-svg-icons/faCircle'
let icon = faCircle;
</script>
<style>
div :global(.myClass1) {
color: red;
}
div :global(.myClass2) {
font-size: 14px;
}
</style>
If you're using webpack with svelte-loader,
make sure that you add "svelte"
to
resolve.mainFields
in
your webpack config. This ensures that webpack imports the uncompiled component (src/Icon.svelte
)
rather than the compiled version (index.js
) — this is more efficient and will also resolve component
crash in runtime.
For a working web pack example, look at examples/webpack
This component is based on the template provided by sveltejs