One tag, any framework
Web component works the same in plain HTML, React, Svelte, Vue, Next.js, Astro, Nuxt — anywhere modern browsers run. No framework-specific package; the tag IS the API.
Use Case · Embedding
One <code><animot-presenter></code> tag. Works in Svelte, React, Vue, plain HTML — same API everywhere. NPM + CDN with version pinning. No iframe weirdness.
Features
Most loyalty embed tools use iframes. We embed via native web component — no Z-index hell, no scroll bugs, no "load delay" flash, and proper event listeners.
Web component works the same in plain HTML, React, Svelte, Vue, Next.js, Astro, Nuxt — anywhere modern browsers run. No framework-specific package; the tag IS the API.
Install <code>animot-presenter</code> via npm for Svelte projects (proper component wrapper). Or pull <code>animot-presenter</code> standalone for any framework. Tree-shakeable, TypeScript types included.
Lock to a specific version via jsDelivr. Your blog post embedded in 2024 keeps rendering the same in 2027 — even after the engine updates.
Override colors, fonts, controls styling via CSS variables. Match your blog's palette without forking the component or hacking via !important.
Engine ships at ~84KB gzipped. Shiki (syntax highlighting) lazy-loads only when a code element appears. Your blog post stays fast.
Listen to <code>onslidechange</code> and <code>oncomplete</code> events. Sync external scroll, fire analytics, jump to specific slides on user input. The component exposes a real JS surface.
Templates
Compact looping animations meant for hero sections, blog inserts, doc pages.
I drop the embed tag in my Notion-exported blog and the diagram just plays. No iframe weirdness, no Z-index hell. The web component pattern is the right call.
FAQ
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/animot-presenter@0.2.9/dist/style.css">
<script src="https://cdn.jsdelivr.net/npm/animot-presenter@0.2.9/dist/animot-presenter.js"></script><animot-presenter src="https://animot.io/p/your-deck-id" autoplay loop></animot-presenter>controls, arrows, progress, keyboard — turn each on/off independently. Style them via CSS variables. See presenter docs.Ready
Free tier includes public sharing + embed with no watermark on your embedded decks. Pro removes the watermark from public share pages and unlocks unlimited presentations.