Streamline your web animations with LottieFiles' official players for dotLottie and Lottie animations. Designed for quick integration, these packages help developers swiftly bring animated visuals into web projects with minimal effort.
dotLottie is an open-source file format that aggregates one or more Lottie files and their associated resources into a single file. They are ZIP archives compressed with the Deflate compression method and carry the file extension of ".lottie".
The monorepo contains the following package:
Package | Description |
---|---|
@lottiefiles/dotlottie-web | A JavaScript library for rendering Lottie and dotLottie animations in the browser or Node.js. |
@lottiefiles/dotlottie-react | A React component wrapper for dotlottie-web that provides a declarative API for rendering Lottie and dotLottie animations and UI controls for interacting with them. |
@lottiefiles/dotlottie-wc | A Web Component wrapper for dotlottie-web that provides a declarative API for rendering Lottie and dotLottie animations and UI controls for interacting with them. |
@lottiefiles/dotlottie-vue | A Vue component wrapper for dotlottie-web that provides a declarative API for rendering Lottie and dotLottie animations and UI controls for interacting with them. |
@lottiefiles/dotlottie-svelte | A Svelte component wrapper for dotlottie-web that provides a declarative API for rendering Lottie and dotLottie animations and UI controls for interacting with them. |
Note: Each package has its own README.md with detailed documentation on usage and APIs.
To contribute to this monorepo or use its packages in your project, follow these setup steps:
Ensure you have the following installed:
- Node.js version 18 or greater
pnpm
version 8
Clone the monorepo:
git clone https://github.com/LottieFiles/dotlottie-web.git
cd dotlottie-web
Install dependencies:
pnpm install
-
@lottiefiles/dotlottie-web
-
@lottiefiles/dotlottie-react
-
@lottiefiles/dotlottie-vue
Discover how to implement and utilize the dotlottie-web packages with our example applications. These examples serve as a practical guide to help you understand how to integrate Lottie and dotLottie animations into your web projects.
Available examples:
- dotlottie-web-example: A basic typescript example app of how to use
@lottiefiles/dotlottie-web
to render a Lottie or dotLottie animation in the browser. - dotlottie-web-node-example: This example demonstrates how to use the
@lottiefiles/dotlottie-web
in a Node.js environment. It showcases controlling animation playback, rendering frame by frame, and converting a dotLottie animation into a GIF file. for more information, see the README.
- Clone the repository:
git clone https://github.com/LottieFiles/dotlottie-web.git
cd dotlottie-web
- Install dependencies:
pnpm install
- Build the packages:
pnpm run build
- Run the app:
# Change directory to the example app folder
cd apps/dotlottie-web-example
pnpm run dev
Feel free to modify and play around with the code to see how changes affect the animations.
To build all packages within the monorepo:
pnpm run build
To start a local development environment for all packages:
pnpm run dev
Here's a brief explanation of the scripts available in the root package.json:
build
: Builds all packages using turbo.changelog
: Adds a changeset to generate changelog and version updates.clean
: Cleans up the repository by removing development artifacts.dev
: Runs all packages in development/watch mode.format
: Formats the codebase using Prettier and Remark.lint
: Lints the codebase using ESLint.test
: Runs tests across all packages.type-check
: Checks for TypeScript type errors.
For a full list of available scripts, see the scripts
section in package.json
.
We welcome contributions to any of the packages in this monorepo. Please read our Contributing Guidelines and our Code of Conduct to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to the project.