adaptive_dialog_manager 1.0.1 copy "adaptive_dialog_manager: ^1.0.1" to clipboard
adaptive_dialog_manager: ^1.0.1 copied to clipboard

A comprehensive Flutter adaptive dialog manager package that provides multi-platform dialog support with responsive design, accessibility features, and platform-specific behaviors.

Changelog #

All notable changes to the Adaptive Dialog Manager package will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.1 - 2025-06-25 #

πŸš€ Added #

Toast System Enhancements

  • Column Layout Mode for Toasts

    • New ToastLayout.column option for vertical toast arrangement
    • Maximum 4 visible toasts in column mode for optimal UX
    • Clean, organized vertical display instead of overlapping toasts
    • Position-aware column placement (top, bottom, center, left, right)
    • Responsive column width based on screen size (mobile, tablet, desktop)
    • Proper spacing and margins for visual clarity
  • Enhanced Toast Configuration

    • Updated ToastConfig with layout parameter for choosing between stack and column modes
    • Backward compatibility maintained - existing code continues to work
    • ToastLayout enum with stack (default) and column options
    • Extension methods for easy layout conversion and validation
  • Improved Toast Widgets

    • New ToastColumnOverlay widget for column-based toast display
    • Optimized widget management with proper key-based identification
    • Efficient overlay updates with minimal rebuilds
    • Memory-efficient toast widget storage and cleanup
  • Developer Experience Improvements

    • Enhanced debug logging for column mode operations
    • Clear documentation and examples for column layout usage
    • Simple API - just set layout: ToastLayout.column in ToastConfig
    • Comprehensive example page demonstrating column mode features

Technical Improvements

  • Architecture Simplification

    • Streamlined column toast management with clean separation from stack mode
    • Simplified widget lifecycle management
    • Reduced complexity while maintaining full functionality
    • Type-safe widget handling with ValueKey<String> identification
  • Performance Optimizations

    • Efficient toast limiting with List.take() for maximum visible count
    • Minimal overlay rebuilds when toasts are added/removed
    • Proper resource cleanup and memory management
    • Optimized for smooth animations and transitions

πŸ”§ Changed #

  • ToastConstants.maxVisibleColumnToasts updated from 3 to 4 for better UX
  • Enhanced ToastColumnOverlay (renamed from SimpleColumnOverlay) for consistency
  • Improved toast positioning calculations for all screen sizes

πŸ“š Documentation #

  • Updated README.md with column layout examples and usage patterns
  • Added comprehensive column mode documentation
  • New code examples showing multiple toasts in column layout
  • Enhanced API documentation for ToastLayout enum and related classes

πŸ§ͺ Example Application #

  • New interactive column mode example page
  • Real-time toast counter and debug information
  • Multiple toast types demonstration in column layout
  • Position selection and testing capabilities

1.0.0 - 2025-06-25 #

πŸŽ‰ Initial Release #

Added

  • Multi-Platform Dialog System

    • Comprehensive adaptive dialog management for all Flutter platforms (Android, iOS, Web, Windows, macOS, Linux, Fuchsia)
    • Platform-specific dialog behaviors with Material, Cupertino, Fluent, and macOS design systems
    • 25+ dialog types: alert, confirmation, input, loading, progress, bottomSheet, custom, modal, fullScreen, datePicker, timePicker, colorPicker, filePicker, search, settings, about, help, error, warning, success, info, toast, snackbar
    • Responsive design with automatic layout adaptation for mobile, tablet, and desktop
    • Comprehensive dialog queue management system with intelligent queuing
    • Singleton pattern implementation (AdaptiveDialogManager) for efficient resource management
  • Advanced Snackbar System

    • Dedicated adaptive snackbar manager (AdaptiveSnackbarManager) with platform-specific behaviors
    • 10 snackbar types: info, success, warning, error, loading, action, custom, toast, banner, persistent
    • Advanced positioning: top, bottom, center with fine-grained offset control
    • Behavior types: fixed, floating, pinned behaviors for different interaction patterns
    • Action support with customizable callbacks and interactive buttons
    • Priority-based queue management for intelligent notification ordering
    • Custom content support with widget injection
  • Toast Notification System

    • Comprehensive toast manager (AdaptiveToastManager) with cross-platform support
    • 5 toast types: info, success, warning, error, custom
    • Flexible positioning: top, bottom, center positioning with offset control
    • Stack and queue layouts: traditional overlapping or queued display options
    • Timing management: automatic duration control with pause/resume capabilities
    • Custom content support with widget-based customization
  • Rich Animation System

    • 16 built-in animation types: none, fade, scale, slideFromBottom, slideFromTop, slideFromLeft, slideFromRight, slideUp, slideDown, elastic, bounce, rotation, flip, pop, blur, custom
    • Platform-optimized timing and curves for smooth user experience
    • Performance profiles: mobile-friendly and high-performance variants
    • Reduced motion support for accessibility compliance
    • Animation duration and curve customization
  • Comprehensive Configuration Models

    • Type-safe DialogConfig model extending BaseDataModel from flutter_shared_utilities
    • Advanced SnackbarConfig with comprehensive customization options
    • Feature-rich ToastConfig for flexible toast configuration
    • Generic DialogResult<T>, SnackbarResult<T>, and ToastResult<T> with type safety
    • PlatformSettings for platform-specific configurations
    • ResponsiveConfig for breakpoint-aware layouts
  • Advanced Enums

    • DialogType - 25+ dialog variants for comprehensive coverage
    • SnackbarType - 10 snackbar types with different behaviors and priorities
    • ToastType - 5 toast variants with customizable styling
    • PlatformType - Support for Android, iOS, web, windows, macOS, linux, fuchsia
    • AnimationType - 16 different animation options with performance considerations
    • SnackbarPosition - Comprehensive positioning with top, bottom, center, topLeft, topRight, bottomLeft, bottomRight, centerLeft, centerRight options
    • SnackbarBehavior - Fixed, floating, pinned, overlay, modal behaviors
    • ToastPosition - Flexible toast positioning options
    • ToastLayout - Stack and queue layout patterns
    • ResponsiveBreakpoint - Mobile, tablet, desktop, large breakpoints
  • Utility Classes

    • PlatformDetector for automatic platform detection with override capabilities
    • ResponsiveManager for breakpoint management and responsive layouts
    • SettingsController for managing dialog and notification preferences
    • Debug mode with comprehensive logging for development
    • Queue status monitoring and management across all notification types
  • Advanced Widget Components

    • AdaptiveSnackbar - Platform-specific snackbar implementation
    • AdaptiveToast - Cross-platform toast widget
    • SnackbarOverlay and ToastOverlay - Advanced overlay management
    • Utility widgets: ColorPicker, ColorGrid, FilePickerContent, GenericSearchDelegate
    • SettingsContent and HelpPage - Pre-built configuration pages
  • Queue Management System

    • DialogQueueManager - Intelligent queue management for dialogs
    • SnackbarQueueManager - Priority-based snackbar queue handling
    • ToastQueueManager - Stack and queue-based toast management
    • ToastTimingManager - Advanced timing control for toast notifications
    • Stream-based state management with real-time updates
  • Accessibility Features

    • Screen reader support with comprehensive semantic labeling
    • Keyboard navigation for desktop platforms (Tab, Enter, Escape, Arrow keys)
    • Focus management with proper focus trapping and restoration
    • High contrast support with theme-aware color schemes
    • Touch target sizing with minimum accessibility requirements (48dp)
    • Reduced motion detection and automatic adaptation
    • WCAG compliance features
  • Developer Experience

    • Abstract interfaces (DialogManager, SnackbarManager, ToastManager) for dependency injection
    • Comprehensive error handling with detailed error messages and stack traces
    • Debug mode with detailed logging for development and troubleshooting
    • Type-safe configuration with compile-time checks
    • Stream-based state management for reactive programming
    • Singleton pattern for efficient memory usage
    • Clean Architecture principles with separation of concerns
  • Dependencies

    • flutter_shared_utilities: ^1.0.6 for base models and safe type utilities
    • universal_io: ^2.2.2 for cross-platform I/O operations
    • Minimal dependency footprint for optimal package size
  • Example Application

    • Comprehensive example app demonstrating all features
    • 7 showcase pages: Home, Dialog Examples, Snackbar Showcase, Toast Showcase, Animation Showcase, Platform Showcase, Responsive Showcase
    • Interactive examples with real-time configuration
    • Platform-specific demonstrations for all supported platforms
    • Animation playground with all 16 animation types
    • Responsive design examples for different screen sizes
    • Theme switching and accessibility demonstrations
  • Documentation

    • Comprehensive README with 50+ code examples
    • API documentation with detailed parameter descriptions
    • Installation guide for all platforms
    • Architecture documentation with interfaces and patterns
    • Customization examples and best practices
    • Performance optimization recommendations
    • Accessibility guide with WCAG compliance information

Technical Details

  • Minimum Requirements

    • Flutter SDK: >=3.19.0
    • Dart SDK: ^3.8.1
    • All major platforms supported (Android, iOS, Web, Windows, macOS, Linux)
  • Architecture

    • Clean Architecture with modular design
    • Repository pattern implementation for data management
    • Singleton pattern for manager classes
    • Stream-based state management for reactive updates
    • Platform adapter pattern for cross-platform support
    • Interface segregation for testability
  • Performance

    • Lazy initialization of resources and managers
    • Efficient queue management algorithms with O(log n) operations
    • Memory leak prevention with proper disposal patterns
    • Optimized animations for different device capabilities
    • Platform-specific optimizations for each target platform
  • Type Safety

    • All models extend BaseDataModel with safe type conversion
    • Generic result types for compile-time type checking
    • Comprehensive null safety throughout the codebase
    • Safe parsing methods for all data transformations

Constants and Configuration

  • Animation Constants: Default durations, curves, and performance profiles
  • Breakpoint Constants: Responsive design breakpoints for mobile, tablet, desktop
  • Dialog Constants: Default styling, dimensions, and behavior settings
  • Snackbar Constants: Positioning, timing, and appearance defaults
  • Toast Constants: Duration, positioning, and animation defaults

πŸ“‹ Known Issues #

  • None reported in initial release

πŸ”„ Migration Guide #

  • This is the initial release, no migration needed

[Unreleased] #

Planned Features #

  • ❌ Voice control support for enhanced accessibility
  • ❌ Gesture customization for mobile interaction patterns
  • ❌ Advanced theming system with custom theme builders
  • ❌ Performance analytics and monitoring dashboard
  • ❌ Plugin architecture for extensibility and custom notifications
  • ❌ Multi-window support for desktop platforms
  • ❌ Internationalization (i18n) support with localization
  • ❌ More animation presets and custom animation builders
  • ❌ Enhanced debugging tools and visual debugger
  • ❌ Integration with popular state management solutions (Riverpod, Bloc)
  • ❌ Material You (Material 3) design system support
  • ❌ macOS native dialog support with NSAlert integration
  • ❌ Windows native dialog support with Win32 APIs
  • ❌ Advanced queue management with priority scheduling
  • ❌ Biometric authentication dialog support

Development Notes #

Version Numbering #

This project follows Semantic Versioning:

  • MAJOR version for incompatible API changes
  • MINOR version for backward-compatible functionality additions
  • PATCH version for backward-compatible bug fixes

Release Process #

  1. Update version in pubspec.yaml
  2. Update CHANGELOG.md with new version details
  3. Create and test example applications
  4. Run comprehensive test suite
  5. Update documentation and README
  6. Create GitHub release with tags
  7. Publish to pub.flutter-io.cn

Contributing #

For contribution guidelines, please see CONTRIBUTING.md.

Support #


Made with ❀️ in Turkey

0
likes
0
points
75
downloads

Publisher

unverified uploader

Weekly Downloads

A comprehensive Flutter adaptive dialog manager package that provides multi-platform dialog support with responsive design, accessibility features, and platform-specific behaviors.

Repository (GitHub)
View/report issues

Topics

#adaptive-dialog #dialog-manager #dialog #snackbar #toast

License

unknown (license)

Dependencies

flutter, flutter_shared_utilities, universal_io

More

Packages that depend on adaptive_dialog_manager