{"id":22195204,"url":"https://github.com/animate-react-native/stagger","last_synced_at":"2025-04-05T23:08:31.468Z","repository":{"id":191737720,"uuid":"685453034","full_name":"animate-react-native/stagger","owner":"animate-react-native","description":"A cross-platform React Native Stagger component, powered by Reanimated","archived":false,"fork":false,"pushed_at":"2024-02-12T09:46:27.000Z","size":4447,"stargazers_count":174,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-03T10:41:58.006Z","etag":null,"topics":["react-native","react-native-animation","react-native-layout-animation","react-native-stagger","react-native-stagger-view","reanimated2","reanimated3","stagger-animation"],"latest_commit_sha":null,"homepage":"https://www.animatereactnative.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/animate-react-native.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-31T09:05:22.000Z","updated_at":"2025-03-24T18:49:12.000Z","dependencies_parsed_at":null,"dependency_job_id":"f02ef812-9bc1-41f2-a9fa-2badad5634a1","html_url":"https://github.com/animate-react-native/stagger","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":0.09523809523809523,"last_synced_commit":"dc1d706596ba2067480367e7f5dcaac6105eab83"},"previous_names":["animate-react-native/stagger"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animate-react-native%2Fstagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animate-react-native%2Fstagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animate-react-native%2Fstagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/animate-react-native%2Fstagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/animate-react-native","download_url":"https://codeload.github.com/animate-react-native/stagger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247411234,"owners_count":20934653,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react-native","react-native-animation","react-native-layout-animation","react-native-stagger","react-native-stagger-view","reanimated2","reanimated3","stagger-animation"],"created_at":"2024-12-02T13:17:16.145Z","updated_at":"2025-04-05T23:08:31.449Z","avatar_url":"https://github.com/animate-react-native.png","language":"TypeScript","readme":"\u003cdiv\u003e\n\u003ch1\u003eReact Native Stagger\u003c/h1\u003e\n\n\u003cimg alt=\"AnimateReactNative.com - Premium and Custom React Native animations.\" src=\"./animatereactnative-stagger-preview.gif\" align=\"right\"/\u003e\n\n[![NPM Version](https://img.shields.io/npm/v/@animatereactnative/stagger.svg?style=flat\u0026color=black)](https://www.npmjs.org/package/@animatereactnative/stagger) [![runs with expo](https://img.shields.io/badge/Runs%20with%20Expo-4630EB.svg?style=flat-square\u0026logo=EXPO\u0026labelColor=f3f3f3\u0026logoColor=000)](https://expo.io/) [![npm](https://img.shields.io/npm/l/@animatereactnative/stagger?style=flat-square)](https://www.npmjs.com/package/@animatereactnative/stagger) [![npm](https://img.shields.io/badge/types-included-blue?style=flat-square)](https://www.npmjs.com/package/@animatereactnative/stagger) \u003ca href=\"https://twitter.com/mironcatalin\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/mironcatalin?label=Follow @mironcatalin\u0026color=black\" alt=\"Follow Miron Catalin\"\u003e\u003c/a\u003e\n\nReact Native Stagger component, a cross-platform stagger orchestrator component, powered by Reanimated:\n\n\u003c/div\u003e\n\n- 🔋 Powered by **Reanimated 3** Layout Animations\n- 📱 Works with **Expo**\n- ✅ Cross-platform (iOS, Android, Web - requires `reanimated@\u003e=3.4.0`)\n- ⚡️ 60-120fps\n- 🪝 Works with any React Native element/component\n- ⌨️ Written in TypeScript\n\n## Installation\n\n```sh\nnpm install @animatereactnative/stagger\n```\n\n\u003e Also, you need to install [react-native-reanimated](https://github.com/software-mansion/react-native-reanimated), and follow their installation instructions.\n\n## Usage\n\n```js\nimport { Stagger } from '@animatereactnative/stagger';\n\n// ...\n\nexport function Example() {\n  return (\n    \u003cStagger\n      stagger={50}\n      duration={300}\n      exitDirection={-1}\n      entering={() =\u003e ZoomInEasyDown.springify()}\n      exiting={() =\u003e FadeOutDown.springify()}\n      style={{\n        flexDirection: 'row',\n        flexWrap: 'wrap',\n        justifyContent: 'center',\n        gap: 12,\n      }}\n    \u003e\n      \u003cParagraph\u003e1. Custom duration\u003c/Paragraph\u003e\n      \u003cParagraph\u003e2. Custom stagger\u003c/Paragraph\u003e\n      \u003cParagraph\u003e3. Custom animation\u003c/Paragraph\u003e\n      \u003cParagraph\u003e4. Custom enter/exit direction\u003c/Paragraph\u003e\n      \u003cHeading\u003eAnimateReactNative.com\u003c/Heading\u003e\n      \u003cHeading\u003ePowered by Reanimated 3\u003c/Heading\u003e\n      \u003cHeading\u003eWorks with Expo ❤️\u003c/Heading\u003e\n    \u003c/Stagger\u003e\n  );\n}\n```\n\n## Props\n\n| name                   | description                                                                                                  | required | type                            | default       |\n| ---------------------- | ------------------------------------------------------------------------------------------------------------ | -------- | ------------------------------- | ------------- |\n| `children`             | Any component that you'd like to apply infinite scrolling / marquee effect                                   | YES      | `React.ReactNode`               | 1             |\n| `enabled`              | Enable stagger animation                                                                                     | NO       | `boolean`                       | true          |\n| `stagger`              | Stagger duration between elements                                                                            | NO       | `number`                        | 50            |\n| `duration`             | Enter/Exit animation duration                                                                                | NO       | `number`                        | 400           |\n| `enterDirection`       | The direction of the animation. `1 -\u003e top to bottom`, `-1 -\u003e bottom to top`                                  | NO       | `number`                        | 0             |\n| `exitDirection`        | The direction of the animation. `1 -\u003e top to bottom`, `-1 -\u003e bottom to top`                                  | NO       | `number`                        | 0             |\n| `initialEnteringDelay` | Initial enter animation delay                                                                                | NO       | number                          | 1             |\n| `initialExistingDelay` | Initial exit animation delay                                                                                 | NO       | number                          | -1            |\n| `onEnterFinished`      | callback to announce when the last item animation has finished (direction dependent)                         | NO       | () =\u003e void                      | undefined     |\n| `onExitFinished`       | callback to announce when the last item animation has finished (direction dependent)                         | NO       | () =\u003e void                      | undefined     |\n| `enter`                | [Reanimated Enter animation](https://www.reanimated3.com/docs/layout-animations/entering-exiting-animations) | NO       | `() =\u003e ComplexAnimationBuilder` | `FadeInDown`  |\n| `exiting`              | [Reanimated Exit animation](https://www.reanimated3.com/docs/layout-animations/entering-exiting-animations)  | NO       | `() =\u003e ComplexAnimationBuilder` | `FadeOutDown` |\n| `style`                | View style to be applied to Marquee container.                                                               | NO       | `StyleProp\u003cViewStyle\u003e`          |               |\n\n## Contributing\n\nSee the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## License\n\n[MIT](./LICENSE)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.animatereactnative.com\"\u003e\n    \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://www.animatereactnative.com/animatereactnative_dark.svg\"\u003e\n      \u003cimg alt=\"AnimateReactNative.com - Premium and Custom React Native animations.\" src=\"https://www.animatereactnative.com/animatereactnative_logo.svg\" width=\"50%\"\u003e\n    \u003c/picture\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimate-react-native%2Fstagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanimate-react-native%2Fstagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanimate-react-native%2Fstagger/lists"}