Implements Microsoft's WinUI3 in Flutter.
Correctly paint buttons borders (#956)
MINOR BREAKING Removed ButtonStyle.border
. Use ButtonStyle.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. Use CommandBar
instead.
BREAKING Removed SplitButtonBar
. Use SplitButton
instead.
BREAKING Removed BottomSheet
and its related widgets and functions.
BREAKING Removed Snackbar
, showSnackbar
and their related widgets. Use InfoBar
and displayInfoBar
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)
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.7.7...v4.8.0
ProgressRing
and ProgressBar
now fit correctly the parent bounds (#942)TabView
buttons was only rendered on hover. Now the buttons (add and scroll buttons) are always rendered.ComboboxItem
correctly apply foreground color. Added ComboboxItem.enabled
(#949)scroll_pos
dependecy to the latest version which is 0.5.0Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.7.6...v4.7.7
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.7.4...v4.7.6
DatePicker
day does not skip a day (#914)PaneItemExpander
's flyout is attached before using it (#857)TextField
properties on NumberBox
(#933)TextField
properties on PasswordBox
(#925)AutoSuggestBox.onOverlayVisibilityChanged
now results in the correct state (#926)MenuFlyoutSubItem
inherits the acrylic data from MenuFlyout
(#932)MenuFlyoutSubItem
inhertis its MenuFlyout
parent decoration data (#931)paneNavigationButtonIcon
on NavigationPaneThemeData
(#929)CommandBar
. (#872)SplitButtonBar
and its related widgets. Use SplitButton
or SplitButton.toggle
instead (#882, #411)BreadcrumbBar
(#878)Expander
header is sized dynamically (#523)Expander.contentPadding
and Expander.contentShape
(#891)FluentThemeData.selectionColor
, which defaults to the accent color normal shade (#897)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)ListTile.cursor
(#901)Tab.disabled
(#904)NavigationPaneThemeData.overlayBackgroundColor
, which is displayed on overlays, such as minimal and compact pane overlays (#903)PaneItem.infoBadge
and PaneItem.trailing
while the pane is transitioning (#906)NavigationView.onOpenSearch
is called when autoSuggestBoxReplacement
is pressed (c251600)AutoSuggestBox
overlay is now only displayed after the user started typing (d95970a)feat: Expose AutoSuggestBoxState
(#912)
With it, you can now control the AutoSuggestBox
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)
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.7.0...v4.7.3
AutoSuggestBox.itemBuilder
callback builder, which builds the items inside the overlay (#869)AutoSuggestBoxItem.semanticsLabel
(#869)ButtonState.forStates
, a helper function to quickly resolve values for each button state (#875).disabledColor
, uncheckedColor
, .checkedColor
and .borderInputColor
from FluentThemeData
. Use the values from theme resources instead (1295b6
)ToggleSwitch.thumb
and .thumbBuilder
have been renamed to .knob
and .knobBuilder
, respectively. DefaultToggleSwitchThumb
was renamed to DefaultToggleSwitchKnob
(e15e89d)CheckboxThemeData.foregroundColor
, RadioButtonThemeData.foregroundColor
and ToggleSwitchThemeData.foregroundColor
, which, by default, reacts if the inputs are disabled or not (#861)ToggleSwitch
correctly behaves as disabled when onChanged
is null
(4b5afb5
)PaneItemExpander.initiallyExpanded
(#864)NumberFormBox
(#862)PaneItem.onTap
from PaneItemExpander.items
, when displayed in popup, are now correctly invoked (#859)Combobox
items on web now works properly (#757)TreeViewItem
, if selection mode is single
, gets selected when focused with the keyboard (#835)TreeView
's built-in checkbox now doesn't receive focus. It can now be focused by invoking it with the keyboard (#877)DatePicker
and TimePicker
(#6)DatePicker.endDate.year
is taken into account when displaying the years (#874)DatePicker
's day field is now correctly selected (d152dc)DatePicker
and TimePicker
are correctly fit into the navigator bounds (711390)TreeView.gesturesBuilder
and TreeViewItem.gestures
(#851)Semantics
. Now, not every input is treated as a button (2fee45)BottomSheet
, Snackbar
, Chip
and PillButtonBar
- and all their related widgets. (c1cfe491)EditableComboboxFormField.value
. Use EditableComboboxFormField.initialValue
insteadDatePicker.startYear
. Use DatePicker.startDate
insteadDatePicker.endYear
. Use DatePicker.endDate
insteadTextButton
. Use HyperlinkButton
insteadTabView.wheelScroll
. It is no longer usedThemeData
. Use FluentThemeData
insteadFull Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.6.0...v4.7.0
HyperlinkButton
by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/802
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.4.2...v4.6.0
Add support for routerConfig
to FluentApp.router
(#781)
Add source code for Show InfoBar
in example application. (#785)
Make color
optional in FluentApp.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
FluentApp.router
s color
property optional by @jtdLab in https://github.com/bdlukaa/fluent_ui/pull/783
routerConfig
to FluentApp.router
by @jtdLab in https://github.com/bdlukaa/fluent_ui/pull/784
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.4.1...v4.4.2
Dynamically adding/removing items in NavigationPane (#744)
Fix example application was showing window icons twice on transparency change and maximizing
Add TextFormBox.initialValue
(#749)
Add PaneItem.enabled
(#748)
Add Thai localization (#750)
FocusTraversalGroup
is no longer added above paneBodyBuilder
(#700)
BREAKING NavigationView.paneBodyBuilder
now takes two arguments (#700)
Before:
NavigationView(
paneBodyBuilder: (child) {
return child;
}
),
Now:
NavigationView(
paneBodyBuilder: (item, child) {
return child;
}
)
Use correct height and padding on TextBox
(#754)
Updated TextBox
cursor to match the native implementation (#754)
TextBox
state is now updated correctly when focused (#754)
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.4.0...v4.4.1
TabView
macos shortcuts (#728)TabView
focus on children now works properly (#648)TabView
colors now follow the Win UI 3 theme resources (#730)ContentDialog
copy code (#735)TextBox
rework:
.initialValue
. Use TextEditingController.text
instead.header
and .headerStyle
. Use InfoLabel
instead.outsidePrefix
, .outsidePrefixMode
, .outsideSuffix
, .outsideSuffixMode
.minHeight
and .iconButtonThemeData
AutoSuggestBox
popup is now part of the text box tap region (#698)FluentTextSelectionToolbar
now follows global typography (#712)Correctly calculate the padding around the flyout on automatic mode
Possibility to supply transparent colors to the barrier (#702)
Correctly assign the current pane mode to PaneItemExpander
(#707)
showFlyout.dismissOnPointerMoveAway
now takes the whole flyout box into consideration
MINOR BREAKING Replaced ContentManager
and ContentSizeInfo
with Flyout
Before:
final size = ContentSizeInfo.of(context).size;
Now:
final size = Flyout.of(context).size;
With it, it's also possible to have multiple info about the current open flyout. Sub-menus also have their own flyout instance. To close the current flyout, use Flyout.of(context).close();
Added option to open DropDownButton
flyout programatically (#723)
final dropdownKey = GlobalKey<DropDownButtonState>();
DropDownButton(
key: dropdownKey,
...
);
dropdownKey.currentState?.open(...); // opens the flyout
final isOpen = dropdownKey.currentState?.isOpen ?? false; // checks if the flyout is open
BREAKING Removed deprecated memebers: DropDownButtonItem
and DropDownButton.buttonStyle
(#724)
ThemeData
is depreacted. Use FluentThemeData
instead (#722)
BREAKING MenuFlyoutSubItem.items
now requires a function
Before:
MenuFlyoutSubItem(
items: [...]
),
After:
MenuFlyoutSubItem(
items: (context) {
// You can call Flyout.of(context).close(), for example
return [...]
},
)
ThemeData
to FluentThemeData
by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/725
TextBox
rework by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/738
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.2.0...v4.4.0