{"id":19880924,"url":"https://github.com/gridaco/flutter-timeline","last_synced_at":"2025-04-05T13:09:30.358Z","repository":{"id":48044224,"uuid":"285168705","full_name":"gridaco/flutter-timeline","owner":"gridaco","description":"⌚️ Flutter timelines","archived":false,"fork":false,"pushed_at":"2024-05-21T14:45:54.000Z","size":3324,"stargazers_count":362,"open_issues_count":8,"forks_count":42,"subscribers_count":10,"default_branch":"main","last_synced_at":"2024-05-23T01:05:20.571Z","etag":null,"topics":["calendar","customizable","events","flutter","flutter-timeline","flutter-widget","indicator-dot","tile","timeline-tile","timline","ui"],"latest_commit_sha":null,"homepage":"https://softmarshmallow.github.io/flutter-timeline/","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/gridaco.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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},"funding":{"open_collective":"grida"}},"created_at":"2020-08-05T03:29:52.000Z","updated_at":"2024-05-28T09:52:29.852Z","dependencies_parsed_at":"2022-08-12T17:20:56.057Z","dependency_job_id":"940a5ebc-2539-426e-9caa-11f970c27169","html_url":"https://github.com/gridaco/flutter-timeline","commit_stats":{"total_commits":62,"total_committers":6,"mean_commits":"10.333333333333334","dds":0.08064516129032262,"last_synced_commit":"07b649f2c78f64d67b1fa663cd4e804de6904cc8"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Fflutter-timeline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Fflutter-timeline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Fflutter-timeline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gridaco%2Fflutter-timeline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gridaco","download_url":"https://codeload.github.com/gridaco/flutter-timeline/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247326583,"owners_count":20920872,"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":["calendar","customizable","events","flutter","flutter-timeline","flutter-widget","indicator-dot","tile","timeline-tile","timline","ui"],"created_at":"2024-11-12T17:12:48.876Z","updated_at":"2025-04-05T13:09:30.338Z","avatar_url":"https://github.com/gridaco.png","language":"Dart","funding_links":["https://opencollective.com/grida"],"categories":[],"sub_categories":[],"readme":"---\nframework: flutter\nplatform: Android, iOS, Web, macOS, Linux, Windows\ntags: flutter, timeline, flutter timeline, timeline tile\ntitle: flutter timeline\n---\n\n  \u003cmeta name=\"description\" content=\"a fully customizable, ready to use flutter timeline widget\"\u003e\n  \u003cmeta name=\"title\" content=\"flutter timeline widget\"\u003e\n\n# flutter_timeline [![](https://img.shields.io/badge/pub-latest-brightgreen)](https://pub.dev/packages/flutter_timeline)\n\n![logo](docs/images/logo.png)\n\n\u003e a fully customizable \u0026 general timeline widget, based on real-world application references\n\n- ✅ fully customizable indicator dot\n- ✅ support spacing between indicator dot and lines\n- ✅ support spacing between event (items) but leaving the line connected\n- ✅ uses custom paint, but yet, indicator and body are fully customizable.\n- ✅ 2 real-world demos\n- ✅ L2R support\n- ✅ anchor support\n- ✅ global offset support\n- ✅ item offset support\n- ✅ supported \u0026 used by [enterprise](https://github.com/genoplan), constantly updated, used on production application.\n\n## Installation\n\n```yaml\ndependencies:\n  flutter_timeline: latest\n```\n\n## usage\n\n_simple_\n\n```dart\n  TimelineEventDisplay get plainEventDisplay {\n    return TimelineEventDisplay(\n        child: TimelineEventCard(\n          title: Text(\"just now\"),\n          content: Text(\"someone commented on your timeline ${DateTime.now()}\"),\n        ),\n        indicator: TimelineDots.of(context).circleIcon);\n  }\n\n  List\u003cTimelineEventDisplay\u003e events;\n\n  Widget _buildTimeline() {\n    return TimelineTheme(\n        data: TimelineThemeData(lineColor: Colors.blueAccent),\n        child: Timeline(\n          indicatorSize: 56,\n          events: events,\n        ));\n  }\n\n  void _addEvent() {\n    setState(() {\n      events.add(plainEventDisplay);\n    });\n  }\n```\n\n_using offset_\n\n```dart\nWidget _buildTimeline() {\n  return Timeline(\n      indicatorSize: 56,\n      events: events,\n      altOffset: Offset(0, -24) // set offset\n  );\n}\n```\n\n_using anchor \u0026 offset_\n\n```dart\n  TimelineEventDisplay get plainEventDisplay {\n    return TimelineEventDisplay(\n        anchor: IndicatorPosition.top,\n        indicatorOffset: Offset(0, 24),\n        child: TimelineEventCard(\n          title: Text(\"multi\\nline\\ntitle\\nawesome!\"),\n          content: Text(\"someone commented on your timeline ${DateTime.now()}\"),\n        ),\n        indicator: randomIndicator);\n  }\n```\n\n## complex example\n\n\u003cimg src=\"docs/images/desk-ss-01.png\" width=\"300\"/\u003e\n\n## simple example [(run it now!)](https://softmarshmallow.github.io/flutter-timeline/)\n\n\u003cimg src=\"docs/images/mac-ss.png\" width=\"500\"/\u003e\n\u003cimg src=\"docs/images/mac-ss-2.png\" width=\"500\"/\u003e\n\u003cimg src=\"docs/images/mac-ss-3.png\" width=\"500\"/\u003e\n\nmore documentation available at [github](https://github.com/softmarshmallow/flutter-timeline)\n\n## Sponsors\n\n\n[![sponsored-by-grida](https://s3.us-west-1.amazonaws.com/brand.grida.co/badges-for-github/sponsored-by-grida-oss-program.png)](https://grida.co)\n\n\n## Also check out...\n\n[flutter_layouts](https://github.com/softmarshmallow/flutter-layouts)\n\n## references\n\nhttps://www.pinterest.com/official_softmarshmallow/flutter-timeline/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgridaco%2Fflutter-timeline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgridaco%2Fflutter-timeline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgridaco%2Fflutter-timeline/lists"}