nichol_ui_lib_modals_and_button_triggers 0.0.1 copy "nichol_ui_lib_modals_and_button_triggers: ^0.0.1" to clipboard
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.

0
likes
120
points
--
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

ModalToggleButtons are placed to trigger a modal.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on nichol_ui_lib_modals_and_button_triggers