{"id":18463834,"url":"https://github.com/smartive/flutter-generic-dropdown-widget","last_synced_at":"2025-04-08T07:32:48.883Z","repository":{"id":118182447,"uuid":"610073172","full_name":"smartive/flutter-generic-dropdown-widget","owner":"smartive","description":"A generic dropdown that can show arbitrary content with an arbitrary dropdown toggle.","archived":false,"fork":false,"pushed_at":"2025-03-20T21:48:36.000Z","size":439,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-23T08:51:11.605Z","etag":null,"topics":["dropdown","flutter","widgets"],"latest_commit_sha":null,"homepage":"https://smartive.github.io/flutter-generic-dropdown-widget/","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/smartive.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":"2023-03-06T02:59:16.000Z","updated_at":"2025-01-27T22:06:49.000Z","dependencies_parsed_at":"2024-06-01T00:24:28.364Z","dependency_job_id":"f47f1870-143e-4151-96ef-638352e3a29b","html_url":"https://github.com/smartive/flutter-generic-dropdown-widget","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fflutter-generic-dropdown-widget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fflutter-generic-dropdown-widget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fflutter-generic-dropdown-widget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smartive%2Fflutter-generic-dropdown-widget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smartive","download_url":"https://codeload.github.com/smartive/flutter-generic-dropdown-widget/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247796344,"owners_count":20997553,"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":["dropdown","flutter","widgets"],"created_at":"2024-11-06T09:08:06.656Z","updated_at":"2025-04-08T07:32:48.081Z","avatar_url":"https://github.com/smartive.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generic Dropdown Widget\n\nThe generic dropdown Flutter widget is a customizable component\nthat allows users to toggle between two states: a closed state and\nan open state, revealing content. This widget is designed to support arbitrary\ntoggle and content widgets. Developers can define their own widgets to be used\nas the toggle button and the content within the dropdown.\n\nHead over to the [storybook](https://smartive.github.io/flutter-generic-dropdown-widget/)\nto see it in action. (Much love to\n[storybook_flutter](https://github.com/ookami-kb/storybook_flutter) at this point!)\n\n## Usage\n\nImport the package and then use the `GenericDropdown` widget.\nThe widget itself is well documented, so there is not much\nneed of explaining it here. The following example shows how\nto use the dropdown with two simple containers:\n\n```dart\n// imports and stuff.\n\nclass MyWidget extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) =\u003e GenericDropdown(\n      toggleBuilder: (context, isOpen) =\u003e Container(\n        height: 50,\n        width: 50,\n        color: isOpen ? Colors.green : Colors.red,\n      ),\n      contentBuilder: (context, repaint, close) =\u003e Container(\n        height: 100,\n        width: 100,\n        color: Colors.blue,\n      ),\n    );\n}\n```\n\nA note about the `GenericDropdownConfigProvider`:\nIf the root renderbox of the dropdown is not the\noriginal root (e.g. if the dropdown is inside a `Storybook`),\nyou need to provide a `GlobalKey` with the root screen\nrender box reference. Otherwise, the position of the\ncontent will be calculated incorrectly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartive%2Fflutter-generic-dropdown-widget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmartive%2Fflutter-generic-dropdown-widget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmartive%2Fflutter-generic-dropdown-widget/lists"}