Package Exports
- svelte-flags
- svelte-flags/Ad.svelte
- svelte-flags/Ae.svelte
- svelte-flags/Af.svelte
- svelte-flags/Ag.svelte
- svelte-flags/Ai.svelte
- svelte-flags/Al.svelte
- svelte-flags/Am.svelte
- svelte-flags/Ao.svelte
- svelte-flags/Aq.svelte
- svelte-flags/Ar.svelte
- svelte-flags/As.svelte
- svelte-flags/At.svelte
- svelte-flags/Au.svelte
- svelte-flags/Aw.svelte
- svelte-flags/Ax.svelte
- svelte-flags/Az.svelte
- svelte-flags/Ba.svelte
- svelte-flags/Bb.svelte
- svelte-flags/Bd.svelte
- svelte-flags/Be.svelte
- svelte-flags/Bf.svelte
- svelte-flags/Bg.svelte
- svelte-flags/Bh.svelte
- svelte-flags/Bi.svelte
- svelte-flags/Bj.svelte
- svelte-flags/Bl.svelte
- svelte-flags/Bm.svelte
- svelte-flags/Bn.svelte
- svelte-flags/Bo.svelte
- svelte-flags/Bq.svelte
- svelte-flags/Br.svelte
- svelte-flags/Bs.svelte
- svelte-flags/Bt.svelte
- svelte-flags/Bv.svelte
- svelte-flags/Bw.svelte
- svelte-flags/By.svelte
- svelte-flags/Bz.svelte
- svelte-flags/Ca.svelte
- svelte-flags/Cc.svelte
- svelte-flags/Cd.svelte
- svelte-flags/Cf.svelte
- svelte-flags/Cg.svelte
- svelte-flags/Ch.svelte
- svelte-flags/Ci.svelte
- svelte-flags/Ck.svelte
- svelte-flags/Cl.svelte
- svelte-flags/Cm.svelte
- svelte-flags/Cn.svelte
- svelte-flags/Co.svelte
- svelte-flags/Cr.svelte
- svelte-flags/Cu.svelte
- svelte-flags/Cv.svelte
- svelte-flags/Cw.svelte
- svelte-flags/Cx.svelte
- svelte-flags/Cy.svelte
- svelte-flags/Cz.svelte
- svelte-flags/De.svelte
- svelte-flags/Dj.svelte
- svelte-flags/Dk.svelte
- svelte-flags/Dm.svelte
- svelte-flags/Do.svelte
- svelte-flags/Dz.svelte
- svelte-flags/Ec.svelte
- svelte-flags/Ee.svelte
- svelte-flags/Eg.svelte
- svelte-flags/Eh.svelte
- svelte-flags/Er.svelte
- svelte-flags/Es.svelte
- svelte-flags/Et.svelte
- svelte-flags/Eu.svelte
- svelte-flags/Fi.svelte
- svelte-flags/Fj.svelte
- svelte-flags/Fk.svelte
- svelte-flags/Fm.svelte
- svelte-flags/Fo.svelte
- svelte-flags/Fr.svelte
- svelte-flags/Ga.svelte
- svelte-flags/Gb.svelte
- svelte-flags/GbEng.svelte
- svelte-flags/GbNir.svelte
- svelte-flags/GbSct.svelte
- svelte-flags/GbWls.svelte
- svelte-flags/Gd.svelte
- svelte-flags/Ge.svelte
- svelte-flags/Gf.svelte
- svelte-flags/Gg.svelte
- svelte-flags/Gh.svelte
- svelte-flags/Gi.svelte
- svelte-flags/Gl.svelte
- svelte-flags/Gm.svelte
- svelte-flags/Gn.svelte
- svelte-flags/Gp.svelte
- svelte-flags/Gq.svelte
- svelte-flags/Gr.svelte
- svelte-flags/Gs.svelte
- svelte-flags/Gt.svelte
- svelte-flags/Gu.svelte
- svelte-flags/Gw.svelte
- svelte-flags/Gy.svelte
- svelte-flags/Hk.svelte
- svelte-flags/Hm.svelte
- svelte-flags/Hn.svelte
- svelte-flags/Hr.svelte
- svelte-flags/Ht.svelte
- svelte-flags/Hu.svelte
- svelte-flags/Icon.svelte
- svelte-flags/Id.svelte
- svelte-flags/Ie.svelte
- svelte-flags/Il.svelte
- svelte-flags/Im.svelte
- svelte-flags/In.svelte
- svelte-flags/Io.svelte
- svelte-flags/Iq.svelte
- svelte-flags/Ir.svelte
- svelte-flags/Is.svelte
- svelte-flags/It.svelte
- svelte-flags/Je.svelte
- svelte-flags/Jm.svelte
- svelte-flags/Jo.svelte
- svelte-flags/Jp.svelte
- svelte-flags/Ke.svelte
- svelte-flags/Kg.svelte
- svelte-flags/Kh.svelte
- svelte-flags/Ki.svelte
- svelte-flags/Km.svelte
- svelte-flags/Kn.svelte
- svelte-flags/Kp.svelte
- svelte-flags/Kr.svelte
- svelte-flags/Kw.svelte
- svelte-flags/Ky.svelte
- svelte-flags/Kz.svelte
- svelte-flags/La.svelte
- svelte-flags/Lb.svelte
- svelte-flags/Lc.svelte
- svelte-flags/Li.svelte
- svelte-flags/Lk.svelte
- svelte-flags/Lr.svelte
- svelte-flags/Ls.svelte
- svelte-flags/Lt.svelte
- svelte-flags/Lu.svelte
- svelte-flags/Lv.svelte
- svelte-flags/Ly.svelte
- svelte-flags/Ma.svelte
- svelte-flags/Mc.svelte
- svelte-flags/Md.svelte
- svelte-flags/Me.svelte
- svelte-flags/Mf.svelte
- svelte-flags/Mg.svelte
- svelte-flags/Mh.svelte
- svelte-flags/Mk.svelte
- svelte-flags/Ml.svelte
- svelte-flags/Mm.svelte
- svelte-flags/Mn.svelte
- svelte-flags/Mo.svelte
- svelte-flags/Mp.svelte
- svelte-flags/Mq.svelte
- svelte-flags/Mr.svelte
- svelte-flags/Ms.svelte
- svelte-flags/Mt.svelte
- svelte-flags/Mu.svelte
- svelte-flags/Mv.svelte
- svelte-flags/Mw.svelte
- svelte-flags/Mx.svelte
- svelte-flags/My.svelte
- svelte-flags/Mz.svelte
- svelte-flags/Na.svelte
- svelte-flags/Nc.svelte
- svelte-flags/Ne.svelte
- svelte-flags/Nf.svelte
- svelte-flags/Ng.svelte
- svelte-flags/Ni.svelte
- svelte-flags/Nl.svelte
- svelte-flags/No.svelte
- svelte-flags/Np.svelte
- svelte-flags/Nr.svelte
- svelte-flags/Nu.svelte
- svelte-flags/Nz.svelte
- svelte-flags/Om.svelte
- svelte-flags/Pa.svelte
- svelte-flags/Pe.svelte
- svelte-flags/Pf.svelte
- svelte-flags/Pg.svelte
- svelte-flags/Ph.svelte
- svelte-flags/Pk.svelte
- svelte-flags/Pl.svelte
- svelte-flags/Pm.svelte
- svelte-flags/Pn.svelte
- svelte-flags/Pr.svelte
- svelte-flags/Ps.svelte
- svelte-flags/Pt.svelte
- svelte-flags/Pw.svelte
- svelte-flags/Py.svelte
- svelte-flags/Qa.svelte
- svelte-flags/Re.svelte
- svelte-flags/Ro.svelte
- svelte-flags/Rs.svelte
- svelte-flags/Ru.svelte
- svelte-flags/Rw.svelte
- svelte-flags/Sa.svelte
- svelte-flags/Sb.svelte
- svelte-flags/Sc.svelte
- svelte-flags/Sd.svelte
- svelte-flags/Se.svelte
- svelte-flags/Sg.svelte
- svelte-flags/Sh.svelte
- svelte-flags/Si.svelte
- svelte-flags/Sj.svelte
- svelte-flags/Sk.svelte
- svelte-flags/Sl.svelte
- svelte-flags/Sm.svelte
- svelte-flags/Sn.svelte
- svelte-flags/So.svelte
- svelte-flags/Sr.svelte
- svelte-flags/Ss.svelte
- svelte-flags/St.svelte
- svelte-flags/Sv.svelte
- svelte-flags/Sx.svelte
- svelte-flags/Sy.svelte
- svelte-flags/Sz.svelte
- svelte-flags/Tc.svelte
- svelte-flags/Td.svelte
- svelte-flags/Tf.svelte
- svelte-flags/Tg.svelte
- svelte-flags/Th.svelte
- svelte-flags/Tj.svelte
- svelte-flags/Tk.svelte
- svelte-flags/Tl.svelte
- svelte-flags/Tm.svelte
- svelte-flags/Tn.svelte
- svelte-flags/To.svelte
- svelte-flags/Tr.svelte
- svelte-flags/Tt.svelte
- svelte-flags/Tv.svelte
- svelte-flags/Tw.svelte
- svelte-flags/Tz.svelte
- svelte-flags/Ua.svelte
- svelte-flags/Ug.svelte
- svelte-flags/Um.svelte
- svelte-flags/Us.svelte
- svelte-flags/Uy.svelte
- svelte-flags/Uz.svelte
- svelte-flags/Va.svelte
- svelte-flags/Vc.svelte
- svelte-flags/Ve.svelte
- svelte-flags/Vg.svelte
- svelte-flags/Vi.svelte
- svelte-flags/Vn.svelte
- svelte-flags/Vu.svelte
- svelte-flags/Wf.svelte
- svelte-flags/Ws.svelte
- svelte-flags/Xk.svelte
- svelte-flags/Ye.svelte
- svelte-flags/Yt.svelte
- svelte-flags/Za.svelte
- svelte-flags/Zm.svelte
- svelte-flags/Zw.svelte
Readme
Svelte Flags
250+ Country-flags Svelte components.
Thank you for considering my open-source package. If you use it in a commercial project, please support me by sponsoring me on GitHub: https://github.com/sponsors/shinokada. Your support helps me maintain and improve this package for the benefit of the community.
Installation
pnpm i -D svelte-flags
Usage
<script>
import { Us } from 'svelte-flags';
</script>
<Us />
Faster compiling
If you need only a few icons from this library in your Svelte app, import them directly. This can optimize compilation speed and improve performance by reducing the amount of code processed during compilation.
<script>
import Us from 'svelte-flags/Us.svelte';
</script>
<Us />
If you are a TypeScript user, install typescript version 5.0.0 or above.
As of March 2023, the typescript@beta
version is now available:
pnpm i -D typescript@beta
To avoid any complaints from the editor, add node16
or nodenext
to moduleResolution
in your tsconfig.json file.
{
//...
"compilerOptions": {
// ...
"moduleResolution": "nodenext"
}
}
REPL
Props
- size = '24';
- role = 'img';
IDE support
If you are using an LSP-compatible editor, such as VSCode, Atom, Sublime Text, or Neovim, hovering over a component name will display a documentation link, props, and events.
Size
Use the size
prop to change the flag sizes.
<script>
import { Us, Ca, Fr, De, Dk, Jp, No, Ch, Cz } from 'svelte-flags';
</script>
<div>
<Us size="200" />
<Ca size="200" />
<Fr size="200" />
<De size="200" />
<Dk size="200" />
<Jp size="200" />
<No size="200" />
<Ch size="200" />
<Cz size="200" />
</div>
CSS frameworks support
You can change size and other CSS using the class
prop.
Tailwind CSS example:
<Us class="rounded-full bg-white h-40 w-40 ring-2 rring-gray-300 m-4" />
Or you can use size
and class
props together.
Tailwind CSS
<Us class="rounded-full bg-white h-40 w-40 ring-2 ring-gray-300 m-4" />
Tailwind CSS + Size
<Ca class="rounded-full bg-white ring-2 ring-gray-300 m-4" size="150" />
Tailwind CSS + size null
<Fr class="rounded-full bg-white w-40 ring-2 ring-gray-300 m-4" size="150" />
Bootstrap example:
<Us class="position-absolute top-0 px-1" />
Unfocusable icon
If you want to make an icon unfocusable, add tabindex="-1"
.
<Us tabindex="-1" />
Events
All icons have the following events:
- on:click
- on:keydown
- on:keyup
- on:focus
- on:blur
- on:mouseenter
- on:mouseleave
- on:mouseover
- on:mouseout
Passing down other attributes
You can pass other attibutes as well.
<Us tabindex="0" />
Using svelte:component
<svelte:component this="{Us}" />
Using onMount
<script>
import { Us } from 'svelte-flags';
import { onMount } from 'svelte';
const props = {
size: '50',
color: '#ff0000'
};
onMount(() => {
const icon = new Us({ target: document.body, props });
});
</script>
Import all
Use import * as Icon from 'svelte-circle-flags
.
<script>
import * as Icon from 'svelte-flags';
</script>
<h1>Size</h1>
<Icon.Fr size="30" />
<Icon.De size="40" />
<h1>CSS HEX color</h1>
<Icon.Dk color="#c61515" size="40" />
<h1>Tailwind CSS</h1>
<Icon.Jp class="text-blue-500" />
<Icon.No class="text-pink-700" />
Icon Names
ISO 3166 Country Codes
Credit
All the credits goes to country-flags
Other icons
Experience lightning-fast browsing and offline access with Our PWA
This website can be downloaded and installed on your device for offline access as a Progressive Web App.
To install a PWA, look for the "Add to Home Screen" option in the browser's menu or settings. On most mobile devices, this option can be found by visiting the website, then selecting the "Options" or "Menu" button in the browser, and looking for the "Add to Home Screen" option. On some desktop browsers, right-click on the page and select "Install".