Merge pull request 'final-review' (#6) from final-review into main

Reviewed-on: #6
This commit was merged in pull request #6.
This commit is contained in:
2026-03-09 08:04:59 +00:00
6 changed files with 31 additions and 28 deletions

View File

@@ -1,3 +1,14 @@
# Changelog
All notable changes to this project will be documented in this file.
## 0.0.1 ## 0.0.1
* TODO: Describe initial release. ### Initial Release
A comprehensive UI toolkit and utility library specifically designed for creating MIH Packages. This version includes a curated set of widgets, forms, and design utilities.
* **Form Elements**: Includes `MihButton`, `MihForm`, `MihTextFormField`, `MihDateField`, `MihTimeField`, and `MihDropdownField`, `MihSearchBar`, for streamlined data entry.
* **Navigation & Layout**: Complex structural components like `MihPackage`, `MihPackageTitle`, `MihPackageAction`, `MihPackageTools`, `MihPackageToolBody`, `MihPackageWindow`, `MihSingleChildScroll`, and `MihFloatingMenu`, .
* **Feedback & Progress**: Pre-styled `MihSnackBar` and `MihLoadingCircle` for user interaction.
* **Design Tokens**: Built-in access to `MihColors` and `MihIcons` to ensure brand compliance.
* **Specialized Controls**: Widgets like `MihNumericStepper`, `MihRadioOptions`, and `MihToggle`.

View File

@@ -1,34 +1,23 @@
<!--
This README describes the package. If you publish this package to pub.dev,
this README's contents appear on the landing page for your package.
For information about how to write a good package README, see the guide for
[writing package pages](https://dart.dev/tools/pub/writing-package-pages).
For general information about developing packages, see the Dart guide for
[creating packages](https://dart.dev/guides/libraries/create-packages)
and the Flutter guide for
[developing packages and plugins](https://flutter.dev/to/develop-packages).
-->
# mih_package_toolkit # mih_package_toolkit
A comprehensive UI toolkit and utility library specifically designed to help developers build **MIH Packages** for the MIH app ecosystem. A comprehensive UI toolkit and utility library specifically designed to help developers build **MIH Packages** for the MIH Project ecosystem.
This toolkit provides a curated set of widgets, forms, and design utilitiesranging from custom buttons and input fields to complex layout components like floating menus and package windows. This toolkit provides a curated set of widgets, forms, and design utilities-ranging from custom buttons and input fields to complex layout components like floating menus and package windows.
---
## Features ## Features
This toolkit provides everything you need to maintain visual and functional consistency within the MIH ecosystem: This toolkit provides everything you need to maintain visual and functional consistency within the MIH ecosystem:
* **Form Elements**: Includes `MihForm`, `MihTextField`, `MihDateField`, and `MihDropdownField` for streamlined data entry. * **Form Elements**: Includes `MihButton`, `MihForm`, `MihTextFormField`, `MihDateField`, `MihTimeField`, and `MihDropdownField`, `MihSearchBar`, for streamlined data entry.
* **Navigation & Layout**: Complex structural components like `MihFloatingMenu`, `MihPackageWindow`, and `MihPackageToolBody`. * **Navigation & Layout**: Complex structural components like `MihPackage`, `MihPackageTitle`, `MihPackageAction`, `MihPackageTools`, `MihPackageToolBody`, `MihPackageWindow`, `MihSingleChildScroll`, and `MihFloatingMenu`, .
* **Feedback & Progress**: Pre-styled `MihSnackBar` and `MihLoadingCircle` for user interaction. * **Feedback & Progress**: Pre-styled `MihSnackBar` and `MihLoadingCircle` for user interaction.
* **Design Tokens**: Built-in access to `MihColors` and `MihIcons` to ensure brand compliance. * **Design Tokens**: Built-in access to `MihColors` and `MihIcons` to ensure brand compliance.
* **Specialized Controls**: Widgets like `MihNumericStepper`, `MihRadioOptions`, and `MihToggle`. * **Specialized Controls**: Widgets like `MihNumericStepper`, `MihRadioOptions`, and `MihToggle`.
## Demo
<img src='assets/mih_package_toolkit_demo.gif' height='300' alt='MIH Package Demo'>
## Getting started ## Getting started
To use this library, Add the package to your `pubspec.yaml`: To use this library, Add the package to your `pubspec.yaml`:
@@ -57,7 +46,6 @@ class ExamplePackage extends StatefulWidget {
} }
class _ExamplePackageState extends State<ExamplePackage> { class _ExamplePackageState extends State<ExamplePackage> {
int selectedbodyIndex = 0; // Important for state management of the body
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -75,6 +63,8 @@ class _ExamplePackageState extends State<ExamplePackage> {
); );
} }
int selectedbodyIndex = 0; // Important for state management of the body
Widget actionButton() { Widget actionButton() {
return MihPackageAction( return MihPackageAction(
icon: Icon(Icons.arrow_back), icon: Icon(Icons.arrow_back),
@@ -127,10 +117,12 @@ For more details about MIH Package Toolkit, including usage instructions and upd
### Contributing ### Contributing
Contributions are welcome! If you'd like to improve the package, please fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss what you would like to change. Contributions are welcome! If you'd like to improve the package, please fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss what you would like to change.
### Reporting Issues ### Reporting Issues/ Feature Requests
If you encounter any bugs or have feature requests, please file an issue on the [MIH Gitea Issues page](https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit/issues). Provide as much detail as possible to help us address the problem promptly. If you encounter any bugs or have feature requests, please log an issue on the [MIH Gitea Issues page](https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit/issues). Provide as much detail as possible to help us address the problem promptly.
### Support and Response ### Support and Response
We strive to respond to issues and pull requests in a timely manner. While this package is maintained voluntarily, we appreciate your patience and community involvement. We strive to respond to issues and pull requests in a timely manner. While this package is maintained voluntarily, we appreciate your patience and community involvement.
If you would like to support the MIH development team directly, please feel free to contribute to the [MIH Project via DonaHub](https://donahub.co.za/campaigns/mih-project)
Thank you for using the MIH Package Toolkit! Thank you for using the MIH Package Toolkit!

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 MiB

View File

@@ -13,7 +13,7 @@ class ExamplePackage extends StatefulWidget {
class _ExamplePackageState extends State<ExamplePackage> { class _ExamplePackageState extends State<ExamplePackage> {
int selectedbodyIndex = 0; // Important for state management of the body int selectedbodyIndex = 0; // Important for state management of the body
late final ToolBodyOne _toolBodyOne; late final ToolBodyOne _toolBodyOne;
late final Widget _toolBodyTwo; late final ToolBodyTwo _toolBodyTwo;
@override @override
void initState() { void initState() {

View File

@@ -32,15 +32,15 @@ class MihPackage extends StatefulWidget {
/// The floating action button or primary action trigger for this package. /// The floating action button or primary action trigger for this package.
final Widget packageActionButton; final Widget packageActionButton;
/// The titles displayed in the header for each corresponding page.
final List<String> packageToolTitles;
/// The toolbar widget containing icons that correspond to the [packageToolBodies] pages. /// The toolbar widget containing icons that correspond to the [packageToolBodies] pages.
final MihPackageTools packageTools; final MihPackageTools packageTools;
/// The list of main content widgets for each "page" of the package. /// The list of main content widgets for each "page" of the package.
final List<Widget> packageToolBodies; final List<Widget> packageToolBodies;
/// The titles displayed in the header for each corresponding page.
final List<String> packageToolTitles;
/// An optional drawer for secondary actions. /// An optional drawer for secondary actions.
final Drawer? actionDrawer; final Drawer? actionDrawer;

View File

@@ -1,5 +1,5 @@
name: mih_package_toolkit name: mih_package_toolkit
description: "A comprehensive UI toolkit and utility library for building consistent MIH Packages within the MIH app ecosystem." description: "A comprehensive UI toolkit and utility library for building consistent MIH Packages within the MIH Project ecosystem."
version: 0.0.1 version: 0.0.1
homepage: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit homepage: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit
repository: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit repository: https://git.mzansi-innovation-hub.co.za/yaso_meth/mih_package_toolkit