Tiny FontAwesome component for Svelte.
npm install svelte-fa
Install FontAwesome icons via official packages, for example:
npm install @fortawesome/free-solid-svg-icons
npm install @fortawesome/free-brands-svg-icons
Icons gallery: FontAwesome icons
You may need to install the component as a devDependency:
npm install svelte-fa -D
You may need to import the component explicitly as below:
import Fa from 'svelte-fa/dist/fa.svelte'
import { faCaretDown, faCaretUp } from '@fortawesome/free-solid-svg-icons/index.es'
When using typescript with SvelteKit/Vite, you may also needed to add type definitions that redirect to the non-index.es
export:
// app.d.ts
declare module '@fortawesome/pro-solid-svg-icons/index.es' {
export * from '@fortawesome/pro-solid-svg-icons';
}
<script>
import Fa from 'svelte-fa'
import { faFlag } from '@fortawesome/free-solid-svg-icons'
import { faGithub } from '@fortawesome/free-brands-svg-icons';
</script>
<Fa icon={faFlag} />
<Fa icon={faGithub} />
Fa
Properties<Fa
icon={faFlag}
class="bg-gold"
size="2x"
color="#ff0000"
fw
pull="left"
scale={1.2}
translateX={0.2}
translateY={0.2}
rotate={90}
flip="horizontal"
spin
pulse
/>
icon
: icon from FontAwesome packages, for example: @fortawesome/free-solid-svg-icons
, icons gallery: FontAwesome iconsclass
: string
values ${your preffered any css class}
size
: string
values xs
, sm
, lg
or 2x
, 3x
, 4x
, ..., ${number}x
color
: string
icon color, default currentColor
fw
: boolean
fixed widthpull
: string
values left
, right
scale
: number | string
transform scale, unit is em
, default 1
translateX
: number | string
transform position X, unit is em
, default 0
translateY
: number | string
transform position Y, unit is em
, default 0
flip
: string
values horizontal
, vertical
, both
rotate
: number | string
values 90
, 180
, 270
, 30
, -30
...spin
: boolean
spin iconspulse
: boolean
pulse spin iconsimport Fa, {
FaLayers,
FaLayersText,
} from 'svelte-fa';
<FaLayers
size="4x"
pull="left"
>
<Fa icon={faCertificate} />
<FaLayersText
scale={0.25}
rotate={-30}
color="white"
style="font-weight: 900"
>
NEW
</FaLayersText>
</FaLayers>
FaLayers
Propertiessize
: string
values xs
, sm
, lg
or 2x
, 3x
, 4x
, ..., ${number}x
pull
: string
values left
, right
FaLayersText
Propertiessize
: string
values xs
, sm
, lg
or 2x
, 3x
, 4x
, ..., ${number}x
color
: string
icon color, default currentColor
scale
: number | string
transform scale, unit is em
, default 1
translateX
: number | string
transform position X, unit is em
, default 0
translateY
: number | string
transform position Y, unit is em
, default 0
flip
: string
values horizontal
, vertical
, both
rotate
: number | string
values 90
, 180
, 270
, 30
, -30
...<script>
import Fa from 'svelte-fa'
import { faFlag } from '@fortawesome/pro-duotone-svg-icons'
</script>
<Fa
icon={faFlag}
primaryColor="red"
secondaryColor="#000000"
primaryOpacity={0.8}
secondaryOpacity={0.6}
swapOpacity
/>
<script>
import Fa from 'svelte-fa'
import { faFlag } from '@fortawesome/pro-duotone-svg-icons'
const theme = {
primaryColor: 'red',
secondaryColor: '#000000',
primaryOpacity: 0.8,
secondaryOpacity: 0.6,
}
</script>
<Fa
icon={faFlag}
{...theme}
/>
Cweili |
Marek Dědič |
Gtmnayan |
Rui Sousa |
Theodore Brown |
Mirco Sanguineti |
Alon Krymgand |
Conner |
Kawsar Ahmed |
Mark Volkmann |
Robin Modisch |
Rémi Kalbe |
Null |