extensionresoft 2.0.0
extensionresoft: ^2.0.0 copied to clipboard
Reusable Flutter widgets, utilities and extensions: a validated text field with dropdown, secure PIN entry, range slider, rating bar, animations and more. Depends on Flutter only.
Changelog #
2.0.0 Breaking release: Flutter-only #
extensionresoft now depends on Flutter alone. The parts that needed other packages moved into their own packages, so apps that only want the text field, PIN screen, slider and extensions no longer pull in connectivity_plus, rxdart, cached_network_image and their native plugins (including a second SQLite engine).
Breaking changes: #
- Moved to
internet_status:InternetConnectionChecker,InternetResult,ConnectionBannerandConnectionBannerStyle. Usepackage:internet_status/internet_status.dart. - Moved to
any_source_image:AppImage,AppCircleImage,ImageSourceType,ImageBackground, and theimg()andcircleImage()helpers onString(CustomImageExtension). Usepackage:any_source_image/any_source_image.dart. - Removed dependencies:
connectivity_plus,rxdart,cached_network_image.
Nothing else changed: CustomTextField, PinEntry, CustomRangeSlider, CustomRatingBar, the animations, Either/Option and the other extensions are as in 1.5.1. Apps pinned to ^1.5.1 are not affected; to upgrade, add the two new packages if you use the moved classes and change those imports.
1.5.1 - 2026-08-15 (Bug Fix Release) #
Fixes: #
- Fixed
CustomTextFieldsilently accepting invalid input: when used without avalidationController, its internalTextFormField/DropdownButtonFormFieldvalidator always returnednullregardless of whatvalidatorcomputed, so a wrappingForm.validate()could never fail because of the field — invalid values (e.g. a malformed phone number) would pass validation and could be submitted. The validator now reports the real result to theForm. - Fixed
AppImagenetwork images failing to load on Flutter Web:CachedNetworkImage/CachedNetworkImageProvidernow fall back toImage.network/NetworkImageon web, where the disk-caching plugin isn't supported. Also treats whitespace-only image strings as absent instead of attempting to load them.
Chores: #
- Bumped
connectivity_plusfrom^7.1.1to^7.3.1.
1.5.0 - 2026-05-19 (Feature Release) #
Breaking Changes: #
- Removed
shared_preferencesdependency and theSharedPreferencesServiceclass. - Removed
loggerdependency and theloggerutility.
Enhancements: #
- Added
CustomRatingBarwidget for advanced star rating systems. - Replaced internal
loggerusage withdebugPrintinAppImage. - Enhanced
InternetConnectionCheckerwith support forvpn,satellite, andotherconnectivity types. - Improved stability of
InternetCheckerwith safer connectivity result list handling. - Modernized color manipulation using
withValuesinstead ofwithOpacity. - Fixed
CustomTextFieldissues:- Resolved text clipping/blurring at the bottom and top of the field by optimizing internal padding and line-height estimates.
- Fixed
ErrorStylenot applying to the validation icon. - Improved lifecycle management of
FocusNodeupdates.
- Updated
README.mdand example app with comprehensive usage examples for all features including Animations and Functional Programming types. - Overall enhancements and performance optimizations.
1.4.3 - 2025-11-26 (Fix Release) #
1.4.2 - 2025-09-12 (Fix Release) #
Fixes & Enhancements: #
- Fixed
CustomTextFieldheight constraints and padding for multiline support.- Adjusted
maxHeightconstraint to bedouble.infinitywhenmaxLinesis not 1, allowing the text field to expand vertically. - Set
minLinesto 1 in the underlyingTextFieldto ensure a consistent starting height. - Modified the vertical padding calculation to better accommodate multiline text.
- Upgraded
connectivity_plusto^7.0.0. - Upgraded
loggerto^2.6.2.
- Adjusted
1.4.1 - 2025-09-05 (Refactor & Fix Release) #
1.4.0 - 2025-08-24 (Feature Release) #
New Features: #
-
CustomRangeSlider: Introduced a highly customizable dual-handle range slider widget with:
- Custom theming for track, thumb, and overlay colors
- Optional haptic feedback and customizable accessibility labels
- Discrete or continuous value selection with validation and clamping
- Animated thumb scaling on interaction with Material 3 inspired design
- Elevation shadow and border effects with rounded track shape
-
ValidationKey: Implemented new validation management system with:
ValueNotifier<String>wrapper for managing validation field keys- Debug labeling for easier troubleshooting
- Comprehensive lifecycle management with listener support
- Integration with
ValidationControllerfor enhanced field management
New Utility Types: #
-
Either<L, R>: Added functional programming support with:
- Left/Right value representation for failure/success patterns
- Comprehensive transformation methods (map, bimap, flatMap, fold)
- Error handling utilities (tryCatch, tryCatchAsync)
- Combining operations (zip, zipWith) and recovery mechanisms
- Future integration with async operation extensions
EitherUtilsfor sequence, traverse, and firstRight operations
-
Option: Introduced optional value handling with:
- Some/None pattern implementation
- Core operations (fold, map, flatMap, getOrElse)
- Conversion utilities to Either types
-
Unit: Added unit type for representing absence of value in generic contexts
Enhancements: #
-
CustomTextField:
- Reordered initialization methods for improved clarity and reliability
- Added
validationKeyproperty forValidationKeyassociation - Updated text style to use
bodyLargeinstead ofdisplayMedium - Enhanced validation initialization with non-empty text handling
- Adjusted
minHeightconstraint for multiline support
-
ValidationController:
- Added
updateFieldValueAtmethod for index-based field updates - Implemented
fieldKeysgetter for retrieving all registered field keys - Enhanced documentation with comprehensive method descriptions
- Added
-
ImageBackground:
- Made
childparameter optional for increased flexibility - Updated rendering logic to conditionally display child content
- Made
New Extensions: #
- List Extensions:
- Added
itemMarginextension for calculating list item margins by position - Implemented
itemMarginsextension returning named record with left/right margins
- Added
Documentation: #
- Enhanced code documentation across all new components
- Added comprehensive usage examples for new components
- Improved API documentation for validation system
Dependencies: #
- Upgraded
connectivity_plusto^6.1.5. - Upgraded
loggerto^2.6.1.
1.3.0 - 2025-07-07 (Feature Release) #
New Features: #
- ValidationController: Introduced high-performance form validation solution with:
- Field registration/validation management
- Efficient change detection
- State/error message access
- Batch validation capabilities
Improvements: #
-
CustomTextField:
- Integrated
ValidationControllersupport - Added
focusNodeandtextInputActionproperties - Optimized lifecycle management and state updates
- Refactored internal logic for clarity and efficiency
- Integrated
-
Image Widgets:
- Added
placeholderColorproperty toAppCircleImageandAppImage - Implemented default dimensions (
defaultWidth/defaultHeight) forImageBackground - Enhanced circular clipping logic
- Improved default placeholder styling using theme colors
- Added
Documentation: #
- Updated README with usage examples and feature descriptions
Dependencies: #
- Upgraded
loggerdependency to^2.6.0 - Removed
equatabledependency - Marked
shared_preferencesandloggerfor future removal
1.2.0 - 2025-06-10 (Feature Release) #
Features: #
- CustomTextField: Introduced a powerful and highly customizable
CustomTextFieldwidget with built-in validation, styling options, accessibility enhancements, and dropdown support. - Connectivity Bloc Demo: Added a comprehensive demo showcasing real-time internet connectivity monitoring using the
Blocpattern, complete with events, states, and a repository. - ImageBackground Widget: Launched a new
ImageBackgroundwidget to easily display images with overlay content.
New Animation Widgets: #
- AnimatedFadeScale: A widget for combining fade and scale animations seamlessly.
- FadeSlideTransition: A transition widget for creating smooth fade and slide effects.
- UI Assets: Added password visibility toggle icons directly to the package assets.
Improvements: #
- Theming: Added the
AppColorsclass, providing a set of predefined color constants for consistent UI theming. - String Extensions: Included a capitalize extension on the
Stringclass for convenient text formatting.
1.1.0 - 2025-04-20 (Feature Release) #
Features: #
- Enhanced Image Handling: Added comprehensive file support (
Fileobjects) for bothAppImageandAppCircleImagewidgets. - Border Radius Support: Introduced
borderRadiusparameter forAppImageto enable custom clipping without additional widgets. - Background Customization: Added
backgroundColorparameter to both image widgets for better visual integration. - Performance Optimizations: Implemented device pixel ratio-aware image caching for improved memory usage.
- Robust Source Detection: Enhanced network URL validation with multiple detection methods for more reliable image loading.
Improvements: #
- Unified Image API: Consolidated handling of network, asset, and file sources through a single consistent interface.
- Error Handling: Improved logging and fallback mechanisms for better debugging and user experience.
- Customization: Added
fitparameter toAppCircleImagefor more control over image scaling. - Documentation: Enhanced code documentation and usage examples.
Deprecated: #
- The
assetFallbackparameter is now recommended to be replaced withfallbackImagefor naming consistency (backward compatible).
Other Changes: #
- Fixed edge cases in network URL detection and fallback image handling.
- Improved default placeholder and error widgets for better visual consistency.
1.0.0 - 2025-01-08 (Major Release) #
Features: #
- PIN Screen: Introduced a secure and customizable PIN entry widget for robust user authentication.
- Internet Connection Checker: Integrated utilities for real-time internet connectivity monitoring, enabling developers to build apps that gracefully handle network availability.
- Versatile Image Handling: Added customizable image widget features, including circular and rectangular shapes with placeholders, error handling, and fallbacks, simplifying image management in Flutter apps.
Deprecated: #
- Streamlined API: Deprecated
SharedPreferencesServicein favor of leveraging the latestshared_preferencespackage API for a more efficient approach to managing shared preferences.
Other Changes: #
- Bug fixes and general improvements across the library.
- Enhanced usability and code readability by streamlining utility functions and extensions.
0.0.6 - 2024-03-20 #
- Minor fixes and upgrades to improve performance.
0.0.5 - 2024-03-20 #
- Improved documentation for the
SharedPreferencesServiceclass. - Added example usage in
README.md. - Bug fixes and performance improvements.
0.0.4 - 2024-03-20 #
- Introduced
SharedPreferencesServiceclass for managing SharedPreferences in Flutter applications. - Implemented methods for storing and retrieving various data types in SharedPreferences.
- Added methods to initialize, clear, and remove data from SharedPreferences.
0.0.3 - 2024-02-09 #
Changes: #
- Formatted Dart code.
- Further updated documentation for improved clarity.
0.0.2 - 2024-02-08 #
0.0.1 - 2024-02-08 #
- Initial release.