smart_dialogs_plus 0.0.5 copy "smart_dialogs_plus: ^0.0.5" to clipboard
smart_dialogs_plus: ^0.0.5 copied to clipboard

A Flutter package for smart animated dialogs, alerts, snackbars, and loaders with controller and Lottie support.

Smart Dialogs Plus #

Smart Dialogs Plus is a complete Flutter UI feedback toolkit that combines animated dialogs, alerts, snackbars, pull-to-refresh indicators, and infinite scroll loaders. Built for modern apps that value clean, intuitive, and reactive feedback for every user interaction.


✨ Features #

  • SmartProgressDialog with animations for loading, success, failure, and warning states
  • ⚠️ SmartAlertDialog for confirmations, info, and warnings
  • 🍞 SmartSnackBar for toast-like user feedback with flexible placement
  • 🔁 SmartRefreshIndicator to wrap scroll views with pull-to-refresh
  • 📆 SmartListLoader to append a loader during infinite scroll
  • 🎮 SmartProgressController to manage dialog state transitions programmatically
  • 🎨 Full customization of color, message, placement, and icons

🚀 Installation #

Add to your pubspec.yaml:

dependencies:
  smart_dialogs_plus: ^0.0.5

Import into your Dart files:

import 'package:smart_dialogs_plus/smart_dialogs_plus.dart';

🧠 Usage #

1. Show Progress Dialog with Controller #

final controller = SmartProgressController();
controller.attach(context);

controller.showLoading("Please wait...");
await Future.delayed(Duration(seconds: 2));
controller.showSuccess("All done!");

2. Inline Progress Dialog #


SmartAlertDialog.show(
    context, // Build context
    title: "Alert Title", // Custom title
    titleFontSize: 28, // Custom title font size
    message: "Alert message goes here.", // Custom message
    messageFontSize: 24, // Custom message font size
    type: SmartAlertType.warning, // Alert type: warning, error, success, info
    loopAnimation: false, // Enable/disable looping animation
    onConfirm: () {
      // Handle confirmation
    },
    alertDialogTheme: SmartAlertDialogTheme( // Custom theme for the alert dialog
        backgroundColor: Colors.white, // Background color
        titleTextColor: Colors.black, // Title text color
        messageTextColor: Colors.grey, // Message text color
        buttonsBorderRadius: BorderRadius.circular(8), // Button border radius
        confirmButtonTextColor: Colors.white, // Confirm button text color
        confirmButtonBackgroundColor: Colors.blue, // Confirm button background color
        cancelButtonTextColor: Colors.white, // Cancel button text color
        cancelButtonBackgroundColor: Colors.red, // Cancel button background color
    }
);

3. Show Alert Dialog #

SmartAlertDialog.showDialog(
    context, { // Build context
    title: "Alert Title", // Custom title
    titleFontSize: 28, // Custom title font size
    message: "This is an alert message.", // Custom message
    messageFontSize: 24, // Custom message font size
    type: SmartAlertType.info, // Alert type: info, warning, error, success
    onConfirm: () { // Optional callback for confirm action
      // Handle confirmation
    },
    onCancel: () { // Optional callback for cancel action
      // Handle cancellation
    },
    confirmText: "OK", // Custom button texts
    cancelText: "Cancel", // Custom button texts
    showCancel: true, // Show cancel button
    color: Colors.blue, // Custom color for the dialog
    barrierDismissible: true, // Allow dismissing by tapping outside
    animateAsset: true, // Show animated asset
    loopAnimation: true, // Loop the animation
);


4. Show Custom Snackbar #

SmartSnackBar.show(
    context, message, {
    title: "Hello Title!",
    type: SmartSnackBarType.success,
    duration: SnackBarDuration.short, // Duration of the snackbar: short, long, or indefinite
    backgroundColor: Colors.green, // Custom background color
    behavior: SnackBarBehavior.floating, // Floating or fixed position
    action: SnackBarAction( // Optional action button
      label: "Undo",
      onPressed: () {
        // Handle action
      },
    ),
    onClose: () { // Optional callback when snackbar is closed
      // Handle close
    },
    position: SnackBarPosition.bottom, // Position of the snackbar: top or bottom
    showCloseIcon: false, // Show close icon
    closeIconColor: Colors.white, // Color of the close icon
);

5. Load More in Infinite Scroll List #

SmartListLoader(isLoading: isLoadingMore)

6. Pull to Refresh Integration #

SmartRefreshIndicator(
  onRefresh: _refreshData,
  child: ListView.builder(...),
)

📂 File Structure #

lib/
├── smart_dialogs_plus.dart             # Export entry
└── src/
    ├── smart_alert_dialog.dart         # Alert dialog with confirm/cancel
    ├── smart_progress_dialog.dart      # Animated progress feedback
    ├── smart_snack_bar.dart            # Flexible snackbar
    ├── smart_refresh_indicator.dart    # Pull to refresh wrapper
    ├── smart_list_loader.dart          # Infinite scroll loader
    ├── smart_progress_controller.dart  # Controller
    └── enums.dart               # Enum of states

📸 Screenshots #

Type Preview
Loading []
Success []
Warning []
Error []
Snackbar []
Alert []
Refresh []
Load More []

📄 License #

MIT License © 2025 Akika Digital


💡 Contributing #

Got ideas for more widgets or improvements? Submit an issue or pull request on GitHub. Let’s make feedback in Flutter apps smarter — together!


Smart Dialogs Plus — One toolkit to handle all user feedback in Flutter apps.

2
likes
0
points
5
downloads

Publisher

verified publisherakika.digital

Weekly Downloads

A Flutter package for smart animated dialogs, alerts, snackbars, and loaders with controller and Lottie support.

Homepage
Repository (GitHub)
View/report issues

Topics

#flutter #dialogs #progress #snackbar #alerts

License

unknown (license)

Dependencies

flutter, lottie

More

Packages that depend on smart_dialogs_plus