Releases: bdlukaa/fluent_ui
v4.10.0 - Flutter 3.27
-
fix: Add missing properties (
closeIconSize
,closeButtonStyle
) indebugFillProperties
andInfoBarThemeData.merge
(#1128 -
feat: Add
TabView.reservedStripWidth
, which adds a minimum empty area between the tabs and the tab view footer (#1106)] -
fix: Correctly unfocus
NumberBox
when user taps outside (#1135) -
fix: Do try to scroll Date and Time at build time (#1117)
-
feat: Use a
Decoration
instead ofColor
inNavigationAppBar
(#1118) -
feat: Add
EditableComboBox.inputFormatters
(#1041) -
BREAKING feat:
TextBox.decoration
andTextBox.foregroundDecoration
are now of typeWidgetStateProperty
(#987)Before:
TextBox( decoration: BoxDecoration( color: Colors.red, ), foregroundDecoration: BoxDecoration( color: Colors.blue, ), ),
After:
TextBox( decoration: WidgetStateProperty.all(BoxDecoration( color: Colors.red, )), foregroundDecoration: WidgetStateProperty.all(BoxDecoration( color: Colors.blue, )), ),
-
feat: Add
TabView.gestures
, which allows the manipulation of the tab gestures (#1138) -
feat: Add
DropDownButton.style
(#1139) -
feat: Possibility to open date and time pickers programatically (#1142)
-
fix:
TimePicker
hour offset -
feat: Add
ColorPicker
(#1152) -
fix:
NumberBox
initial value formatting (#1153) -
fix:
NumberBox
incrementing/decrementing when not focused (#1124) -
fix:
NumberBox
text is correctly when there are no visible actions (#1150)
What's Changed
- Add missing properties in InfoBarThemeData.merge by @WinXaito in #1128
- feat: Make the example work on Linux by @iamsergio in #1129
- Add support for reserved footer area by @diluculo in #1137
- Fix(menu): boundary by @web-liuyang in #1131
- Make text box decorations affected by the current widget state by @hassony105 in #987
- Implements ColorPicker by @diluculo in #1152
- Localization for ColorPicker by @diluculo in #1154
- Flutter latest by @bdlukaa in #1156
New Contributors
- @iamsergio made their first contribution in #1129
- @diluculo made their first contribution in #1137
- @web-liuyang made their first contribution in #1131
- @hassony105 made their first contribution in #987
Full Changelog: v4.9.2...v4.10.0
v4.9.2
- feat:
NavigationAppBar.leading
now has a minimum width ofkCompactNavigationPaneWidth
instead of being fixed to this width (#1103) - feat: Add
TabView.stripBuilder
(#1106) - fix: Correctly apply
EditableComboBox.style
(#1121) - feat: Add
BreadcrumbBar.chevronIconBuilder
andBreadcrumbBar.chevronIconSize
(#1111) - fix: Consider object translation on Menu Flyouts (#1104)
- fix: Correctly disable
DropDownButton
items ifonPressed
is not provided (#1116) - feat: Add
ToggleMenuFlyoutItem
andRadioMenuFlyoutItem
(#1108)
What's Changed
- Change NavigationAppBar leading widget to be min width instead of fix⦠by @nu11ptr in #1103
- The EditableComboBox is missing the part that applies the style to the TextBox, so add it. by @hanwha-cheoldong in #1121
New Contributors
- @nu11ptr made their first contribution in #1103
- @hanwha-cheoldong made their first contribution in #1121
Full Changelog: v4.9.1...v4.9.2
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