hyper_snackbar 0.2.3
hyper_snackbar: ^0.2.3 copied to clipboard
A highly customizable and animated snackbar package for Flutter.
0.2.3 - 2025-12-29 #
- Fixed: Resolved a
setState() called during buildruntime error that could occur when triggering a snackbar during a navigation transition (e.g., usinggo_routerwithout aBuildContext). - Improvement: Added
SchedulerBindingphase checks to ensure the overlay is inserted safely after the current frame build is completed. - Tests: Added compatibility tests and examples for
go_router.
0.2.2 #
Added #
- Added
isSnackbarOpenById(String id)to check if a snackbar with a specific ID is currently visible. - Added an
animatedparameter to theclearAll()method to allow choosing whether to dismiss snackbars with an animation. Defaults totrue. - Added an example of using
HyperConfigto the sample app.
Changed #
- The default behavior of
clearAll()has been changed from immediate removal to animated dismissal.
Fixed #
- Stabilized tests related to animations by using
pumpAndSettleto ensure animations are complete before making assertions.
Chore #
- Removed unnecessary dependencies.
- Updated
SECURITY.mdto reflect the currently supported version.
0.2.1 #
🧹 Refactoring #
-
Consolidated
HyperSnackAnimationTypeenum to use unified types (e.g.,topinstead offromToportoTop) for both entry and exit animations. This simplifies animation configuration. -
Enhanced HyperConfig.copyWith: The
HyperConfig.copyWithmethod now supports all properties, significantly improving reusability and flexibility when updating snackbar configurations.
📝 Documentation #
- Internationalization: All Japanese comments across the codebase (
pubspec.yaml,lib/src/*,example/lib/main.dart) have been translated to English. - GitHub Feedback Link: The
README.mdhas been updated to include a GitHub Issues badge, making it easier for users to provide feedback and contribute.
0.2.0 #
⚠️ BREAKING CHANGES #
-
Static API by Default: The
HyperSnackbarclass is now fully static. This makes the API more intuitive and similar to popular packages likeGetX. You no longer need to instantiate it.Before:
HyperSnackbar().show(config);After:
HyperSnackbar.show(...); // With named parameters // Old usage style (with HyperConfig object) is now available via `HyperSnackbar.showFromConfig(config);` -
Simplified
showMethod: The primaryshowmethod no longer takes aHyperConfigobject. Instead, it now accepts named parameters directly, significantly improving ease of use for one-off snackbars.Before:
HyperSnackbar().show(HyperConfig( title: 'Success', message: 'Your file was saved.' ));After:
HyperSnackbar.show( title: 'Success', message: 'Your file was saved.' ); // Old usage style (with HyperConfig object) is now available via `HyperSnackbar.showFromConfig(config);`
✨ Features #
-
Intuitive API: The new static API (
HyperSnackbar.show(...)) is cleaner, requires less boilerplate, and is easier to discover.// The simplest way to show a snackbar: HyperSnackbar.show(title: 'Hello World!'); -
Configuration Reusability: Added the
HyperSnackbar.showFromConfig(config)method. This allows you to create a reusableHyperConfigobject for styles that you use frequently, offering the best of both worlds.// Define a reusable style final myErrorStyle = HyperConfig( backgroundColor: Colors.red, // ... other properties ); // Reuse it anywhere HyperSnackbar.showFromConfig( myErrorStyle.copyWith(title: 'Error 1') ); HyperSnackbar.showFromConfig( myErrorStyle.copyWith(title: 'Error 2') ); -
Updated BuildContext Extension: The
context.showHyperSnackbar()extension has also been updated to use named parameters for a consistent and convenient API.
0.1.3 #
- Improved documentation comments.
0.1.2 #
✨ Features #
- Manual Dismissal: Added
dismissById(String id)to close specific snackbars programmatically. - Clear All: Added
clearAll()to close all visible snackbars at once.
0.1.1 #
- Fix README formatting.
0.1.0 #
⚠️ Breaking Changes #
- Renamed Main Class:
HyperManagerhas been renamed toHyperSnackbarto be more intuitive.
✨ Features #
- Context-less Usage: Added support for showing snackbars without a
BuildContext.- Note: To use this feature, you must assign
HyperSnackbar.navigatorKeyto thenavigatorKeyproperty of yourMaterialApp.
- Note: To use this feature, you must assign
- Hybrid Support: The
showmethod now accepts an optionalcontext. If provided, it uses the local context (ideal for inheriting themes); otherwise, it falls back to the global navigator key. - Extension Method: Added
context.showHyperSnackbar(config)for easier usage within widgets.
0.0.4 #
- Documents update.
0.0.3 #
- Initial complete release.
0.0.2 #
- Update README.md.
- Add Demo.gif
0.0.1 #
- Initial release.