nichol_ui_lib_modals_and_button_triggers 0.0.1
nichol_ui_lib_modals_and_button_triggers: ^0.0.1 copied to clipboard
ModalToggleButtons are placed to trigger a modal.
nichol_ui_lib_modals_and_button_triggers #
A lightweight Flutter UI package for quickly creating modal-triggering buttons and reusable modal layouts.
This package provides:
- Simple modal launcher utilities
- Reusable modal toggle buttons
- A customizable template modal page
- Clean abstractions for rapidly building dialog-driven interfaces
Designed for fast prototyping and internal tooling while still being flexible enough for production Flutter apps.
Features #
-
Easy modal launching with a single helper function
-
Prebuilt modal toggle button widgets
-
Fully customizable modal pages
-
Reusable template modal component
-
Optional:
- Text input handling
- Submit callbacks
- Escape/outside-click dismissal
- Additional custom widgets
-
Responsive sizing for mobile and desktop layouts
Installation #
Add the package to your pubspec.yaml:
dependencies:
nichol_ui_lib_modals_and_button_triggers:
path: ../nichol_ui_lib_modals_and_button_triggers
Or from pub.dev once published:
dependencies:
nichol_ui_lib_modals_and_button_triggers: ^0.0.1
Then run:
flutter pub get
Exports #
Import the package:
import 'package:nichol_ui_lib_modals_and_button_triggers/nichol_ui_lib_modals_and_button_triggers.dart';
Included exports:
- NicholUILibModalToggleButtonWithCustomModalPage
- NicholUILibModalToggleButtonWithTemplateModalPage
- nicholUILibModalThrower
- NicholUILibTemplateModalPage
Quick Start #
Simple Modal Trigger #
NicholUILibModalToggleButtonWithCustomModalPage(
buttonText: "Open Modal",
modalPage: Scaffold(
body: Center(
child: Text("Hello from the modal!"),
),
),
)
Template Modal Example #
NicholUILibModalToggleButtonWithTemplateModalPage(
modalTitle: "Create Account",
modalSubtitle: "Enter your username below",
buttonText: "Open Form",
modalOnSubmit: (value) {
print(value);
},
modalOnButtonPress: () {
print("Button pressed");
},
)
Using the Template Modal Directly #
nicholUILibModalThrower(
context,
NicholUILibTemplateModalPage(
title: "Settings",
subtitle: "Adjust your preferences",
buttonText: "Save",
onButtonPress: () {
print("Saved");
},
additionalWidgets: [
const SizedBox(height: 12),
const Text("Additional custom content here"),
],
),
);
API Overview #
nicholUILibModalThrower #
Shows a modal using showGeneralDialog.
nicholUILibModalThrower(context, modalPage);
NicholUILibModalToggleButton #
Basic reusable button that launches a modal.
Parameters:
- modalPage: Widget
- buttonText: String
NicholUILibTemplateModalPage #
Reusable modal page widget with optional:
- title
- subtitle
- text input
- submit callbacks
- action button
- additional custom widgets
Useful for:
- forms
- confirmations
- settings dialogs
- quick data entry
- internal tools
Example Use Cases #
- Admin dashboards
- CRUD forms
- Confirmation dialogs
- Login/register flows
- Internal business tools
- Developer utilities
- Quick popup workflows
Notes #
- The template modal automatically closes on submit/button press unless overridden.
- Tapping outside the modal dismisses it by default.
- The layout adapts between mobile and desktop widths.
Future Improvements #
Potential additions:
- Animations and transitions
- Theme customization
- Better accessibility support
- Modal stacking
- Built-in validation helpers
- Prebuilt confirmation dialog variants
License #
Add your preferred license to the LICENSE file before publishing.