Releases: bdlukaa/fluent_ui
v4.9.1 - Flutter 3.24
- feat: ¹
NumberBox
now supports precision greater than 4. ² AddNumberBox.pattern
,NumberBox.formatter
,NumberBox.format
(#1080)
- fix: Resolved issue where
PaneItem
withinPaneItemExpander
remained accessible inNavigationPane
compact mode (#1081) - fix: Correct number of days on
DatePicker
popup (#1049) - feat: Create
PaneItemWidgetAdapter
(#1087) - feat: Add
maxWidth
toTooltipThemeData
for optional wrapping of long tooltips (#1094) - fix: Fixed compile errors with Flutter 3.24.0 stable (#1097)
What's Changed
- Fix:
PaneItem
Behavior in Compact Mode by @WXL-steven in #1082 - fix: Update NumberBox formatting pattern for precision by @FourLeafTec in #1080
- Add maxWidth to tooltip theme for easy text-wrapping by @klondikedragon in #1095
- Remove checkerboarding parameters and properties as Flutter 3.24 removed them by @h3x4d3c1m4l in #1097
New Contributors
- @WXL-steven made their first contribution in #1082
- @FourLeafTec made their first contribution in #1080
Full Changelog: v4.9.0...v4.9.1
4.9.0
-
fix: ¹
DropDownButton.closeAfterClick
is now correctly applied. ² AddedMenuFlyoutItem.closeAfterClick
, which defaults totrue
. (#1016) -
fix:
MenuFlyoutSubItem
does not close when pressed (#1037) -
fix: Make
ScaffoldPage
opaque (#1048) -
fix: Scroll issue in
DatePicker
. (#1054) -
feat: Add
NumberBox.textInputAction
andNumberBox.onEditingComplete
(#1063) -
fix:
NumberBox
does not calls a rebuild when it is already building (#1064) -
feat: Add
Tab.color
,Tab.selectedColor
andTab.outlineColor
to TabView (#1068) -
feat: Added
NavigationView.onItemPressed
callback, called when the item is on tap (#1067) -
fix: Mark
MenuFlyoutItem
as disabled when.onPressed
isnull
(#1074) -
BREAKING feat: Removed
ButtonState
,ButtonStates
and their related classes. UseWidgetStateProperty
,WidgetState
instead. (#1075)
Before:Button( style: ButtonStyle( shape: ButtonState.all(RoundedRectangleBorder(...)), backgroundColor: ButtonState.resolveWith((states) { if (states.isPressed) { return Colors.blue.shade900; } return Colors.blue; }), foregroundColor: ButtonState.resolveWith((states) { return ButtonState.forStates<Color>( states, disabled: Colors.grey, hovered: Colors.white.withOpacity(0.8), pressed: Colors.white.withOpacity(0.6), ); }), ), ),
After:
Button( style: ButtonStyle( shape: WidgetStatePropertyAll(RoundedRectangleBorder(...)), backgroundColor: WidgetStateProperty.resolveWith((states) { if (states.isPressed) { return Colors.blue.shade900; } return Colors.blue; }), foregroundColor: WidgetStateProperty.resolveWith((states) { return WidgetStateExtension.forStates<Color>( states, disabled: Colors.grey, hovered: Colors.white.withOpacity(0.8), pressed: Colors.white.withOpacity(0.6), ); }), ), ),
-
fix: Do not dismiss Scrollbar if it is still being pressed (#1077)
-
feat: Make
Tab
a widget that can be overridable (#1050)
To create a custom Tab, you can now extendTab
:class MyCustomTab extends Tab { MyCustomTab({super.key, required super.text, required super.body}); @override State<Tab> createState() => MyCustomTabState(); } class MyCustomTabState extends TabState { @override Widget build(BuildContext context) { super.build(context); return ColoredBox( color: Colors.red, child: super.build(context), ); } }
Explore the
TabState
reference to see all the available methods you can override. -
feat: Deprecate
TabView.addIconData
andTabView.addIconBuilder
. UseTabView.newTabIcon
instead. -
fix:
TabView.closeDelayDuration
default value is now 1 second.
New Contributors
- @franklin83diaz made their first contribution in #978
- @Abbas1Hussein made their first contribution in #964
- @dhafinrayhan made their first contribution in #982
- @H2Sxxa made their first contribution in #990
- @dmacan23 made their first contribution in #1004
- @thai2706 made their first contribution in #1005
- @dev-aniketj made their first contribution in #1046
- @normalllll made their first contribution in #1047
- @fischerscode made their first contribution in #1040
- @Dusk-afk made their first contribution in #1055
- @ClanEver made their first contribution in #1056
- @dmk-rib made their first contribution in #1068
- @mmasdivins made their first contribution in #1070
Full Changelog: v4.8.0...v4.9.0
v4.8.0 - Bye deprecated
What's Changed
-
Correctly paint buttons borders (#956)
-
MINOR BREAKING Removed
ButtonStyle.border
. UseButtonStyle.shape
instead:
Before:Button( style: ButtonStyle( border: ButtonState.all(BorderSide(...)), ), ),
Now:
Button( style: ButtonStyle( shape: ButtonState.all(RoundedRectangleBorder(...)), ), ),
-
BREAKING Removed
Chip
and its related widgets. -
BREAKING Removed
PillButtonBar
and its related widgets. UseCommandBar
instead. -
BREAKING Removed
SplitButtonBar
. UseSplitButton
instead. -
BREAKING Removed
BottomSheet
and its related widgets and functions. -
BREAKING Removed
Snackbar
,showSnackbar
and their related widgets. UseInfoBar
anddisplayInfoBar
instead. -
fix: do not close
InfoBar
twice (#955) -
feat: add Kurdish locale (#962)
-
fix: review
debugFillProperties
on widgets (#974) -
fix: Date and Time pickers when localization is not English (#961)
New Contributors
- @Ferry-200 made their first contribution in #956
- @awderz4 made their first contribution in #962
Full Changelog: v4.7.7...v4.8.0
v4.7.7
What's Changed
- fix:
ProgressRing
andProgressBar
now fit correctly the parent bounds (#942) - fix:
TabView
buttons was only rendered on hover. Now the buttons (add and scroll buttons) are always rendered. - fix:
ComboboxItem
correctly apply foreground color. AddedComboboxItem.enabled
(#949) - Add a support for Cupertino Loclizations from GlobalCupertinoLocalizations, this can help fix some errors when using offical adaptive widgets and other cupertino widgets
- Upgrade the
scroll_pos
dependecy to the latest version which is 0.5.0
New Contributors
- @freshtechtips made their first contribution in #946
Full Changelog: v4.7.6...v4.7.7
v4.7.6
What's Changed
- Fixes leading/trailing widgets not centered in listTile by @milindgoel15 in #940
New Contributors
- @milindgoel15 made their first contribution in #940
Full Changelog: v4.7.4...v4.7.6
Bug fixes
- fix: tap on
DatePicker
day does not skip a day (#914) - fix: ensure
PaneItemExpander
's flyout is attached before using it (#857) - fix: expose more
TextField
properties onNumberBox
(#933) - fix: expose more
TextField
properties onPasswordBox
(#925) - fix:
AutoSuggestBox.onOverlayVisibilityChanged
now results in the correct state (#926) - fix:
MenuFlyoutSubItem
inherits the acrylic data fromMenuFlyout
(#932) - fix:
MenuFlyoutSubItem
inhertis itsMenuFlyout
parent decoration data (#931) - feat: Expose
paneNavigationButtonIcon
onNavigationPaneThemeData
(#929)
Flutter 3.13
- Add vertical support to
CommandBar
. (#872) - Deprecated
SplitButtonBar
and its related widgets. UseSplitButton
orSplitButton.toggle
instead (#882, #411) - Implement
BreadcrumbBar
(#878) - Ensure all widgets use the correct debug checks (#883)
Expander
header is sized dynamically (#523)- Added
Expander.contentPadding
andExpander.contentShape
(#891) - Tooltips are dismissed as soon as the mouse leaves (#898)
- Added
FluentThemeData.selectionColor
, which defaults to the accent color normal shade (#897) - Flyout reverse transition duration is properly set (#893)
- Remove view padding when app bar is provided (#884)
NavigationAppBar.title
is expanded to fit the entire width on top mode (#902)AutoSuggestBox
does not duplicate focus (#894)StickyNavigationIndicator
look-and-feel updated to match the native implementation (#380b49c)- feat: Add Wifi and Bluetooth icons (#909)
- feat: Add
ListTile.cursor
(#901) - feat: Add
Tab.disabled
(#904) - feat: Add
NavigationPaneThemeData.overlayBackgroundColor
, which is displayed on overlays, such as minimal and compact pane overlays (#903) - fix: Correctly remove tooltip as soon as the mouse leaves the widget (#905)
- fix: Do not show
PaneItem.infoBadge
andPaneItem.trailing
while the pane is transitioning (#906) - fix:
NavigationView.onOpenSearch
is called whenautoSuggestBoxReplacement
is pressed (c251600) - fix:
AutoSuggestBox
overlay is now only displayed after the user started typing (d95970a)
-
feat: Expose
AutoSuggestBoxState
(#912)
With it, you can now control theAutoSuggestBox
state, such as opening and closing the overlay. Use the.dismissOverlay
method to close the overlay and.showOverlay
to display it.Use the
AutoSuggestBox.onOverlayVisibilityChanged
callback to listen to overlay visibility changes. -
fix:
StickyNavigationIndicator
now doesn't stop if another item interrupts the ongoing animation (36b82b) -
fix: Render
Combobox
's elevation outside of the clipper (#896) -
fix: Do not make items exclusive on
NavigationView
's body (#913) -
fix:
Expander.content
has now its focus excluded when closed -
fix: Fixed compile errors with Flutter 3.13.0 stable (#915)
New Contributors
- @CorvusYe made their first contribution in #872
- @JohnF17 made their first contribution in #901
- @LahaLuhem made their first contribution in #909
Full Changelog: v4.7.0...v4.7.3
v4.7.0
- Add Slovak localization (#850)
- Add
AutoSuggestBox.itemBuilder
callback builder, which builds the items inside the overlay (#869) - Add
AutoSuggestBoxItem.semanticsLabel
(#869) - Add
ButtonState.forStates
, a helper function to quickly resolve values for each button state (#875) - Slider label color is solid (#847)
- BREAKING Removed
.disabledColor
,uncheckedColor
,.checkedColor
and.borderInputColor
fromFluentThemeData
. Use the values from theme resources instead (1295b6
) - BREAKING To match the native implementation,
ToggleSwitch.thumb
and.thumbBuilder
have been renamed to.knob
and.knobBuilder
, respectively.DefaultToggleSwitchThumb
was renamed toDefaultToggleSwitchKnob
(e15e89d) - Added
CheckboxThemeData.foregroundColor
,RadioButtonThemeData.foregroundColor
andToggleSwitchThemeData.foregroundColor
, which, by default, reacts if the inputs are disabled or not (#861) ToggleSwitch
correctly behaves as disabled whenonChanged
isnull
(4b5afb5
)- Add
PaneItemExpander.initiallyExpanded
(#864) - Add
NumberFormBox
(#862) PaneItem.onTap
fromPaneItemExpander.items
, when displayed in popup, are now correctly invoked (#859)- Navigating through the
Combobox
items on web now works properly (#757) TreeViewItem
, if selection mode issingle
, gets selected when focused with the keyboard (#835)- In multiple selection mode,
TreeView
's built-in checkbox now doesn't receive focus. It can now be focused by invoking it with the keyboard (#877) - Enabled click on
DatePicker
andTimePicker
(#6) DatePicker.endDate.year
is taken into account when displaying the years (#874)DatePicker
's day field is now correctly selected (d152dc)DatePicker
andTimePicker
are correctly fit into the navigator bounds (711390)- Add
TreeView.gesturesBuilder
andTreeViewItem.gestures
(#851) - Improved overall
Semantics
. Now, not every input is treated as a button (2fee45) - Deprecated all mobile widgets:
BottomSheet
,Snackbar
,Chip
andPillButtonBar
- and all their related widgets. (c1cfe491) - BREAKING Removed previously deprecated fields (ee601649):
EditableComboboxFormField.value
. UseEditableComboboxFormField.initialValue
insteadDatePicker.startYear
. UseDatePicker.startDate
insteadDatePicker.endYear
. UseDatePicker.endDate
insteadTextButton
. UseHyperlinkButton
insteadTabView.wheelScroll
. It is no longer usedThemeData
. UseFluentThemeData
instead
New Contributors
- @Matej-Hlatky made their first contribution in #850
- @ZHIN made their first contribution in #868
Full Changelog: v4.6.0...v4.7.0
Flutter 3.10.0
What's Changed
- Add PasswordBox widget by @WinXaito in #795
- Improve example in Navigation/NavigationView by @Tsuzat in #796
- Added Tamil language localization. by @sarankumar-ns in #798
- Create a
HyperlinkButton
by @bdlukaa in #802 - fix: backButtonDispatcher not being null when routerConfig is provided by @jtdLab in #803
- Solve library not support intl v 0.18 by @the-best-is-best in #815
- Inputs formatting consistency by @bdlukaa in #817
- inherit text style for form row error by @ampatspell in #823
- fix: navigationview top mode by @bdlukaa in #821
- Upgrade scroll_pos dependency to v0.4.0 (latest) by @WinXaito in #831
- Added support for Urdu language by @sherazahmad720 in #832
- Flutter 3.10 by @bdlukaa in #828
New Contributors
- @sarankumar-ns made their first contribution in #798
- @the-best-is-best made their first contribution in #815
- @ampatspell made their first contribution in #823
- @sherazahmad720 made their first contribution in #832
Full Changelog: v4.4.2...v4.6.0
NumberBox and stuff
-
Add support for
routerConfig
toFluentApp.router
(#781) -
Add source code for
Show InfoBar
in example application. (#785) -
Make
color
optional inFluentApp.router
. (#782) -
Fix
TabView
scroll (the item count was not correctly set) and now the scroll event is not propagated to the parent. (#772) -
Do not calculate the position of the flyout if the
position
parameter is provided. (#764) -
Add source code for Surfaces/CommandBar in example application (#766)
-
Do not enforce a max height on
PaneItem
(#762) -
Add Greek localization (#761)
-
Add
NavigationState.compactOverlayOpen
(#758):final key = GlobalKey<NavigationState>(); NavigationView(key: key); final isCompactModeOpen = key.currentState?.compactOverlayOpen ?? false;
-
TabView
lazy loading (#751) -
Added Bangla localization (#786)
-
Correctly position the flyouts and tooltips on a multi navigator context (#780)
-
Allow all kinds of menu flyout widgets on
DropDownButton
(#775) -
Added
CommandBarCard.borderColor
What's Changed
- Added support for greek language by @Pana-g in #761
- Add source code for Surfaces/CommandBar in example application. by @Tsuzat in #766
- Do not calculate the position of the flyout if this one is provided as a parameter by @WinXaito in #768
- Fix tab view wheel scroll by @WinXaito in #772
- Make
FluentApp.router
scolor
property optional by @jtdLab in #783 - Add source code snippet for Show InfoBar Button. by @zsakvo in #785
- added bangla translation by @Ahnaf16 in #786
- Add support for
routerConfig
toFluentApp.router
by @jtdLab in #784 - Add NumberBox Widget by @WinXaito in #771
- Flyout and tooltip position by @bdlukaa in #780
- Some updates by @bdlukaa in #790
- Let numberbox to accept double value by @WinXaito in #789
- Fix NumberBox value update with double and check if the result of the math expression is valid by @WinXaito in #792
- Load the example app with a bigger size for have a open navigation pane and do not center the window by @WinXaito in #793
New Contributors
- @Pana-g made their first contribution in #761
- @jtdLab made their first contribution in #783
- @zsakvo made their first contribution in #785
- @Ahnaf16 made their first contribution in #786
Full Changelog: v4.4.1...v4.4.2