quickly 6.2.0
quickly: ^6.2.0 copied to clipboard
Quickly is build for faster and cleaner development. It provides lots of extension methods on Widget, String, List and Map.
6.2.0 #
Added #
-
Mixin Enhancements:
- FxColor Improvements:
- Added color manipulation methods:
darken(),lighten(), andwithAlpha() - Added
contrastColor()method to get optimal text color (black/white) for any background - Added accessibility utilities:
contrastRatio()andisAccessible()for WCAG compliance checks - Added Material 3 color system support with
generateMaterial3ColorScheme() - Added
surfaceTintcolor for Material 3 elevation effects
- Added color manipulation methods:
- FxShadow Improvements:
- Added directional shadows:
left,right,top,leftStrong,rightStrong,topStrong - Added Material 3 elevation system with
elevation()method and convenience getters (levels 1-5) - Added surface tint color support for modern elevation effects
- Added directional shadows:
- FxRadius Improvements:
- Added
squircle()method for continuous corner radius effects - Added responsive radius methods:
responsive(),responsiveCorners(),adaptiveOrientation() - Added screen size and orientation-aware border radius utilities
- Added
- FxColor Improvements:
-
Responsive Component Enhancements:
- New Components:
- Added
FxAdaptiveLayoutfor orientation and screen-size aware layouts with flexible builder pattern - Added
FxResponsiveContainerwith screen-size adaptive border radius and padding - Added
FxElevationContainerwith Material 3 elevation that adapts to screen size
- Added
- Improved Organization:
- Added barrel file for easy import of all responsive components
- New Components:
-
Helper Utilities:
- New Accessibility Utilities:
- Added
FxAccessibilityUtilswith WCAG contrast ratio calculations - Added color accessibility checking methods for AA and AAA compliance
- Added semantic color description for screen readers
- Added automatic contrast enhancement utilities
- Added
- New Responsive Utilities:
- Added
FxResponsiveUtilsfor device type detection and responsive values - Added responsive font, spacing, and icon size calculations
- Added orientation and screen size detection helpers
- Added
- New Accessibility Utilities:
-
Button Enhancements:
- Added loading state to
FxButtonwith built-in spinner and customizable loading widget, size, and color. - Added dedicated icon button variant
FxIconButtonfor icon-only buttons with streamlined API. - Added
FxFloatingActionButtonwith support for regular, mini, and extended variants. - Added
FxButtonGroupfor creating segmented controls or button bars with connected or separated buttons. - Added
FxToggleButtonthat supports toggling between on/off states with customizable appearance.
- Added loading state to
Improved #
- Button Functionality:
- Enhanced
FxButtonto disable tap events when in loading state. - Improved button styling consistency across all button variants.
- Added better support for customization in all button components.
- Enhanced
6.1.1 #
- Fixed color style according to material 3
6.1.0 #
Added #
- Accessibility Enhancements: Added
Semanticssupport for better screen reader compatibility inFxCheckbox,FxRadio,FxSwitch, andFxTextFormField. - Customization Options:
isDisabledproperty inFxCheckboxandFxRadiofor disabling interactions with visual feedback.thumbColorinFxSwitchandinnerCircleColor,innerCircleScaleinFxRadiofor improved customization.- Optional
borderColorfor better visual customization inFxSwitch. - Customizable
animationDurationinFxShimmerfor flexible shimmer effects.
- Dynamic Theming: Support for dynamic theming in
FxCheckbox,FxRadio,FxSwitch, andFxTextFormFieldto respect app’s theme colors.
Changed #
- UI Updates:
- Replaced
GestureDetectorwithInkWellinFxCheckbox,FxRadio, andFxSwitchfor ripple effects and hover support. - Replaced
AnimatedBuilderwithAnimatedContainerinFxShimmerfor better performance and simpler code. - Updated
FxTextFormFieldto align with Material 3 guidelines, introducingFilledTextFieldandOutlinedTextFieldstyles. - Renamed
onChangetoonChangedfor consistency with Flutter conventions.
- Replaced
- Input Decoration:
- Replaced custom border handling in
FxTextFormFieldwithOutlineInputBorderfor consistent Material 3 border styles. - Added
filledandfillColorproperties inFxTextFormField.
- Replaced custom border handling in
Improved #
- Performance: Optimized code readability and modularity for better maintainability and smoother animations in
FxCheckbox,FxRadio,FxSwitch, andFxTextFormField. - Shimmer Animation: Refined shimmer effect with smoother transitions and customizable animation duration.
- Focus and Error States: Enhanced error and focus state handling in
FxTextFormFieldfor better user experience.
Fixed #
- Color Handling: Fixed color handling for active, inactive, and thumb states in
FxSwitchandFxRadioto fallback to theme defaults when not specified.
6.0.0 #
Added #
childwidget inFxButtonfor more flexible content.- Smooth animations in
FxCheckbox,FxRadio, andFxSwitchfor improved user experience. inActivefield inFxRadiofor better control over radio button states.thumbColorproperty inFxSwitchfor customizable switch appearance.- Additional fields in
FxTextFormFieldfor enhanced functionality. - More granular offset options (
xsOffset,smOffset,mdOffset,lgOffset,xlOffset) in place of a singleoffsetfor improved responsive design.
Changed #
- Renamed
onChangefunction toonChangedinFxCheckboxfor consistency with Flutter conventions. - Renamed
isCheckedproperty tovalueinFxCheckboxfor clarity. - Renamed
Shimmerwidget toFxShimmerfor consistency with library naming conventions.
Improved #
- Enhanced
FxGridandFxResponsivewidgets for better performance and flexibility in responsive layouts.
5.8.0 #
Added basic string manipulation methods #
isPhone: Validates if the string is a phone number.isHexColor: Validates if the string is a valid hexadecimal color code.isCreditCard: Validates if the string is a valid credit card number.isJson: Validates if the string is a valid JSON format.isUUID: Validates if the string is a valid UUID.isHtml: Checks if the string contains HTML.isDate: Validates if the string is a valid date in 'YYYY-MM-DD' format.isTime: Validates if the string is a valid time in 'HH' format.isIPv4: Validates if the string is a valid IPv4 address.isIPv6: Validates if the string is a valid IPv6 address.
Transformation Methods #
reverse: Reverses the entire string.removeDigits: Removes all digits from the string.removeSpecialChars: Removes all special characters, leaving only alphanumeric values.toggleCase: Toggles the case of each character in the string (uppercase to lowercase and vice versa).
Content Extraction #
extractEmails: Extracts all valid email addresses from the string.extractUrls: Extracts all valid URLs from the string.removeHtmlTags: Removes all HTML tags from the string.
5.7.0 #
- Added more validations.
- Fixed outline color isses in
FxButon.
5.6.3 #
- Fixed border size isses in
FxButon. - Fixed padding isses in
FxTextFormField.
5.6.2 #
- Fixed icon size isses in
FxButon.
5.6.1 #
- Fixed padding issue in
FxButton. - Made text field optional in
FxButton.
5.6.0 #
- Added only icon option for FxButton, which is now displayed centered.
- Replaced prefixIconSize and suffixIconSize with iconSize.
5.5.3 #
- Fixed linting issues.
5.5.2 #
- Fixed datatypes in list and map extension.
5.5.1 #
- Fixed helper function export issue.
5.5.0 #
- Added
generateOTPandgenerateAvatarhelper method.
5.4.0 #
- Added
isBoolandisUrlmethods to String extensions. - Added
devicePixelRatioandtextScaleFactormethods in Context extensions. - Added
BorderColorandBoxShadowmethods in TextFormField. - Enhanced the isEmail regex for improved accuracy.
5.3.0 #
- Added
delaymethod inDurationandnumextensions.
5.2.1 #
- Updated test cases to accommodate the new defaultValue parameter, ensuring comprehensive coverage and accurate functionality testing.
5.2.0 #
- Added support for the
defaultValueparameter in thegetId,getString,getInt, andgetDoublemethods.
5.1.0 #
- Added
removeNullValues()method to Map extensions, which removes entries with null values from the map. - Introduced shorthand getters such as
top5,top10,left5, etc., allowing users to specify border radius for individual sides with specific values more conveniently. - Added
Shimmerwidget for displaying a shimmer effect.
5.0.0 #
Breaking changes
- Removed Queue and Navigation. Instead of using Queue and Navigation, please use Refreshed package available at https://pub.dev/packages/refreshed.
- Renamed
diffForHumansmethod totimeAgo. - Changed boolean parameters in extension methods from positional parameters to named parameters.
- Added some more
DateTimeextensions.
4.2.7 #
- Fixed minor issues in list.
4.2.6 #
- Fixed pub points.
4.2.5 #
- Support for new SDK version
>=3.3.0 <4.0.0.
4.2.4 #
- Support for new SDK version
>=3.2.6 <4.0.0.
4.2.3 #
- The
FxButtonwidget now has splash color set to false by default.
4.2.2 #
- Replaced the deprecated
TextScalarFactorwithTextScalar. - Resolved the
FxButtonoutline color issue.
4.2.1 #
- Minor improvements
4.2.0 #
Added:
- Added new widgets
FxCheckbox,FxRadioandFxSwitch. - Added extra parameter
textStylein FxButton.
Fixed:
- Fixed padding horizontal and vertical spacing issue in Padding Extension.
- Fixed Extra spacing in FxTextField icons.
- Fixed Icon Color issue in FxButon icons.
4.1.1 #
Fixed:
- Fixed extra spacing in FxTextField.
4.1.0 #
Added:
- Added prefix and suffix icon size params in FxButton.
- Added prefix and suffix icons params in FxTextFormField.
Fixed:
- Changed leadingIcon to prefixIcon and trailingIcon suffixIcon in FxButton.
4.0.3 #
Fixed:
- Improved Widget style.
4.0.2 #
Fixed:
- Improved FxNavigation.
4.0.1 #
Fixed:
- Revised and improved context extension methods.
4.0.0 #
Breaking Changes:
- Revised and improved the navigation, providing a better user experience and enhanced functionality.
- Revised and improved the Queue feature, making it more efficient and reliable.
- Improved the FxResponsive Widget, enhancing its responsiveness and adaptability.
- Modified the
hidemethod tohide()to accept a condition, allowing for more flexible hiding options. - Removed the
hideIf()andshowIf()extension methods from the Widget, streamlining the API and removing deprecated functionality.
Added:
- Introduced the
FxGridwidget, which enables developers to create dynamic and responsive grid layouts. - Implemented the
shadowmixin, offering a simple and reusable way to apply shadows to widgets. - Introduced the
FxButtonwidget, providing a customizable button component with various styles and configurations. - Added the
FxTextFormFieldWidget, a text input field with built-in validation and error handling capabilities. - Included the
Pick()method in the map extension, allowing for easy retrieval of specific values from a map. - Added the
diffForHumansmethod to the map extension, enabling developers to obtain human-readable time differences. - Expanded the
shimmer()extension to support custom gradients, animations, and directions. - Introduced transparent color support in the FxColor class.
- Added the text theme style extension on the build context, simplifying the application of consistent text styles.
Fixed:
- Resolved an issue causing an empty list exception in the
chunk()function. - Fixed a bug causing an empty list exception in the
split()function.
3.6.4 #
- Corrected a typo in the README file.
- Expanded the functionality of the BuildContext class by adding some new extensions.
- Revised and improved the text cases for the Map extension.
3.6.3 #
- Resolved issues related to String extensions.
- Refactored test cases for extensions of String, Int, and Num types.
3.6.2 #
- Minor issues fixed.
3.6.1 #
- Improved type safety and null safety checks to reduce runtime errors.
3.6.0 #
-
Added a Job and Queue feature to support asynchronous operations. The Queue class executes jobs one by one and has an add() method to add a job to the queue. The Job class represents a single unit of work and has an execute() method that completes the job's Completer with either the result of the function or an error if an exception is thrown.
-
Added an extension to the FxNavigation class that supports custom route animations for navigating to pages using the
toPage()andtoNamed()methods. These methods also support passing arguments to the destination page. -
Added the
offPage()andoffNamed()methods to the FxNavigation class to replace the current page with a new one, with custom route animations. -
Added the
navigateTo()method to the FxNavigation class to navigate to a new page with custom route animations, with an option to replace the current page. -
Added the
back(),canPop(), andmaybePop()methods to the FxNavigation class to handle navigation history. Theback()method navigates to the previous page in the history stack. ThecanPop()method returns whether there is a page to go back to. ThemaybePop()method checks if there is a page to go back to and goes back if there is one.
3.5.0 #
- Fixed
Text Colorextension getters. - Refined getters naming for the Fixed Text Color extension, such as changing
kcWarningLightStatustokcWarningLight. - Deleted unneeded Text Color extension getters, including
kcText,kcLabel,kcDisabled, andkcTextField. - Improved the Extension code documentation to increase clarity and readability.
- Changed the application of the
BorderRadiusextension from the Container widget to theClipRRectwidget, allowing for improved control over rounded corners. - Added the
Shimmer extensionto the Widget.
3.4.0 #
- Updated package dependencies to the latest versions of
Flutter (3.7.0)andDart (2.19.0) - Expanded documentation to provide more detailed information
- Revised the README.md file to include additional examples and explanations.
3.3.0 #
- Implemented a new method
retainKeys()in the Map extension to remove key-value pairs whose keys are not present in a given list. - Removed methods related to text styling such as letter spacing, word spacing, line height and text decoration.
- Implemented checks to verify that the list is not empty and contains Map elements in the where methods to avoid runtime errors.
- Added type checking for the generic type T in the list extensions to ensure that the methods are only applied to lists of the correct type.
- Updated the documentation for the extension with proper examples and explanations for each method.
3.2.0 #
- Made improvements to the code for better performance and removed any unnecessary checks.
- Removed a dependency on the
getpackage.
3.1.0 #
- Small corrections have been made to the package to address any minor issues.
3.0.0 #
- An update has been made to the stable version of flutter, bringing it to
version 3.3.8. This update includes various improvements and bug fixes.
2.5.0 #
- Small corrections have been made to the package to address any minor issues.
2.4.0 #
Fixed #
- The default value for the functions
getIntandgetDoublehave been corrected. - Additionally, other bugs have been resolved.
2.3.0 #
Added #
- The widget extension now includes the option for
flexible, allowing for more flexibility in layout and design. - The radius radius extension has been added, allowing for more customization of the border corners.
- The list extension has been enhanced with new options for filtering and querying data, including
whereOnly,whereNotOnly,whereBetween,whereNotBetween,whereInandwhereNotIn, providing more advanced options for data manipulation.
2.2.0 #
2.1.0 #
Added #
- The
groupBy()function allows for grouping of list items based on a provided key or function, and returns a map of the grouped items. ThegroupByKey()function allows for grouping of list items based on the value of a specific key in each item, and also returns a map of the grouped items. - The
latest()function returns the most recent item in the list based on a provided key or function, while thelatestFirst()function sorts the list in descending order based on the provided key or function. - The
oldest()function returns the oldest item in the list based on a provided key or function, while theoldestFirst()function sorts the list in ascending order based on the provided key or function.
Changed #
- Changed
sortByDesc()tosortDescBy()in list extension
2.0.0 #
Braking Changes #
- Added
append()andprepend()string extension. - Added
flattenandpluck()list extension. - Changed
wtowBoxandhtohBoxin num extension. - Changed
rangetoinRangein String extension. - Changed
counttooccurrencesin String extension. - Changed
occurrencetocountOccurrencesin String extension. - Changed
withDefaulttoifEmptyin String extension. - Changed
getIddata type from dynamic to int in map extension. - Changed
containstohasin map extension. - Fixed
masknow returnnullwhen string is empty. - Fixed
getInt&getDoublenow returnnullwhen key is empty or null. - Fixed Typo
1.7.0 #
1.6.0 #
Added #
-
Added
match()extension onMapThe
match()function also works similarly toswitchi.e, it finds the matching case according to the parameter passed in it. -
Added
hasKey|hasValue|hasKeyValueextensions on list
1.5.0 #
1.4.0 #
1.3.0 #
Added #
- Added
sq|w|hnum and widget extensions - Added
Durationnum extensions likeseconds|minutes, etc
1.2.0 #
1.0.0 #
- Initial release.