flutter_advanced_countdown 1.0.3 copy "flutter_advanced_countdown: ^1.0.3" to clipboard
flutter_advanced_countdown: ^1.0.3 copied to clipboard

A professional, feature-rich countdown timer package for Flutter with full responsive design, multiple display styles, themes, and customization options for all devices.

Changelog #

All notable changes to this project will be documented in this file.

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

1.0.3 - 2025-08-19 #

✨ Added #

  • CountdownTimerController: imperative API (start / pause / resume / reset / seek)
  • CountdownLocalizations delegate with English, Spanish and French defaults
  • Sound notifications via audioplayers (optional, off by default)
  • Haptic feedback only: replaced external vibration package, now uses Flutter’s built-in HapticFeedback
  • Example: new controller_demo.dart showcasing controller + i18n

πŸ›  Changed #

  • Removed vibration dependency from the core package and example app

🧹 Fixed #

  • Wrong import paths in example project when used as path dependency

Migration guide #

No breaking changes. Just flutter pub upgrade flutter_advanced_countdown and you can:

final controller = CountdownTimerController();
AdvancedCountdownTimer(controller: controller, ...);

1.0.2 - 2025-07-03 #

πŸš€ Major Enhancements #

New Professional Display Styles

  • Digital Display: Segmented digital display with monospace font
  • Analog Display: Clock-style display with animated hands and progress arc
  • Progress Bar Display: Linear progress bar with time overlay and percentage
  • Floating Display: Circular floating action button style
  • Notification Display: Badge-style notification display
  • Custom Display: Complete custom builder support for unlimited customization

Advanced Animation System

  • Pulse Animation: Automatic pulse when time is low (configurable threshold)
  • Shake Animation: Shake effect when timer finishes
  • Scale Animations: Smooth scale transitions on state changes
  • Fade Transitions: Elegant fade in/out animations
  • Custom Animation Curves: Support for all Flutter animation curves
  • Custom Animation Builders: Complete control over animation behavior
  • Performance Optimized: Proper disposal and memory management

Professional Theme System

  • Professional Theme: Modern theme with shadows, animations, and rounded corners
  • Glass Morphism Theme: Blur effects with transparency and borders
  • Minimal Theme: Clean, borderless design for minimal interfaces
  • Enhanced Gradient Themes: Improved gradient support with custom colors
  • Advanced Styling: Custom decorations, constraints, and transforms
  • Semantic Labels: Accessibility support with custom labels

Advanced Customization

  • Custom Builder Configuration: Complete UI control with custom builders
  • Advanced Styling Configuration: Custom borders, shapes, and transforms
  • Custom Constraints: Width, height, min/max sizing options
  • Custom Decorations: Background and foreground decorations
  • Custom Animation Configuration: Fine-grained animation control
  • Low Time Warnings: Visual indicators with custom thresholds
  • Auto-hide Functionality: Automatic hiding when timer finishes

Enhanced User Experience

  • Vibration Feedback: Platform-specific vibration support
  • Sound Notifications: Audio integration for timer completion
  • Enhanced Haptic Feedback: Improved haptic patterns
  • Progress Tracking: Built-in progress calculation and display
  • State Management: Improved ChangeNotifier integration
  • Error Handling: Comprehensive error handling and validation

✨ New Features #

Animation Configuration

CountdownAnimationConfig(
  enabled: true,
  duration: Duration(milliseconds: 500),
  curve: Curves.bounceOut,
  enablePulseAnimation: true,
  pulseThreshold: 15,
  enableShakeAnimation: true,
  enableScaleAnimation: true,
  enableFadeAnimation: true,
  customAnimationBuilder: (child, animation) => // custom animation
)

Custom Builder Configuration

CountdownCustomBuilderConfig(
  timeBuilder: (context, remaining, isRunning, isPaused) => // custom time display
  controlsBuilder: (context, onPause, onResume, onReset) => // custom controls
  progressBuilder: (context, progress, remaining, total) => // custom progress
  backgroundBuilder: (context, child) => // custom background
  containerBuilder: (context, child) => // custom container
  iconBuilder: (context, icon, color, size) => // custom icons
)

Advanced Styling

CountdownAdvancedStyle(
  border: Border.all(color: Colors.blue),
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(12)),
  alignment: Alignment.center,
  constraints: BoxConstraints(maxWidth: 200),
  transform: Matrix4.rotationZ(0.1),
  semanticLabel: 'Custom timer',
)

Professional Themes

// Professional theme with shadows and animations
CountdownTheme.professional(
  primaryColor: Colors.indigo,
  enableAnimations: true,
  enableShadows: true,
  enableRoundedCorners: true,
)

// Glass morphism theme
CountdownTheme.glassMorphism(
  primaryColor: Colors.white,
  blurRadius: 15.0,
)

// Minimal theme
CountdownTheme.minimal(
  primaryColor: Colors.teal,
  enableBorders: false,
)

πŸ”§ Enhanced Widget Properties #

New Animation Properties

  • animationConfig: Custom animation configuration
  • customBuilderConfig: Custom builder configuration
  • advancedStyle: Advanced styling configuration
  • decoration: Custom decoration
  • foregroundDecoration: Custom foreground decoration
  • width, height, minWidth, minHeight, maxWidth, maxHeight: Custom constraints

New Display Properties

  • showTimeUnits: Show time unit labels
  • timeUnitLabels: Custom time unit labels
  • enableSoundNotifications: Enable sound notifications
  • customSoundPath: Custom sound file path
  • showLowTimeWarning: Show warning when time is low
  • lowTimeWarningThreshold: Low time warning threshold
  • warningColor: Custom warning color
  • autoHideWhenFinished: Auto-hide when timer finishes
  • autoHideDelay: Auto-hide delay duration
  • enableVibrationFeedback: Enable vibration feedback
  • vibrationPattern: Custom vibration pattern

πŸ“± Responsive Enhancements #

Improved Responsive System

  • Better Device Detection: Enhanced phone/tablet/desktop detection
  • Optimized Breakpoints: Improved responsive breakpoints
  • Caching System: Performance optimization with value caching
  • Custom Responsive Themes: Breakpoint-specific configurations
  • Responsive Animation Config: Animation settings per screen size

New Responsive Configurations

CountdownTheme.responsive(
  primaryColor: Colors.blue,
  fontConfig: ResponsiveFontConfig(xs: 14, sm: 16, md: 18, lg: 20, xl: 22),
  paddingConfig: ResponsivePaddingConfig(xs: EdgeInsets.all(8), ...),
  iconConfig: ResponsiveIconConfig(xs: 16, sm: 18, md: 20, lg: 24, xl: 28),
  animationConfig: CountdownAnimationConfig(...),
)

🎯 Professional Examples #

Comprehensive Example App

  • Professional Themes Section: Showcasing all new theme types
  • New Display Styles Section: Demonstrating all 13 display styles
  • Advanced Animations Section: Animation configuration examples
  • Custom Builders Section: Complete custom UI examples
  • Advanced Styling Section: Custom decoration and constraint examples
  • Responsive Examples Section: Device-specific demonstrations
  • Provider Integration Section: State management examples

πŸ§ͺ Testing & Quality #

Enhanced Testing

  • Unit Tests: Comprehensive test coverage for all new features
  • Widget Tests: UI component testing for new display styles
  • Animation Tests: Animation behavior validation
  • Responsive Tests: Device-specific behavior testing
  • Custom Builder Tests: Custom builder functionality testing

πŸ“š Documentation #

Complete Documentation Update

  • Professional Features Section: Detailed feature documentation
  • Advanced Animations Guide: Animation configuration guide
  • Custom Builders Guide: Custom UI implementation guide
  • Professional Themes Guide: Theme customization guide
  • Advanced Styling Guide: Custom styling implementation
  • Responsive Design Guide: Device-specific customization
  • API Reference: Complete API documentation with examples

πŸ”„ Migration Guide #

From Version 1.0.0

  • No Breaking Changes: All existing code continues to work
  • New Features: All new features are optional and backward compatible
  • Enhanced Themes: Existing themes work with new professional themes
  • Improved Responsive: Better responsive behavior with existing code
  • Animation Upgrades: Existing animations work with new animation system

🎨 Design Improvements #

Visual Enhancements

  • Modern Design Language: Material Design 3 principles
  • Professional Shadows: Layered shadow system
  • Smooth Animations: 60fps animations with proper curves
  • Accessibility: Improved semantic labels and contrast
  • Performance: Optimized rendering and memory usage

πŸ“Š Performance Optimizations #

Technical Improvements

  • Memory Management: Proper disposal of animation controllers
  • Efficient Rebuilds: Minimal widget rebuilds with ChangeNotifier
  • Responsive Caching: Cached responsive values for performance
  • Animation Optimization: Efficient animation system
  • Rendering Optimization: Optimized custom painting

1.0.0 2024-01-XX #

Added #

  • Full Responsive Design: Complete responsive support for all devices (iPhone, iPad, Android, Desktop)
  • ResponsiveUtils Class: Built-in utilities for device detection and responsive sizing
  • Device Type Detection: Automatic detection of phone, tablet, and desktop devices
  • Screen Size Categories: XS, SM, MD, LG, XL breakpoint system
  • Responsive Font Sizing: Automatic font size adjustment based on screen size
  • Responsive Padding: Dynamic padding adjustment for different screen sizes
  • Responsive Icon Sizing: Icon size optimization for each device type
  • Responsive Circular Progress: Circular progress indicator sizing for all devices
  • Responsive Border Radius: Dynamic border radius based on screen size
  • Responsive Spacing: Intelligent spacing system for different screen sizes
  • Custom Responsive Themes: Advanced theme configuration with responsive options
  • ResponsiveFontConfig: Configuration class for custom responsive font sizes
  • ResponsivePaddingConfig: Configuration class for custom responsive padding
  • ResponsiveIconConfig: Configuration class for custom responsive icon sizes
  • useResponsiveSizing Parameter: Option to enable/disable responsive sizing (default: true)
  • CountdownTheme.responsive(): Factory constructor for responsive themes
  • Enhanced Example App: Updated example with responsive demonstrations
  • Device Information Display: Example showing current device and screen information
  • Responsive Breakpoints Documentation: Clear documentation of responsive breakpoints
  • Cross-Platform Support: Verified support for iOS, Android, Desktop, and Web
  • Initial release of the Countdown Timer Package
  • AdvancedCountdownTimer widget with multiple display styles
  • CountdownTimerProvider for state management
  • CountdownConfig for configuration management
  • CountdownTheme for theming support
  • TimeFormatter utility class for time formatting
  • HapticFeedback utility class for haptic feedback
  • Duration extensions for convenience methods
  • Multiple display styles: compact, detailed, circular, minimal, bottom bar
  • Theme support: light, dark, and gradient themes
  • Interactive controls: pause, resume, and reset functionality
  • Custom formatters for time display
  • Progress tracking and percentage calculation
  • Error handling and validation
  • Comprehensive documentation and examples
  • Unit tests for all components

Changed #

  • Default Responsive Behavior: All timers now use responsive sizing by default
  • Font Size Calculation: Replaced hardcoded font sizes with responsive calculations
  • Padding System: Updated padding to use responsive sizing
  • Icon Size System: Icons now scale appropriately for different screen sizes
  • Circular Progress Sizing: Circular progress indicators now adapt to screen size
  • Border Radius: Border radius now scales with screen size
  • Spacing System: All spacing now uses responsive calculations
  • Theme System: Enhanced theme system with responsive configuration options
  • Documentation: Completely updated README with responsive design documentation
  • Example App: Redesigned example app to showcase responsive features

Improved #

  • iPhone Support: Optimized for all iPhone screen sizes
  • iPad Support: Enhanced tablet experience with appropriate sizing
  • Android Support: Improved Android phone and tablet compatibility
  • Desktop Support: Better desktop experience with larger UI elements
  • Web Support: Responsive web design for browser compatibility
  • Performance: Optimized responsive calculations with caching
  • Code Organization: Better separation of responsive logic
  • Type Safety: Improved type safety for responsive configurations

Technical Details #

  • Breakpoints: XS (<480px), SM (480-768px), MD (768-1024px), LG (1024-1440px), XL (>1440px)
  • Device Detection: Uses screen size and pixel ratio for accurate device type detection
  • Caching: Responsive values are cached for performance optimization
  • Backward Compatibility: All existing code continues to work with new responsive features
  • Customization: Full control over responsive behavior through theme configuration

Migration Guide #

  • No Breaking Changes: Existing code will work without modifications
  • Responsive by Default: New timers automatically use responsive sizing
  • Disable Responsive: Set useResponsiveSizing: false to use fixed sizes
  • Custom Responsive: Use CountdownTheme.responsive() for advanced customization
  • Flutter SDK: >=3.10.0
  • Dart SDK: >=3.0.0
  • Dependencies: flutter (only)
  • Platform Support: iOS, Android, Web, Desktop

Documentation #

  • Comprehensive README with usage examples
  • API reference documentation
  • Code examples for all features
  • Unit tests for all components
  • Example app demonstrating all features

[Unreleased] #

Planned Features #

  • Additional display styles (digital, analog, etc.)
  • Sound notifications
  • Multiple timer support
  • Timer presets
  • Background timer support
  • Widget tests
  • Integration tests
  • Performance optimizations
  • Additional theme presets
  • Localization support

0.9.0 2024-01-XX #

Added #

  • Initial release with basic countdown timer functionality
  • Multiple display styles (compact, detailed, circular, minimal, bottom bar)
  • Theme support (light, dark, gradient)
  • Provider integration for state management
  • Haptic feedback support
  • Custom formatters and builders
  • Progress tracking and percentage display
  • Auto-start and control options
  • Error handling and validation

Features #

  • Advanced countdown timer widget
  • CountdownTimerProvider for state management
  • TimeFormatter utilities
  • Duration extensions
  • Haptic feedback utilities
  • Comprehensive theming system
  • Multiple display styles
  • Interactive controls
  • Custom styling options
6
likes
160
points
34
downloads

Publisher

unverified uploader

Weekly Downloads

A professional, feature-rich countdown timer package for Flutter with full responsive design, multiple display styles, themes, and customization options for all devices.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

audioplayers, flutter, intl

More

Packages that depend on flutter_advanced_countdown