#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.
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.
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
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 tokensAlways available to the agent
SKILL.md
3,521 tokensWhen the skill is activated
Reference documents
70,360 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Package Selection
- Installation
- Basic Implementation
- .lottie vs .json
- Web Workers (Recommended for Performance)
- State Machines (Interactivity)
- Theming with Slots
- Dynamic Slot Overriding
- Markers & Segments
- Rendering a Specific Frame to an Image
- Event Handling
- Performance Best Practices
- Multi-Animation Files
- Canvas Sizing
- Common Patterns
- Debugging
- Error Handling
- SSR / Next.js Considerations
- Resources
Scripts executed separately
.remarkrc.mjs.size-limit.jsapps/viewer/package.jsonapps/viewer/postcss.config.jsapps/viewer/src/components/animation-list.tsxapps/viewer/src/components/controls.tsxapps/viewer/src/components/dotlottie-cdn-player.tsxapps/viewer/src/components/dotlottie-gpu-player.tsxapps/viewer/src/components/dotlottie-old.tsxapps/viewer/src/components/form/base-button.tsxapps/viewer/src/components/form/base-input.tsxapps/viewer/src/components/form/base-select.tsxapps/viewer/src/components/form/input-label.tsxapps/viewer/src/components/form/step-select.tsxapps/viewer/src/components/form/switch.tsxapps/viewer/src/components/load-time.tsxapps/viewer/src/components/players.tsxapps/viewer/src/components/playground/code-editor.tsxapps/viewer/src/components/playground/console-panel.tsxapps/viewer/src/components/playground/error-display.tsxapps/viewer/src/components/playground/example-selector.tsxapps/viewer/src/components/playground/preview-iframe.tsxapps/viewer/src/components/playground/resizable-split.tsxapps/viewer/src/components/side-panel.tsxapps/viewer/src/components/skottie.tsxapps/viewer/src/components/slot-controller.tsxapps/viewer/src/components/top-bar.tsxapps/viewer/src/components/virtualized/VirtualAnimationItem.tsxapps/viewer/src/components/virtualized/VirtualizedAnimationList.tsxapps/viewer/src/context/theme-context.tsxapps/viewer/src/data/playground-examples.tsapps/viewer/src/data/playground-examples/basic.jsapps/viewer/src/data/playground-examples/dynamic-loading.jsapps/viewer/src/data/playground-examples/event-listeners.jsapps/viewer/src/data/playground-examples/interactive-hover.jsapps/viewer/src/data/playground-examples/play-segment.jsapps/viewer/src/data/playground-examples/playback-controls.jsapps/viewer/src/hooks/use-camera.tsapps/viewer/src/hooks/useDotLottiePool.tsapps/viewer/src/main.tsxapps/viewer/src/pages/embed.tsxapps/viewer/src/pages/home.tsxapps/viewer/src/pages/list.tsxapps/viewer/src/pages/perf.tsxapps/viewer/src/pages/playground.tsxapps/viewer/src/store/hooks.tsapps/viewer/src/store/index.tsapps/viewer/src/store/types.tsapps/viewer/src/store/viewer-slice.tsapps/viewer/src/utils/url-compression.tsapps/viewer/src/vite-env.d.tsapps/viewer/tailwind.config.jsapps/viewer/vite.config.tscommitlint.config.tsexamples/next/next.config.mjsexamples/next/package.jsonexamples/next/src/pages/_app.tsxexamples/next/src/pages/_document.tsxexamples/next/src/pages/index.tsxexamples/next/src/wasm-url.d.tsexamples/react/package.jsonexamples/react/src/App.tsxexamples/react/src/client-entry.tsxexamples/react/src/vite-env.d.tsexamples/react/vite.config.tsexamples/solid/package.jsonexamples/solid/src/App.tsxexamples/solid/src/index.tsxexamples/solid/vite.config.tsexamples/vue/.eslintrc.cjsexamples/vue/package.jsonexamples/vue/src/main.tsexamples/vue/src/vite-env.d.tsexamples/vue/vite.config.tsexamples/wc/package.jsonexamples/wc/src/main.tsexamples/wc/src/vite-env.d.tsexamples/web-node/index.tsexamples/web-node/package.jsonexamples/web/package.jsonexamples/web/src/main.tsexamples/web/src/vite-env.d.tsexamples/web/vite.config.tsfixtures/profiler.jsguidelines/install.shpackage.jsonpackages/react/package.jsonpackages/react/setup-file.tspackages/react/src/base-dotlottie-react.tsxpackages/react/src/dotlottie-worker.tsxpackages/react/src/dotlottie.tsxpackages/react/src/index.tspackages/react/src/webgl/index.tsxpackages/react/src/webgpu/index.tsxpackages/react/tests/dotlottie-react.spec.tsxpackages/react/tsdown.config.tspackages/react/vitest.config.tspackages/solid/package.jsonpackages/solid/src/dotlottie.tsxpackages/solid/src/index.tspackages/solid/src/use-dotlottie.tsxpackages/solid/tsdown.config.tspackages/svelte/package.jsonpackages/svelte/setup-file.tspackages/svelte/src/app.d.tspackages/svelte/src/lib/index.tspackages/svelte/svelte.config.jspackages/svelte/tests/dotlottie-svelte.spec.tspackages/svelte/vite.config.tspackages/svelte/vitest.config.tspackages/vue/package.jsonpackages/vue/src/dotlottie.tspackages/vue/src/index.tspackages/vue/tsdown.config.tspackages/wc/__tests__/dotlottie-wc.spec.tspackages/wc/__tests__/exports.spec.tspackages/wc/package.jsonpackages/wc/src/base-dotlottie-wc.tspackages/wc/src/dotlottie-wc.tspackages/wc/src/dotlottie-worker-wc.tspackages/wc/src/index.tspackages/wc/src/set-wasm-url.tspackages/wc/tsdown.config.tspackages/wc/vitest.config.tspackages/web/Makefilepackages/web/package.jsonpackages/web/rolldown-plugins/plugin-inline-worker.tspackages/web/scripts/verify-dist.mjspackages/web/src/animation-frame-manager.tspackages/web/src/constants.tspackages/web/src/core/dotlottie-player.d.tspackages/web/src/core/dotlottie-player.jspackages/web/src/core/dotlottie-player.wasm.d.tspackages/web/src/core/index.tspackages/web/src/dotlottie.tspackages/web/src/event-manager.tspackages/web/src/index.tspackages/web/src/offscreen-observer.tspackages/web/src/resize-observer.tspackages/web/src/types.tspackages/web/src/utils.tspackages/web/src/wasm-loader.tspackages/web/src/webgl/dotlottie-player.d.tspackages/web/src/webgl/dotlottie-player.jspackages/web/src/webgl/dotlottie-player.wasm.d.tspackages/web/src/webgl/dotlottie-webgl.tspackages/web/src/webgl/index.tspackages/web/src/webgpu/dotlottie-player.d.tspackages/web/src/webgpu/dotlottie-player.jspackages/web/src/webgpu/dotlottie-player.wasm.d.tspackages/web/src/webgpu/dotlottie-webgpu.tspackages/web/src/webgpu/index.tspackages/web/src/worker/dotlottie.tspackages/web/src/worker/dotlottie.worker.tspackages/web/src/worker/index.tspackages/web/src/worker/types.tspackages/web/src/worker/worker-manager.tspackages/web/tests/dotlottie.node.test.tspackages/web/tests/dotlottie.test.tspackages/web/tests/event-manager.test.tspackages/web/tests/plugin-inline-worker.node.test.tspackages/web/tests/setup.tspackages/web/tests/test-utils.tspackages/web/tests/utils.test.tspackages/web/tests/wasm-loader.test.tspackages/web/tests/worker.test.tspackages/web/tsdown.config.tspackages/web/types.d.tspackages/web/vitest.config.node.tspackages/web/vitest.config.tsscripts/dev-release-report.mjsscripts/remove-dev.mjsvitest.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 bytesCODE_OF_CONDUCT.mddoc5,534 bytesCONTRIBUTING.mddoc2,718 bytesLICENSEasset1,072 bytesREADME.mddoc16,712 bytesSKILL.mdcore13,906 bytesSKILL.mdcore13,906 bytesapps/viewer/.gitignoreasset253 bytesapps/viewer/index.htmlasset620 bytesapps/viewer/package.jsonruns1,792 bytesapps/viewer/postcss.config.jsruns105 bytesapps/viewer/src/assets/brand-logo.svgasset4,947 bytesapps/viewer/src/assets/react.svgasset4,126 bytesapps/viewer/src/components/animation-list.tsxruns1,458 bytesapps/viewer/src/components/controls.tsxruns8,592 bytesapps/viewer/src/components/dotlottie-cdn-player.tsxruns4,975 bytesapps/viewer/src/components/dotlottie-gpu-player.tsxruns6,534 bytesapps/viewer/src/components/dotlottie-old.tsxruns214 bytesapps/viewer/src/components/form/base-button.tsxruns497 bytesapps/viewer/src/components/form/base-input.tsxruns1,539 bytesapps/viewer/src/components/form/base-select.tsxruns1,486 bytesapps/viewer/src/components/form/input-label.tsxruns583 bytesapps/viewer/src/components/form/step-select.tsxruns2,066 bytesapps/viewer/src/components/form/switch.tsxruns924 bytesapps/viewer/src/components/load-time.tsxruns574 bytesapps/viewer/src/components/players.tsxruns16,077 bytesapps/viewer/src/components/playground/code-editor.tsxruns2,688 bytesapps/viewer/src/components/playground/console-panel.tsxruns4,363 bytesapps/viewer/src/components/playground/error-display.tsxruns527 bytesapps/viewer/src/components/playground/example-selector.tsxruns765 bytesapps/viewer/src/components/playground/preview-iframe.tsxruns3,868 bytesapps/viewer/src/components/playground/resizable-split.tsxruns2,630 bytesapps/viewer/src/components/side-panel.tsxruns654 bytesapps/viewer/src/components/skottie.tsxruns2,001 bytesapps/viewer/src/components/slot-controller.tsxruns16,071 bytesapps/viewer/src/components/top-bar.tsxruns3,014 bytesapps/viewer/src/components/virtualized/VirtualAnimationItem.tsxruns1,003 bytesapps/viewer/src/components/virtualized/VirtualizedAnimationList.tsxruns2,383 bytesapps/viewer/src/context/theme-context.tsxruns2,874 bytesapps/viewer/src/data/playground-examples.tsruns1,619 bytesapps/viewer/src/data/playground-examples/basic.jsruns550 bytesapps/viewer/src/data/playground-examples/dynamic-loading.jsruns1,006 bytesapps/viewer/src/data/playground-examples/event-listeners.jsruns1,157 bytesapps/viewer/src/data/playground-examples/interactive-hover.jsruns774 bytesapps/viewer/src/data/playground-examples/play-segment.jsruns957 bytesapps/viewer/src/data/playground-examples/playback-controls.jsruns757 bytesapps/viewer/src/hooks/use-camera.tsruns4,927 bytesapps/viewer/src/hooks/useDotLottiePool.tsruns1,484 bytesapps/viewer/src/index.cssasset588 bytesapps/viewer/src/main.tsxruns969 bytesapps/viewer/src/pages/embed.tsxruns5,181 bytesapps/viewer/src/pages/home.tsxruns4,071 bytesapps/viewer/src/pages/list.tsxruns1,588 bytesapps/viewer/src/pages/perf.tsxruns14,656 bytesapps/viewer/src/pages/playground.tsxruns11,444 bytesapps/viewer/src/store/hooks.tsruns272 bytesapps/viewer/src/store/index.tsruns306 bytesapps/viewer/src/store/types.tsruns0 bytesapps/viewer/src/store/viewer-slice.tsruns6,271 bytesapps/viewer/src/utils/url-compression.tsruns1,861 bytesapps/viewer/src/vite-env.d.tsruns38 bytesapps/viewer/tailwind.config.jsruns778 bytesapps/viewer/tsconfig.jsonasset641 bytesapps/viewer/tsconfig.node.jsonasset233 bytesapps/viewer/vite.config.tsruns349 bytesassets/1.gifasset302,234 bytesassets/2.gifasset544,111 bytesassets/3.gifasset861,456 bytesassets/4.gifasset373,607 bytesbiome.jsonasset2,628 bytescommitlint.config.tsruns64 bytesexamples/next/.gitignoreasset391 bytesexamples/next/next.config.mjsruns743 bytesexamples/next/package.jsonruns484 bytesexamples/next/public/favicon.icoasset25,930 bytesexamples/next/public/next.svgasset1,375 bytesexamples/next/public/vercel.svgasset629 bytesexamples/next/src/pages/_app.tsxruns181 bytesexamples/next/src/pages/_document.tsxruns233 bytesexamples/next/src/pages/index.tsxruns5,282 bytesexamples/next/src/styles/globals.cssasset273 bytesexamples/next/src/wasm-url.d.tsruns75 bytesexamples/next/tsconfig.jsonasset516 bytesexamples/react/.gitignoreasset253 bytesexamples/react/index.htmlasset318 bytesexamples/react/package.jsonruns494 bytesexamples/react/src/App.tsxruns4,738 bytesexamples/react/src/client-entry.tsxruns210 bytesexamples/react/src/vite-env.d.tsruns38 bytesexamples/react/tsconfig.jsonasset605 bytesexamples/react/tsconfig.node.jsonasset213 bytesexamples/react/vite.config.tsruns171 bytesexamples/solid/.gitignoreasset227 bytesexamples/solid/index.htmlasset539 bytesexamples/solid/package.jsonruns474 bytesexamples/solid/src/App.tsxruns5,691 bytesexamples/solid/src/index.cssasset362 bytesexamples/solid/src/index.tsxruns450 bytesexamples/solid/tsconfig.jsonasset338 bytesexamples/solid/vite.config.tsruns467 bytesexamples/vue/.eslintrc.cjsruns414 bytesexamples/vue/.gitignoreasset253 bytesexamples/vue/.vscode/extensions.jsonasset75 bytesexamples/vue/index.htmlasset394 bytesexamples/vue/package.jsonruns827 bytesexamples/vue/src/App.vueasset1,813 bytesexamples/vue/src/assets/vue.svgasset496 bytesexamples/vue/src/components/HelloWorld.vueasset782 bytesexamples/vue/src/main.tsruns115 bytesexamples/vue/src/style.cssasset1,276 bytesexamples/vue/src/vite-env.d.tsruns38 bytesexamples/vue/tsconfig.jsonasset644 bytesexamples/vue/tsconfig.node.jsonasset213 bytesexamples/vue/vite.config.tsruns160 bytesexamples/wc/.gitignoreasset253 bytesexamples/wc/index.htmlasset405 bytesexamples/wc/package.jsonruns355 bytesexamples/wc/src/main.tsruns2,594 bytesexamples/wc/src/vite-env.d.tsruns38 bytesexamples/wc/tsconfig.jsonasset148 bytesexamples/web-node/.gitignoreasset7 bytesexamples/web-node/README.mddoc1,371 bytesexamples/web-node/demo.gifasset523,908 bytesexamples/web-node/index.tsruns3,324 bytesexamples/web-node/package.jsonruns501 bytesexamples/web-node/tsconfig.jsonasset210 bytesexamples/web/.gitignoreasset253 bytesexamples/web/index.htmlasset406 bytesexamples/web/package.jsonruns357 bytesexamples/web/src/main.tsruns16,824 bytesexamples/web/src/styles.cssasset1,339 bytesexamples/web/src/vite-env.d.tsruns38 bytesexamples/web/tsconfig.jsonasset148 bytesexamples/web/vite.config.tsruns103 bytesfixtures/aniki-hamster.jsonasset58,977 bytesfixtures/audio.jsonasset2,206 bytesfixtures/celebrate.jsonasset111,541 bytesfixtures/down.jsonasset5,539 bytesfixtures/dragon.jsonasset216,948 bytesfixtures/editor.jsonasset38,091 bytesfixtures/exploding_pigeon.lottieasset52,904 bytesfixtures/favicon.pngasset856 bytesfixtures/favicon.svgasset1,172 bytesfixtures/fonts/Impact.ttfasset138,433 bytesfixtures/fonts/Type-Tones - Arboria-Black.woffasset37,491 bytesfixtures/fonts/Type-Tones - Arboria-Bold.woffasset38,032 bytesfixtures/growup.jsonasset35,693 bytesfixtures/hamster.jsonasset58,977 bytesfixtures/hamster.lottieasset4,674 bytesfixtures/image.jsonasset942,143 bytesfixtures/layout_example.lottieasset751 bytesfixtures/like.jsonasset8,075 bytesfixtures/lolo.jsonasset36,136 bytesfixtures/lottie-lego.jsonasset28,107 bytesfixtures/lottie/11555.jsonasset30,402 bytesfixtures/lottie/1643-exploding-star.jsonasset27,807 bytesfixtures/lottie/27746-joypixels-partying-face-emoji-animation.jsonasset43,106 bytesfixtures/lottie/5317-fireworkds.jsonasset9,300 bytesfixtures/lottie/5344-honey-sack-hud.jsonasset138,527 bytesfixtures/lottie/a_mountain.jsonasset34,001 bytesfixtures/lottie/abstract_circle.jsonasset2,249 bytesfixtures/lottie/alien.jsonasset103,109 bytesfixtures/lottie/anubis.jsonasset42,274 bytesfixtures/lottie/balloons_with_string.jsonasset30,941 bytesfixtures/lottie/batman.jsonasset794,136 bytesfixtures/lottie/birth_stone_logo.jsonasset4,383 bytesfixtures/lottie/calculator.jsonasset89,722 bytesfixtures/lottie/card_hover.jsonasset327,388 bytesfixtures/lottie/cat_loader.jsonasset52,489 bytesfixtures/lottie/coin.jsonasset76,757 bytesfixtures/lottie/confetti.jsonasset365,327 bytesfixtures/lottie/confetti2.jsonasset30,455 bytesfixtures/lottie/confettiBird.jsonasset91,551 bytesfixtures/lottie/customer.jsonasset166,844 bytesfixtures/lottie/dancing_book.jsonasset128,957 bytesfixtures/lottie/dancing_star.jsonasset31,515 bytesfixtures/lottie/day_to_night.jsonasset122,000 bytesfixtures/lottie/dodecahedron.jsonasset61,906 bytesfixtures/lottie/down.jsonasset5,539 bytesfixtures/lottie/dropball.jsonasset30,156 bytesfixtures/lottie/duck.jsonasset129,343 bytesfixtures/lottie/earth_hour.jsonasset121,913 bytesfixtures/lottie/emoji.jsonasset74,955 bytesfixtures/lottie/emoji_enjoying.jsonasset21,006 bytesfixtures/lottie/error_404.jsonasset297,531 bytesfixtures/lottie/fiery_skull.jsonasset55,497 bytesfixtures/lottie/fleche.jsonasset33,556 bytesfixtures/lottie/flipping_page.jsonasset52,912 bytesfixtures/lottie/fly_in_beaker.jsonasset83,764 bytesfixtures/lottie/focal_test.jsonasset65,298 bytesfixtures/lottie/foodrating.jsonasset50,187 bytesfixtures/lottie/frog_vr.jsonasset112,378 bytesfixtures/lottie/fun_animation.jsonasset153,619 bytesfixtures/lottie/funky_chicken.jsonasset86,449 bytesfixtures/lottie/game_finished.jsonasset45,226 bytesfixtures/lottie/geometric.jsonasset29,922 bytesfixtures/lottie/glow_loading.jsonasset15,144 bytesfixtures/lottie/gradient_background.jsonasset204,748 bytesfixtures/lottie/gradient_infinite.jsonasset15,279 bytesfixtures/lottie/gradient_sleepy_loader.jsonasset4,532 bytesfixtures/lottie/gradient_smoke.jsonasset23,905 bytesfixtures/lottie/growup.jsonasset35,693 bytesfixtures/lottie/guitar.jsonasset180,727 bytesfixtures/lottie/hamburger.jsonasset97,090 bytesfixtures/lottie/happy_holidays.jsonasset71,730 bytesfixtures/lottie/happy_trio.jsonasset46,760 bytesfixtures/lottie/hola.jsonasset27,816 bytesfixtures/lottie/holdanimation.jsonasset329,107 bytesfixtures/lottie/hourglass.jsonasset16,430 bytesfixtures/lottie/insta_camera.jsonasset62,910 bytesfixtures/lottie/isometric.jsonasset9,570 bytesfixtures/lottie/kote.jsonasset58,750 bytesfixtures/lottie/la_communaute.jsonasset70,666 bytesfixtures/lottie/like.jsonasset8,075 bytesfixtures/lottie/like_button.jsonasset151,438 bytesfixtures/lottie/loading_rectangle.jsonasset25,720 bytesfixtures/lottie/lolo.jsonasset51,880 bytesfixtures/lottie/lolo_walk.jsonasset36,136 bytesfixtures/lottie/loveface_emoji.jsonasset21,741 bytesfixtures/lottie/masking.jsonasset75,470 bytesfixtures/lottie/material_wave_loading.jsonasset5,945 bytesfixtures/lottie/merging_shapes.jsonasset11,161 bytesfixtures/lottie/message.jsonasset196,112 bytesfixtures/lottie/morphing_anim.jsonasset18,914 bytesfixtures/lottie/open_envelope.jsonasset30,737 bytesfixtures/lottie/personal_character.jsonasset78,363 bytesfixtures/lottie/polystar.jsonasset11,727 bytesfixtures/lottie/polystar_anim.jsonasset1,809 bytesfixtures/lottie/property_market.jsonasset33,069 bytesfixtures/lottie/radar.jsonasset29,997 bytesfixtures/lottie/ripple_loading_animation.jsonasset9,021 bytesfixtures/lottie/rufo.jsonasset84,478 bytesfixtures/lottie/sad_emoji.jsonasset11,038 bytesfixtures/lottie/sample.jsonasset28,006 bytesfixtures/lottie/seawalk.jsonasset533,511 bytesfixtures/lottie/skullboy.jsonasset194,834 bytesfixtures/lottie/snail.jsonasset37,999 bytesfixtures/lottie/starburst.jsonasset1,268,260 bytesfixtures/lottie/starstrips.jsonasset27,785 bytesfixtures/lottie/starts_transparent.jsonasset180,890 bytesfixtures/lottie/stroke_dash.jsonasset18,083 bytesfixtures/lottie/swinging.jsonasset133,210 bytesfixtures/lottie/text.jsonasset10,204 bytesfixtures/lottie/text2.jsonasset86,628 bytesfixtures/lottie/text_anim.jsonasset244,526 bytesfixtures/lottie/threads.jsonasset15,398 bytesfixtures/lottie/train.jsonasset244,297 bytesfixtures/lottie/uk_flag.jsonasset729,061 bytesfixtures/lottie/voice_recognition.jsonasset179,393 bytesfixtures/lottie/walker.jsonasset29,641 bytesfixtures/lottie/water_filling.jsonasset23,002 bytesfixtures/lottie/waves.jsonasset7,756 bytesfixtures/lottie/woman.jsonasset93,494 bytesfixtures/lottie/yarn_loading.jsonasset18,562 bytesfixtures/markers_example.jsonasset312,349 bytesfixtures/markers_example.lottieasset52,478 bytesfixtures/multi.lottieasset1,368,027 bytesfixtures/multi_themes.lottieasset2,904 bytesfixtures/profiler.jsruns4,143 bytesfixtures/sm.lottieasset11,478 bytesfixtures/sm/all-inputs.jsonasset1,682 bytesfixtures/sm/click-machine.jsonasset423 bytesfixtures/sm/cursor-machine.jsonasset406 bytesfixtures/sm/hold-machine.jsonasset755 bytesfixtures/sm/hover.lottieasset3,304 bytesfixtures/sm/open-url-machine.jsonasset2,484 bytesfixtures/sm/scroll-machine.jsonasset410 bytesfixtures/sm/smiley_slider.lottieasset7,707 bytesfixtures/sm/star-rating.lottieasset2,519 bytesfixtures/sm/theme-machine.jsonasset1,624 bytesfixtures/sm/toggle.lottieasset3,262 bytesfixtures/test.jsonasset12,679 bytesfixtures/test.lottieasset1,446 bytesfixtures/text.jsonasset510 bytesfixtures/toggle.lottieasset3,492 bytesfixtures/walker.jsonasset29,641 bytesfixtures/waves.jsonasset7,756 bytesfixtures/woman.jsonasset93,494 bytesguidelines/README.mddoc2,215 bytesguidelines/command.mddoc17,586 bytesguidelines/install.shruns3,868 bytesindex.htmlasset12,820 byteslefthook.ymlasset412 bytespackage.jsonruns2,469 bytespackages/react/CHANGELOG.mddoc24,145 bytespackages/react/README.mddoc11,735 bytespackages/react/package.jsonruns2,474 bytespackages/react/setup-file.tsruns309 bytespackages/react/src/base-dotlottie-react.tsxruns9,053 bytespackages/react/src/dotlottie-worker.tsxruns701 bytespackages/react/src/dotlottie.tsxruns624 bytespackages/react/src/index.tsruns416 bytespackages/react/src/webgl/index.tsxruns995 bytespackages/react/src/webgpu/index.tsxruns1,066 bytespackages/react/tests/__snapshots__/dotlottie-react.spec.tsx.snapasset456 bytespackages/react/tests/dotlottie-react.spec.tsxruns31,500 bytespackages/react/tsconfig.build.jsonasset458 bytespackages/react/tsconfig.jsonasset259 bytespackages/react/tsdown.config.tsruns1,188 bytespackages/react/vitest.config.tsruns719 bytespackages/solid/CHANGELOG.mddoc14,485 bytespackages/solid/README.mddoc11,452 bytespackages/solid/package.jsonruns1,466 bytespackages/solid/src/dotlottie.tsxruns1,206 bytespackages/solid/src/index.tsruns111 bytespackages/solid/src/use-dotlottie.tsxruns8,883 bytespackages/solid/tsconfig.build.jsonasset219 bytespackages/solid/tsconfig.jsonasset226 bytespackages/solid/tsdown.config.tsruns318 bytespackages/svelte/.eslintignoreasset160 bytespackages/svelte/.gitignoreasset138 bytespackages/svelte/.prettierrcasset205 bytespackages/svelte/CHANGELOG.mddoc16,936 bytespackages/svelte/README.mddoc10,958 bytespackages/svelte/package.jsonruns2,533 bytespackages/svelte/setup-file.tsruns267 bytespackages/svelte/src/app.d.tsruns281 bytespackages/svelte/src/app.htmlasset320 bytespackages/svelte/src/lib/Dotlottie.svelteasset7,082 bytespackages/svelte/src/lib/index.tsruns255 bytespackages/svelte/src/routes/+page.svelteasset3,731 bytespackages/svelte/static/favicon.pngasset1,570 bytespackages/svelte/svelte.config.jsruns690 bytespackages/svelte/tests/__snapshots__/dotlottie-svelte.spec.ts.snapasset216 bytespackages/svelte/tests/dotlottie-svelte.spec.tsruns20,358 bytespackages/svelte/tsconfig.jsonasset353 bytespackages/svelte/vite.config.tsruns224 bytespackages/svelte/vitest.config.tsruns837 bytespackages/vue/CHANGELOG.mddoc18,194 bytespackages/vue/README.mddoc9,328 bytespackages/vue/package.jsonruns1,479 bytespackages/vue/src/dotlottie.tsruns9,693 bytespackages/vue/src/index.tsruns29 bytespackages/vue/tsconfig.build.jsonasset482 bytespackages/vue/tsconfig.jsonasset221 bytespackages/vue/tsdown.config.tsruns224 bytespackages/wc/CHANGELOG.mddoc19,668 bytespackages/wc/README.mddoc8,335 bytespackages/wc/__tests__/dotlottie-wc.spec.tsruns21,326 bytespackages/wc/__tests__/exports.spec.tsruns691 bytespackages/wc/example.htmlasset858 bytespackages/wc/package.jsonruns1,738 bytespackages/wc/src/base-dotlottie-wc.tsruns8,710 bytespackages/wc/src/dotlottie-wc.tsruns569 bytespackages/wc/src/dotlottie-worker-wc.tsruns730 bytespackages/wc/src/index.tsruns217 bytespackages/wc/src/set-wasm-url.tsruns192 bytespackages/wc/tsconfig.build.jsonasset473 bytespackages/wc/tsconfig.jsonasset277 bytespackages/wc/tsdown.config.tsruns1,400 bytespackages/wc/vitest.config.tsruns578 bytespackages/web/.eslintignoreasset40 bytespackages/web/BUILD_SYSTEM.mddoc2,284 bytespackages/web/CHANGELOG.mddoc34,719 bytespackages/web/Makefileruns7,148 bytespackages/web/README.mddoc7,215 bytespackages/web/index.htmlasset15,475 bytespackages/web/jsr.jsonasset94 bytespackages/web/package.jsonruns3,012 bytespackages/web/rolldown-plugins/plugin-inline-worker.tsruns3,503 bytespackages/web/scripts/verify-dist.mjsruns2,195 bytespackages/web/src/animation-frame-manager.tsruns1,602 bytespackages/web/src/constants.tsruns604 bytespackages/web/src/core/dotlottie-player.d.tsruns22,918 bytespackages/web/src/core/dotlottie-player.jsruns53,667 bytespackages/web/src/core/dotlottie-player.wasmasset1,226,030 bytespackages/web/src/core/dotlottie-player.wasm.d.tsruns12,855 bytespackages/web/src/core/index.tsruns117 bytespackages/web/src/dotlottie.tsruns80,841 bytespackages/web/src/event-manager.tsruns6,198 bytespackages/web/src/index.tsruns118 bytespackages/web/src/offscreen-observer.tsruns1,684 bytespackages/web/src/resize-observer.tsruns2,123 bytespackages/web/src/types.tsruns20,327 bytespackages/web/src/utils.tsruns6,714 bytespackages/web/src/wasm-loader.tsruns3,742 bytespackages/web/src/webgl/dotlottie-player.d.tsruns27,757 bytespackages/web/src/webgl/dotlottie-player.jsruns69,964 bytespackages/web/src/webgl/dotlottie-player.wasmasset1,362,381 bytespackages/web/src/webgl/dotlottie-player.wasm.d.tsruns17,865 bytespackages/web/src/webgl/dotlottie-webgl.tsruns3,571 bytespackages/web/src/webgl/index.tsruns175 bytespackages/web/src/webgpu/dotlottie-player.d.tsruns27,148 bytespackages/web/src/webgpu/dotlottie-player.jsruns91,035 bytespackages/web/src/webgpu/dotlottie-player.wasmasset1,407,647 bytespackages/web/src/webgpu/dotlottie-player.wasm.d.tsruns17,229 bytespackages/web/src/webgpu/dotlottie-webgpu.tsruns5,812 bytespackages/web/src/webgpu/index.tsruns178 bytespackages/web/src/worker/dotlottie.tsruns56,767 bytespackages/web/src/worker/dotlottie.worker.tsruns36,790 bytespackages/web/src/worker/index.tsruns29 bytespackages/web/src/worker/types.tsruns11,187 bytespackages/web/src/worker/worker-manager.tsruns3,052 bytespackages/web/tests/__snapshots__/frame-buffer-0.txtdoc36,205 bytespackages/web/tests/__snapshots__/frame-buffer-1.txtdoc36,221 bytespackages/web/tests/__snapshots__/frame-buffer-10.txtdoc36,196 bytespackages/web/tests/__snapshots__/frame-buffer-11.txtdoc36,230 bytespackages/web/tests/__snapshots__/frame-buffer-12.txtdoc36,267 bytespackages/web/tests/__snapshots__/frame-buffer-13.txtdoc36,267 bytespackages/web/tests/__snapshots__/frame-buffer-14.txtdoc36,233 bytespackages/web/tests/__snapshots__/frame-buffer-15.txtdoc36,222 bytespackages/web/tests/__snapshots__/frame-buffer-16.txtdoc36,240 bytespackages/web/tests/__snapshots__/frame-buffer-17.txtdoc36,285 bytespackages/web/tests/__snapshots__/frame-buffer-18.txtdoc36,276 bytespackages/web/tests/__snapshots__/frame-buffer-19.txtdoc36,282 bytespackages/web/tests/__snapshots__/frame-buffer-2.txtdoc36,203 bytespackages/web/tests/__snapshots__/frame-buffer-20.txtdoc36,245 bytespackages/web/tests/__snapshots__/frame-buffer-21.txtdoc36,221 bytespackages/web/tests/__snapshots__/frame-buffer-22.txtdoc36,222 bytespackages/web/tests/__snapshots__/frame-buffer-23.txtdoc36,202 bytespackages/web/tests/__snapshots__/frame-buffer-24.txtdoc36,230 bytespackages/web/tests/__snapshots__/frame-buffer-25.txtdoc36,226 bytespackages/web/tests/__snapshots__/frame-buffer-26.txtdoc36,221 bytespackages/web/tests/__snapshots__/frame-buffer-27.txtdoc36,254 bytespackages/web/tests/__snapshots__/frame-buffer-28.txtdoc36,263 bytespackages/web/tests/__snapshots__/frame-buffer-29.txtdoc36,273 bytespackages/web/tests/__snapshots__/frame-buffer-3.txtdoc36,239 bytespackages/web/tests/__snapshots__/frame-buffer-30.txtdoc36,276 bytespackages/web/tests/__snapshots__/frame-buffer-31.txtdoc36,275 bytespackages/web/tests/__snapshots__/frame-buffer-32.txtdoc36,265 bytespackages/web/tests/__snapshots__/frame-buffer-33.txtdoc36,231 bytespackages/web/tests/__snapshots__/frame-buffer-34.txtdoc36,205 bytespackages/web/tests/__snapshots__/frame-buffer-35.txtdoc36,191 bytespackages/web/tests/__snapshots__/frame-buffer-36.txtdoc36,192 bytespackages/web/tests/__snapshots__/frame-buffer-37.txtdoc36,192 bytespackages/web/tests/__snapshots__/frame-buffer-38.txtdoc36,195 bytespackages/web/tests/__snapshots__/frame-buffer-39.txtdoc36,193 bytespackages/web/tests/__snapshots__/frame-buffer-4.txtdoc36,300 bytespackages/web/tests/__snapshots__/frame-buffer-40.txtdoc36,204 bytespackages/web/tests/__snapshots__/frame-buffer-41.txtdoc36,205 bytespackages/web/tests/__snapshots__/frame-buffer-5.txtdoc36,331 bytespackages/web/tests/__snapshots__/frame-buffer-6.txtdoc36,326 bytespackages/web/tests/__snapshots__/frame-buffer-7.txtdoc36,279 bytespackages/web/tests/__snapshots__/frame-buffer-8.txtdoc36,214 bytespackages/web/tests/__snapshots__/frame-buffer-9.txtdoc36,170 bytespackages/web/tests/dotlottie.node.test.tsruns3,641 bytespackages/web/tests/dotlottie.test.tsruns91,473 bytespackages/web/tests/event-manager.test.tsruns17,653 bytespackages/web/tests/plugin-inline-worker.node.test.tsruns2,868 bytespackages/web/tests/setup.tsruns129 bytespackages/web/tests/test-utils.tsruns758 bytespackages/web/tests/utils.test.tsruns14,996 bytespackages/web/tests/wasm-loader.test.tsruns13,454 bytespackages/web/tests/worker.test.tsruns9,808 bytespackages/web/tsconfig.build.jsonasset322 bytespackages/web/tsconfig.jsonasset231 bytespackages/web/tsdown.config.tsruns2,300 bytespackages/web/types.d.tsruns512 bytespackages/web/vitest.config.node.tsruns592 bytespackages/web/vitest.config.tsruns1,153 bytespnpm-lock.yamlasset508,043 bytespnpm-workspace.yamlasset57 bytesreferences/dynamic-slots.mddoc6,063 bytesscripts/dev-release-report.mjsruns4,896 bytesscripts/remove-dev.mjsruns580 bytestsconfig.build.jsonasset684 bytestsconfig.dev.jsonasset628 bytestsconfig.jsonasset39 bytesturbo.jsonasset717 bytesvitest.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 GitHubSkills 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
- #924 on Nov 1
- #929 on Nov 2
- #933 on Nov 3
- #935 on Nov 4
- #936 on Nov 5
- #937 since Nov 6
55 earlier periods
- #612 on Aug 2
- #604 on Aug 7
- #603 on Aug 8
- #636 on Aug 10
- #642 on Aug 11
- #640 on Aug 12
- #634 on Aug 14
- #615 on Aug 15
- #628 on Aug 16
- #638 on Aug 17
- #651 on Aug 18
- #637 on Aug 20
- #643 on Aug 21
- #646 on Aug 23
- #660 on Aug 24
- #654 on Aug 26
- #683 on Aug 28
- #664 on Aug 31
- #682 on Sep 7
- #701 on Sep 8
- #690 on Sep 9
- #694 on Sep 10
- #681 on Sep 12
- #706 on Sep 14
- #716 on Sep 17
- #702 on Sep 18
- #710 on Sep 21
- #728 on Sep 22
- #720 on Sep 23
- #677 on Sep 25
- #675 on Sep 26
- #706 on Sep 27
- #720 on Sep 28
- #734 on Sep 30
- #689 on Oct 1
- #704 on Oct 2
- #685 on Oct 3
- #715 on Oct 4
- #735 on Oct 10
- #753 on Oct 12
- #754 on Oct 13
- #766 on Oct 14
- #761 on Oct 15
- #766 on Oct 16
- #747 on Oct 17
- #731 on Oct 18
- #783 on Oct 20
- #793 on Oct 21
- #775 on Oct 22
- #744 on Oct 24
- #896 on Oct 25
- #909 on Oct 28
- #915 on Oct 29
- #918 on Oct 30
- #923 on Oct 31
Before you install
Network or broad shellAutomated 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:1Analysis incomplete: Referenced executable target unavailable; not analyzedapps/viewer/src/assets/react.svg:1Analysis incomplete: physical or joined line exceeds character limitfixtures/aniki-hamster.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/celebrate.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/down.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/dragon.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/editor.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/growup.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/hamster.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/image.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/like.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lolo.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie-lego.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/11555.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/1643-exploding-star.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/27746-joypixels-partying-face-emoji-animation.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/5317-fireworkds.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/5344-honey-sack-hud.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/a_mountain.json:1Analysis incomplete: physical or joined line exceeds character limitfixtures/lottie/alien.json:1Analysis incomplete: physical or joined line exceeds character limit
- No broad tool permissions
- 5 dangerous shell commandsin 3 files: .github/workflows/release.yml:225 guidelines/README.md:8 packages/web/Makefile:164
- 605 network referencesin 92 files: README.md:1 guidelines/install.sh:3 packages/web/README.md:3 and 89 more
- 4 obfuscation signalsin 2 files: packages/web/tests/dotlottie.test.ts:1158 apps/viewer/src/pages/perf.tsx:225
- No instruction overrides
- 173 executable scriptsin 173 files: .remarkrc.mjs:1 .size-limit.js:1 apps/viewer/package.json:1 and 170 more
- 12 references to secretsin 6 files: .github/workflows/release.yml:155 .gitignore:9 examples/solid/.gitignore:9 and 3 more
- No requests to vote in Hot
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
.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
.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
 - Network accessline 2
 - Network accessline 3
 - Network accessline 4
 - Network accessline 5
 - 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
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
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
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
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
biome.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
examples/wc/package.json
- Executable scriptline 1
Executable file
examples/wc/src/main.ts
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
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
 - Network accessline 8
 - Network accessline 9
 - Network accessline 10
 - 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
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
 - Network accessline 8
 - Network accessline 9
 - Network accessline 10
 - 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
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
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
 - Network accessline 8
 - Network accessline 9
 - Network accessline 10
 - 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
 - Network accessline 7
 - Network accessline 8
 - Network accessline 9
 - 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
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
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
 - Network accessline 7
 - Network accessline 8
 - Network accessline 9
 - Network accessline 10
 - 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
packages/web/src/wasm-loader.ts
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
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
- Contacts registry.npmjs.org, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/components/controls.tsx:48High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/components/dotlottie-cdn-player.tsx:29High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/basic.js:1High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/dynamic-loading.js:1High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/event-listeners.js:1High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/interactive-hover.js:1High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/play-segment.js:1High confidence
- Contacts esm.sh, which SKILL.md, the README and the plugin manifest do not mentionapps/viewer/src/data/playground-examples/playback-controls.js:1High confidence
- Contacts raw.githubusercontent.com, which SKILL.md, the README and the plugin manifest do not mentionguidelines/install.sh:21High confidence
- Contacts claude.ai, which SKILL.md, the README and the plugin manifest do not mentionguidelines/install.sh:105High confidence
- Contacts cursor.com, which SKILL.md, the README and the plugin manifest do not mentionguidelines/install.sh:106High confidence
- Contacts opencode.ai, which SKILL.md, the README and the plugin manifest do not mentionguidelines/install.sh:107High confidence
- Contacts codeium.com, which SKILL.md, the README and the plugin manifest do not mentionguidelines/install.sh:108High confidence
Signal confidence: 487 facts
- Network access in prose of documentation.changeset/README.md:3Low confidence
- Network access in prose of documentation.changeset/README.md:5Low confidence
- Network access in prose of documentation.changeset/README.md:7Low confidence
- Network access in prose of documentation.changeset/README.md:8Low confidence
- Network access in prose of documentation.github/SECURITY.md:22Low confidence
- Executable script in code of a file that runs.remarkrc.mjs:1High confidence
- Executable script in code of a file that runs.size-limit.js:1High confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:117Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:119Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:124Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:125Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:126Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:128Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:130Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:132Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:134Low confidence
- Network access in prose of documentationCODE_OF_CONDUCT.md:136Low confidence
- Network access in prose of documentationCONTRIBUTING.md:7Low confidence
- Network access in prose of documentationCONTRIBUTING.md:8Low confidence
- Network access in code of documentationCONTRIBUTING.md:13Low confidence
- Network access in code of documentationCONTRIBUTING.md:14Low confidence
- Network access in prose of documentationCONTRIBUTING.md:74Low confidence
- Network access in prose of documentationCONTRIBUTING.md:90Low confidence
- Network access in prose of documentationREADME.md:1Low confidence
- Network access in prose of documentationREADME.md:2Low confidence
- Network access in prose of documentationREADME.md:3Low confidence
- Network access in prose of documentationREADME.md:4Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:14Low confidence
- Network access in prose of documentationREADME.md:15Low confidence
- Network access in prose of documentationREADME.md:16Low confidence
- Network access in prose of documentationREADME.md:17Low confidence
- Network access in prose of documentationREADME.md:18Low confidence
- Network access in prose of documentationREADME.md:22Low confidence
- Network access in prose of documentationREADME.md:23Low confidence
- Network access in prose of documentationREADME.md:24Low confidence
- Network access in prose of documentationREADME.md:25Low confidence
- Network access in prose of documentationREADME.md:26Low confidence
- Network access in prose of documentationREADME.md:31Low confidence
- Network access in prose of documentationREADME.md:32Low confidence
- Network access in prose of documentationREADME.md:33Low confidence
- Network access in code of documentationREADME.md:57Low confidence
- Network access in code of documentationREADME.md:58Low confidence
- Network access in code of documentationREADME.md:59Low confidence
- Network access in code of documentationREADME.md:100Low confidence
- Network access in code of documentationREADME.md:101Low confidence
- Network access in code of documentationREADME.md:102Low confidence
- Network access in code of documentationREADME.md:148Low confidence
and 437 more
Only the first 500 facts are listed.
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Compatible | Standard SKILL.md SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/lottiefiles-dotlottie-web/)