Usage Describes how to use the Lottie-Player component on a web page and with various JavaScript libraries.
On a Web Page
Lottie-Player
To use lottie-player on a web page, add the element lottie-player
and set the src
property to a URL containing a valid Bodymovin JSON file.
Copy < lottie-player
autoplay
controls
loop
mode = "normal"
src = "https://assets3.lottiefiles.com/packages/lf20_UJNc2t.json"
style = "width: 320px"
>
</ lottie-player >
To programmatically set and load animations, use:
Copy < lottie-player autoplay controls loop mode = "normal" style = "width: 320px" >
</ lottie-player >
const player = document .querySelector ( "lottie-player" );
player .load ( "https://assets3.lottiefiles.com/packages/lf20_UJNc2t.json" );
// or load via a Bodymovin JSON string/object
player .load (
'{"v":"5.3.4","fr":30,"ip":0,"op":38,"w":315,"h":600,"nm":"new", ... }'
);
Telegram Sticker Player (TGS-Player)
To use the tgs-player on a web page, add the element tgs-player
and set the src
property to a URL pointing to a valid TGS JSON file.
Copy < tgs-player autoplay loop mode = "normal" src = "https//domain/example.tgs" >
</ tgs-player >
With ReactJS & VueJS
Import the player using one of the following methods:
Copy import * as LottiePlayer from "@lottiefiles/lottie-player" ;
or
Copy require ( "@lottiefiles/lottie-player" );
se as follows:
Copy < lottie-player
autoplay
controls
loop
mode = "normal"
src = "https://assets3.lottiefiles.com/packages/lf20_UJNc2t.json"
style = "width: 320px"
></ lottie-player >
With Typescript ReactJS
Import the player using one of the following methods:
Copy import * as LottiePlayer from "@lottiefiles/lottie-player" ;
or
Copy require ( "@lottiefiles/lottie-player" );
Typescript projects require an extra step to use Lottie-Player. You must declare the lottie-player component as a JSX intrinsic element.
Create a declarations.d.ts file in the root of your project and add the following code to it.
Copy declare namespace JSX {
interface IntrinsicElements {
"lottie-player" : any ;
}
}
Use Lottie-Player as follows:
Copy < lottie-player
autoplay
controls
loop
mode = "normal"
src = "https://assets3.lottiefiles.com/packages/lf20_UJNc2t.json"
style = "width: 320px"
></ lottie-player >
With NuxtJS
Create a lottie-player.js file in project root inside a folder named plugins . Add the following code to this file:
Copy import * as LottiePlayer from "@lottiefiles/lottie-player";
The player script must be rendered only on the browser/client-side. Accordingly, configure nuxtjs to load the script on the client-side only.
Open the nuxt.config.js file and adjust the plugins array as follows:
Copy plugins: [{ src: "~/plugins/lottie-player.js", mode: "client" }],
Use the player as follows inside any component:
Copy < lottie-player
autoplay
controls
loop
style = "width:400px"
src = "https://assets3.lottiefiles.com/packages/lf20_RItkEz.json"
speed = "1"
debug
></ lottie-player >
With NextJS
You must declare the lottie-player component as a JSX intrinsic element.
Create a declarations.d.ts file in the root of your project and add the following code to it.
Copy declare namespace JSX {
interface IntrinsicElements {
"lottie-player" : any ;
}
}
Similar to the process in NuxtJS, in Server-Side Rendering (SSR) mode , declare the library as a client side module. To complete this task, import the library within a react useEffect
hook.
Copy import React , { useRef } from "react" ;
export default function Home () {
const ref = useRef ( null );
React .useEffect (() => {
import ( "@lottiefiles/lottie-player" );
});
return (
< div className = {styles.container} >
< main className = {styles.main} >
< lottie - player
id = "firstLottie"
ref = {ref}
autoplay
controls
loop
mode = "normal"
src = "https://assets4.lottiefiles.com/packages/lf20_gb5bmwlm.json"
style = {{ width : "300px" , height : "300px" }}
> </ lottie - player >
</ main >
</ div >
);
}