Releases: forus-labs/forui
Forui Hooks 0.16.0
- Breaking Replace
useFDateFieldController(animationDuration: ...)withuseFDateFieldController(popoverMotion: ...). - Breaking Replace
useFPopoverController(animationDuration: ...)withuseFPopoverController(motion: ...). - Breaking Replace
useFSelectController(animationDuration: ...)withuseFSelectController(popoverMotion: ...). - Breaking Replace
useFSMultiSelectController(animationDuration: ...)withuseFSMultiSelectController(popoverMotion: ...). - Breaking Replace
useFTabController(animationDuration: ...)withuseFTabController(motion: ...). - Breaking Replace
useFTimeFieldController(animationDuration: ...)withuseFTimeFieldController(popoverMotion: ...). - Breaking Replace
useFTooltipController(animationDuration: ...)withuseFTooltipController(motion: ...).
Forui Assets 0.16.0
- Update icons to Lucide 0.544.0.
Forui 0.16.0
Better Generated Documentation
We've improved the styles' generated documentation. They should be much easier to navigate and understand.
FAccordion
-
Add
FAccordionMotion. -
Breaking Move animation related fields from
FAccordionStyletoFAccordionMoton.
FAutocomplete
-
Add
FAutocomplete.onReset. -
Add
FAutocompletController(popoverMotion: ...). -
Breaking Change
FAutocompleteContentStyle.loadingIndicatorStyletoFAutocompleteContentStyle.progressStyle.
FCheckbox
-
Add
FCheckboxMotion. -
Breaking Move animation related fields from
FCheckboxStyletoFCheckboxMotion. -
Fix
FCheckboxflickering when rapidly hovering.
FDateField
-
Add
FDateField.onReset. -
Breaking Replace
FDateFieldController(animationDuration: ...)withFDateFieldController(popoverMotion: ...).
FDialog
-
Add
FDialogRouteStyle. -
Add
FDialogRouteMotion. -
Add
showFDialog(routeStyle: ...). -
Add
FDialogMotion. -
Breaking Move barrier related fields from
FDialogStyletoFDialogRouteStyle. -
Breaking Move animation related fields from
FDialogStyletoFDialogMotion. -
Fix
FDialog.bodynot allowingScrollViews.
FFormField
- Breaking Add
FFormField(onReset: ...). - Breaking Add
FFormFieldProperties(onReset: ...).
FHeader
- Fix
FHeader(...)not vertically centering title. - Fix
FHeader(...)not respecting RTL locales. - Fix
FHeader.nested(...)not vertically centering title. - Fix
FHeader.nested(...)not respecting RTL locales.
FItem
- Fix
GestureDetectorbeing absorbed in focusedFItems.
FPopover & FPopoverMenu
-
Add
FPopoverMotion. -
Change default animations to be more subtle.
-
Breaking Replace
FPopoverController(animationDuration: ...)withFPopoverController(motion: ...). -
Breaking Change
FPopoverMenu.hideRegion's default value fromFHidePopoverRegion.anywheretoFHidePopoverRegion.excludeChild.
FProgress
We've reworked FProgress to be more customizable and easier to use.
-
Add
FCircularProgresswhich represents indeterminate circular progress. -
Add
FCircularProgressStyle. -
Add
FInheritedCircularProgressStyle. -
Add
FDeterminateProgresswhich represents determinate linear progress. -
Add
FDeterminateProgressStyle. -
Breaking Change
FProgressto represent indeterminate linear progress. -
Breaking Remove
FProgressStyles.
FRadio
-
Add
FRadioMotion. -
Breaking Move animation related fields from
FRadioStyletoFRadioMotion.
FSelect & FMultiSelect
-
Add
FSelect.onReset. -
Add
FMultiSelect.onReset. -
Breaking Rename
FSelectSearchStyle.loadingIndicatorStyletoFSelectSearchStyle.progressStyle. -
Breaking Replace
FSelectController(animationDuration: ...)withFSelectController(popoverMotion: ...). -
Breaking Replace
FMultiSelectController(animationDuration: ...)withFMultiSelectController(popoverMotion: ...).
FSelectGroup
- Add
FSelectGroup.onReset.
FSelectMenuTile
- Add
FSelectMenuTile.onReset.
FSelectTileGroup
- Add
FSelectTileGroup.onReset.
FSheet
-
Add
FModalSheetStyle. -
Add
FPersistentSheetStyle. -
Add
FSheetMotion. -
Add
FModalSheetMotion. -
Add
FPersistentSheetMotion. -
Add
FModalSheet(onClosing: ...). -
Add
FPersistentSheet(onClosing: ...). -
Breaking Split
FSheetStyleintoFModalSheetStyleandFPersistentSheetStyle. -
Breaking Move animation related fields from
FSheetStyletoFSheetMotion.
FSidebar
-
Add
FSidebarItemMotion. -
Breaking Move animation related fields from
FSiderbarItemStyletoFSiderbarItemMotion.
FSlider
- Add
FSlider.onReset. - Add
FSliderStyle.tooltipMotion.
FTab
- Add
FTabMotion. - Breaking Replace
FTabController(animationDuration: ...)withFTabController(motion: ...).
FTappable
-
Add
FTappableMotion. -
Breaking Move animation related fields from
FTappableStyletoFTappableMotion.
FTextField & FTextFormField
We've added a password visibility toggle to password fields.
-
Add password visibility toggle to
FTextField.password(...). -
Add password visibility toggle to
FTextFormField.password(...). -
Add
FTextFormField.onReset. -
Change
FTextField.email(label: ...)to be localized. -
Change
FTextField.password(label: ...)to be localized. -
Change
FTextFormField.email(label: ...)to be localized. -
Change
FTextFormField.password(label: ...)to be localized.
FThemeData
We've added support for animated theme transitions. This should make transitions between themes gradual instead of abrupt.
-
Add
FThemeData.lerp(...). -
Change
FThemeData.copyWith(...)to accept style builder functions.
FTimeField
-
Add
FTimeField.onReset. -
Breaking Replace
FTimeFieldController(animationDuration: ...)withFTimeFieldController(popoverMotion: ...).
FToast
-
Add
FToastMotion. -
Add
FToasterMotion. -
Change animation to be more subtle.
-
Breaking Move animation related fields from
FToastStyletoFToastMotion. -
Breaking Move animation related fields from
FToasterStyletoFToasterMotion. -
Remove no-op
FToast.onDismissparameter that was accidentally included.
FTooltip
-
Add
FTooltipMotion. -
Breaking Replace
FTooltipController(animationDuration: ...)withFTooltipController(motion: ...).
FWidgetStateMap
- Add
FWidgetStateMap.lerpBoxDecoration(...). - Add
FWidgetStateMap.lerpColor(...). - Add
FWidgetStateMap.lerpIconThemeData(...). - Add
FWidgetStateMap.lerpTextStyle(...). - Add
FWidgetStateMap.lerpWhere(...).
FToaster
-
Add
FToaster.of(...). -
Make
FToasterState.show(context: ...)optional.
Others
-
Add
FImmutableTween. -
Add
FLabel.expands. -
Fix
FTextField.expandscausing a render error.
Forui Hooks 0.15.0
-
Add
useFAutocompleteController. -
Add
useFMultiSelectController. -
Breaking Change
useFMultiValueNotifier({Set<T> values})touseFMultiValueNotifier({Set<T> value}). -
Breaking Change
useFSelectGroupController({Set<T> values})touseFSelectGroupController({Set<T> value}). -
Breaking Change
useFSelectTileGroupController({Set<T> values})touseFSelectTileGroupController({Set<T> value}). -
Breaking Change
useFSelectMenuTileController({Set<T> values})touseFSelectMenuTileController({Set<T> value}).
Forui Assets 0.15.0
- Update icons to Lucide 0.540.0.
Forui 0.15.1
- Fix CLI generating incorrect icon mappings.
- Fix CLI generating theme that references private constant.
Forui 0.15.0
Cursors
We've changed the default cursor for many widgets from MouseCursor.click to MouseCursor.defer. This is in line with
native desktop behavior and W3C User Interface guidelines.
FThemeData
Hover colors now use lightness-based adjustments rather than alpha blending, providing better visual feedback across all
color variants, especially FColors.secondary.
We've also added support for theme extensions. This allows you to add custom application-specific properties to the theme
without having to manage them around separately.
-
Add
FThemeData.extension(). -
Add
FThemeData.extensions. -
Remove
foregroundparameter fromFColors.hover(...).
FAccordion
-
Add
FAccordionItem.onHoverChange -
Add
FAccordionItem.onStateChange -
Breaking Make
FAccordionController.controllersprivate. -
Breaking Change
FAccordionItem.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>. -
Breaking Remove
FAccordionController.radio(...)- useFAccrdionController(max: 1)instead. -
Breaking Remove
FAccordionController.validate(...).
FAutocomplete (new)
- Add
FAutocomplete. - Add
FAutocompleteController. - Add
FAutocompleteStyle. - Add
FAutocompleteSection. - Add
FAutocompleteItem.
FBottomNavigationBar
- Breaking Change
FBottomNavigationBarItem.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FButton
- Breaking Change
FButton.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FBreadcrumb
-
Add
onTapHidetoFBreadcrumb.collapsed(...). -
Breaking Change
FBreadcrumb.hideOnTapOutsidetoFBreadcrumb.hideRegion.
FDateField
-
Add
onTapHidetoFDateField.calendar(...). -
Add
FDateFieldCalendarProperties.onTapHide. -
Breaking Change
FDateField.hideOnTapOutsidetoFDateField.hideRegion. -
Breaking Change
FDateField.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FDateFieldStyle>. -
Breaking Change
FDateField.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FDateFieldStyle>. -
Breaking Change
FDateField.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FDateFieldStyle>.
FHeader
- Breaking Change
FHeaderAction.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FItem
- Breaking Change
FItem.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FMultiSelect (new)
- Add
FMultiSelect. - Add
FMultiSelectController. - Add
FMultiSelectStyle. - Add
FMultiSelectTag.
FPopover & FPopoverMenu
-
Add
FPopover.onTapHide. -
Add
FPopoverMenu.onTapHide. -
Breaking Change
FPopover.hideOnTapOutsidetoFPopover.hideRegion. -
Breaking Change
FPopoverMenu.hideOnTapOutsidetoFPopoverMenu.hideRegion. -
Breaking Change
FHidePopoverRegiontoFPopoverHideRegion. -
Breaking Change
FHidePopoverRegion.excludeTargettoFHidePopoverRegion.excludeChild.
FSelect
We've done an overhaul of FSelect to make it more consistent and easier to use.
-
Add
FSelect.contentEmptyBuilder. -
Add
FSelectItem.raw(...) -
Change
FSelect's vertical padding for default loading and empty indicators to be the same height. -
Breaking Rename
FSelect.dividertoFSelect.contentDivider. -
Breaking Replace
FSelect.hideOnTapOutsidewithFSelect.hideRegion. -
Breaking Change
FSelect.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FTextFieldStyle>. -
Breaking Change
FSelect.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> prefixBuilder. -
Breaking Change
FSelect.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> suffixBuilder. -
Breaking Change
FSelectSearchFieldProperties.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FTextFieldStyle>. -
Breaking Change
FSelectSearchFieldProperties.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> prefixBuilder. -
Breaking Change
FSelectSearchFieldProperties.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> suffixBuilder. -
Change
FSelectSearchContentBuilderfromList<FSelectItemMixin> Function(BuildContext context, FSelectSearchData<T> data);
toList<FSelectItemMixin> Function(BuildContext context, String query, Iterable<T> values). -
Breaking Remove
FSelectSearchFilter<T>typedef - use the literal function signature instead. -
Breaking Remove
FSelectSearchData<T>typedef. -
Breaking Replace
FSelect.emptyBuilderwithFSelect.contentEmptyBuilder. -
Breaking Replace
FSelect.searchLoadingBuilderwithFSelect.contentLoadingBuilder. -
Breaking Replace
FSelect.searchErrorBuilderwithFSelect.contentErrorBuilder. -
Breaking Replace
FSelect.defaultEmptyBuilderwithFSelect.defaultContentEmptyBuilder. -
Breaking Replace
FSelect.defaultSearchLoadingBuilderwithFSelect.defaultContentLoadingBuilder. -
Breaking Replace
FSelect.fromMap(...)withFSelectSection.new(...). -
Breaking Replace
FSelect(...)withFSelectSection.rich(...). -
Breaking Replace
FSelect.searchFromMap(...)withFSelectSection.search(...). -
Breaking Replace
FSelect.search(...)withFSelectSection.searchBuilder(...). -
Breaking Replace
FSelectSection.new(...)withFSelectSection.rich(...) -
Breaking Replace
FSelectSection.fromMap(...)withFSelectSection.new(...). -
Breaking Change
FSelectItem(...)'s parameters to no longer accept string parameter. -
Breaking Change
FSelectItem.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>. -
Breaking Replace
FSelectItemStylewith underlyingFItemStyle. -
Fix first focused item not unfocusing when other items are pressed on touch devices.
FSelectMenuTile
-
Add
FSelectMenuTile.onTapHide. -
Breaking Change
FSelectMenuTile.hideOnTapOutsidetoFSelectMenuTile.hideRegion.
FSelectTileGroup
- Breaking Change
FSelectTile.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FSidebar
- Breaking Change
FSidebarGroup.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>. - Breaking Change
FSidebarItem.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FTappable
- Breaking Change
FTappable.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FTextField & FTextFormField
-
Add
FFieldBuilder. -
Add `FFieldIconBuilder.
-
Add
FTextField.selectAllOnFocus. -
Add
FTextFormField.selectAllOnFocus. -
Breaking Change
FTextField.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FTextFieldStyle>. -
Breaking Change
FTextField.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> prefixBuilder. -
Breaking Change
FTextField.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> suffixBuilder. -
Breaking Change
FTextFormField.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FTextFieldStyle>. -
Breaking Change
FTextFormField.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> prefixBuilder. -
Breaking Change
FTextFormField.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FTextFieldStyle> suffixBuilder.
FTile
- Breaking Change
FTile.onStateChangefromValueChanged<Set<WidgetState>>toValueChanged<FWidgetStatesDelta>.
FTimeField
-
Add
onTapHidetoFTimeField.picker(...). -
Breaking Change
FTimeField.hideOnTapOutsidetoFTimeField.hideRegion. -
Breaking Change
FTimeField.builderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldBuilder<FDateFieldStyle>. -
Breaking Change
FTimeField.prefixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FDateFieldStyle>. -
Breaking Change
FTimeField.suffixBuilderfromValueWidgetBuilder<(FTextFieldStyle, Set<WidgetState>)>to
FFieldIconBuilder<FDateFieldStyle>. -
Fix regression in Flutter 3.35.2 by reducing
FTextFieldStyle.contentPaddingfromEdgeInsets.symmetric(horizontal: 14, vertical: 10)
toEdgeInsets.symmetric(horizontal: 10, vertical: 10).
Others
-
Add
FSelectMenuTile.onTapHide. -
Add
FTypeaheadController. -
Add
FWidgetStatesDelta. -
Change
FMultiValueNotifierto be non-abstract. -
Breaking Change
FMultiValueNotifier.radio({T? value})toFMultiValueNotifier.radio([T? value]). -
Breaking Change
ValueWidgetBuilder<FToasterEntry>? suffixBuildertoWidget Function(BuildContext, FToasterEntry)? suffixBuilder
inshowFToast(...). -
Fix
FProgress.circularIcon()using incorrect c...
Forui 0.14.1
Fix FToaster sometimes crashing due to an incorrect update of a late final variable.
Forui Hooks 0.14.0
Bump Forui dependency from 0.13.0 to 0.14.0.
Forui Assets 0.14.0
Bump to remain consistent with the forui package.