{"id":13551457,"url":"https://github.com/fluttervn/super_widgets","last_synced_at":"2026-02-23T14:33:58.408Z","repository":{"id":56840902,"uuid":"198793236","full_name":"fluttervn/super_widgets","owner":"fluttervn","description":"Make Flutter widgets' code shorter and richer by combining multiple widgets into a single widget but the single one will inherit almost properties of all original widgets.","archived":false,"fork":false,"pushed_at":"2020-03-29T08:38:48.000Z","size":3515,"stargazers_count":24,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-01-11T10:37:23.717Z","etag":null,"topics":["android","dart","flutter","flutter-package","flutter-widgets","ios","package","superstack"],"latest_commit_sha":null,"homepage":"https://fluttervn.com","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fluttervn.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}},"created_at":"2019-07-25T08:45:27.000Z","updated_at":"2023-01-16T21:28:20.000Z","dependencies_parsed_at":"2022-08-29T12:50:35.845Z","dependency_job_id":null,"html_url":"https://github.com/fluttervn/super_widgets","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/fluttervn/super_widgets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttervn%2Fsuper_widgets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttervn%2Fsuper_widgets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttervn%2Fsuper_widgets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttervn%2Fsuper_widgets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fluttervn","download_url":"https://codeload.github.com/fluttervn/super_widgets/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fluttervn%2Fsuper_widgets/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29745637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T07:44:07.782Z","status":"ssl_error","status_checked_at":"2026-02-23T07:44:07.432Z","response_time":90,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["android","dart","flutter","flutter-package","flutter-widgets","ios","package","superstack"],"created_at":"2024-08-01T12:01:48.620Z","updated_at":"2026-02-23T14:33:58.386Z","avatar_url":"https://github.com/fluttervn.png","language":"Dart","funding_links":[],"categories":["Dart"],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/fluttervn/super_widgets.svg?branch=master)](https://travis-ci.org/fluttervn/super_widgets) [![Pub](https://img.shields.io/pub/v/super_widgets)](https://pub.dev/packages/super_widgets) [![GitHub license](https://img.shields.io/github/license/anticafe/super_widgets)](https://github.com/anticafe/super_widgets/blob/master/LICENSE)\n# super_widgets\n\nMake Flutter widgets' code becomes shorter and richer.\n\nThis project is an attempt to combine multiple Flutter widgets into single widget - the single one will inherit almost all properties of the original widgets. For example, instead of creating a `Stack` with `padding` and `color` by having `Container` \u003e `Stack`, we can use `SuperStack`.\n\n## Installation\nIn your `pubspec.yaml` file within your Flutter Project:\n\n```yaml\ndependencies:\n  super_widgets: ^1.0.0\n```\n(Get latest version in [![Pub](https://img.shields.io/pub/v/super_widgets)](https://pub.dev/packages/super_widgets/versions). See more information how to install this package in [pubspec.dev](https://pub.dev/packages/super_widgets#-installing-tab-))\n\nThen import it:\n```dart\nimport 'package:super_widgets/super_widgets.dart';\n```\n\n## Widgets\n\nList of SuperWidgets is:\n- [SuperStack](https://github.com/fluttervn/super_widgets/blob/master/README.md#superstack)\n- [SuperIndexedStack](https://github.com/fluttervn/super_widgets/blob/master/README.md#superindexedstack)\n- [SuperRow](https://github.com/fluttervn/super_widgets/blob/master/README.md#superrow)\n- [SuperColumn](https://github.com/fluttervn/super_widgets/blob/master/README.md#supercolumn)\n- [SuperRaisedButton](https://github.com/fluttervn/super_widgets/blob/master/README.md#superraisedbutton)\n- [SuperIcon](https://github.com/fluttervn/super_widgets/blob/master/README.md#supericon)\n- [SuperText](https://github.com/fluttervn/super_widgets/blob/master/README.md#supertext)\n- [SuperInkWell](https://github.com/fluttervn/super_widgets/blob/master/README.md#superinkwell)\n- [SuperScrollViewContainer](https://github.com/fluttervn/super_widgets/blob/master/README.md#superscrollviewcontainer)\n- [SuperScrollViewColumn](https://github.com/fluttervn/super_widgets/blob/master/README.md#superscrollviewcolumn)\n- [SuperScrollViewRow](https://github.com/fluttervn/super_widgets/blob/master/README.md#superscrollviewrow)\n\n### SuperStack\nIs the combination of `Container` \u003e `Stack`\n\nBefore:\n```dart\nContainer(\n  color: Colors.blueAccent,\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.all(20),\n  alignment: Alignment.bottomCenter,\n  child: Stack(\n    fit: StackFit.loose,\n    alignment: Alignment.centerRight,\n    children: \u003cWidget\u003e[\n      Container(color: Colors.red, width: 200, height: 200),\n      Container(color: Colors.green, width: 100, height: 100),\n      Text('SuperStack demo'),\n    ],\n  ),\n)\n```\nAfter\n```dart\nSuperStack(\n  color: Colors.blueAccent,\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.all(20),\n  alignment: Alignment.bottomCenter,\n  childAlignment: Alignment.centerRight,\n  fit: StackFit.loose,\n  children: \u003cWidget\u003e[\n    Container(color: Colors.red, width: 200, height: 200),\n    Container(color: Colors.green, width: 100, height: 100),\n    Text('SuperStack demo'),\n  ],\n)\n```\n### SuperIndexedStack\nIs the combination of `Container` \u003e `IndexedStack`\n```dart\nSuperIndexedStack(\n  color: Colors.blueAccent,\n  padding: EdgeInsets.all(20),\n  alignment: Alignment.bottomCenter,\n  childAlignment: Alignment.centerRight,\n  sizing: StackFit.loose,\n  index: 1,\n  children: \u003cWidget\u003e[\n    Container(color: Colors.red, width: 200, height: 200),\n    Container(color: Colors.green, width: 100, height: 100),\n    Text('SuperStack demo'),\n  ],\n)\n```\n### SuperRow\nIs the combination of `Container` \u003e `Row`\n```dart\nSuperRow(\n  color: Colors.grey,\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.all(5),\n  height: 300,\n  alignment: Alignment.centerRight,\n  childKey: Key('SuperRow'),\n  mainAxisAlignment: MainAxisAlignment.spaceAround,\n  mainAxisSize: MainAxisSize.max,\n  crossAxisAlignment: CrossAxisAlignment.stretch,\n  children: \u003cWidget\u003e[\n    Container(color: Colors.red, width: 50),\n    Container(color: Colors.green, width: 100),\n    Container(color: Colors.blue, width: 75),\n  ],\n)\n```\n### SuperColumn\nIs the combination of `Container` \u003e `Column`\n```dart\nSuperColumn(\n  color: Colors.grey,\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.all(5),\n  width: 300,\n  alignment: Alignment.centerRight,\n  childKey: Key('SuperColumn'),\n  mainAxisAlignment: MainAxisAlignment.spaceAround,\n  mainAxisSize: MainAxisSize.max,\n  crossAxisAlignment: CrossAxisAlignment.stretch,\n  children: \u003cWidget\u003e[\n    Container(color: Colors.red, height: 50),\n    Container(color: Colors.green, height: 100),\n    Container(color: Colors.blue, height: 75),\n  ],\n)\n```\n### SuperRaisedButton\nIs the combination of `Container` \u003e `RaisedButton`\n```dart\nSuperRaisedButton(\n  color: Colors.grey[200],\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.all(10),\n  width: 200,\n  height: 60,\n  alignment: Alignment.centerRight,\n  childKey: Key('SuperRaisedButton'),\n  onPressed: () {\n    print('Touch on SuperRaisedButton');\n  },\n  childText: Text(\n    'Support us!',\n    style: TextStyle(fontSize: 18, color: Colors.red, fontWeight: FontWeight.bold),\n  ),\n)\n```\n### SuperIcon\nIs the combination of `Container` \u003e `Icon`\n```dart\nSuperIcon(\n  color: Colors.grey[300],\n  margin: EdgeInsets.all(10),\n  padding: EdgeInsets.only(right: 20),\n  alignment: Alignment.centerRight,\n  childKey: Key('SuperIcon'),\n  childColor: Colors.red,\n  icon: Icons.backup,\n  size: 80,\n)\n```\n### SuperText\nIs the combination of `Container` \u003e `Text`\n- Normal text\n```dart\nSuperText(\n  padding: EdgeInsets.all(10),\n  textData: 'SuperText',\n  color: Colors.green,\n  style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold, color: Colors.pink),\n)\n```\n- Text with Span\n```dart\nSuperText(\n  margin: EdgeInsets.all(5),\n  style: TextStyle(fontSize: 16, fontWeight: FontWeight.w900, color: Colors.black),\n  textSpan: TextSpan(children: [\n    TextSpan(\n      text: 'Super ',\n    ),\n    TextSpan(\n      text: 'Text Span',\n      style: TextStyle(color: Colors.blue, fontSize: 24),\n    ),\n  ]),\n  color: Colors.yellow,\n)\n```\n### SuperInkWell\nIs the combination of `InkWell` \u003e `Container`\n```dart\nSuperInkWell(\n  padding: EdgeInsets.all(10),\n  width: 200,\n  height: 50,\n  alignment: Alignment.center,\n  childText: Text(\n    'SuperInkWell with size',\n    style: TextStyle(fontSize: 16),\n  ),\n),\n```\n### SuperScrollViewContainer\nIs the combination of `SingleChildScrollView` \u003e `Container`\n```dart\nSuperScrollViewContainer(\n  color: Colors.grey[300],\n  padding: EdgeInsets.all(10),\n  child: Text(\n    'This\\n\\nis\\n\\nSuper\\n\\nScroll\\n\\nView'\n    '\\n\\nContainer\\n\\nvertical\\n\\npage',\n    style: TextStyle(\n      fontSize: 24,\n      fontWeight: FontWeight.bold,\n      color: Colors.red,\n    ),\n  ),\n),\n```\n### SuperScrollViewColumn\nIs the combination of `SingleChildScrollView` \u003e `Column`\n```dart\nvar textStyle = TextStyle(fontWeight: FontWeight.bold, fontSize: 48);\nSuperScrollViewColumn(\n  crossAxisAlignment: CrossAxisAlignment.start,\n  padding: EdgeInsets.all(10),\n  children: \u003cWidget\u003e[\n    Text('This', style: textStyle),\n    Text('...', style: textStyle),\n    Text('is', style: textStyle),\n    Text('...', style: textStyle),\n    Text('the', style: textStyle),\n    Text('...', style: textStyle),\n    Text('Super', style: textStyle),\n    Text('...', style: textStyle),\n    Text('ScrollView', style: textStyle),\n    Text('...', style: textStyle),\n    Text('Column', style: textStyle),\n    Text('...', style: textStyle),\n    Text('demo', style: textStyle),\n  ],\n);\n```\n### SuperScrollViewRow\nIs the combination of `SingleChildScrollView` \u003e `Row`\n```dart\nvar textStyle = TextStyle(fontWeight: FontWeight.bold, fontSize: 32);\nSuperScrollViewRow(\n  crossAxisAlignment: CrossAxisAlignment.start,\n  padding: EdgeInsets.all(10),\n  children: \u003cWidget\u003e[\n    Text('This', style: textStyle),\n    Text('...', style: textStyle),\n    Text('is', style: textStyle),\n    Text('...', style: textStyle),\n    Text('the', style: textStyle),\n    Text('...', style: textStyle),\n    Text('Super', style: textStyle),\n    Text('...', style: textStyle),\n    Text('ScrollView', style: textStyle),\n    Text('...', style: textStyle),\n    Text('Row', style: textStyle),\n    Text('...', style: textStyle),\n    Text('demo', style: textStyle),\n  ],\n);\n```\n## Example\n\nA sample app can be found in the [`example/`](https://github.com/fluttervn/super_widgets/tree/master/example) folder.\n\n## Authors\n- [Bui Minh Triet](https://github.com/anticafe) (x3cafe@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttervn%2Fsuper_widgets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffluttervn%2Fsuper_widgets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffluttervn%2Fsuper_widgets/lists"}