#937 by GitHub stars

LottieFiles/dotlottie-web

Implement Lottie animations using dotLottie runtimes (@lottiefiles/dotlottie-web and @lottiefiles/dotlottie-react). Use when building, debugging, or optimizing dotLottie or Lottie animations in web projects, including vanilla JS, React, and Next.js. Covers package selection, Web Workers, state machi

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

4be8c16afd79 → 65d576c12f3c

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → 4be8c16afd79

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 65d576c12f3ce8ffefd3a4258f74e19f3d668ff9

939GitHub stars
6stars in 7 days
1skill in this repository
8commits in 30 days

Heat

5.4
  • Star growth, last 7 daysAhead of 75% of tracked repositories
  • Star growth, last 24 hoursAhead of 72% of tracked repositories
  • Rank movement, last 7 daysAhead of 14% of tracked repositories
  • Commits, last 30 daysAhead of 75% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 2026939

Individual skills in this repository

How it works

dotlottie-web

When your agent uses it

Implement Lottie animations using dotLottie runtimes (@lottiefiles/dotlottie-web and @lottiefiles/dotlottie-react). Use when building, debugging, or optimizing dotLottie or Lottie animations in web projects, including vanilla JS, React, and Next.js. Covers package selection, Web Workers, state machines, theming, dynamic slot overriding, performance best practices, and common patterns.

What it loads into context

Frontmatter

142 tokens

Always available to the agent

SKILL.md

3,521 tokens

When the skill is activated

Reference documents

70,360 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Package Selection
  2. Installation
  3. Basic Implementation
  4. .lottie vs .json
  5. Web Workers (Recommended for Performance)
  6. State Machines (Interactivity)
  7. Theming with Slots
  8. Dynamic Slot Overriding
  9. Markers & Segments
  10. Rendering a Specific Frame to an Image
  11. Event Handling
  12. Performance Best Practices
  13. Multi-Animation Files
  14. Canvas Sizing
  15. Common Patterns
  16. Debugging
  17. Error Handling
  18. SSR / Next.js Considerations
  19. Resources

Scripts executed separately

  • .remarkrc.mjs
  • .size-limit.js
  • apps/viewer/package.json
  • apps/viewer/postcss.config.js
  • apps/viewer/src/components/animation-list.tsx
  • apps/viewer/src/components/controls.tsx
  • apps/viewer/src/components/dotlottie-cdn-player.tsx
  • apps/viewer/src/components/dotlottie-gpu-player.tsx
  • apps/viewer/src/components/dotlottie-old.tsx
  • apps/viewer/src/components/form/base-button.tsx
  • apps/viewer/src/components/form/base-input.tsx
  • apps/viewer/src/components/form/base-select.tsx
  • apps/viewer/src/components/form/input-label.tsx
  • apps/viewer/src/components/form/step-select.tsx
  • apps/viewer/src/components/form/switch.tsx
  • apps/viewer/src/components/load-time.tsx
  • apps/viewer/src/components/players.tsx
  • apps/viewer/src/components/playground/code-editor.tsx
  • apps/viewer/src/components/playground/console-panel.tsx
  • apps/viewer/src/components/playground/error-display.tsx
  • apps/viewer/src/components/playground/example-selector.tsx
  • apps/viewer/src/components/playground/preview-iframe.tsx
  • apps/viewer/src/components/playground/resizable-split.tsx
  • apps/viewer/src/components/side-panel.tsx
  • apps/viewer/src/components/skottie.tsx
  • apps/viewer/src/components/slot-controller.tsx
  • apps/viewer/src/components/top-bar.tsx
  • apps/viewer/src/components/virtualized/VirtualAnimationItem.tsx
  • apps/viewer/src/components/virtualized/VirtualizedAnimationList.tsx
  • apps/viewer/src/context/theme-context.tsx
  • apps/viewer/src/data/playground-examples.ts
  • apps/viewer/src/data/playground-examples/basic.js
  • apps/viewer/src/data/playground-examples/dynamic-loading.js
  • apps/viewer/src/data/playground-examples/event-listeners.js
  • apps/viewer/src/data/playground-examples/interactive-hover.js
  • apps/viewer/src/data/playground-examples/play-segment.js
  • apps/viewer/src/data/playground-examples/playback-controls.js
  • apps/viewer/src/hooks/use-camera.ts
  • apps/viewer/src/hooks/useDotLottiePool.ts
  • apps/viewer/src/main.tsx
  • apps/viewer/src/pages/embed.tsx
  • apps/viewer/src/pages/home.tsx
  • apps/viewer/src/pages/list.tsx
  • apps/viewer/src/pages/perf.tsx
  • apps/viewer/src/pages/playground.tsx
  • apps/viewer/src/store/hooks.ts
  • apps/viewer/src/store/index.ts
  • apps/viewer/src/store/types.ts
  • apps/viewer/src/store/viewer-slice.ts
  • apps/viewer/src/utils/url-compression.ts
  • apps/viewer/src/vite-env.d.ts
  • apps/viewer/tailwind.config.js
  • apps/viewer/vite.config.ts
  • commitlint.config.ts
  • examples/next/next.config.mjs
  • examples/next/package.json
  • examples/next/src/pages/_app.tsx
  • examples/next/src/pages/_document.tsx
  • examples/next/src/pages/index.tsx
  • examples/next/src/wasm-url.d.ts
  • examples/react/package.json
  • examples/react/src/App.tsx
  • examples/react/src/client-entry.tsx
  • examples/react/src/vite-env.d.ts
  • examples/react/vite.config.ts
  • examples/solid/package.json
  • examples/solid/src/App.tsx
  • examples/solid/src/index.tsx
  • examples/solid/vite.config.ts
  • examples/vue/.eslintrc.cjs
  • examples/vue/package.json
  • examples/vue/src/main.ts
  • examples/vue/src/vite-env.d.ts
  • examples/vue/vite.config.ts
  • examples/wc/package.json
  • examples/wc/src/main.ts
  • examples/wc/src/vite-env.d.ts
  • examples/web-node/index.ts
  • examples/web-node/package.json
  • examples/web/package.json
  • examples/web/src/main.ts
  • examples/web/src/vite-env.d.ts
  • examples/web/vite.config.ts
  • fixtures/profiler.js
  • guidelines/install.sh
  • package.json
  • packages/react/package.json
  • packages/react/setup-file.ts
  • packages/react/src/base-dotlottie-react.tsx
  • packages/react/src/dotlottie-worker.tsx
  • packages/react/src/dotlottie.tsx
  • packages/react/src/index.ts
  • packages/react/src/webgl/index.tsx
  • packages/react/src/webgpu/index.tsx
  • packages/react/tests/dotlottie-react.spec.tsx
  • packages/react/tsdown.config.ts
  • packages/react/vitest.config.ts
  • packages/solid/package.json
  • packages/solid/src/dotlottie.tsx
  • packages/solid/src/index.ts
  • packages/solid/src/use-dotlottie.tsx
  • packages/solid/tsdown.config.ts
  • packages/svelte/package.json
  • packages/svelte/setup-file.ts
  • packages/svelte/src/app.d.ts
  • packages/svelte/src/lib/index.ts
  • packages/svelte/svelte.config.js
  • packages/svelte/tests/dotlottie-svelte.spec.ts
  • packages/svelte/vite.config.ts
  • packages/svelte/vitest.config.ts
  • packages/vue/package.json
  • packages/vue/src/dotlottie.ts
  • packages/vue/src/index.ts
  • packages/vue/tsdown.config.ts
  • packages/wc/__tests__/dotlottie-wc.spec.ts
  • packages/wc/__tests__/exports.spec.ts
  • packages/wc/package.json
  • packages/wc/src/base-dotlottie-wc.ts
  • packages/wc/src/dotlottie-wc.ts
  • packages/wc/src/dotlottie-worker-wc.ts
  • packages/wc/src/index.ts
  • packages/wc/src/set-wasm-url.ts
  • packages/wc/tsdown.config.ts
  • packages/wc/vitest.config.ts
  • packages/web/Makefile
  • packages/web/package.json
  • packages/web/rolldown-plugins/plugin-inline-worker.ts
  • packages/web/scripts/verify-dist.mjs
  • packages/web/src/animation-frame-manager.ts
  • packages/web/src/constants.ts
  • packages/web/src/core/dotlottie-player.d.ts
  • packages/web/src/core/dotlottie-player.js
  • packages/web/src/core/dotlottie-player.wasm.d.ts
  • packages/web/src/core/index.ts
  • packages/web/src/dotlottie.ts
  • packages/web/src/event-manager.ts
  • packages/web/src/index.ts
  • packages/web/src/offscreen-observer.ts
  • packages/web/src/resize-observer.ts
  • packages/web/src/types.ts
  • packages/web/src/utils.ts
  • packages/web/src/wasm-loader.ts
  • packages/web/src/webgl/dotlottie-player.d.ts
  • packages/web/src/webgl/dotlottie-player.js
  • packages/web/src/webgl/dotlottie-player.wasm.d.ts
  • packages/web/src/webgl/dotlottie-webgl.ts
  • packages/web/src/webgl/index.ts
  • packages/web/src/webgpu/dotlottie-player.d.ts
  • packages/web/src/webgpu/dotlottie-player.js
  • packages/web/src/webgpu/dotlottie-player.wasm.d.ts
  • packages/web/src/webgpu/dotlottie-webgpu.ts
  • packages/web/src/webgpu/index.ts
  • packages/web/src/worker/dotlottie.ts
  • packages/web/src/worker/dotlottie.worker.ts
  • packages/web/src/worker/index.ts
  • packages/web/src/worker/types.ts
  • packages/web/src/worker/worker-manager.ts
  • packages/web/tests/dotlottie.node.test.ts
  • packages/web/tests/dotlottie.test.ts
  • packages/web/tests/event-manager.test.ts
  • packages/web/tests/plugin-inline-worker.node.test.ts
  • packages/web/tests/setup.ts
  • packages/web/tests/test-utils.ts
  • packages/web/tests/utils.test.ts
  • packages/web/tests/wasm-loader.test.ts
  • packages/web/tests/worker.test.ts
  • packages/web/tsdown.config.ts
  • packages/web/types.d.ts
  • packages/web/vitest.config.node.ts
  • packages/web/vitest.config.ts
  • scripts/dev-release-report.mjs
  • scripts/remove-dev.mjs
  • vitest.config.ts

Files

  • .changeset/README.mddoc510 bytes
  • .changeset/config.jsonasset408 bytes
  • .editorconfigasset618 bytes
  • .eslintignoreasset496 bytes
  • .gitattributesasset318 bytes
  • .github/CODEOWNERSasset785 bytes
  • .github/ISSUE_TEMPLATE/BUG_REPORT.mddoc761 bytes
  • .github/ISSUE_TEMPLATE/ENHANCEMENT.mddoc628 bytes
  • .github/ISSUE_TEMPLATE/FEATURE_REQUEST.mddoc741 bytes
  • .github/PULL_REQUEST_TEMPLATE.mddoc637 bytes
  • .github/SECURITY.mddoc1,754 bytes
  • .github/dependabot.ymlasset746 bytes
  • .github/workflows/ci.ymlasset7,616 bytes
  • .github/workflows/deploy-viewer.ymlasset1,482 bytes
  • .github/workflows/release.ymlasset12,188 bytes
  • .github/workflows/stale.ymlasset1,869 bytes
  • .gitignoreasset587 bytes
  • .gitmodulesasset117 bytes
  • .nvmrcasset3 bytes
  • .remarkignoreasset247 bytes
  • .remarkrc.mjsruns85 bytes
  • .size-limit.jsruns1,420 bytes
  • CODE_OF_CONDUCT.mddoc5,534 bytes
  • CONTRIBUTING.mddoc2,718 bytes
  • LICENSEasset1,072 bytes
  • README.mddoc16,712 bytes
  • SKILL.mdcore13,906 bytes
  • SKILL.mdcore13,906 bytes
  • apps/viewer/.gitignoreasset253 bytes
  • apps/viewer/index.htmlasset620 bytes
  • apps/viewer/package.jsonruns1,792 bytes
  • apps/viewer/postcss.config.jsruns105 bytes
  • apps/viewer/src/assets/brand-logo.svgasset4,947 bytes
  • apps/viewer/src/assets/react.svgasset4,126 bytes
  • apps/viewer/src/components/animation-list.tsxruns1,458 bytes
  • apps/viewer/src/components/controls.tsxruns8,592 bytes
  • apps/viewer/src/components/dotlottie-cdn-player.tsxruns4,975 bytes
  • apps/viewer/src/components/dotlottie-gpu-player.tsxruns6,534 bytes
  • apps/viewer/src/components/dotlottie-old.tsxruns214 bytes
  • apps/viewer/src/components/form/base-button.tsxruns497 bytes
  • apps/viewer/src/components/form/base-input.tsxruns1,539 bytes
  • apps/viewer/src/components/form/base-select.tsxruns1,486 bytes
  • apps/viewer/src/components/form/input-label.tsxruns583 bytes
  • apps/viewer/src/components/form/step-select.tsxruns2,066 bytes
  • apps/viewer/src/components/form/switch.tsxruns924 bytes
  • apps/viewer/src/components/load-time.tsxruns574 bytes
  • apps/viewer/src/components/players.tsxruns16,077 bytes
  • apps/viewer/src/components/playground/code-editor.tsxruns2,688 bytes
  • apps/viewer/src/components/playground/console-panel.tsxruns4,363 bytes
  • apps/viewer/src/components/playground/error-display.tsxruns527 bytes
  • apps/viewer/src/components/playground/example-selector.tsxruns765 bytes
  • apps/viewer/src/components/playground/preview-iframe.tsxruns3,868 bytes
  • apps/viewer/src/components/playground/resizable-split.tsxruns2,630 bytes
  • apps/viewer/src/components/side-panel.tsxruns654 bytes
  • apps/viewer/src/components/skottie.tsxruns2,001 bytes
  • apps/viewer/src/components/slot-controller.tsxruns16,071 bytes
  • apps/viewer/src/components/top-bar.tsxruns3,014 bytes
  • apps/viewer/src/components/virtualized/VirtualAnimationItem.tsxruns1,003 bytes
  • apps/viewer/src/components/virtualized/VirtualizedAnimationList.tsxruns2,383 bytes
  • apps/viewer/src/context/theme-context.tsxruns2,874 bytes
  • apps/viewer/src/data/playground-examples.tsruns1,619 bytes
  • apps/viewer/src/data/playground-examples/basic.jsruns550 bytes
  • apps/viewer/src/data/playground-examples/dynamic-loading.jsruns1,006 bytes
  • apps/viewer/src/data/playground-examples/event-listeners.jsruns1,157 bytes
  • apps/viewer/src/data/playground-examples/interactive-hover.jsruns774 bytes
  • apps/viewer/src/data/playground-examples/play-segment.jsruns957 bytes
  • apps/viewer/src/data/playground-examples/playback-controls.jsruns757 bytes
  • apps/viewer/src/hooks/use-camera.tsruns4,927 bytes
  • apps/viewer/src/hooks/useDotLottiePool.tsruns1,484 bytes
  • apps/viewer/src/index.cssasset588 bytes
  • apps/viewer/src/main.tsxruns969 bytes
  • apps/viewer/src/pages/embed.tsxruns5,181 bytes
  • apps/viewer/src/pages/home.tsxruns4,071 bytes
  • apps/viewer/src/pages/list.tsxruns1,588 bytes
  • apps/viewer/src/pages/perf.tsxruns14,656 bytes
  • apps/viewer/src/pages/playground.tsxruns11,444 bytes
  • apps/viewer/src/store/hooks.tsruns272 bytes
  • apps/viewer/src/store/index.tsruns306 bytes
  • apps/viewer/src/store/types.tsruns0 bytes
  • apps/viewer/src/store/viewer-slice.tsruns6,271 bytes
  • apps/viewer/src/utils/url-compression.tsruns1,861 bytes
  • apps/viewer/src/vite-env.d.tsruns38 bytes
  • apps/viewer/tailwind.config.jsruns778 bytes
  • apps/viewer/tsconfig.jsonasset641 bytes
  • apps/viewer/tsconfig.node.jsonasset233 bytes
  • apps/viewer/vite.config.tsruns349 bytes
  • assets/1.gifasset302,234 bytes
  • assets/2.gifasset544,111 bytes
  • assets/3.gifasset861,456 bytes
  • assets/4.gifasset373,607 bytes
  • biome.jsonasset2,628 bytes
  • commitlint.config.tsruns64 bytes
  • examples/next/.gitignoreasset391 bytes
  • examples/next/next.config.mjsruns743 bytes
  • examples/next/package.jsonruns484 bytes
  • examples/next/public/favicon.icoasset25,930 bytes
  • examples/next/public/next.svgasset1,375 bytes
  • examples/next/public/vercel.svgasset629 bytes
  • examples/next/src/pages/_app.tsxruns181 bytes
  • examples/next/src/pages/_document.tsxruns233 bytes
  • examples/next/src/pages/index.tsxruns5,282 bytes
  • examples/next/src/styles/globals.cssasset273 bytes
  • examples/next/src/wasm-url.d.tsruns75 bytes
  • examples/next/tsconfig.jsonasset516 bytes
  • examples/react/.gitignoreasset253 bytes
  • examples/react/index.htmlasset318 bytes
  • examples/react/package.jsonruns494 bytes
  • examples/react/src/App.tsxruns4,738 bytes
  • examples/react/src/client-entry.tsxruns210 bytes
  • examples/react/src/vite-env.d.tsruns38 bytes
  • examples/react/tsconfig.jsonasset605 bytes
  • examples/react/tsconfig.node.jsonasset213 bytes
  • examples/react/vite.config.tsruns171 bytes
  • examples/solid/.gitignoreasset227 bytes
  • examples/solid/index.htmlasset539 bytes
  • examples/solid/package.jsonruns474 bytes
  • examples/solid/src/App.tsxruns5,691 bytes
  • examples/solid/src/index.cssasset362 bytes
  • examples/solid/src/index.tsxruns450 bytes
  • examples/solid/tsconfig.jsonasset338 bytes
  • examples/solid/vite.config.tsruns467 bytes
  • examples/vue/.eslintrc.cjsruns414 bytes
  • examples/vue/.gitignoreasset253 bytes
  • examples/vue/.vscode/extensions.jsonasset75 bytes
  • examples/vue/index.htmlasset394 bytes
  • examples/vue/package.jsonruns827 bytes
  • examples/vue/src/App.vueasset1,813 bytes
  • examples/vue/src/assets/vue.svgasset496 bytes
  • examples/vue/src/components/HelloWorld.vueasset782 bytes
  • examples/vue/src/main.tsruns115 bytes
  • examples/vue/src/style.cssasset1,276 bytes
  • examples/vue/src/vite-env.d.tsruns38 bytes
  • examples/vue/tsconfig.jsonasset644 bytes
  • examples/vue/tsconfig.node.jsonasset213 bytes
  • examples/vue/vite.config.tsruns160 bytes
  • examples/wc/.gitignoreasset253 bytes
  • examples/wc/index.htmlasset405 bytes
  • examples/wc/package.jsonruns355 bytes
  • examples/wc/src/main.tsruns2,594 bytes
  • examples/wc/src/vite-env.d.tsruns38 bytes
  • examples/wc/tsconfig.jsonasset148 bytes
  • examples/web-node/.gitignoreasset7 bytes
  • examples/web-node/README.mddoc1,371 bytes
  • examples/web-node/demo.gifasset523,908 bytes
  • examples/web-node/index.tsruns3,324 bytes
  • examples/web-node/package.jsonruns501 bytes
  • examples/web-node/tsconfig.jsonasset210 bytes
  • examples/web/.gitignoreasset253 bytes
  • examples/web/index.htmlasset406 bytes
  • examples/web/package.jsonruns357 bytes
  • examples/web/src/main.tsruns16,824 bytes
  • examples/web/src/styles.cssasset1,339 bytes
  • examples/web/src/vite-env.d.tsruns38 bytes
  • examples/web/tsconfig.jsonasset148 bytes
  • examples/web/vite.config.tsruns103 bytes
  • fixtures/aniki-hamster.jsonasset58,977 bytes
  • fixtures/audio.jsonasset2,206 bytes
  • fixtures/celebrate.jsonasset111,541 bytes
  • fixtures/down.jsonasset5,539 bytes
  • fixtures/dragon.jsonasset216,948 bytes
  • fixtures/editor.jsonasset38,091 bytes
  • fixtures/exploding_pigeon.lottieasset52,904 bytes
  • fixtures/favicon.pngasset856 bytes
  • fixtures/favicon.svgasset1,172 bytes
  • fixtures/fonts/Impact.ttfasset138,433 bytes
  • fixtures/fonts/Type-Tones - Arboria-Black.woffasset37,491 bytes
  • fixtures/fonts/Type-Tones - Arboria-Bold.woffasset38,032 bytes
  • fixtures/growup.jsonasset35,693 bytes
  • fixtures/hamster.jsonasset58,977 bytes
  • fixtures/hamster.lottieasset4,674 bytes
  • fixtures/image.jsonasset942,143 bytes
  • fixtures/layout_example.lottieasset751 bytes
  • fixtures/like.jsonasset8,075 bytes
  • fixtures/lolo.jsonasset36,136 bytes
  • fixtures/lottie-lego.jsonasset28,107 bytes
  • fixtures/lottie/11555.jsonasset30,402 bytes
  • fixtures/lottie/1643-exploding-star.jsonasset27,807 bytes
  • fixtures/lottie/27746-joypixels-partying-face-emoji-animation.jsonasset43,106 bytes
  • fixtures/lottie/5317-fireworkds.jsonasset9,300 bytes
  • fixtures/lottie/5344-honey-sack-hud.jsonasset138,527 bytes
  • fixtures/lottie/a_mountain.jsonasset34,001 bytes
  • fixtures/lottie/abstract_circle.jsonasset2,249 bytes
  • fixtures/lottie/alien.jsonasset103,109 bytes
  • fixtures/lottie/anubis.jsonasset42,274 bytes
  • fixtures/lottie/balloons_with_string.jsonasset30,941 bytes
  • fixtures/lottie/batman.jsonasset794,136 bytes
  • fixtures/lottie/birth_stone_logo.jsonasset4,383 bytes
  • fixtures/lottie/calculator.jsonasset89,722 bytes
  • fixtures/lottie/card_hover.jsonasset327,388 bytes
  • fixtures/lottie/cat_loader.jsonasset52,489 bytes
  • fixtures/lottie/coin.jsonasset76,757 bytes
  • fixtures/lottie/confetti.jsonasset365,327 bytes
  • fixtures/lottie/confetti2.jsonasset30,455 bytes
  • fixtures/lottie/confettiBird.jsonasset91,551 bytes
  • fixtures/lottie/customer.jsonasset166,844 bytes
  • fixtures/lottie/dancing_book.jsonasset128,957 bytes
  • fixtures/lottie/dancing_star.jsonasset31,515 bytes
  • fixtures/lottie/day_to_night.jsonasset122,000 bytes
  • fixtures/lottie/dodecahedron.jsonasset61,906 bytes
  • fixtures/lottie/down.jsonasset5,539 bytes
  • fixtures/lottie/dropball.jsonasset30,156 bytes
  • fixtures/lottie/duck.jsonasset129,343 bytes
  • fixtures/lottie/earth_hour.jsonasset121,913 bytes
  • fixtures/lottie/emoji.jsonasset74,955 bytes
  • fixtures/lottie/emoji_enjoying.jsonasset21,006 bytes
  • fixtures/lottie/error_404.jsonasset297,531 bytes
  • fixtures/lottie/fiery_skull.jsonasset55,497 bytes
  • fixtures/lottie/fleche.jsonasset33,556 bytes
  • fixtures/lottie/flipping_page.jsonasset52,912 bytes
  • fixtures/lottie/fly_in_beaker.jsonasset83,764 bytes
  • fixtures/lottie/focal_test.jsonasset65,298 bytes
  • fixtures/lottie/foodrating.jsonasset50,187 bytes
  • fixtures/lottie/frog_vr.jsonasset112,378 bytes
  • fixtures/lottie/fun_animation.jsonasset153,619 bytes
  • fixtures/lottie/funky_chicken.jsonasset86,449 bytes
  • fixtures/lottie/game_finished.jsonasset45,226 bytes
  • fixtures/lottie/geometric.jsonasset29,922 bytes
  • fixtures/lottie/glow_loading.jsonasset15,144 bytes
  • fixtures/lottie/gradient_background.jsonasset204,748 bytes
  • fixtures/lottie/gradient_infinite.jsonasset15,279 bytes
  • fixtures/lottie/gradient_sleepy_loader.jsonasset4,532 bytes
  • fixtures/lottie/gradient_smoke.jsonasset23,905 bytes
  • fixtures/lottie/growup.jsonasset35,693 bytes
  • fixtures/lottie/guitar.jsonasset180,727 bytes
  • fixtures/lottie/hamburger.jsonasset97,090 bytes
  • fixtures/lottie/happy_holidays.jsonasset71,730 bytes
  • fixtures/lottie/happy_trio.jsonasset46,760 bytes
  • fixtures/lottie/hola.jsonasset27,816 bytes
  • fixtures/lottie/holdanimation.jsonasset329,107 bytes
  • fixtures/lottie/hourglass.jsonasset16,430 bytes
  • fixtures/lottie/insta_camera.jsonasset62,910 bytes
  • fixtures/lottie/isometric.jsonasset9,570 bytes
  • fixtures/lottie/kote.jsonasset58,750 bytes
  • fixtures/lottie/la_communaute.jsonasset70,666 bytes
  • fixtures/lottie/like.jsonasset8,075 bytes
  • fixtures/lottie/like_button.jsonasset151,438 bytes
  • fixtures/lottie/loading_rectangle.jsonasset25,720 bytes
  • fixtures/lottie/lolo.jsonasset51,880 bytes
  • fixtures/lottie/lolo_walk.jsonasset36,136 bytes
  • fixtures/lottie/loveface_emoji.jsonasset21,741 bytes
  • fixtures/lottie/masking.jsonasset75,470 bytes
  • fixtures/lottie/material_wave_loading.jsonasset5,945 bytes
  • fixtures/lottie/merging_shapes.jsonasset11,161 bytes
  • fixtures/lottie/message.jsonasset196,112 bytes
  • fixtures/lottie/morphing_anim.jsonasset18,914 bytes
  • fixtures/lottie/open_envelope.jsonasset30,737 bytes
  • fixtures/lottie/personal_character.jsonasset78,363 bytes
  • fixtures/lottie/polystar.jsonasset11,727 bytes
  • fixtures/lottie/polystar_anim.jsonasset1,809 bytes
  • fixtures/lottie/property_market.jsonasset33,069 bytes
  • fixtures/lottie/radar.jsonasset29,997 bytes
  • fixtures/lottie/ripple_loading_animation.jsonasset9,021 bytes
  • fixtures/lottie/rufo.jsonasset84,478 bytes
  • fixtures/lottie/sad_emoji.jsonasset11,038 bytes
  • fixtures/lottie/sample.jsonasset28,006 bytes
  • fixtures/lottie/seawalk.jsonasset533,511 bytes
  • fixtures/lottie/skullboy.jsonasset194,834 bytes
  • fixtures/lottie/snail.jsonasset37,999 bytes
  • fixtures/lottie/starburst.jsonasset1,268,260 bytes
  • fixtures/lottie/starstrips.jsonasset27,785 bytes
  • fixtures/lottie/starts_transparent.jsonasset180,890 bytes
  • fixtures/lottie/stroke_dash.jsonasset18,083 bytes
  • fixtures/lottie/swinging.jsonasset133,210 bytes
  • fixtures/lottie/text.jsonasset10,204 bytes
  • fixtures/lottie/text2.jsonasset86,628 bytes
  • fixtures/lottie/text_anim.jsonasset244,526 bytes
  • fixtures/lottie/threads.jsonasset15,398 bytes
  • fixtures/lottie/train.jsonasset244,297 bytes
  • fixtures/lottie/uk_flag.jsonasset729,061 bytes
  • fixtures/lottie/voice_recognition.jsonasset179,393 bytes
  • fixtures/lottie/walker.jsonasset29,641 bytes
  • fixtures/lottie/water_filling.jsonasset23,002 bytes
  • fixtures/lottie/waves.jsonasset7,756 bytes
  • fixtures/lottie/woman.jsonasset93,494 bytes
  • fixtures/lottie/yarn_loading.jsonasset18,562 bytes
  • fixtures/markers_example.jsonasset312,349 bytes
  • fixtures/markers_example.lottieasset52,478 bytes
  • fixtures/multi.lottieasset1,368,027 bytes
  • fixtures/multi_themes.lottieasset2,904 bytes
  • fixtures/profiler.jsruns4,143 bytes
  • fixtures/sm.lottieasset11,478 bytes
  • fixtures/sm/all-inputs.jsonasset1,682 bytes
  • fixtures/sm/click-machine.jsonasset423 bytes
  • fixtures/sm/cursor-machine.jsonasset406 bytes
  • fixtures/sm/hold-machine.jsonasset755 bytes
  • fixtures/sm/hover.lottieasset3,304 bytes
  • fixtures/sm/open-url-machine.jsonasset2,484 bytes
  • fixtures/sm/scroll-machine.jsonasset410 bytes
  • fixtures/sm/smiley_slider.lottieasset7,707 bytes
  • fixtures/sm/star-rating.lottieasset2,519 bytes
  • fixtures/sm/theme-machine.jsonasset1,624 bytes
  • fixtures/sm/toggle.lottieasset3,262 bytes
  • fixtures/test.jsonasset12,679 bytes
  • fixtures/test.lottieasset1,446 bytes
  • fixtures/text.jsonasset510 bytes
  • fixtures/toggle.lottieasset3,492 bytes
  • fixtures/walker.jsonasset29,641 bytes
  • fixtures/waves.jsonasset7,756 bytes
  • fixtures/woman.jsonasset93,494 bytes
  • guidelines/README.mddoc2,215 bytes
  • guidelines/command.mddoc17,586 bytes
  • guidelines/install.shruns3,868 bytes
  • index.htmlasset12,820 bytes
  • lefthook.ymlasset412 bytes
  • package.jsonruns2,469 bytes
  • packages/react/CHANGELOG.mddoc24,145 bytes
  • packages/react/README.mddoc11,735 bytes
  • packages/react/package.jsonruns2,474 bytes
  • packages/react/setup-file.tsruns309 bytes
  • packages/react/src/base-dotlottie-react.tsxruns9,053 bytes
  • packages/react/src/dotlottie-worker.tsxruns701 bytes
  • packages/react/src/dotlottie.tsxruns624 bytes
  • packages/react/src/index.tsruns416 bytes
  • packages/react/src/webgl/index.tsxruns995 bytes
  • packages/react/src/webgpu/index.tsxruns1,066 bytes
  • packages/react/tests/__snapshots__/dotlottie-react.spec.tsx.snapasset456 bytes
  • packages/react/tests/dotlottie-react.spec.tsxruns31,500 bytes
  • packages/react/tsconfig.build.jsonasset458 bytes
  • packages/react/tsconfig.jsonasset259 bytes
  • packages/react/tsdown.config.tsruns1,188 bytes
  • packages/react/vitest.config.tsruns719 bytes
  • packages/solid/CHANGELOG.mddoc14,485 bytes
  • packages/solid/README.mddoc11,452 bytes
  • packages/solid/package.jsonruns1,466 bytes
  • packages/solid/src/dotlottie.tsxruns1,206 bytes
  • packages/solid/src/index.tsruns111 bytes
  • packages/solid/src/use-dotlottie.tsxruns8,883 bytes
  • packages/solid/tsconfig.build.jsonasset219 bytes
  • packages/solid/tsconfig.jsonasset226 bytes
  • packages/solid/tsdown.config.tsruns318 bytes
  • packages/svelte/.eslintignoreasset160 bytes
  • packages/svelte/.gitignoreasset138 bytes
  • packages/svelte/.prettierrcasset205 bytes
  • packages/svelte/CHANGELOG.mddoc16,936 bytes
  • packages/svelte/README.mddoc10,958 bytes
  • packages/svelte/package.jsonruns2,533 bytes
  • packages/svelte/setup-file.tsruns267 bytes
  • packages/svelte/src/app.d.tsruns281 bytes
  • packages/svelte/src/app.htmlasset320 bytes
  • packages/svelte/src/lib/Dotlottie.svelteasset7,082 bytes
  • packages/svelte/src/lib/index.tsruns255 bytes
  • packages/svelte/src/routes/+page.svelteasset3,731 bytes
  • packages/svelte/static/favicon.pngasset1,570 bytes
  • packages/svelte/svelte.config.jsruns690 bytes
  • packages/svelte/tests/__snapshots__/dotlottie-svelte.spec.ts.snapasset216 bytes
  • packages/svelte/tests/dotlottie-svelte.spec.tsruns20,358 bytes
  • packages/svelte/tsconfig.jsonasset353 bytes
  • packages/svelte/vite.config.tsruns224 bytes
  • packages/svelte/vitest.config.tsruns837 bytes
  • packages/vue/CHANGELOG.mddoc18,194 bytes
  • packages/vue/README.mddoc9,328 bytes
  • packages/vue/package.jsonruns1,479 bytes
  • packages/vue/src/dotlottie.tsruns9,693 bytes
  • packages/vue/src/index.tsruns29 bytes
  • packages/vue/tsconfig.build.jsonasset482 bytes
  • packages/vue/tsconfig.jsonasset221 bytes
  • packages/vue/tsdown.config.tsruns224 bytes
  • packages/wc/CHANGELOG.mddoc19,668 bytes
  • packages/wc/README.mddoc8,335 bytes
  • packages/wc/__tests__/dotlottie-wc.spec.tsruns21,326 bytes
  • packages/wc/__tests__/exports.spec.tsruns691 bytes
  • packages/wc/example.htmlasset858 bytes
  • packages/wc/package.jsonruns1,738 bytes
  • packages/wc/src/base-dotlottie-wc.tsruns8,710 bytes
  • packages/wc/src/dotlottie-wc.tsruns569 bytes
  • packages/wc/src/dotlottie-worker-wc.tsruns730 bytes
  • packages/wc/src/index.tsruns217 bytes
  • packages/wc/src/set-wasm-url.tsruns192 bytes
  • packages/wc/tsconfig.build.jsonasset473 bytes
  • packages/wc/tsconfig.jsonasset277 bytes
  • packages/wc/tsdown.config.tsruns1,400 bytes
  • packages/wc/vitest.config.tsruns578 bytes
  • packages/web/.eslintignoreasset40 bytes
  • packages/web/BUILD_SYSTEM.mddoc2,284 bytes
  • packages/web/CHANGELOG.mddoc34,719 bytes
  • packages/web/Makefileruns7,148 bytes
  • packages/web/README.mddoc7,215 bytes
  • packages/web/index.htmlasset15,475 bytes
  • packages/web/jsr.jsonasset94 bytes
  • packages/web/package.jsonruns3,012 bytes
  • packages/web/rolldown-plugins/plugin-inline-worker.tsruns3,503 bytes
  • packages/web/scripts/verify-dist.mjsruns2,195 bytes
  • packages/web/src/animation-frame-manager.tsruns1,602 bytes
  • packages/web/src/constants.tsruns604 bytes
  • packages/web/src/core/dotlottie-player.d.tsruns22,918 bytes
  • packages/web/src/core/dotlottie-player.jsruns53,667 bytes
  • packages/web/src/core/dotlottie-player.wasmasset1,226,030 bytes
  • packages/web/src/core/dotlottie-player.wasm.d.tsruns12,855 bytes
  • packages/web/src/core/index.tsruns117 bytes
  • packages/web/src/dotlottie.tsruns80,841 bytes
  • packages/web/src/event-manager.tsruns6,198 bytes
  • packages/web/src/index.tsruns118 bytes
  • packages/web/src/offscreen-observer.tsruns1,684 bytes
  • packages/web/src/resize-observer.tsruns2,123 bytes
  • packages/web/src/types.tsruns20,327 bytes
  • packages/web/src/utils.tsruns6,714 bytes
  • packages/web/src/wasm-loader.tsruns3,742 bytes
  • packages/web/src/webgl/dotlottie-player.d.tsruns27,757 bytes
  • packages/web/src/webgl/dotlottie-player.jsruns69,964 bytes
  • packages/web/src/webgl/dotlottie-player.wasmasset1,362,381 bytes
  • packages/web/src/webgl/dotlottie-player.wasm.d.tsruns17,865 bytes
  • packages/web/src/webgl/dotlottie-webgl.tsruns3,571 bytes
  • packages/web/src/webgl/index.tsruns175 bytes
  • packages/web/src/webgpu/dotlottie-player.d.tsruns27,148 bytes
  • packages/web/src/webgpu/dotlottie-player.jsruns91,035 bytes
  • packages/web/src/webgpu/dotlottie-player.wasmasset1,407,647 bytes
  • packages/web/src/webgpu/dotlottie-player.wasm.d.tsruns17,229 bytes
  • packages/web/src/webgpu/dotlottie-webgpu.tsruns5,812 bytes
  • packages/web/src/webgpu/index.tsruns178 bytes
  • packages/web/src/worker/dotlottie.tsruns56,767 bytes
  • packages/web/src/worker/dotlottie.worker.tsruns36,790 bytes
  • packages/web/src/worker/index.tsruns29 bytes
  • packages/web/src/worker/types.tsruns11,187 bytes
  • packages/web/src/worker/worker-manager.tsruns3,052 bytes
  • packages/web/tests/__snapshots__/frame-buffer-0.txtdoc36,205 bytes
  • packages/web/tests/__snapshots__/frame-buffer-1.txtdoc36,221 bytes
  • packages/web/tests/__snapshots__/frame-buffer-10.txtdoc36,196 bytes
  • packages/web/tests/__snapshots__/frame-buffer-11.txtdoc36,230 bytes
  • packages/web/tests/__snapshots__/frame-buffer-12.txtdoc36,267 bytes
  • packages/web/tests/__snapshots__/frame-buffer-13.txtdoc36,267 bytes
  • packages/web/tests/__snapshots__/frame-buffer-14.txtdoc36,233 bytes
  • packages/web/tests/__snapshots__/frame-buffer-15.txtdoc36,222 bytes
  • packages/web/tests/__snapshots__/frame-buffer-16.txtdoc36,240 bytes
  • packages/web/tests/__snapshots__/frame-buffer-17.txtdoc36,285 bytes
  • packages/web/tests/__snapshots__/frame-buffer-18.txtdoc36,276 bytes
  • packages/web/tests/__snapshots__/frame-buffer-19.txtdoc36,282 bytes
  • packages/web/tests/__snapshots__/frame-buffer-2.txtdoc36,203 bytes
  • packages/web/tests/__snapshots__/frame-buffer-20.txtdoc36,245 bytes
  • packages/web/tests/__snapshots__/frame-buffer-21.txtdoc36,221 bytes
  • packages/web/tests/__snapshots__/frame-buffer-22.txtdoc36,222 bytes
  • packages/web/tests/__snapshots__/frame-buffer-23.txtdoc36,202 bytes
  • packages/web/tests/__snapshots__/frame-buffer-24.txtdoc36,230 bytes
  • packages/web/tests/__snapshots__/frame-buffer-25.txtdoc36,226 bytes
  • packages/web/tests/__snapshots__/frame-buffer-26.txtdoc36,221 bytes
  • packages/web/tests/__snapshots__/frame-buffer-27.txtdoc36,254 bytes
  • packages/web/tests/__snapshots__/frame-buffer-28.txtdoc36,263 bytes
  • packages/web/tests/__snapshots__/frame-buffer-29.txtdoc36,273 bytes
  • packages/web/tests/__snapshots__/frame-buffer-3.txtdoc36,239 bytes
  • packages/web/tests/__snapshots__/frame-buffer-30.txtdoc36,276 bytes
  • packages/web/tests/__snapshots__/frame-buffer-31.txtdoc36,275 bytes
  • packages/web/tests/__snapshots__/frame-buffer-32.txtdoc36,265 bytes
  • packages/web/tests/__snapshots__/frame-buffer-33.txtdoc36,231 bytes
  • packages/web/tests/__snapshots__/frame-buffer-34.txtdoc36,205 bytes
  • packages/web/tests/__snapshots__/frame-buffer-35.txtdoc36,191 bytes
  • packages/web/tests/__snapshots__/frame-buffer-36.txtdoc36,192 bytes
  • packages/web/tests/__snapshots__/frame-buffer-37.txtdoc36,192 bytes
  • packages/web/tests/__snapshots__/frame-buffer-38.txtdoc36,195 bytes
  • packages/web/tests/__snapshots__/frame-buffer-39.txtdoc36,193 bytes
  • packages/web/tests/__snapshots__/frame-buffer-4.txtdoc36,300 bytes
  • packages/web/tests/__snapshots__/frame-buffer-40.txtdoc36,204 bytes
  • packages/web/tests/__snapshots__/frame-buffer-41.txtdoc36,205 bytes
  • packages/web/tests/__snapshots__/frame-buffer-5.txtdoc36,331 bytes
  • packages/web/tests/__snapshots__/frame-buffer-6.txtdoc36,326 bytes
  • packages/web/tests/__snapshots__/frame-buffer-7.txtdoc36,279 bytes
  • packages/web/tests/__snapshots__/frame-buffer-8.txtdoc36,214 bytes
  • packages/web/tests/__snapshots__/frame-buffer-9.txtdoc36,170 bytes
  • packages/web/tests/dotlottie.node.test.tsruns3,641 bytes
  • packages/web/tests/dotlottie.test.tsruns91,473 bytes
  • packages/web/tests/event-manager.test.tsruns17,653 bytes
  • packages/web/tests/plugin-inline-worker.node.test.tsruns2,868 bytes
  • packages/web/tests/setup.tsruns129 bytes
  • packages/web/tests/test-utils.tsruns758 bytes
  • packages/web/tests/utils.test.tsruns14,996 bytes
  • packages/web/tests/wasm-loader.test.tsruns13,454 bytes
  • packages/web/tests/worker.test.tsruns9,808 bytes
  • packages/web/tsconfig.build.jsonasset322 bytes
  • packages/web/tsconfig.jsonasset231 bytes
  • packages/web/tsdown.config.tsruns2,300 bytes
  • packages/web/types.d.tsruns512 bytes
  • packages/web/vitest.config.node.tsruns592 bytes
  • packages/web/vitest.config.tsruns1,153 bytes
  • pnpm-lock.yamlasset508,043 bytes
  • pnpm-workspace.yamlasset57 bytes
  • references/dynamic-slots.mddoc6,063 bytes
  • scripts/dev-release-report.mjsruns4,896 bytes
  • scripts/remove-dev.mjsruns580 bytes
  • tsconfig.build.jsonasset684 bytes
  • tsconfig.dev.jsonasset628 bytes
  • tsconfig.jsonasset39 bytes
  • turbo.jsonasset717 bytes
  • vitest.config.tsruns597 bytes
Read SKILL.md

# dotLottie Implementation Guidelines

You are an expert at implementing Lottie animations using dotLottie runtimes. Follow these guidelines when working with dotLottie in web projects.

## Package Selection

### Use `@lottiefiles/dotlottie-web` when:

* You need direct canvas control
* Building framework-agnostic code
* Maximum performance is critical
* You want the smallest bundle

### Use `@lottiefiles/dotlottie-react` when:
View the complete source on GitHub

Skills included

  • dotlottie-web

Repository facts

License
MIT
Created
Oct 20, 2023
Last pushed
Nov 4, 2026
Forks
59
Open issues
8
Project activity
Active

Rank over the last 12 weeks

Now #937 · best #628 · down 222 in 30 days

  1. #924 on Nov 1
  2. #929 on Nov 2
  3. #933 on Nov 3
  4. #935 on Nov 4
  5. #936 on Nov 5
  6. #937 since Nov 6
55 earlier periods
  1. #612 on Aug 2
  2. #604 on Aug 7
  3. #603 on Aug 8
  4. #636 on Aug 10
  5. #642 on Aug 11
  6. #640 on Aug 12
  7. #634 on Aug 14
  8. #615 on Aug 15
  9. #628 on Aug 16
  10. #638 on Aug 17
  11. #651 on Aug 18
  12. #637 on Aug 20
  13. #643 on Aug 21
  14. #646 on Aug 23
  15. #660 on Aug 24
  16. #654 on Aug 26
  17. #683 on Aug 28
  18. #664 on Aug 31
  19. #682 on Sep 7
  20. #701 on Sep 8
  21. #690 on Sep 9
  22. #694 on Sep 10
  23. #681 on Sep 12
  24. #706 on Sep 14
  25. #716 on Sep 17
  26. #702 on Sep 18
  27. #710 on Sep 21
  28. #728 on Sep 22
  29. #720 on Sep 23
  30. #677 on Sep 25
  31. #675 on Sep 26
  32. #706 on Sep 27
  33. #720 on Sep 28
  34. #734 on Sep 30
  35. #689 on Oct 1
  36. #704 on Oct 2
  37. #685 on Oct 3
  38. #715 on Oct 4
  39. #735 on Oct 10
  40. #753 on Oct 12
  41. #754 on Oct 13
  42. #766 on Oct 14
  43. #761 on Oct 15
  44. #766 on Oct 16
  45. #747 on Oct 17
  46. #731 on Oct 18
  47. #783 on Oct 20
  48. #793 on Oct 21
  49. #775 on Oct 22
  50. #744 on Oct 24
  51. #896 on Oct 25
  52. #909 on Oct 28
  53. #915 on Oct 29
  54. #918 on Oct 30
  55. #923 on Oct 31

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 159 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • apps/viewer/src/assets/react.svg:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/aniki-hamster.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/celebrate.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/down.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/dragon.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/editor.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/growup.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/hamster.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/image.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/like.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lolo.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie-lego.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/11555.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/1643-exploding-star.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/27746-joypixels-partying-face-emoji-animation.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/5317-fireworkds.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/5344-honey-sack-hud.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/a_mountain.json:1 Analysis incomplete: physical or joined line exceeds character limit
  • fixtures/lottie/alien.json:1 Analysis incomplete: physical or joined line exceeds character limit
Show all 799 signals by file

.changeset/README.md

  • Network accessline 3
    Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation f
  • Network accessline 5
    documentation for it [in our repository](https://github.com/changesets/changesets)
  • Network accessline 7
    We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
  • Network accessline 8
    [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

.changeset/config.json

  • Network accessline 1
    {   "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",
  • Network accessline 2
    "$schema": "https://unpkg.com/@changesets/config@3.1.2/schema.json",

.github/SECURITY.md

  • Network accessline 22
    1. Go to the repo's [Security tab](https://github.com/LottieFiles/dotlottie-web/security/advisories/new).

.github/workflows/release.yml

  • Network accessline 107
    cache: pnpm           node-version: lts/*           registry-url: https://registry.npmjs.org
  • Network accessline 109
    registry-url: https://registry.npmjs.org
  • Access to secretsline 155
    [Credential-related source omitted]
  • Network accessline 209
    cache: pnpm           node-version: lts/*           registry-url: https://registry.npmjs.org
  • Network accessline 211
    registry-url: https://registry.npmjs.org
  • Access to secretsline 221
    [Credential-related source omitted]
  • Dangerous shell operationline 225
    trap 'rm -f "$NPMRC"' EXIT
  • Network accessline 225
    trap 'rm -f "$NPMRC"' EXIT           {             echo "@lottiefiles:registry=https://npm.pkg.github.com/"
  • Network accessline 226
    {             echo "@lottiefiles:registry=https://npm.pkg.github.com/"             echo '//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}'
  • Network accessline 227
    echo "@lottiefiles:registry=https://npm.pkg.github.com/"
  • Access to secretsline 228
    [Credential-related source omitted]
  • Network accessline 260
    cache: pnpm           node-version: lts/*           registry-url: https://registry.npmjs.org
  • Network accessline 262
    registry-url: https://registry.npmjs.org
  • Network accessline 273
    # related issue https://github.com/denoland/deno/issues/26152
  • Access to secretsline 277
    [Credential-related source omitted]
  • Dangerous shell operationline 280
    trap 'rm -f "$NPMRC"' EXIT
  • Network accessline 280
    trap 'rm -f "$NPMRC"' EXIT           {             echo "@lottiefiles:registry=https://registry.npmjs.org/"
  • Network accessline 281
    {             echo "@lottiefiles:registry=https://registry.npmjs.org/"             echo '//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}'
  • Network accessline 282
    echo "@lottiefiles:registry=https://registry.npmjs.org/"
  • Access to secretsline 283
    [Credential-related source omitted]
  • Network accessline 318
    cache: pnpm           node-version: lts/*           registry-url: https://registry.npmjs.org
  • Network accessline 320
    registry-url: https://registry.npmjs.org
  • Access to secretsline 356
    [Credential-related source omitted]
  • Dangerous shell operationline 360
    trap 'rm -f "$NPMRC"' EXIT
  • Network accessline 360
    trap 'rm -f "$NPMRC"' EXIT           {             echo "@lottiefiles:registry=https://npm.pkg.github.com/"
  • Network accessline 361
    {             echo "@lottiefiles:registry=https://npm.pkg.github.com/"             echo '//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}'
  • Network accessline 362
    echo "@lottiefiles:registry=https://npm.pkg.github.com/"
  • Access to secretsline 363
    [Credential-related source omitted]

.gitignore

  • Access to secretsline 9
    [Credential-related source omitted]

.gitmodules

  • Network accessline 1
    [submodule "deps/dotlottie-rs"] 	path = packages/web/dotlottie-rs 	url = https://github.com/Lottiefiles/dotlottie-rs
  • Network accessline 3
    url = https://github.com/Lottiefiles/dotlottie-rs

.remarkrc.mjs

  • Executable scriptline 1
    Executable file

.size-limit.js

  • Executable scriptline 1
    Executable file

CODE_OF_CONDUCT.md

  • Network accessline 117
    This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code\_of\_conduct.html][v2.1].
  • Network accessline 119
    [https://www.contributor-covenant.org/version/2/1/code\_of\_conduct.html][v2.1].
  • Network accessline 124
    For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
  • Network accessline 125
    [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
  • Network accessline 126
    [https://www.contributor-covenant.org/translations][translations].
  • Network accessline 128
    [homepage]: https://www.contributor-covenant.org
  • Network accessline 130
    [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
  • Network accessline 132
    [Mozilla CoC]: https://github.com/mozilla/diversity
  • Network accessline 134
    [FAQ]: https://www.contributor-covenant.org/faq
  • Network accessline 136
    [translations]: https://www.contributor-covenant.org/translations

CONTRIBUTING.md

  • Network accessline 7
    * [Node.js](https://nodejs.org/) (v22+)
  • Network accessline 8
    * [pnpm](https://pnpm.io/) (v10+)
  • Network accessline 13
    # Clone the repository git clone https://github.com/LottieFiles/dotlottie-web.git
  • Network accessline 14
    git clone https://github.com/LottieFiles/dotlottie-web.git
  • Network accessline 74
    We use [Changesets](https://github.com/changesets/changesets) to manage versioning and changelogs. Every user-facing change needs a changeset.
  • Network accessline 90
    We follow [Semantic Versioning](https://semver.org/):

README.md

  • Network accessline 1
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-web?label=%40lottiefiles%2Fdotlottie-web)
  • Network accessline 2
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@lottiefiles/dotlottie-web)
  • Network accessline 3
    ![npm downloads](https://img.shields.io/npm/dw/@lottiefiles/dotlottie-web)
  • Network accessline 4
    ![jsDelivr hits](https://img.shields.io/jsdelivr/npm/hw/%40lottiefiles/dotlottie-web)
  • Network accessline 5
    ![GitHub](https://img.shields.io/github/license/LottieFiles/dotlottie-web)
  • Network accessline 7
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 8
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 14
    The official LottieFiles player for <b>Lottie</b> (<code>.json</code>) and   <b>dotLottie</b> (<code>.lottie</code>) animations on the web — a Rust + WASM core   powered by <a href="https://github.com/thorvg/thorvg">ThorVG</a>, with Softwar
  • Network accessline 15
    <b>dotLottie</b> (<code>.lottie</code>) animations on the web — a Rust + WASM core   powered by <a href="https://github.com/thorvg/thorvg">ThorVG</a>, with Software,   WebGL2, and WebGPU rendering backends and full
  • Network accessline 16
    powered by <a href="https://github.com/thorvg/thorvg">ThorVG</a>, with Software,
  • Network accessline 17
    WebGL2, and WebGPU rendering backends and full   <a href="https://lottiefiles.com/dotlottie">dotLottie v2</a> support (theming, state machines,   and audio).
  • Network accessline 18
    <a href="https://lottiefiles.com/dotlottie">dotLottie v2</a> support (theming, state machines,
  • Network accessline 22
    <p align="center">   <a href="https://lottiefiles.github.io/dotlottie-web/"><b>🌐 Live Viewer</b></a> ·
  • Network accessline 23
    <a href="https://lottiefiles.github.io/dotlottie-web/"><b>🌐 Live Viewer</b></a> ·
  • Network accessline 24
    <a href="https://lottiefiles.github.io/dotlottie-web/perf-test"><b>📊 Perf Playground</b></a> ·
  • Network accessline 25
    <a href="https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/"><b>📚 Docs</b></a> ·
  • Network accessline 26
    <a href="https://github.com/LottieFiles/dotlottie-rs"><b>🦀 dotLottie-rs</b></a>
  • Network accessline 31
    * 📦 **Lottie + dotLottie, one player** — point `src` at a classic Lottie [`.json`](https://lottiefiles.github.io/lottie-docs/) or a [`.lottie`](https://lottiefiles.com/dotlottie) archive. The `.lottie` format bundles multiple animations, th
  • Network accessline 32
    * 🦀 **Rust + WASM core** — powered by [`dotlottie-rs`](https://github.com/LottieFiles/dotlottie-rs), the same engine that ships in iOS, Android, and native dotLottie players. One battle-tested implementation across every platform.
  • Network accessline 33
    * 🎨 **ThorVG renderer** — an industrial-grade vector graphics engine with the broadest Lottie feature coverage of any web renderer. See the [ThorVG Lottie support matrix](https://github.com/thorvg/thorvg/wiki/Lottie-Support).
  • Network accessline 57
    const dotLottie = new DotLottie({   canvas: document.getElementById('canvas'),   src: 'https://your-animation-url.lottie',
  • Network accessline 58
    canvas: document.getElementById('canvas'),   src: 'https://your-animation-url.lottie',   autoplay: true,
  • Network accessline 59
    src: 'https://your-animation-url.lottie',
  • Network accessline 100
    autoplay       loop       src="https://path-to-lottie.lottie"
  • Network accessline 101
    loop       src="https://path-to-lottie.lottie"     />
  • Network accessline 102
    src="https://path-to-lottie.lottie"
  • Network accessline 148
    <dotlottie-wc     src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie"
  • Network accessline 149
    src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie"
  • Network accessline 154
    <script     type="module"     src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js"
  • Network accessline 155
    type="module"     src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js"   ></script>
  • Network accessline 156
    src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js"
  • Network accessline 244
    > Want to see the difference on your own hardware? The hosted [perf-test page](https://lottiefiles.github.io/dotlottie-web/perf-test) compares Software vs WebGL vs WebGPU vs Skottie/CanvasKit head-to-head.
  • Network accessline 275
    A hosted companion app at **[lottiefiles.github.io/dotlottie-web](https://lottiefiles.github.io/dotlottie-web/)** for inspecting, debugging, and benchmarking animations:
  • Network accessline 277
    | Page                                                                     | What it does                                                                                                                                                  | | -
  • Network accessline 278
    | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [
  • Network accessline 279
    | [**Home**](https://lottiefiles.github.io/dotlottie-web/)                 | Drop a `.lottie` or `.json` file to preview rendering and inspect manifest details                                                                            |
  • Network accessline 280
    | [**Playground**](https://lottiefiles.github.io/dotlottie-web/playground) | Interactive editor for player config, themes, markers, and animation switching                                                                                |
  • Network accessline 281
    | [**Performance**](https://lottiefiles.github.io/dotlottie-web/perf-test) | Stress test across 40+ animations — **compare Software / WebGL / WebGPU / Skottie head-to-head on your own hardware**, with seedable runs for reproducibility |
  • Network accessline 282
    | [**List**](https://lottiefiles.github.io/dotlottie-web/list)             | Gallery of curated animations                                                                                                                                 |
  • Network accessline 283
    | [**Embed**](https://lottiefiles.github.io/dotlottie-web/embed)           | Embedding patterns and demos                                                                                                                                  |
  • Network accessline 289
    **[@lottiefiles/dotlottie-web](packages/web/README.md)** — [Getting Started](https://codepen.io/lottiefiles/pen/JjzJZmL) ·
  • Network accessline 290
    [Getting Started](https://codepen.io/lottiefiles/pen/JjzJZmL) ·
  • Network accessline 291
    [Playback Controls](https://codepen.io/lottiefiles/pen/dyrRKwg) ·
  • Network accessline 292
    [Dynamic Loading](https://codepen.io/lottiefiles/pen/JjzJZgB) ·
  • Network accessline 293
    [Worker](https://codepen.io/lottiefiles/pen/VwJZPrQ) ·
  • Network accessline 294
    [Multi Animations](https://codepen.io/lottiefiles/pen/wvOxdRa) ·
  • Network accessline 295
    [Advanced Layout](https://codepen.io/lottiefiles/pen/LYvZveR) ·
  • Network accessline 296
    [Named Markers](https://codepen.io/lottiefiles/pen/RwOROKp) ·
  • Network accessline 297
    [Theming](https://codepen.io/lottiefiles/pen/BaEzEeq) ·
  • Network accessline 298
    [Interactivity](https://codepen.io/lottiefiles/pen/VwJvdRN)
  • Network accessline 300
    **[@lottiefiles/dotlottie-react](packages/react/README.md)** — [Getting Started](https://codepen.io/lottiefiles/pen/vYPJpBN) ·
  • Network accessline 301
    [Getting Started](https://codepen.io/lottiefiles/pen/vYPJpBN) ·
  • Network accessline 302
    [Custom Controls](https://codepen.io/lottiefiles/pen/WNmEdxd)
  • Network accessline 304
    **[@lottiefiles/dotlottie-vue](packages/vue/README.md)** — [Getting Started](https://codepen.io/lottiefiles/pen/yLwgeoJ)
  • Network accessline 305
    [Getting Started](https://codepen.io/lottiefiles/pen/yLwgeoJ)
  • Network accessline 347
    git clone https://github.com/LottieFiles/dotlottie-web.git
  • Network accessline 363
    [MIT](LICENSE) © [LottieFiles](https://www.lottiefiles.com)

SKILL.md

  • Network accessline 11
    author: lottiefiles   version: "1.0.0"   source: "https://github.com/LottieFiles/dotlottie-web"
  • Network accessline 12
    version: "1.0.0"   source: "https://github.com/LottieFiles/dotlottie-web" ---
  • Network accessline 13
    source: "https://github.com/LottieFiles/dotlottie-web"
  • Network accessline 52
    const dotLottie = new DotLottie({   canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',
  • Network accessline 53
    canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',   autoplay: true,
  • Network accessline 54
    src: 'https://example.com/animation.lottie',
  • Network accessline 66
    return (     <DotLottieReact       src="https://example.com/animation.lottie"
  • Network accessline 67
    <DotLottieReact       src="https://example.com/animation.lottie"       autoplay
  • Network accessline 68
    src="https://example.com/animation.lottie"
  • Network accessline 86
    return (     <DotLottieReact       src="https://example.com/animation.lottie"
  • Network accessline 87
    <DotLottieReact       src="https://example.com/animation.lottie"       dotLottieRefCallback={(dotLottie) => (dotLottieRef.current = dotLottie)}
  • Network accessline 88
    src="https://example.com/animation.lottie"
  • Network accessline 114
    const dotLottie = new DotLottieWorker({   canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',
  • Network accessline 115
    canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',   autoplay: true,
  • Network accessline 116
    src: 'https://example.com/animation.lottie',
  • Network accessline 174
    State machines enable interactive animations without code. See the [State Machine Guide](https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide) for details.
  • Network accessline 188
    // Set numeric/boolean/string inputs for state conditions // See: https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide#working-with-inputs
  • Network accessline 189
    // See: https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide#working-with-inputs
  • Network accessline 205
    Slots allow runtime color/value customization. Themes follow the [dotLottie 2.0 spec](https://dotlottie.io/spec/2.0/#themes).
  • Network accessline 214
    // Or apply theme data directly (JSON string per dotLottie 2.0 spec) // See: https://dotlottie.io/spec/2.0/#themes
  • Network accessline 215
    // See: https://dotlottie.io/spec/2.0/#themes
  • Network accessline 540
    * Documentation: [https://developers.lottiefiles.com/docs/dotlottie-player](https://developers.lottiefiles.com/docs/dotlottie-player)
  • Network accessline 541
    * State Machine Guide: [https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide](https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide)
  • Network accessline 542
    * GitHub: [https://github.com/LottieFiles/dotlottie-web](https://github.com/LottieFiles/dotlottie-web)
  • Network accessline 543
    * dotLottie 2.0 Spec: [https://dotlottie.io/spec/2.0/](https://dotlottie.io/spec/2.0/)
  • Network accessline 544
    * Create .lottie files: [https://lottiefiles.com](https://lottiefiles.com) or [https://creators.lottiefiles.com](https://creators.lottiefiles.com)

apps/viewer/index.html

  • Network accessline 6
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />         <link             href="https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,400;0,700;1,400;1,700&display=swap"
  • Network accessline 7
    <link             href="https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,400;0,700;1,400;1,700&display=swap"             rel="stylesheet"
  • Network accessline 8
    href="https://fonts.googleapis.com/css2?family=Karla:ital,wght@0,400;0,700;1,400;1,700&display=swap"

apps/viewer/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    "version": "0.0.1",   "type": "module",   "homepage": "https://lottiefiles.github.io/dotlottie-web/",
  • Network accessline 4
    "type": "module",   "homepage": "https://lottiefiles.github.io/dotlottie-web/",   "private": true,
  • Network accessline 5
    "homepage": "https://lottiefiles.github.io/dotlottie-web/",

apps/viewer/postcss.config.js

  • Executable scriptline 1
    Executable file

apps/viewer/src/assets/brand-logo.svg

  • Network accessline 1
    <svg width="165" height="32" viewBox="0 0 165 32" fill="none" xmlns="http://www.w3.org/2000/svg">

apps/viewer/src/assets/react.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="35.93" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 228"><path fill="

apps/viewer/src/components/animation-list.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 33
    <ListItem         name="multi-animations"         url="https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie"
  • Network accessline 34
    name="multi-animations"         url="https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie"       />
  • Network accessline 35
    url="https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie"
  • Network accessline 37
    <ListItem         name="theming example"         url="https://lottie.host/884c11a9-e648-4b2f-9906-2c77279710b1/PalAqPKzRZ.lottie"
  • Network accessline 38
    name="theming example"         url="https://lottie.host/884c11a9-e648-4b2f-9906-2c77279710b1/PalAqPKzRZ.lottie"       />
  • Network accessline 39
    url="https://lottie.host/884c11a9-e648-4b2f-9906-2c77279710b1/PalAqPKzRZ.lottie"
  • Network accessline 41
    <ListItem         name="marker example"         url={`https://lottie.host/a04c548c-307f-420b-9ba8-e90a4a2efea4/MT9OsNynSw.lottie`}
  • Network accessline 42
    name="marker example"         url={`https://lottie.host/a04c548c-307f-420b-9ba8-e90a4a2efea4/MT9OsNynSw.lottie`}       />
  • Network accessline 43
    url={`https://lottie.host/a04c548c-307f-420b-9ba8-e90a4a2efea4/MT9OsNynSw.lottie`}

apps/viewer/src/components/controls.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 48
    fetch('https://registry.npmjs.org/@lottiefiles/dotlottie-react')

apps/viewer/src/components/dotlottie-cdn-player.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 27
    ): Promise<DotLottie> {   const cached = moduleCache.get(version);   const mod = cached ?? (await import(/* @vite-ignore */ `https://esm.sh/@lottiefiles/dotlottie-web@${version}`));
  • Network accessline 29
    const mod = cached ?? (await import(/* @vite-ignore */ `https://esm.sh/@lottiefiles/dotlottie-web@${version}`));

apps/viewer/src/components/dotlottie-gpu-player.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/dotlottie-old.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/base-button.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/base-input.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/base-select.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/input-label.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/step-select.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/form/switch.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/load-time.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/players.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/code-editor.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/console-panel.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/error-display.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/example-selector.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/preview-iframe.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/playground/resizable-split.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/side-panel.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/skottie.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 35
    const data = await fetch(lottieURL);

apps/viewer/src/components/slot-controller.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/top-bar.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/virtualized/VirtualAnimationItem.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/components/virtualized/VirtualizedAnimationList.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/context/theme-context.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/data/playground-examples.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/data/playground-examples/basic.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 11
    const dotLottie = new DotLottie({   canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 12
    canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',   autoplay: true,
  • Network accessline 13
    src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',

apps/viewer/src/data/playground-examples/dynamic-loading.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const animations = [   'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 11
    'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 12
    'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie',
  • Network accessline 13
    'https://lottie.host/884c11a9-e648-4b2f-9906-2c77279710b1/PalAqPKzRZ.lottie',

apps/viewer/src/data/playground-examples/event-listeners.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const dotLottie = new DotLottie({   canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 11
    canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',   autoplay: true,
  • Network accessline 12
    src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',

apps/viewer/src/data/playground-examples/interactive-hover.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const dotLottie = new DotLottie({   canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 11
    canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',   autoplay: false,
  • Network accessline 12
    src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',

apps/viewer/src/data/playground-examples/play-segment.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const dotLottie = new DotLottie({   canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 11
    canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',   autoplay: false,
  • Network accessline 12
    src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',

apps/viewer/src/data/playground-examples/playback-controls.js

  • Network accessline 1
    import { DotLottie } from 'https://esm.sh/@lottiefiles/dotlottie-web';
  • Executable scriptline 1
    Executable file
  • Network accessline 10
    const dotLottie = new DotLottie({   canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',
  • Network accessline 11
    canvas,   src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',   autoplay: true,
  • Network accessline 12
    src: 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie',

apps/viewer/src/hooks/use-camera.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/hooks/useDotLottiePool.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/main.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/pages/embed.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/pages/home.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 85
    </Link>                 <a                   href="https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/"
  • Network accessline 86
    <a                   href="https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/"                   target="_blank"
  • Network accessline 87
    href="https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/"

apps/viewer/src/pages/list.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    const BASE_ANIMATIONS = [   'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 10
    'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 11
    'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',
  • Network accessline 12
    'https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json',
  • Network accessline 13
    'https://lottie.host/68f06eea-5f90-4e58-b51e-3abe1fbd74b8/llUlrzgWDQ.lottie',

apps/viewer/src/pages/perf.tsx

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 225
    const nameList = atob(seed).split(',');

apps/viewer/src/pages/playground.tsx

  • Executable scriptline 1
    Executable file

apps/viewer/src/store/hooks.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/store/index.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/store/types.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/store/viewer-slice.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 43
    export const DEFAULT_SRC = 'https://lottie.host/779299c1-d174-4359-a66b-6253897b33e7/yRJTT0fCfq.lottie';

apps/viewer/src/utils/url-compression.ts

  • Executable scriptline 1
    Executable file

apps/viewer/src/vite-env.d.ts

  • Executable scriptline 1
    Executable file

apps/viewer/tailwind.config.js

  • Executable scriptline 1
    Executable file

apps/viewer/vite.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    // https://vitejs.dev/config/

biome.json

  • Network accessline 1
    {   "$schema": "https://biomejs.dev/schemas/2.3.14/schema.json",
  • Network accessline 2
    "$schema": "https://biomejs.dev/schemas/2.3.14/schema.json",

commitlint.config.ts

  • Executable scriptline 1
    Executable file

examples/next/.gitignore

  • Network accessline 1
    # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

examples/next/next.config.mjs

  • Executable scriptline 1
    Executable file

examples/next/package.json

  • Executable scriptline 1
    Executable file

examples/next/public/next.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6

examples/next/public/vercel.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 283 64"><path fill="black" d="M141 16c-11 0-19 7-19 18s9 18 20 18c7 0 13-3 16-7l-7-5c-2 3-6 4-9 4-5 0-9-3-10-7h28v-3c0-11-8-18-19-18zm-9 15c1-4 4-7 9-7s8 3 9 7h-18zm117-15c-11

examples/next/src/pages/_app.tsx

  • Executable scriptline 1
    Executable file

examples/next/src/pages/_document.tsx

  • Executable scriptline 1
    Executable file

examples/next/src/pages/index.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 50
    const animations = [   'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 51
    'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 52
    'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',
  • Network accessline 53
    'https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json',

examples/next/src/wasm-url.d.ts

  • Executable scriptline 1
    Executable file

examples/react/package.json

  • Executable scriptline 1
    Executable file

examples/react/src/App.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 35
    const animations = [   'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 36
    'https://lottie.host/e641272e-039b-4612-96de-138acfbede6e/bc0sW78EeR.lottie',
  • Network accessline 37
    'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',
  • Network accessline 38
    'https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json',

examples/react/src/client-entry.tsx

  • Executable scriptline 1
    Executable file

examples/react/src/vite-env.d.ts

  • Executable scriptline 1
    Executable file

examples/react/vite.config.ts

  • Executable scriptline 1
    Executable file

examples/solid/.gitignore

  • Access to secretsline 9
    [Credential-related source omitted]

examples/solid/package.json

  • Executable scriptline 1
    Executable file

examples/solid/src/App.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 7
    const animations = [   'https://lottie.host/b06d1336-2c08-4156-aa6f-96f08ff511e0/4itF1pXb1i.lottie',
  • Network accessline 8
    'https://lottie.host/b06d1336-2c08-4156-aa6f-96f08ff511e0/4itF1pXb1i.lottie',
  • Network accessline 10
    'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie',
  • Network accessline 12
    'https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json',
  • Network accessline 14
    'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',

examples/solid/src/index.tsx

  • Executable scriptline 1
    Executable file

examples/solid/vite.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 7
    /*      Uncomment the following line to enable solid-devtools.     For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme
  • Network accessline 8
    Uncomment the following line to enable solid-devtools.     For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme     */
  • Network accessline 9
    For more info see https://github.com/thetarnav/solid-devtools/tree/main/packages/extension#readme

examples/vue/.eslintrc.cjs

  • Executable scriptline 1
    Executable file

examples/vue/package.json

  • Executable scriptline 1
    Executable file

examples/vue/src/App.vue

  • Network accessline 52
    loop     ref="player"     src="https://lottie.host/5525262b-4e57-4f0a-8103-cfdaa7c8969e/VCYIkooYX8.json"
  • Network accessline 53
    ref="player"     src="https://lottie.host/5525262b-4e57-4f0a-8103-cfdaa7c8969e/VCYIkooYX8.json"   />
  • Network accessline 54
    src="https://lottie.host/5525262b-4e57-4f0a-8103-cfdaa7c8969e/VCYIkooYX8.json"

examples/vue/src/assets/vue.svg

  • Network accessline 1
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="

examples/vue/src/components/HelloWorld.vue

  • Network accessline 20
    <p>     Check out     <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank">create-vue</a>, the official Vue + Vite
  • Network accessline 21
    Check out     <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank">create-vue</a>, the official Vue + Vite     starter
  • Network accessline 22
    <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank">create-vue</a>, the official Vue + Vite
  • Network accessline 25
    <p>     Install     <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
  • Network accessline 26
    Install     <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>     in your IDE for a better DX
  • Network accessline 27
    <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>

examples/vue/src/main.ts

  • Executable scriptline 1
    Executable file

examples/vue/src/vite-env.d.ts

  • Executable scriptline 1
    Executable file

examples/vue/vite.config.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    // https://vitejs.dev/config/

examples/wc/package.json

  • Executable scriptline 1
    Executable file

examples/wc/src/main.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 53
    dotlottieComponent.src = 'https://lottie.host/0e2d86ab-604d-4fc4-8512-d44a30eb81a8/YFj05ZHqHA.json';

examples/wc/src/vite-env.d.ts

  • Executable scriptline 1
    Executable file

examples/web-node/README.md

  • Network accessline 38
    pnpm start --width 200 --height 200 --fps 30 --repeat 0 --quality high --input https://lottie.host/aaccfd1e-487e-4e9a-9d20-c57299089cfc/iVNpuLw0co.lottie --speed 1.5

examples/web-node/index.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 39
    fps: Number(rawArgs['fps']) || 60,   repeat: Number(rawArgs['repeat']) || 0,   input: rawArgs['input'] || 'https://lottie.host/0cbdb3ef-2fa5-4d1d-9e4e-f66c879e010d/D0bRr9d93F.lottie',
  • Network accessline 40
    repeat: Number(rawArgs['repeat']) || 0,   input: rawArgs['input'] || 'https://lottie.host/0cbdb3ef-2fa5-4d1d-9e4e-f66c879e010d/D0bRr9d93F.lottie',   speed: Number(rawArgs['speed']) || 1,
  • Network accessline 41
    input: rawArgs['input'] || 'https://lottie.host/0cbdb3ef-2fa5-4d1d-9e4e-f66c879e010d/D0bRr9d93F.lottie',

examples/web-node/package.json

  • Executable scriptline 1
    Executable file

examples/web/package.json

  • Executable scriptline 1
    Executable file

examples/web/src/main.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 14
    app.innerHTML = ` <div class="grid" style="margin-top: 1000px">   <canvas data-src="https://lottie.host/b2d44b82-fd7e-401f-a4fa-77999147c0be/vqNwJryGBp.lottie"></canvas>
  • Network accessline 15
    <div class="grid" style="margin-top: 1000px">   <canvas data-src="https://lottie.host/b2d44b82-fd7e-401f-a4fa-77999147c0be/vqNwJryGBp.lottie"></canvas>   <canvas data-bg-color="green" data-src="https://lottie.host/1cf72a35-6d88-4d9a-9961-f1
  • Network accessline 16
    <canvas data-src="https://lottie.host/b2d44b82-fd7e-401f-a4fa-77999147c0be/vqNwJryGBp.lottie"></canvas>
  • Network accessline 17
    <canvas data-bg-color="green" data-src="https://lottie.host/1cf72a35-6d88-4d9a-9961-f1bb88087f2c/miJIHiyH4Q.lottie"></canvas>
  • Network accessline 18
    <canvas data-src="https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json"></canvas>
  • Network accessline 19
    <canvas data-src="https://lottie.host/a7421582-4733-49e5-9f77-e8d4cd792239/WZQjpo4uZR.lottie"></canvas>
  • Network accessline 20
    <canvas data-src="https://lottie.host/e2a24b6f-df7f-4fc5-94ea-30f0846f85dc/1RLOR2g0m3.lottie"></canvas>
  • Network accessline 21
    <canvas data-src="https://lottie.host/35326116-a8ca-4219-81ca-df9ce56a3f22/zCGFevEA23.lottie"></canvas>
  • Network accessline 22
    <canvas data-src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"></canvas>
  • Network accessline 180
    fetch(
  • Network accessline 196
    // src: 'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',
  • Network accessline 306
    reloadButton.addEventListener('click', () => {       dotLottie.load({         src: 'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',
  • Network accessline 307
    dotLottie.load({         src: 'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',         loop: true,
  • Network accessline 308
    src: 'https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie',

examples/web/src/vite-env.d.ts

  • Executable scriptline 1
    Executable file

examples/web/vite.config.ts

  • Executable scriptline 1
    Executable file

fixtures/favicon.svg

  • Network accessline 1
    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">

fixtures/profiler.js

  • Network accessline 1
    // stats.js - http://github.com/mrdoob/stats.js
  • Executable scriptline 1
    Executable file

fixtures/sm/open-url-machine.json

  • Network accessline 1
    {"initial":"global","states":[{"name":"global","type":"GlobalState","transitions":[{"type":"Transition","toState":"star_1","guards":[{"type":"Numeric","conditionType":"Equal","inputName":"rating","compareTo":1}]},{"type":"Transition","toSta

guidelines/README.md

  • Dangerous shell operationline 8
    curl -fsSL https://raw.githubusercontent.com/LottieFiles/dotlottie-web/main/guidelines/install.sh | bash
  • Network accessline 8
    curl -fsSL https://raw.githubusercontent.com/LottieFiles/dotlottie-web/main/guidelines/install.sh | bash
  • Network accessline 27
    # Download to current directory curl -sL https://raw.githubusercontent.com/LottieFiles/dotlottie-web/main/guidelines/command.md > DOTLOTTIE.md
  • Network accessline 28
    curl -sL https://raw.githubusercontent.com/LottieFiles/dotlottie-web/main/guidelines/command.md > DOTLOTTIE.md
  • Network accessline 53
    * [dotLottie Documentation](https://developers.lottiefiles.com/docs/dotlottie-player)
  • Network accessline 54
    * [dotlottie-web GitHub](https://github.com/LottieFiles/dotlottie-web)
  • Network accessline 55
    * [dotLottie Format](https://lottiefiles.com/dotlottie)
  • Network accessline 56
    * [LottieFiles Creator](https://creators.lottiefiles.com)

guidelines/command.md

  • Network accessline 42
    const dotLottie = new DotLottie({   canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',
  • Network accessline 43
    canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',   autoplay: true,
  • Network accessline 44
    src: 'https://example.com/animation.lottie',
  • Network accessline 56
    return (     <DotLottieReact       src="https://example.com/animation.lottie"
  • Network accessline 57
    <DotLottieReact       src="https://example.com/animation.lottie"       autoplay
  • Network accessline 58
    src="https://example.com/animation.lottie"
  • Network accessline 76
    return (     <DotLottieReact       src="https://example.com/animation.lottie"
  • Network accessline 77
    <DotLottieReact       src="https://example.com/animation.lottie"       dotLottieRefCallback={(dotLottie) => (dotLottieRef.current = dotLottie)}
  • Network accessline 78
    src="https://example.com/animation.lottie"
  • Network accessline 104
    const dotLottie = new DotLottieWorker({   canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',
  • Network accessline 105
    canvas: document.getElementById('canvas') as HTMLCanvasElement,   src: 'https://example.com/animation.lottie',   autoplay: true,
  • Network accessline 106
    src: 'https://example.com/animation.lottie',
  • Network accessline 164
    State machines enable interactive animations without code. See the [State Machine Guide](https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide) for details.
  • Network accessline 178
    // Set numeric/boolean/string inputs for state conditions // See: https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide#working-with-inputs
  • Network accessline 179
    // See: https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide#working-with-inputs
  • Network accessline 195
    Slots allow runtime color/value customization. Themes follow the [dotLottie 2.0 spec](https://dotlottie.io/spec/2.0/#themes).
  • Network accessline 204
    // Or apply theme data directly (JSON string per dotLottie 2.0 spec) // See: https://dotlottie.io/spec/2.0/#themes
  • Network accessline 205
    // See: https://dotlottie.io/spec/2.0/#themes
  • Network accessline 714
    * Documentation: [https://developers.lottiefiles.com/docs/dotlottie-player](https://developers.lottiefiles.com/docs/dotlottie-player)
  • Network accessline 715
    * State Machine Guide: [https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide](https://github.com/LottieFiles/dotlottie-web/wiki/dotLottie-State-Machine-Guide)
  • Network accessline 716
    * GitHub: [https://github.com/LottieFiles/dotlottie-web](https://github.com/LottieFiles/dotlottie-web)
  • Network accessline 717
    * dotLottie 2.0 Spec: [https://dotlottie.io/spec/2.0/](https://dotlottie.io/spec/2.0/)
  • Network accessline 718
    * Create .lottie files: [https://lottiefiles.com](https://lottiefiles.com) or [https://creators.lottiefiles.com](https://creators.lottiefiles.com)

guidelines/install.sh

  • Executable scriptline 1
    #!/bin/bash
  • Network accessline 3
    # dotLottie Guidelines Installer # https://github.com/LottieFiles/dotlottie-web
  • Network accessline 4
    # https://github.com/LottieFiles/dotlottie-web
  • Network accessline 21
    REPO_URL="https://raw.githubusercontent.com/LottieFiles/dotlottie-web/main/guidelines"
  • Network accessline 31
    if [ -d "$HOME/.claude" ]; then   mkdir -p "$HOME/.claude/commands"   curl -sL -o "$HOME/.claude/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 32
    mkdir -p "$HOME/.claude/commands"   curl -sL -o "$HOME/.claude/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"   printf "  ${GREEN}✓${RESET} Claude Code\n"
  • Network accessline 33
    curl -sL -o "$HOME/.claude/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 39
    if [ -d "$HOME/.cursor" ]; then   mkdir -p "$HOME/.cursor/commands"   curl -sL -o "$HOME/.cursor/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 40
    mkdir -p "$HOME/.cursor/commands"   curl -sL -o "$HOME/.cursor/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"   printf "  ${GREEN}✓${RESET} Cursor\n"
  • Network accessline 41
    curl -sL -o "$HOME/.cursor/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 47
    if command -v opencode &> /dev/null || [ -d "$HOME/.config/opencode" ]; then   mkdir -p "$HOME/.config/opencode/command"   curl -sL -o "$HOME/.config/opencode/command/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 48
    mkdir -p "$HOME/.config/opencode/command"   curl -sL -o "$HOME/.config/opencode/command/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"   printf "  ${GREEN}✓${RESET} OpenCode\n"
  • Network accessline 49
    curl -sL -o "$HOME/.config/opencode/command/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 65
    echo "$MARKER" >> "$RULES_FILE"     echo "" >> "$RULES_FILE"     curl -sL "$REPO_URL/$COMMAND_FILE" >> "$RULES_FILE"
  • Network accessline 66
    echo "" >> "$RULES_FILE"     curl -sL "$REPO_URL/$COMMAND_FILE" >> "$RULES_FILE"     printf "  ${GREEN}✓${RESET} Windsurf\n"
  • Network accessline 67
    curl -sL "$REPO_URL/$COMMAND_FILE" >> "$RULES_FILE"
  • Network accessline 79
    CONTENT=$(curl -sL "$REPO_URL/$COMMAND_FILE" | sed '1,/^---$/d' | sed '1,/^---$/d')
  • Network accessline 92
    if command -v codex &> /dev/null || [ -d "$HOME/.codex" ]; then   mkdir -p "$HOME/.codex/commands"   curl -sL -o "$HOME/.codex/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 93
    mkdir -p "$HOME/.codex/commands"   curl -sL -o "$HOME/.codex/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"   printf "  ${GREEN}✓${RESET} Codex CLI\n"
  • Network accessline 94
    curl -sL -o "$HOME/.codex/commands/$INSTALL_NAME" "$REPO_URL/$COMMAND_FILE"
  • Network accessline 103
    echo ""   echo "Supported tools:"   echo "  • Claude Code: https://claude.ai/code"
  • Network accessline 104
    echo "Supported tools:"   echo "  • Claude Code: https://claude.ai/code"   echo "  • Cursor: https://cursor.com"
  • Network accessline 105
    echo "  • Claude Code: https://claude.ai/code"
  • Network accessline 106
    echo "  • Cursor: https://cursor.com"
  • Network accessline 107
    echo "  • OpenCode: https://opencode.ai"
  • Network accessline 108
    echo "  • Windsurf: https://codeium.com/windsurf"
  • Network accessline 109
    echo "  • Gemini CLI: https://github.com/google-gemini/gemini-cli"
  • Network accessline 110
    echo "  • Codex CLI: https://github.com/openai/codex"
  • Network accessline 111
    echo ""   echo "Alternatively, add the guidelines to your project:"   echo "  curl -sL $REPO_URL/$COMMAND_FILE > DOTLOTTIE.md"
  • Network accessline 112
    echo "Alternatively, add the guidelines to your project:"   echo "  curl -sL $REPO_URL/$COMMAND_FILE > DOTLOTTIE.md"   exit 1
  • Network accessline 113
    echo "  curl -sL $REPO_URL/$COMMAND_FILE > DOTLOTTIE.md"
  • Network accessline 121
    echo "  • Other tools: Reference dotlottie-guidelines in prompts"   echo ""   echo "Learn more: https://developers.lottiefiles.com/docs/dotlottie-player"
  • Network accessline 122
    echo ""   echo "Learn more: https://developers.lottiefiles.com/docs/dotlottie-player" fi
  • Network accessline 123
    echo "Learn more: https://developers.lottiefiles.com/docs/dotlottie-player"

index.html

  • Network accessline 174
    themeSwitching: new DotLottie({ 					canvas: document.getElementById("canvas-theme-switching"), 					src: "https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie",
  • Network accessline 175
    canvas: document.getElementById("canvas-theme-switching"), 					src: "https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie", 				}),
  • Network accessline 176
    src: "https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie",
  • Network accessline 178
    clickInteraction: new DotLottie({ 					canvas: document.getElementById("canvas-click-interaction"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 179
    canvas: document.getElementById("canvas-click-interaction"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json", 					loop: false,
  • Network accessline 180
    src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 184
    cursorControlled: new DotLottie({ 					canvas: document.getElementById("canvas-cursor-controlled"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 185
    canvas: document.getElementById("canvas-cursor-controlled"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json", 				}),
  • Network accessline 186
    src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 188
    scrollControlled: new DotLottie({ 					canvas: document.getElementById("canvas-scroll-controlled"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 189
    canvas: document.getElementById("canvas-scroll-controlled"), 					src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json", 				}),
  • Network accessline 190
    src: "https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json",
  • Network accessline 192
    holdInteraction: new DotLottie({ 					canvas: document.getElementById("canvas-hold-interaction"), 					src: "https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie",
  • Network accessline 193
    canvas: document.getElementById("canvas-hold-interaction"), 					src: "https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie", 				}),
  • Network accessline 194
    src: "https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie",
  • Network accessline 200
    openUrlPolicy: { 							requireUserInteraction: false, 							whitelist: ["https://www.lottiefiles.com"],
  • Network accessline 201
    requireUserInteraction: false, 							whitelist: ["https://www.lottiefiles.com"], 						},
  • Network accessline 202
    whitelist: ["https://www.lottiefiles.com"],
  • Network accessline 206
    onLoopComplete: new DotLottie({ 					canvas: document.getElementById("canvas-on-loop-complete"), 					src: "https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie",
  • Network accessline 207
    canvas: document.getElementById("canvas-on-loop-complete"), 					src: "https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie", 					stateMachineId: "StateMachine1",
  • Network accessline 208
    src: "https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie",
  • Network accessline 246
    async function loadStateMachineData(filePath) { 				try { 					const response = await fetch(filePath);
  • Network accessline 247
    try { 					const response = await fetch(filePath); 					if (!response.ok) {
  • Network accessline 248
    const response = await fetch(filePath);

package.json

  • Executable scriptline 1
    Executable file

packages/react/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 7
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-react)
  • Network accessline 8
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40lottiefiles%2Fdotlottie-react)
  • Network accessline 9
    ![npm](https://img.shields.io/npm/dt/%40lottiefiles/dotlottie-react)
  • Network accessline 10
    ![NPM](https://img.shields.io/npm/l/@lottiefiles/dotlottie-react)
  • Network accessline 12
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 13
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 34
    A React library for rendering [lottie](https://lottiefiles.github.io/lottie-docs/) and [dotLottie](https://lottiefiles.com/dotlottie) animations in the browser.
  • Network accessline 40
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).
  • Network accessline 67
    * <a href="https://codepen.io/lottiefiles/pen/vYPJpBN" target="_blank">Getting Started</a>
  • Network accessline 68
    * <a href="https://codepen.io/lottiefiles/pen/WNmEdxd" target="_blank">Custom Playback Controls</a>

packages/react/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/react"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/react"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/react?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/react?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/react?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/react/setup-file.ts

  • Executable scriptline 1
    Executable file

packages/react/src/base-dotlottie-react.tsx

  • Executable scriptline 1
    Executable file

packages/react/src/dotlottie-worker.tsx

  • Executable scriptline 1
    Executable file

packages/react/src/dotlottie.tsx

  • Executable scriptline 1
    Executable file

packages/react/src/index.ts

  • Executable scriptline 1
    Executable file

packages/react/src/webgl/index.tsx

  • Executable scriptline 1
    Executable file

packages/react/src/webgpu/index.tsx

  • Executable scriptline 1
    Executable file

packages/react/tests/__snapshots__/dotlottie-react.spec.tsx.snap

  • Network accessline 1
    // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

packages/react/tests/dotlottie-react.spec.tsx

  • Executable scriptline 1
    Executable file
  • Network accessline 841
    let response = await fetch(lottieSrc);
  • Network accessline 862
    response = await fetch(dotLottieSrc);

packages/react/tsdown.config.ts

  • Executable scriptline 1
    Executable file

packages/react/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/solid/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 7
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 8
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 29
    A Solid library for rendering [lottie](https://lottiefiles.github.io/lottie-docs/) and [dotLottie](https://lottiefiles.com/dotlottie) animations in the browser.
  • Network accessline 35
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).

packages/solid/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/solid"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/solid"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/solid/src/dotlottie.tsx

  • Executable scriptline 1
    Executable file

packages/solid/src/index.ts

  • Executable scriptline 1
    Executable file

packages/solid/src/use-dotlottie.tsx

  • Executable scriptline 1
    Executable file

packages/solid/tsdown.config.ts

  • Executable scriptline 1
    Executable file

packages/svelte/.eslintignore

  • Access to secretsline 6
    [Credential-related source omitted]

packages/svelte/.gitignore

  • Access to secretsline 7
    [Credential-related source omitted]

packages/svelte/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 7
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-svelte)
  • Network accessline 8
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40lottiefiles%2Fdotlottie-svelte)
  • Network accessline 9
    ![npm](https://img.shields.io/npm/dt/%40lottiefiles/dotlottie-svelte)
  • Network accessline 10
    ![NPM](https://img.shields.io/npm/l/@lottiefiles/dotlottie-svelte)
  • Network accessline 12
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 13
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 34
    A Svelte component for rendering [Lottie](https://lottiefiles.github.io/lottie-docs/) and [dotLottie](https://lottiefiles.com/dotlottie) animations. It acts as a wrapper around the [`dotLottie`](../web/README.md) web player.
  • Network accessline 40
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).

packages/svelte/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/svelte"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/svelte"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/svelte?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/svelte?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/svelte?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/svelte/setup-file.ts

  • Executable scriptline 1
    Executable file

packages/svelte/src/app.d.ts

  • Network accessline 1
    // See https://kit.svelte.dev/docs/types#app
  • Executable scriptline 1
    Executable file

packages/svelte/src/lib/index.ts

  • Executable scriptline 1
    Executable file

packages/svelte/src/routes/+page.svelte

  • Network accessline 16
    let speed = $state(1); let hasMultipleAnimations = $state(false); let src = $state('https://lottie.host/b06d1336-2c08-4156-aa6f-96f08ff511e0/4itF1pXb1i.lottie');
  • Network accessline 17
    let hasMultipleAnimations = $state(false); let src = $state('https://lottie.host/b06d1336-2c08-4156-aa6f-96f08ff511e0/4itF1pXb1i.lottie'); let activeAnimationIdx = $state(0);
  • Network accessline 18
    let src = $state('https://lottie.host/b06d1336-2c08-4156-aa6f-96f08ff511e0/4itF1pXb1i.lottie');
  • Network accessline 85
    /> <button onclick={() => { 	src = "https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json"
  • Network accessline 86
    <button onclick={() => { 	src = "https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json" }}>Switch src</button>
  • Network accessline 87
    src = "https://lottie.host/647eb023-6040-4b60-a275-e2546994dd7f/zDCfp5lhLe.json"

packages/svelte/svelte.config.js

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    // Consult https://kit.svelte.dev/docs/integrations#preprocessors
  • Network accessline 11
    // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
  • Network accessline 13
    // See https://kit.svelte.dev/docs/adapters for more information about adapters.

packages/svelte/tests/__snapshots__/dotlottie-svelte.spec.ts.snap

  • Network accessline 1
    // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html

packages/svelte/tests/dotlottie-svelte.spec.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 527
    let response = await fetch(lottieSrc);
  • Network accessline 550
    response = await fetch(dotLottieSrc);

packages/svelte/vite.config.ts

  • Executable scriptline 1
    Executable file

packages/svelte/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/vue/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 7
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-vue)
  • Network accessline 8
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40lottiefiles%2Fdotlottie-vue)
  • Network accessline 9
    ![npm](https://img.shields.io/npm/dt/%40lottiefiles/dotlottie-vue)
  • Network accessline 10
    ![NPM](https://img.shields.io/npm/l/@lottiefiles/dotlottie-vue)
  • Network accessline 12
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 13
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 33
    A Vue library for rendering [lottie](https://lottiefiles.github.io/lottie-docs/) and [dotLottie](https://lottiefiles.com/dotlottie) animations in the browser.
  • Network accessline 39
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).
  • Network accessline 54
    <template>   <DotLottieVue style="height: 500px; width: 500px" autoplay loop src="https://path-to-lottie.lottie" />
  • Network accessline 55
    <DotLottieVue style="height: 500px; width: 500px" autoplay loop src="https://path-to-lottie.lottie" />
  • Network accessline 61
    * <a href="https://codepen.io/lottiefiles/pen/yLwgeoJ" target="_blank">Basic Example</a>

packages/vue/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/vue"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/vue"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/vue?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/vue?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/vue?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/vue/src/dotlottie.ts

  • Executable scriptline 1
    Executable file

packages/vue/src/index.ts

  • Executable scriptline 1
    Executable file

packages/vue/tsdown.config.ts

  • Executable scriptline 1
    Executable file

packages/wc/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 6
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-wc)
  • Network accessline 7
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40lottiefiles%2Fdotlottie-wc)
  • Network accessline 8
    ![npm](https://img.shields.io/npm/dt/%40lottiefiles%2Fdotlottie-wc)
  • Network accessline 9
    ![NPM](https://img.shields.io/npm/l/@lottiefiles/dotlottie-wc)
  • Network accessline 11
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 12
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 36
    A web component for rendering and playing [Lottie](https://lottiefiles.github.io/lottie-docs/) and [DotLottie](https://lottiefiles.com/dotlottie) animations in web applications.
  • Network accessline 42
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).
  • Network accessline 57
    <dotlottie-wc src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie" autoplay="true" loop="true"></dotlottie-wc>
  • Network accessline 76
    </head> <body>     <dotlottie-wc src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie" autoplay loop></dotlottie-wc>
  • Network accessline 77
    <body>     <dotlottie-wc src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie" autoplay loop></dotlottie-wc>     <script type="module" src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js">
  • Network accessline 78
    <dotlottie-wc src="https://lottie.host/4db68bbd-31f6-4cd8-84eb-189de081159a/IGmMCqhzpt.lottie" autoplay loop></dotlottie-wc>
  • Network accessline 79
    <script type="module" src="https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js"></script>
  • Network accessline 151
    <script type="module">   import { setWasmUrl } from 'https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js';
  • Network accessline 152
    import { setWasmUrl } from 'https://unpkg.com/@lottiefiles/dotlottie-wc@latest/dist/dotlottie-wc.js';
  • Network accessline 158
    You can find the matching `dotlottie-player.wasm` for your installed version inside the `@lottiefiles/dotlottie-web` package (`dist/dotlottie-player.wasm`) or on a npm CDN, e.g. `https://unpkg.com/@lottiefiles/dotlottie-web@x.y.z/dist/dotlo

packages/wc/__tests__/dotlottie-wc.spec.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 265
    const animationData = await fetch(lottieSrc).then((res) => res.json());
  • Network accessline 531
    const lottieAnimationData = await fetch(lottieSrc).then((res) => res.text());
  • Network accessline 618
    src: 'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie',

packages/wc/__tests__/exports.spec.ts

  • Executable scriptline 1
    Executable file

packages/wc/example.html

  • Network accessline 9
    <script type="module" src="./dist/index.js"></script>         <dotlottie-worker-wc             src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"
  • Network accessline 10
    <dotlottie-worker-wc             src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"             autoplay="true"
  • Network accessline 11
    src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"
  • Network accessline 14
    ></dotlottie-worker-wc>         <dotlottie-wc             src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"
  • Network accessline 15
    <dotlottie-wc             src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"             autoplay="true"
  • Network accessline 16
    src="https://lottie.host/f315768c-a29b-41fd-b5a8-a1c1dfb36cd2/CRiiNg8fqQ.lottie"

packages/wc/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/wc"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/wc"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/web-component?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/web-component?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/web-component?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/wc/src/base-dotlottie-wc.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 255
    /**    * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks
  • Network accessline 256
    * @see https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements#custom_element_lifecycle_callbacks

packages/wc/src/dotlottie-wc.ts

  • Executable scriptline 1
    Executable file

packages/wc/src/dotlottie-worker-wc.ts

  • Executable scriptline 1
    Executable file

packages/wc/src/index.ts

  • Executable scriptline 1
    Executable file

packages/wc/src/set-wasm-url.ts

  • Executable scriptline 1
    Executable file

packages/wc/tsdown.config.ts

  • Executable scriptline 1
    Executable file

packages/wc/vitest.config.ts

  • Executable scriptline 1
    Executable file

packages/web/BUILD_SYSTEM.md

  • Network accessline 7
    * [Rust](https://rustup.rs/)
  • Network accessline 8
    * [wasm-bindgen-cli](https://rustwasm.github.io/wasm-bindgen/) (installed automatically via `make setup`)

packages/web/CHANGELOG.md

  • Network accessline 479
    - 59f4ce4: chore: update [dotLottie-rs v0.1.40](https://github.com/LottieFiles/dotlottie-rs/releases/tag/v0.1.40) WASM
  • Network accessline 818
    - Integrated [dotlottie-rs v0.1.24](https://github.com/LottieFiles/dotlottie-rs/releases/tag/v0.1.24) WASM bindings.
  • Network accessline 879
    More details can be found in the   [LottieFiles developers postal](https://developers.lottiefiles.com/docs/dotlottie-player/)
  • Network accessline 880
    [LottieFiles developers postal](https://developers.lottiefiles.com/docs/dotlottie-player/)
  • Network accessline 919
    Release details: [dotlottie-rs@0.1.19](https://github.com/LottieFiles/dotlottie-rs/releases/tag/v0.1.19)
  • Network accessline 955
    Resolves: [#170](https://github.com/LottieFiles/dotlottie-web/issues/170)

packages/web/Makefile

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 164
    @rm -rf $(WASM_OUT_BASE)/wasm $(WASM_OUT_BASE)/wasm-webgl $(WASM_OUT_BASE)/wasm-webgpu

packages/web/README.md

  • Network accessline 3
    > [!TIP] > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your o
  • Network accessline 4
    > Looking for animations to use with this player? Browse **[100,000+ free Lottie animations](https://lottiefiles.com/free-animations?utm_source=npm&utm_medium=readme)** and grab any of them as `.lottie` or `.json`, or create your own with [
  • Network accessline 6
    ![npm](https://img.shields.io/npm/v/@lottiefiles/dotlottie-web)
  • Network accessline 7
    ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@lottiefiles/dotlottie-web)
  • Network accessline 8
    ![npm](https://img.shields.io/npm/dw/@lottiefiles/dotlottie-web)
  • Network accessline 9
    ![jsDelivr hits (npm scoped)](https://img.shields.io/jsdelivr/npm/hw/%40lottiefiles/dotlottie-web)
  • Network accessline 10
    ![NPM](https://img.shields.io/npm/l/@lottiefiles/dotlottie-web)
  • Network accessline 12
    <p align="center">   <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 13
    <img src="https://lottie.host/43f43646-b018-4d72-a96b-02a929cd9727/gARxdIetbE.svg" alt="dotLottie Web" width="550" />
  • Network accessline 31
    `@lottiefiles/dotlottie-web` is a JavaScript library for rendering [Lottie](https://lottiefiles.github.io/lottie-docs/) and [dotLottie](https://lottiefiles.com/dotlottie) animations in Node.js and web environments. It provides a simple and 
  • Network accessline 37
    [Learn more about dotLottie](https://lottiefiles.com/dotlottie).
  • Network accessline 41
    To get started with `@lottiefiles/dotlottie-web`, follow the [documentation here](https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/).
  • Network accessline 57
    <link rel="preconnect" href="https://cdn.jsdelivr.net" />
  • Network accessline 60
    as="fetch"   crossorigin   href="https://cdn.jsdelivr.net/npm/@lottiefiles/dotlottie-web@0.77.1/dist/dotlottie-player.wasm"
  • Network accessline 61
    crossorigin   href="https://cdn.jsdelivr.net/npm/@lottiefiles/dotlottie-web@0.77.1/dist/dotlottie-player.wasm" />
  • Network accessline 62
    href="https://cdn.jsdelivr.net/npm/@lottiefiles/dotlottie-web@0.77.1/dist/dotlottie-player.wasm"
  • Network accessline 89
    | Feature             | Required   | Can I Use                                                      | | ------------------- | ---------- | -------------------------------------------------------------- | | **WebAssembly**     | ✅ Yes      |
  • Network accessline 90
    | ------------------- | ---------- | -------------------------------------------------------------- | | **WebAssembly**     | ✅ Yes      | [WebAssembly support](https://caniuse.com/wasm)                | | **Canvas 2D API**   | ✅ Yes      |
  • Network accessline 91
    | **WebAssembly**     | ✅ Yes      | [WebAssembly support](https://caniuse.com/wasm)                | | **Canvas 2D API**   | ✅ Yes      | [Canvas 2D support](https://caniuse.com/canvas)                | | **Fetch API**       | ✅ Yes      |
  • Network accessline 92
    | **Canvas 2D API**   | ✅ Yes      | [Canvas 2D support](https://caniuse.com/canvas)                | | **Fetch API**       | ✅ Yes      | [Fetch API support](https://caniuse.com/fetch)                 | | **Web Workers**     | Optional\* |
  • Network accessline 93
    | **Fetch API**       | ✅ Yes      | [Fetch API support](https://caniuse.com/fetch)                 |
  • Network accessline 94
    | **Web Workers**     | Optional\* | [Web Workers support](https://caniuse.com/webworkers)          |
  • Network accessline 95
    | **OffscreenCanvas** | Optional\* | [OffscreenCanvas support](https://caniuse.com/offscreencanvas) |
  • Network accessline 122
    * [Getting Started](https://codepen.io/lottiefiles/pen/JjzJZmL)
  • Network accessline 123
    * [Controlling Animation Playback](https://codepen.io/lottiefiles/pen/dyrRKwg)
  • Network accessline 124
    * [Dynamic Animation Loading](https://codepen.io/lottiefiles/pen/JjzJZgB)
  • Network accessline 125
    * [dotLottie Worker](https://codepen.io/lottiefiles/pen/VwJZPrQ)
  • Network accessline 126
    * [Multi Animations .lottie file](https://codepen.io/lottiefiles/pen/wvOxdRa)
  • Network accessline 127
    * [Advanced Animation Layout](https://codepen.io/lottiefiles/pen/LYvZveR)
  • Network accessline 128
    * [Named Markers](https://codepen.io/lottiefiles/pen/RwOROKp)
  • Network accessline 129
    * [dotLottie Theming](https://codepen.io/lottiefiles/pen/BaEzEeq)
  • Network accessline 130
    * [dotLottie Interactivity](https://codepen.io/lottiefiles/pen/VwJvdRN)
  • Network accessline 138
    Encountered a problem or have a feature request? Log an issue in our [issues](https://github.com/LottieFiles/dotlottie-web/issues) tab. You can also browse through older issues and discussions to find solutions to common problems.

packages/web/index.html

  • Network accessline 139
    themeSwitching: new DotLottie({                     canvas: document.getElementById('canvas-theme-switching'),                     src: 'https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie',
  • Network accessline 140
    canvas: document.getElementById('canvas-theme-switching'),                     src: 'https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie',                 }),
  • Network accessline 141
    src: 'https://lottie.host/8e34d211-e22e-459e-bfc7-7400b283be87/6RKEZ9wCqO.lottie',
  • Network accessline 143
    clickInteraction: new DotLottie({                     canvas: document.getElementById('canvas-click-interaction'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 144
    canvas: document.getElementById('canvas-click-interaction'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',                     loop: false,
  • Network accessline 145
    src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 149
    cursorControlled: new DotLottie({                     canvas: document.getElementById('canvas-cursor-controlled'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 150
    canvas: document.getElementById('canvas-cursor-controlled'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',                 }),
  • Network accessline 151
    src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 153
    scrollControlled: new DotLottie({                     canvas: document.getElementById('canvas-scroll-controlled'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 154
    canvas: document.getElementById('canvas-scroll-controlled'),                     src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',                 }),
  • Network accessline 155
    src: 'https://lottie.host/fba88936-b753-4751-a6ca-94db246157cf/5pGajCeC0B.json',
  • Network accessline 157
    holdInteraction: new DotLottie({                     canvas: document.getElementById('canvas-hold-interaction'),                     src: 'https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie',
  • Network accessline 158
    canvas: document.getElementById('canvas-hold-interaction'),                     src: 'https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie',                 }),
  • Network accessline 159
    src: 'https://lottie.host/cb480e3f-1db1-4fb9-a812-592cd1aaef3a/Qda343MSSf.lottie',
  • Network accessline 165
    openUrlPolicy: {                             requireUserInteraction: false,                             whitelist: ['https://www.lottiefiles.com'],
  • Network accessline 166
    requireUserInteraction: false,                             whitelist: ['https://www.lottiefiles.com'],                         },
  • Network accessline 167
    whitelist: ['https://www.lottiefiles.com'],
  • Network accessline 171
    onLoopComplete: new DotLottie({                     canvas: document.getElementById('canvas-on-loop-complete'),                     src: 'https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie',
  • Network accessline 172
    canvas: document.getElementById('canvas-on-loop-complete'),                     src: 'https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie',                     stateMachineId: 'StateMachine1',
  • Network accessline 173
    src: 'https://asset-cdn.lottiefiles.dev/83b48a21-dfb0-4cd0-bad5-238662bfcd8a/57MLQJY15B.lottie',
  • Network accessline 207
    async function loadStateMachineData(filePath) {                 try {                     const response = await fetch(filePath);
  • Network accessline 208
    try {                     const response = await fetch(filePath);                     if (!response.ok) {
  • Network accessline 209
    const response = await fetch(filePath);

packages/web/package.json

  • Executable scriptline 1
    Executable file
  • Network accessline 6
    "repository": {     "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 7
    "type": "git",     "url": "git+https://github.com/LottieFiles/dotlottie-web.git",     "directory": "packages/web"
  • Network accessline 8
    "url": "git+https://github.com/LottieFiles/dotlottie-web.git",
  • Network accessline 9
    "directory": "packages/web"   },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/js?utm_source=npm&utm_medium=package",
  • Network accessline 10
    },   "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/js?utm_source=npm&utm_medium=package",   "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",
  • Network accessline 11
    "homepage": "https://docs.lottiefiles.com/en/runtimes/distributions/js?utm_source=npm&utm_medium=package",
  • Network accessline 12
    "bugs": "https://github.com/LottieFiles/dotlottie-web/issues",

packages/web/rolldown-plugins/plugin-inline-worker.ts

  • Executable scriptline 1
    Executable file

packages/web/scripts/verify-dist.mjs

  • Executable scriptline 1
    Executable file

packages/web/src/animation-frame-manager.ts

  • Executable scriptline 1
    Executable file

packages/web/src/constants.ts

  • Executable scriptline 1
    Executable file

packages/web/src/core/dotlottie-player.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/core/dotlottie-player.js

  • Executable scriptline 1
    Executable file
  • Network accessline 1604
    if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {         module_or_path = fetch(module_or_path);
  • Network accessline 1605
    module_or_path = fetch(module_or_path);

packages/web/src/core/dotlottie-player.wasm.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/core/index.ts

  • Executable scriptline 1
    Executable file

packages/web/src/dotlottie.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 50
    dotLottieWasmLoaderSingleton ??= createWasmLoader(     init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,
  • Network accessline 51
    init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,     `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,
  • Network accessline 52
    `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,
  • Network accessline 53
    `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/dotlottie-player.wasm`,
  • Network accessline 496
    private async _fetchData(src: string, signal: AbortSignal | null = null): Promise<string | ArrayBuffer> {     const response = await fetch(src, { signal });
  • Network accessline 497
    const response = await fetch(src, { signal });
  • Network accessline 2098
    if (typeof fontSource === 'string') {         const response = await fetch(fontSource);
  • Network accessline 2099
    const response = await fetch(fontSource);

packages/web/src/event-manager.ts

  • Executable scriptline 1
    Executable file

packages/web/src/index.ts

  • Executable scriptline 1
    Executable file

packages/web/src/offscreen-observer.ts

  • Executable scriptline 1
    Executable file

packages/web/src/resize-observer.ts

  • Executable scriptline 1
    Executable file

packages/web/src/types.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 235
    *    * // Allow a specific domain only    * openUrlPolicy: { whitelist: ["https://example.com"] }
  • Network accessline 236
    * // Allow a specific domain only    * openUrlPolicy: { whitelist: ["https://example.com"] }    *
  • Network accessline 237
    * openUrlPolicy: { whitelist: ["https://example.com"] }
  • Network accessline 360
    /**  * Text document properties  * @see https://lottiefiles.github.io/lottie-docs/text/#text-document
  • Network accessline 361
    * Text document properties  * @see https://lottiefiles.github.io/lottie-docs/text/#text-document  */
  • Network accessline 362
    * @see https://lottiefiles.github.io/lottie-docs/text/#text-document
  • Network accessline 486
    * Text document properties for theme text rules.  * Uses descriptive property names as per dotLottie v2.0 spec.  * @see https://dotlottie.io/spec/2.0/#text-document
  • Network accessline 487
    * Uses descriptive property names as per dotLottie v2.0 spec.  * @see https://dotlottie.io/spec/2.0/#text-document  */
  • Network accessline 488
    * @see https://dotlottie.io/spec/2.0/#text-document
  • Network accessline 645
    * Theme definition for customizing Lottie animation properties.  * Themes override animated properties mapped to Lottie Slots.  * @see https://dotlottie.io/spec/2.0/#themes
  • Network accessline 646
    * Themes override animated properties mapped to Lottie Slots.  * @see https://dotlottie.io/spec/2.0/#themes  *
  • Network accessline 647
    * @see https://dotlottie.io/spec/2.0/#themes

packages/web/src/utils.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 173
    const response = await fetch(src);

packages/web/src/wasm-loader.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 18
    async function initFromBytes(url: string): Promise<void> {     const response = await fetch(url);
  • Network accessline 19
    const response = await fetch(url);

packages/web/src/webgl/dotlottie-player.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/webgl/dotlottie-player.js

  • Executable scriptline 1
    Executable file
  • Network accessline 1942
    if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {         module_or_path = fetch(module_or_path);
  • Network accessline 1943
    module_or_path = fetch(module_or_path);

packages/web/src/webgl/dotlottie-player.wasm.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/webgl/dotlottie-webgl.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 13
    webGLWasmLoaderSingleton ??= createWasmLoader(     init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgl/dotlottie-player.wasm`,
  • Network accessline 14
    init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgl/dotlottie-player.wasm`,     `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgl/dotlottie-player.wasm`,
  • Network accessline 15
    `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgl/dotlottie-player.wasm`,
  • Network accessline 16
    `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgl/dotlottie-player.wasm`,

packages/web/src/webgl/index.ts

  • Executable scriptline 1
    Executable file

packages/web/src/webgpu/dotlottie-player.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/webgpu/dotlottie-player.js

  • Executable scriptline 1
    Executable file
  • Network accessline 2363
    if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {         module_or_path = fetch(module_or_path);
  • Network accessline 2364
    module_or_path = fetch(module_or_path);

packages/web/src/webgpu/dotlottie-player.wasm.d.ts

  • Executable scriptline 1
    Executable file

packages/web/src/webgpu/dotlottie-webgpu.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 13
    webGPUWasmLoaderSingleton ??= createWasmLoader(     init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgpu/dotlottie-player.wasm`,
  • Network accessline 14
    init,     `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgpu/dotlottie-player.wasm`,     `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgpu/dotlottie-player.wasm`,
  • Network accessline 15
    `https://cdn.jsdelivr.net/npm/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgpu/dotlottie-player.wasm`,
  • Network accessline 16
    `https://unpkg.com/${PACKAGE_NAME}@${PACKAGE_VERSION}/dist/webgpu/dotlottie-player.wasm`,

packages/web/src/webgpu/index.ts

  • Executable scriptline 1
    Executable file

packages/web/src/worker/dotlottie.ts

  • Executable scriptline 1
    Executable file

packages/web/src/worker/dotlottie.worker.ts

  • Executable scriptline 1
    Executable file

packages/web/src/worker/index.ts

  • Executable scriptline 1
    Executable file

packages/web/src/worker/types.ts

  • Executable scriptline 1
    Executable file

packages/web/src/worker/worker-manager.ts

  • Executable scriptline 1
    Executable file

packages/web/tests/dotlottie.node.test.ts

  • Executable scriptline 1
    Executable file

packages/web/tests/dotlottie.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 893
    test('dispatches loadError on invalid source', async () => {       const invalidSrc = 'https://example.com/invalid.lottie';
  • Network accessline 894
    const invalidSrc = 'https://example.com/invalid.lottie';
  • Network accessline 915
    test('loads .lottie animation from animation data as array buffer', async () => {       const res = await fetch(src);
  • Network accessline 916
    const res = await fetch(src);
  • Network accessline 935
    test('loads lottie json file from animation data as string', async () => {       const res = await fetch(jsonSrc);
  • Network accessline 936
    const res = await fetch(jsonSrc);
  • Network accessline 953
    test('loads lottie json file from animation data as json object', async () => {       const res = await fetch(jsonSrc);
  • Network accessline 954
    const res = await fetch(jsonSrc);
  • Network accessline 1013
    const response = await fetch(src);
  • Possible obfuscationline 1158
    const redPng = (): Uint8Array => Uint8Array.from(atob(RED_PNG_BASE64), (char) => char.charCodeAt(0));
  • Possible obfuscationline 1923
    const pngBytes = Uint8Array.from(atob(MAGENTA_PNG.split(',')[1] ?? ''), (char) => char.charCodeAt(0));
  • Network accessline 1930
    const url = 'https://example.com/sun.png';
  • Possible obfuscationline 1950
    const pngBytes = Uint8Array.from(atob(MAGENTA_PNG.split(',')[1] ?? ''), (char) => char.charCodeAt(0));
  • Network accessline 1957
    const url = 'https://example.com/sun.png';
  • Network accessline 2162
    const multiAnimationSrc = 'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie';
  • Network accessline 2571
    describe('animationId config', () => {     const multiAnimationSrc = 'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie';
  • Network accessline 2572
    const multiAnimationSrc = 'https://lottie.host/294b684d-d6b4-4116-ab35-85ef566d4379/VkGHcqcMUI.lottie';
  • Network accessline 2978
    const response = await fetch(smSrc);
  • Network accessline 3282
    const fontResponse = await fetch(impactFontUrl);

packages/web/tests/event-manager.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 213
    const internalMessageEvent: StateMachineInternalMessage = {         type: 'stateMachineInternalMessage',         message: 'OpenUrl: https://example.com',
  • Network accessline 214
    type: 'stateMachineInternalMessage',         message: 'OpenUrl: https://example.com',       };
  • Network accessline 215
    message: 'OpenUrl: https://example.com',
  • Network accessline 251
    manager.dispatch({ type: 'stateMachineError', error: 'Something went wrong' });       manager.dispatch({ type: 'stateMachineInputFired', inputName: 'trigger' });       manager.dispatch({ type: 'stateMachineInternalMessage', message: 'OpenUr
  • Network accessline 253
    manager.dispatch({ type: 'stateMachineInternalMessage', message: 'OpenUrl: https://test.com' });
  • Network accessline 509
    const internalMessageEvent: StateMachineInternalMessage = {         type: 'stateMachineInternalMessage',         message: 'OpenUrl: https://example.com',
  • Network accessline 510
    type: 'stateMachineInternalMessage',         message: 'OpenUrl: https://example.com',       };
  • Network accessline 511
    message: 'OpenUrl: https://example.com',

packages/web/tests/plugin-inline-worker.node.test.ts

  • Executable scriptline 1
    Executable file

packages/web/tests/setup.ts

  • Executable scriptline 1
    Executable file

packages/web/tests/test-utils.ts

  • Executable scriptline 1
    Executable file

packages/web/tests/utils.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 66
    test('returns true for a valid .lottie URL', async () => {     const response = await fetch(dotLottieUrl);
  • Network accessline 67
    const response = await fetch(dotLottieUrl);
  • Network accessline 97
    test('returns true for a valid Lottie URL', async () => {     const response = await fetch(lottieUrl);
  • Network accessline 98
    const response = await fetch(lottieUrl);

packages/web/tests/wasm-loader.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 4
    const PRIMARY = 'https://primary.example.com/player.wasm';
  • Network accessline 5
    const BACKUP = 'https://backup.example.com/player.wasm';
  • Network accessline 148
    loader.setWasmUrl('https://changed.example.com/player.wasm');
  • Network accessline 162
    const loader = createWasmLoader(initFn, PRIMARY, BACKUP);     await loader.load();     const NEW_URL = 'https://other.example.com/player.wasm';
  • Network accessline 163
    await loader.load();     const NEW_URL = 'https://other.example.com/player.wasm';     loader.setWasmUrl(NEW_URL);
  • Network accessline 164
    const NEW_URL = 'https://other.example.com/player.wasm';

packages/web/tests/worker.test.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 8
    const wasmUrl = new URL('../src/core/dotlottie-player.wasm', import.meta.url).href; const src = new URL('../../../fixtures/test.lottie', import.meta.url).href; const UNREACHABLE = 'https://127.0.0.1:1/does-not-exist.wasm';
  • Network accessline 10
    const UNREACHABLE = 'https://127.0.0.1:1/does-not-exist.wasm';
  • Network accessline 228
    // Without resolution this would be loadError: `fetch('/…')` throws in a blob: worker.

packages/web/tsdown.config.ts

  • Executable scriptline 1
    Executable file

packages/web/types.d.ts

  • Executable scriptline 1
    Executable file

packages/web/vitest.config.node.ts

  • Executable scriptline 1
    Executable file

packages/web/vitest.config.ts

  • Executable scriptline 1
    Executable file

pnpm-lock.yaml

  • Network accessline 1013
    resolution: {integrity: sha512-0ThV1uZVfKJ2pwYQy52EKH8edKnvEsSDGdxRf/n1Wz15xbqI+8qKs0BHSIQ7yLyaU5gFSaEooEgK1kTiKJaE4g==}     engines: {node: '>18.0.0'}     deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/su
  • Network accessline 1015
    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
  • Network accessline 4262
    resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==}     engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}     deprecated: This version is no longer supported. Please see h
  • Network accessline 4263
    engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}     deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.     hasBin: true
  • Network accessline 4264
    deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
  • Network accessline 6551
    stable@0.1.8:     resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}     deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is depre
  • Network accessline 6553
    deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_

scripts/dev-release-report.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 22
    GITHUB_SHA,   GITHUB_RUN_ID,   GITHUB_SERVER_URL = 'https://github.com',
  • Network accessline 23
    GITHUB_RUN_ID,   GITHUB_SERVER_URL = 'https://github.com',   GITHUB_STEP_SUMMARY,
  • Network accessline 24
    GITHUB_SERVER_URL = 'https://github.com',
  • Network accessline 73
    const runUrl = `${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}`;
  • Network accessline 85
    async function api(endpoint, options = {}) {   const response = await fetch(`https://api.github.com${endpoint}`, {
  • Network accessline 86
    const response = await fetch(`https://api.github.com${endpoint}`, {
  • Access to secretsline 90
    [Credential-related source omitted]

scripts/remove-dev.mjs

  • Executable scriptline 1
    Executable file

turbo.json

  • Network accessline 1
    {   "$schema": "https://turbo.build/schema.json",
  • Network accessline 2
    "$schema": "https://turbo.build/schema.json",

vitest.config.ts

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 13 facts
Signal confidence: 487 facts

and 437 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

LottieFiles/dotlottie-web: #937 on hotskills, 939 stars

[![LottieFiles/dotlottie-web on hotskills](https://hotskills.dev/badge/lottiefiles-dotlottie-web.svg)](https://hotskills.dev/skill/lottiefiles-dotlottie-web/)