ticker_free_circular_progress_indicator 3.0.0 copy "ticker_free_circular_progress_indicator: ^3.0.0" to clipboard
ticker_free_circular_progress_indicator: ^3.0.0 copied to clipboard

A hot-restart safe circular progress indicator that doesn't use TickerProviderStateMixin, using manual frame callbacks for animations.

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.

3.0.0 #

  • s_packages dependency upgraded to ^3.0.0

2.1.0 #

  • s_packages dependency upgraded to ^1.3.0
  • Added size parameter (replaces hardcoded 36.0 diameter)

2.0.0 #

  • package no longer holds the source code for it, but exports/exposes the s_packages package instead, which will hold this package's latest source code.
  • The only future changes to this package will be made via s_packages package dependency upgrades, in order to bring the new fixes or changes to this package
  • dependent on s_packages: ^1.1.2

1.0.0 - 2025-11-20 #

Changed #

  • STABLE RELEASE: Promoted to version 1.0.0 after thorough testing
  • Updated documentation to reflect stable API
  • Enhanced README with comprehensive examples and API reference
  • Improved example app with better demonstrations
  • Updated LICENSE to ensure MIT compliance

Verified #

  • All features tested and verified to work correctly
  • Hot-restart safety confirmed across multiple scenarios
  • Performance optimized for production use
  • API is stable and ready for production use

0.0.2 - 2025-11-18 #

Changed #

  • Updated package version for republishing

0.0.1 - 2025-11-18 #

Added #

  • TickerFreeCircularProgressIndicator: A hot-restart safe circular progress indicator widget
  • Manual frame callbacks: Uses Timer.periodic instead of TickerProviderStateMixin for animation
  • Dual mode support: Supports both determinate and indeterminate progress indicators
  • Customizable styling: Colors, stroke width, stroke alignment, stroke cap, and background colors
  • Delay support: Optional delay with custom widget after timeout
  • Accessibility: Proper semantics labels and values
  • Complete example app: Demonstrates all features and usage patterns
  • Comprehensive tests: 9 test cases covering various configurations and behaviors

Features #

  • ๐Ÿš€ Hot-restart safe: No TickerProviderStateMixin required - perfect for development
  • ๐ŸŽฏ Manual animations: Uses Timer.periodic for consistent 60fps animation updates
  • ๐Ÿ“Š Flexible progress: Supports determinate (with value) and indeterminate modes
  • โฑ๏ธ Delay functionality: Optional delay with fallback widget after timeout
  • ๐ŸŽจ Full customization: Colors, stroke properties, alignment, and styling options
  • ๐Ÿ”„ Smooth animations: Matches Flutter's native CircularProgressIndicator behavior
  • ๐Ÿ“ฑ Cross-platform: Works on all Flutter platforms
  • ๐Ÿงช Well tested: Comprehensive test suite ensuring reliability

Technical Details #

  • Animation System: Manual frame callbacks using Timer.periodic at 60fps
  • Memory Management: Proper cleanup and disposal of timers and resources
  • Performance: Lightweight implementation with minimal CPU usage
  • Compatibility: Flutter 3.0+ and Dart 3.0+ support

Example Usage #

// Indeterminate progress
TickerFreeCircularProgressIndicator()

// Determinate progress
TickerFreeCircularProgressIndicator(value: 0.75)

// Custom styled
TickerFreeCircularProgressIndicator(
  value: 0.5,
  color: Colors.blue,
  backgroundColor: Colors.blue.withValues(alpha: 0.2),
  strokeWidth: 6.0,
  strokeAlign: -1.0, // Inside stroke
  strokeCap: StrokeCap.round,
)

// With delay
TickerFreeCircularProgressIndicator(
  delay: Duration(seconds: 5),
  defaultWidgetAfterDelay: Text('Taking longer than expected...'),
)
0
likes
150
points
390
downloads

Publisher

unverified uploader

Weekly Downloads

A hot-restart safe circular progress indicator that doesn't use TickerProviderStateMixin, using manual frame callbacks for animations.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, s_packages

More

Packages that depend on ticker_free_circular_progress_indicator