0.0.4 • Published 9 months ago

@justeattakeaway/pie-lottie-player v0.0.4

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
9 months ago

Table of Contents

  1. Introduction
  2. Installation
  3. Importing the component
  4. Peer Dependencies
  5. Props
  6. Acessibility
  7. Contributing

pie-lottie-player

pie-lottie-player is a Web Component built using the Lit library.

This component can be easily integrated into various frontend frameworks and customized through a set of properties.

Installation

To install pie-lottie-player in your application, run the following on your command line:

# npm
$ npm i @justeattakeaway/pie-lottie-player

# yarn
$ yarn add @justeattakeaway/pie-lottie-player

For full information on using PIE components as part of an application, check out the Getting Started Guide.

Importing the component

JavaScript

// Default – for Native JS Applications, Vue, Angular, Svelte, etc.
import { PieLottiePlayer } from '@justeattakeaway/pie-lottie-player';

// If you don't need to reference the imported object, you can simply
// import the module which registers the component as a custom element.
import '@justeattakeaway/pie-lottie-player';

React

// React
// For React, you will need to import our React-specific component build
// which wraps the web component using ​@lit/react
import { PieLottiePlayer } from '@justeattakeaway/pie-lottie-player/dist/react';

!NOTE When using the React version of the component, please make sure to also include React as a peer dependency in your project.

Nuxt and SSR

When adding this component to a Nuxt application in combination with SSR settings, it might happen to receive the error "500 customElements.get(...) is not a constructor" during the preview of the built application.

That is likely due a known issue with the module that enables using Lit components in Nuxt with SSR, nuxt-ssr-lit.

To solve the issue, update or add the nitro.moduleSideEffects array in nuxt.config.ts:

  nitro: {
      moduleSideEffects: [
          '@justeattakeaway/pie-lottie-player',
      ],
  },

Peer Dependencies

!IMPORTANT When using pie-lottie-player, you will also need to include a couple of dependencies to ensure the component renders as expected. See the PIE Wiki for more information and how to include these in your application.

Props

PropertyTypeDefaultDescription
animationSrcString-Lottie animation JSON file URL or relative path. animationSrc and animationData are mutually exclusive.
animationDataObject-Object with Lottie animation data. animationSrc and animationData are mutually exclusive.
loopDisabledBooleanfalseBy the default animations loop, setting this prop as true will prevent such behaviour.
autoPlayDisabledBooleanfalseBy default animations start playing as soon as its data is available, setting this prop as true will prevent such behaviour.
speedNumber1Determines the animation reproduction speed. 1 is the regular speed, 2 is twice as fast.
directionStringforwardSets the animation reproduction direction.

In your markup or JSX, you can then use these to set the properties for the pie-lottie-player component:

<!-- Native HTML -->
<pie-lottie-player animationSrc="./animation-file.json"></pie-lottie-player>

<!-- JSX -->
<PieLottiePlayer animationSrc="./animation-file.json"></PieLottiePlayer>

Acessibility

Currently the component is always hidden from screen readers because animations should only be decorative and supplementary. Any important meaning and context should be presented alongside the animation as text.

For the users with the "Reduce motion" setting enabled, the animation will be paused on the first frame.

Contributing

Check out our contributing guide for more information on local development and how to run specific component tests.