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
surfaceTint
color 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
FxAdaptiveLayout
for orientation and screen-size aware layouts with flexible builder pattern - Added
FxResponsiveContainer
with screen-size adaptive border radius and padding - Added
FxElevationContainer
with 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
FxAccessibilityUtils
with 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
FxResponsiveUtils
for 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
FxButton
with built-in spinner and customizable loading widget, size, and color. - Added dedicated icon button variant
FxIconButton
for icon-only buttons with streamlined API. - Added
FxFloatingActionButton
with support for regular, mini, and extended variants. - Added
FxButtonGroup
for creating segmented controls or button bars with connected or separated buttons. - Added
FxToggleButton
that supports toggling between on/off states with customizable appearance.
- Added loading state to
Improved #
- Button Functionality:
- Enhanced
FxButton
to 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
Semantics
support for better screen reader compatibility inFxCheckbox
,FxRadio
,FxSwitch
, andFxTextFormField
. - Customization Options:
isDisabled
property inFxCheckbox
andFxRadio
for disabling interactions with visual feedback.thumbColor
inFxSwitch
andinnerCircleColor
,innerCircleScale
inFxRadio
for improved customization.- Optional
borderColor
for better visual customization inFxSwitch
. - Customizable
animationDuration
inFxShimmer
for flexible shimmer effects.
- Dynamic Theming: Support for dynamic theming in
FxCheckbox
,FxRadio
,FxSwitch
, andFxTextFormField
to respect app’s theme colors.
Changed #
- UI Updates:
- Replaced
GestureDetector
withInkWell
inFxCheckbox
,FxRadio
, andFxSwitch
for ripple effects and hover support. - Replaced
AnimatedBuilder
withAnimatedContainer
inFxShimmer
for better performance and simpler code. - Updated
FxTextFormField
to align with Material 3 guidelines, introducingFilledTextField
andOutlinedTextField
styles. - Renamed
onChange
toonChanged
for consistency with Flutter conventions.
- Replaced
- Input Decoration:
- Replaced custom border handling in
FxTextFormField
withOutlineInputBorder
for consistent Material 3 border styles. - Added
filled
andfillColor
properties 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
FxTextFormField
for better user experience.
Fixed #
- Color Handling: Fixed color handling for active, inactive, and thumb states in
FxSwitch
andFxRadio
to fallback to theme defaults when not specified.
6.0.0 #
Added #
child
widget inFxButton
for more flexible content.- Smooth animations in
FxCheckbox
,FxRadio
, andFxSwitch
for improved user experience. inActive
field inFxRadio
for better control over radio button states.thumbColor
property inFxSwitch
for customizable switch appearance.- Additional fields in
FxTextFormField
for enhanced functionality. - More granular offset options (
xsOffset
,smOffset
,mdOffset
,lgOffset
,xlOffset
) in place of a singleoffset
for improved responsive design.
Changed #
- Renamed
onChange
function toonChanged
inFxCheckbox
for consistency with Flutter conventions. - Renamed
isChecked
property tovalue
inFxCheckbox
for clarity. - Renamed
Shimmer
widget toFxShimmer
for consistency with library naming conventions.
Improved #
- Enhanced
FxGrid
andFxResponsive
widgets 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
generateOTP
andgenerateAvatar
helper method.
5.4.0 #
- Added
isBool
andisUrl
methods to String extensions. - Added
devicePixelRatio
andtextScaleFactor
methods in Context extensions. - Added
BorderColor
andBoxShadow
methods in TextFormField. - Enhanced the isEmail regex for improved accuracy.
5.3.0 #
- Added
delay
method inDuration
andnum
extensions.
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
defaultValue
parameter in thegetId
,getString
,getInt
, andgetDouble
methods.
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
Shimmer
widget 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
diffForHumans
method totimeAgo
. - Changed boolean parameters in extension methods from positional parameters to named parameters.
- Added some more
DateTime
extensions.
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
FxButton
widget now has splash color set to false by default.
4.2.2 #
- Replaced the deprecated
TextScalarFactor
withTextScalar
. - Resolved the
FxButton
outline color issue.
4.2.1 #
- Minor improvements
4.2.0 #
Added:
- Added new widgets
FxCheckbox
,FxRadio
andFxSwitch
. - Added extra parameter
textStyle
in 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
hide
method 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
FxGrid
widget, which enables developers to create dynamic and responsive grid layouts. - Implemented the
shadow
mixin, offering a simple and reusable way to apply shadows to widgets. - Introduced the
FxButton
widget, providing a customizable button component with various styles and configurations. - Added the
FxTextFormField
Widget, 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
diffForHumans
method 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 Color
extension getters. - Refined getters naming for the Fixed Text Color extension, such as changing
kcWarningLightStatus
tokcWarningLight
. - 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
BorderRadius
extension from the Container widget to theClipRRect
widget, allowing for improved control over rounded corners. - Added the
Shimmer extension
to 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
get
package.
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
getInt
andgetDouble
have 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
,whereIn
andwhereNotIn
, 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
flatten
andpluck()
list extension. - Changed
w
towBox
andh
tohBox
in num extension. - Changed
range
toinRange
in String extension. - Changed
count
tooccurrences
in String extension. - Changed
occurrence
tocountOccurrences
in String extension. - Changed
withDefault
toifEmpty
in String extension. - Changed
getId
data type from dynamic to int in map extension. - Changed
contains
tohas
in map extension. - Fixed
mask
now returnnull
when string is empty. - Fixed
getInt
&getDouble
now returnnull
when key is empty or null. - Fixed Typo
1.7.0 #
1.6.0 #
Added #
-
Added
match()
extension onMap
The
match()
function also works similarly toswitch
i.e, it finds the matching case according to the parameter passed in it. -
Added
hasKey
|hasValue
|hasKeyValue
extensions on list
1.5.0 #
1.4.0 #
1.3.0 #
Added #
- Added
sq
|w
|h
num and widget extensions - Added
Duration
num extensions likeseconds
|minutes
, etc
1.2.0 #
1.0.0 #
- Initial release.