0.3.0 • Published 3 months ago

@animatereactnative/stagger v0.3.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

NPM Version runs with expo npm npm

React Native Stagger component, a cross-platform stagger orchestrator component, powered by Reanimated:

  • 🔋 Powered by Reanimated 3 Layout Animations
  • 📱 Works with Expo
  • ✅ Cross-platform (iOS, Android, Web - requires reanimated@>=3.4.0)
  • ⚡️ 60-120fps
  • 🪝 Works with any React Native element/component
  • ⌨️ Written in TypeScript

Installation

npm install @animatereactnative/stagger

Also, you need to install react-native-reanimated, and follow their installation instructions.

Usage

import { Stagger } from '@animatereactnative/stagger';

// ...

export function Example() {
  return (
    <Stagger
      stagger={50}
      duration={300}
      exitDirection={-1}
      entering={() => ZoomInEasyDown.springify()}
      exiting={() => FadeOutDown.springify()}
      style={{
        flexDirection: 'row',
        flexWrap: 'wrap',
        justifyContent: 'center',
        gap: 12,
      }}
    >
      <Paragraph>1. Custom duration</Paragraph>
      <Paragraph>2. Custom stagger</Paragraph>
      <Paragraph>3. Custom animation</Paragraph>
      <Paragraph>4. Custom enter/exit direction</Paragraph>
      <Heading>AnimateReactNative.com</Heading>
      <Heading>Powered by Reanimated 3</Heading>
      <Heading>Works with Expo ❤️</Heading>
    </Stagger>
  );
}

Props

namedescriptionrequiredtypedefault
childrenAny component that you'd like to apply infinite scrolling / marquee effectYESReact.ReactNode1
enabledEnable stagger animationNObooleantrue
staggerStagger duration between elementsNOnumber50
durationEnter/Exit animation durationNOnumber400
enterDirectionThe direction of the animation. 1 -> top to bottom, -1 -> bottom to topNOnumber0
exitDirectionThe direction of the animation. 1 -> top to bottom, -1 -> bottom to topNOnumber0
initialEnteringDelayInitial enter animation delayNOnumber1
initialExistingDelayInitial exit animation delayNOnumber-1
onEnterFinishedcallback to announce when the last item animation has finished (direction dependent)NO() => voidundefined
onExitFinishedcallback to announce when the last item animation has finished (direction dependent)NO() => voidundefined
enterReanimated Enter animationNO() => ComplexAnimationBuilderFadeInDown
exitingReanimated Exit animationNO() => ComplexAnimationBuilderFadeOutDown
styleView style to be applied to Marquee container.NOStyleProp<ViewStyle>

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT