JavaScript
bash
npm i kubai-iconsCreate an element
js
import { createIcon, Folder, MailPlus } from "kubai-icons";
document.querySelector("#toolbar").append(
createIcon(Folder, { size: 24 }),
createIcon(MailPlus, { color: "#EC4899", trigger: "parent" })
);Replace placeholders
html
<i data-kubai="folder" data-size="32"></i>
<i data-kubai="calendar-check" data-color="#22C55E"></i>
<script type="module">
import { replaceIcons, Folder, CalendarCheck } from "kubai-icons";
replaceIcons({ icons: { Folder, CalendarCheck } });
</script>Web component
Loaded from a CDN with one script tag. Each icon file is loaded on first use and then cached.
html
<script type="module" src="https://cdn.jsdelivr.net/npm/kubai-icons@0/dist/element.js"></script>
<kubai-icon name="folder"></kubai-icon>
<kubai-icon name="bell-off" size="32" color="#F97316" variant="soft" label="Muted"></kubai-icon>Server rendering
js
import { toSvg, Folder } from "kubai-icons";
const html = toSvg(Folder, { size: 24, title: "Files" });The output is static. For motion in the browser, pass the element to animate(svg, Folder) and bind it with bindTrigger.