{"id":32309240,"url":"https://github.com/klerith/animate_do_package","last_synced_at":"2026-04-19T00:14:30.221Z","repository":{"id":41841169,"uuid":"241421778","full_name":"Klerith/animate_do_package","owner":"Klerith","description":"Animate_do Package","archived":false,"fork":false,"pushed_at":"2025-03-05T14:48:19.000Z","size":6468,"stargazers_count":327,"open_issues_count":0,"forks_count":38,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-04-02T21:37:51.305Z","etag":null,"topics":["animations","dart","fernandoherrera","flutter"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/animate_do","language":"Dart","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/Klerith.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2020-02-18T17:18:07.000Z","updated_at":"2025-04-01T07:39:21.000Z","dependencies_parsed_at":"2024-06-18T13:54:14.304Z","dependency_job_id":"4752e37a-07a8-47ef-bbd7-dedf2ab20e56","html_url":"https://github.com/Klerith/animate_do_package","commit_stats":{"total_commits":99,"total_committers":2,"mean_commits":49.5,"dds":"0.010101010101010055","last_synced_commit":"52ae98c789bf19f91e60d8c05bff47154ca95b20"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/Klerith/animate_do_package","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klerith%2Fanimate_do_package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klerith%2Fanimate_do_package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klerith%2Fanimate_do_package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klerith%2Fanimate_do_package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Klerith","download_url":"https://codeload.github.com/Klerith/animate_do_package/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Klerith%2Fanimate_do_package/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280584263,"owners_count":26355361,"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","status":"online","status_checked_at":"2025-10-23T02:00:06.710Z","response_time":142,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["animations","dart","fernandoherrera","flutter"],"created_at":"2025-10-23T08:19:17.577Z","updated_at":"2026-04-19T00:14:30.201Z","avatar_url":"https://github.com/Klerith.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# animate_do\n\n\u003e A Flutter animation package inspired by [Animate.css](https://daneden.github.io/animate.css/), built with zero external dependencies.\n\n![Dart 3](https://img.shields.io/badge/Dart-3-blue?logo=dart)\n![Null Safety](https://img.shields.io/badge/Null%20Safety-✔-brightgreen)\n![Platforms](https://img.shields.io/badge/Platforms-iOS%20%7C%20Android%20%7C%20Web%20%7C%20Desktop-lightgrey)\n![pub.dev](https://img.shields.io/pub/v/animate_do)\n\n![Animate_do demo animation](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-01.gif 'Animate_do')\n\n---\n\n## Getting Started\n\nEvery animation widget ships with sensible defaults and is fully customizable. Drop it around any widget and you're done.\n\n---\n\n## Properties\n\n| Property        | Type         | Description                                                                                        |\n| --------------- | ------------ | -------------------------------------------------------------------------------------------------- |\n| `key`           | **Key**      | Optional widget key reference                                                                      |\n| `child`         | **Widget**   | Required widget to animate                                                                         |\n| `duration`      | **Duration** | Duration of the animation                                                                          |\n| `delay`         | **Duration** | Delay before the animation starts                                                                  |\n| `from`          | **double**   | Initial or final value for more pronounced slide/fade effects                                      |\n| `animate`       | **bool**     | Toggle `false` → `true` to trigger; works with setState, Bloc, Provider, Redux, etc.               |\n| `infinite`      | **bool**     | Loops the animation indefinitely                                                                   |\n| `spins`         | **double**   | Number of rotations — applies to `Spin`, `Roulette`, `SpinPerfect`                                 |\n| `manualTrigger` | **bool**     | Disables auto-play; requires the `controller` callback to drive the animation                      |\n| `controller`    | **Function** | Exposes the `AnimationController` for advanced control                                             |\n| `onFinish`      | **Function** | Callback fired when the animation completes; receives an `AnimateDoDirection` (forward / backward) |\n| `curve`         | **Curve**    | Custom easing curve                                                                                |\n\n---\n\n## Available Animations\n\n### Fade In\n\n|                |            |               |             |\n| -------------- | ---------- | ------------- | ----------- |\n| FadeIn         | FadeInDown | FadeInDownBig | FadeInUp    |\n| FadeInUpBig    | FadeInLeft | FadeInLeftBig | FadeInRight |\n| FadeInRightBig |            |               |             |\n\n### Fade Out\n\n|                 |             |                |              |\n| --------------- | ----------- | -------------- | ------------ |\n| FadeOut         | FadeOutDown | FadeOutDownBig | FadeOutUp    |\n| FadeOutUpBig    | FadeOutLeft | FadeOutLeftBig | FadeOutRight |\n| FadeOutRightBig |             |                |              |\n\n### Bounce In\n\n|              |            |              |               |\n| ------------ | ---------- | ------------ | ------------- |\n| BounceInDown | BounceInUp | BounceInLeft | BounceInRight |\n\n### Elastic In\n\n|                |               |             |               |\n| -------------- | ------------- | ----------- | ------------- |\n| ElasticIn      | ElasticInDown | ElasticInUp | ElasticInLeft |\n| ElasticInRight |               |             |               |\n\n### Slide In\n\n|             |           |             |              |\n| ----------- | --------- | ----------- | ------------ |\n| SlideInDown | SlideInUp | SlideInLeft | SlideInRight |\n\n### Back In / Back Out\n\n|             |           |             |              |\n| ----------- | --------- | ----------- | ------------ |\n| BackInDown  | BackInUp  | BackInLeft  | BackInRight  |\n| BackOutDown | BackOutUp | BackOutLeft | BackOutRight |\n\n### Flip In\n\n|         |         |\n| ------- | ------- |\n| FlipInX | FlipInY |\n\n### Zoom\n\n|        |         |\n| ------ | ------- |\n| ZoomIn | ZoomOut |\n\n### Attention Seekers\n\nAll attention seekers support the `infinite` property to loop indefinitely.\n\n|        |             |        |            |\n| ------ | ----------- | ------ | ---------- |\n| Bounce | Dance       | Flash  | Pulse      |\n| Flip   | Roulette    | ShakeX | ShakeY     |\n| Spin   | SpinPerfect | Swing  | HeartBeat  |\n| Wobble | Jello       | Tada   | RubberBand |\n\n### Custom Animations\n\nThese widgets let you move widgets around the screen and chain them with any other animation.\n\n|        |           |\n| ------ | --------- |\n| MoveTo | MoveToArc |\n\n---\n\n## Two Syntaxes\n\nBoth syntaxes are fully supported. Use whichever feels more natural to you.\n\n### Sugar Syntax\n\n```dart\nRow(\n  mainAxisAlignment: MainAxisAlignment.spaceAround,\n  children: [\n    const Square().fadeInLeft(),\n    const Square().fadeInUp(),\n    const Square().fadeInDown(),\n    const Square().fadeInRight(),\n  ],\n)\n```\n\n### Class Syntax\n\n```dart\nRow(\n  mainAxisAlignment: MainAxisAlignment.spaceAround,\n  children: [\n    FadeInLeft(child: Square()),\n    FadeInUp(child: Square()),\n    FadeInDown(child: Square()),\n    FadeInRight(child: Square()),\n  ],\n)\n```\n\n---\n\n## Animation Chaining\n\nChain multiple animations sequentially using the sugar syntax:\n\n```dart\nSquare()\n  .tada()\n  .wobble()\n  .fadeIn()\n```\n\n### Chaining with custom animations\n\n```dart\nconst Square()\n  .moveTo(top: 30)\n  .moveTo(\n    left: 30,\n    delay: const Duration(seconds: 1),\n  )\n  .moveToArc(\n    bottom: 30,\n    right: 30,\n    delay: const Duration(seconds: 2),\n  )\n  .fadeOut(\n    delay: const Duration(seconds: 2),\n  )\n```\n\n---\n\n## Triggering Animations\n\n### Toggle with `animate`\n\nSet `animate: true` to play forward, `animate: false` to reverse. Works with any state management solution.\n\n![Animate_do animate property](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-03.gif 'animate property')\n\n```dart\nFadeIn(animate: animate, child: const Square())\nFadeInUp(animate: animate, child: const Square())\nFadeInDown(animate: animate, child: const Square())\nFadeInLeft(animate: animate, child: const Square())\nFadeInRight(animate: animate, child: const Square())\n```\n\n---\n\n## Events — `onFinish`\n\nThe `onFinish` callback fires when an animation completes, passing an `AnimateDoDirection` value (`forward` or `backward`).\n\n**Sugar syntax**\n\n```dart\nconst Square().fadeIn(\n  animate: animate,\n  delay: const Duration(milliseconds: 100),\n  onFinish: (direction) =\u003e print('$direction'),\n),\n```\n\n**Class syntax**\n\n```dart\nFadeIn(\n  animate: animate,\n  delay: const Duration(milliseconds: 100),\n  onFinish: (direction) =\u003e print('$direction'),\n  child: const Square(),\n),\n```\n\n---\n\n## Manual Trigger\n\nUse `manualTrigger: true` together with the `controller` callback to drive the animation yourself — useful when you need full control over playback.\n\n\u003e **Note:** When using `manualTrigger`, you are responsible for calling `controller.forward()` and `controller.reverse()` explicitly.\n\n```dart\nclass _MyWidgetState extends State\u003cMyWidget\u003e {\n  late AnimationController animateController;\n\n  @override\n  Widget build(BuildContext context) {\n    return FadeInUp(\n      manualTrigger: true,\n      controller: (controller) =\u003e animateController = controller,\n      child: YourWidget(),\n    );\n  }\n}\n```\n\n---\n\n## Demos\n\n![Animate_do demo](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-00.gif 'Animate_do demo-00')\n\n![Animate_do demo](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-02.gif 'Animate_do demo-02')\n\n![Animate_do demo](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-04.gif 'Animate_do demo-04')\n\n![Animate_do demo](https://raw.githubusercontent.com/Klerith/animate_do_package/master/screenshots/demo-05.gif 'Animate_do demo-05')\n\nFor complete runnable examples, see the [`example` folder](https://github.com/Klerith/animate_do_package/tree/master/example).\n\n---\n\nIf you find this package useful, consider leaving a like on [pub.dev](https://pub.dev/packages/animate_do). Feedback and suggestions are always welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklerith%2Fanimate_do_package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklerith%2Fanimate_do_package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklerith%2Fanimate_do_package/lists"}