Bot releases are visible (Hide)
Published by bdlukaa about 2 years ago
DisableAcrylic
now fully disable transparency of its decendents Acrylic
s (#468)TabView
(#430)TimePicker
popup when already rebuilding (#437)ToggleSwitch
updates:
TextChangedReason.cleared
, which is called when the text is cleared by the user in an AutoSuggestBox
(#461)AutoSuggestBox.onChanged
when an item is selected using the keyboard (#483)Tooltip
overlay is now ignored when hovered (#443)DropdownButton
(#475)ComboBox
updates:
Combobox
to ComboBox
ComboboxItem
to ComboBoxItem
ComboBox.backgroundColor
to ComboBox.popupColor
EditableComboBox
, a combo box that accepts items that aren't listed (#244)ComboBox.isExpanded: false
now correctly sets the button width (#382)ComboBox
's items height are correctly calculated, as well as initial scroll offset (#472)ComboBox.disabledHint
was renamed to ComboBox.disabledPlaceholder
ComboBoxFormField
and EditableComboBoxFormField
(#373)ComboBox.comboBoxColor
is now correctly applied (#468)ComboBox
popup can't be opened if disabledPaneItemExpander
(#299)TimePicker
and DatePicker
popup now needs a minimum width of 260 (#494)NavigationAppBar
content (#494)InfoLabel.rich
. InfoLabel
is no longer a constant contructor (#494)GlobalMaterialLocalizations
above ReorderableListView
(#492)ContentDialog.backgroundDismiss
. Use showDialog.barrierDismissable
(#490)DatePicker
and TimePicker
now show the focus highlight.NavigationBody
now uses a FocusTraversalGroup
to handle focusTreeViewItem
now shows the focus highlight. They can also be selected using the keyboardExpander
now shows the focus highlightAutoSuggestBox.enabled
(#504)NavigationView
animation state (cf0fae1 ,bd89ba6)selected
for all parents as soon as the TreeView
is builtScaffoldPage
example by @loic-sharma in https://github.com/bdlukaa/fluent_ui/pull/466
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v4.0.0-pre.3...v4.0.0-pre.4
Published by bdlukaa about 2 years ago
NavigationView
mode fixes:
PaneItemHeader
no longer throws an unsupported errorPaneItemHeader
is properly aligned to the other items.NavigationPaneThemeData.headerPadding
, which is applied to PaneItemHeader
on open, compact and minimal mode. It defaults to 10 pixels at the topPaneItem.getPropertyFromTitle
is now widget.getProperty
:Before:
getPropertyFromTitle<TextStyle>()
Now:
title.getProperty<TextStyle>()
This was changed because the properties of PaneItemHeader
needed to be accessed, but the old version only supported to get the properties of PaneItem.title
. It can be called on a Text
, RichText
or in an Icon
widget
InheritedNavigationView
is now accessible on the top overflow menuNavigationPaneThemeData.selectedTopTextStyle
and NavigationPaneThemeData.unselectedTopTextStyle
, which is applied to the items on top modecontent
focus on minimal modeHorizontalSlidePageTransition
Fix incorrect translation of TimePicker
in Traditional Chinese.
Added ScaffoldPage.resizeToAvoidBottomInset
(#444)
Consider view padding for NavigationAppBar
Scrollbar
updates (#356):
backgroundColor
to display the track colorpadding
and hoveringPadding
Update AutoSuggestBox
(#450):
.enableKeyboardControls
. When true, items can be selected using the keyboard (#19).sorter
, which lets you set a custom sort function for the suggestions. AutoSuggestBox.defaultItemSorter
is used by defaultviewPadding
is also taken into consideration.items
can be dynamically loaded (#387).items
is now a List<AutoSuggestBoxItem>
:AutoSuggestBox(
items: [
'Cat',
'Dog',
'Bird',
'Horse',
],
...
),
Now:
AutoSuggestBox(
items: [
'Cat',
'Dog',
'Bird',
'Horse',
].map((animal) {
return AutoSuggestBoxItem(
value: animal, // this takes a String
child: Text('Animal $animal'), // this takes a Widget. If null, value is displayed as a text
onFocusChange: (focused) {
// this is called when the item is focused using the keyboard arrow keys
if (focused) debugPrint('Focused animal $animal');
},
onSelected: () {
// this is called when the item is selected
debugPrint('Selected animal $animal');
}
);
}).toList(),
...
)
Combobox
updates (#454):
Correctly check if a locale is supported (#455)
ContentDialog
if title is omitted (#418)AutoSuggestBox
(#419)PopupContentSizeInfo
was renamed to ContentSizeInfo
ListTile
(#422):
TappableListTile
ListTile.selectable
(#409).animationDuration
and .animationCurve
from ScrollbarThemeData
expandContractAnimationDuration
and contractDelay
to ScrollbarThemeData
NavigationPaneSize
constraints are now correctly applied when in open mode (#336)NavigationIndicator
can't be invisble anymore when animation is stale (#335)TabView
:
BREAKING Removed TabView.bodies
. Now, Tab.body
is used.
Before
TabView(
tabs: [
Tab(text: Text('Tab 1')),
Tab(text: Text('Tab 2')),
],
bodies: [
Tab1Body(),
Tab2Body(),
],
),
Now:
TabView(
tabs: [
Tab(
text: Text('Tab 1'),
body: Tab1Body(),
),
Tab(
text: Text('Tab 2'),
body: Tab2Body(),
),
],
),
Updated TabView
tabs' constraints and padding
Fixed tab width when TabWidthBehavior
is compact
FlutterLogo
is no longer the default tab Icon
DropDownButton
menu is now sized correctly according to the screen sizeFlyout
will display on the opposite position (#435)Exposed private properties that makes it easier to create custom panes for NavigationView
(#365):
kCompactNavigationPaneWidth
kOpenNavigationPaneWidth
NavigationPane.changeTo
PaneItem.getPropertyFromTitle
PaneScrollConfiguration
is now applied to custom pane on NavigationView
Added NavigationViewState.displayMode
. It results in the current display mode used by the view, including the automatic display mode (#360):
// Define the key
final key = GlobalKey<NavigationViewState>();
NavigationView(
// pass the key to the view
key: key,
...,
)
// Get the current display mode. Note that, in order to find out the automatic display mode,
// the widget must have been built at least once
final PaneDisplayMode currentDisplayMode = key.currentState.displayMode;
The app bar action no longer overflow when minimal pane/compact overlay is open (#361)
Update AutoSuggestBox
:
Acrylic
, but it can be disabled using DisableAcrylic
TextChangedReason.suggestionChoosen
is now called properlyUpdated TextBox
:
TextBox
colors were updated to match the Win 11 design.Acrylic
. Its items were also updatedUpdated pickers (#406):
selected
is null, a placeholder text is shown (#306)hour
, minute
, AM
, PM
, month
, day
and year
..hourPlaceholder
, .minutePlaceholder
, .amText
, .pmText
from TimePicker
. It was replaced, respectivelly, by the hour
, minute
, AM
, PM
localization messagesDatePicker
, it's now possible to change the order of the fields:DatePicker(
...,
fieldOrder: [
DatePickerField.day,
DatePickerField.month,
DatePickerField.year,
],
)
The fields are ordered based on the current locale by default
DatePicker
, the day and year fields are now formatted based on the current locale (getDateOrderFromLocale
)Update Slider
(#405):
.thumbRadius
and .trackHeight
to SliderThemeData
TextBox
review by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/352
AutoSuggestBox.form
by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/353
trackColor
and add inner padding
for Scrollbar by @bdlukaa in https://github.com/bdlukaa/fluent_ui/pull/356
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.12.0...v4.0.0-pre.3
Published by bdlukaa over 2 years ago
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.11.1...v3.12.0
Published by bdlukaa over 2 years ago
TextButton
use the text button style by @devnought in https://github.com/bdlukaa/fluent_ui/pull/302
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.11.0...v3.11.1
Published by bdlukaa over 2 years ago
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v.3.10.3...v3.11.0
Published by bdlukaa over 2 years ago
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.10.1...v.3.10.3
Published by bdlukaa over 2 years ago
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v.3.10.0...v3.10.1
Published by bdlukaa over 2 years ago
icons.dart
formatting and its generation (#215)FilledButton
when disabled (209)useInheritedMediaQuery
property to FluentApp
(#211)TreeView
updates (#255):
shrinkWrap
to false
value
field)onSelectionChanged
callback, called when the selection is changedCommandBar
(#232)
DynamicOverflow
layout widget, for one-run horizontal or vertical layout with an overflow widgetHorizontalScrollView
helper widget, with mouse wheel horizontal scrollingcontent
widget no longer overflow in ContentDialog
(#242)Added InheritedNavigationView
Updated sticky indicator to match the latest Win 11 UI (#173)
BREAKING Renamed NavigationPane.indicatorBuilder
to NavigationPane.indicator
BREAKING Indicators are no longer built with functions
Before:
indicatorBuilder: ({
required BuildContext context,
required NavigationPane pane,
required Axis axis,
required Widget child,
}) {
if (pane.selected == null) return child;
assert(debugCheckHasFluentTheme(context));
final theme = NavigationPaneTheme.of(context);
final left = theme.iconPadding?.left ?? theme.labelPadding?.left ?? 0;
final right = theme.labelPadding?.right ?? theme.iconPadding?.right ?? 0;
return StickyNavigationIndicator(
index: pane.selected!,
pane: pane,
child: child,
color: theme.highlightColor,
curve: Curves.easeIn,
axis: axis,
topPadding: EdgeInsets.only(left: left, right: right),
);
}
Now:
indicator: StickyNavigationIndicator(
color: Colors.blue.lighter, // optional
),
initiallyExpanded
property on Expander
works properly (#252)Flyout.contentWidth
and added FlyoutContent.constraints
. Now the content will be automatically sized and layed out according to the placementFlyout.placement
which takes a FlyoutPlacement
Flyout.openMode
which takes a FlyoutOpenMode
Flyout.controller
is no longer required. If not provided, a local controller is created to handle the Flyout.openMode
settingsFlyoutController.open
is now a functionFlyoutController.isOpen
, FlyoutController.isClosed
, FlyoutController.close()
, FlyoutController.open()
and FlyoutController.toggle()
Popup.contentHeight
Typography.standart
to Typography.fromBrightness
Typography
constructor to Typography.raw
const Color(0xE4000000)
display
, titleLarge
, title
and subtitle
TabWidthBehavior.sizeToContent
now works properly (#218)useInheritedMediaQuery
to FluentApp
by @henry2man in https://github.com/bdlukaa/fluent_ui/pull/211
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.9.1...v.3.10.0
Published by bdlukaa over 2 years ago
TextBox
updates: (#179)
style
propertydecoration
to the backgroundforegroundDecoration
and highlightColor
property. They can not be specified at the same timemaxLengthEnforeced
with maxLengthEnforcement
TextFormBox
AutoSuggestBox
updates:
DropDownButton
overlay (#182)NavigationPane
is not provided on NavigationView
(#187)NavigationAppBar.actions
are rendered on the top of the other widgets (#177)ComboBox
overlaymenuColor
for theme, which is now used by dropdown button, auto suggest box, tooltip and content dialogCard
and cardColor
for themeSelectableText
(#196)Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.9.0...v3.9.1
Published by bdlukaa over 2 years ago
BREAKING Renamed standartCurve
to standardCurve
BREAKING Completly rework DropDownButton
BREAKING Removed CheckboxThemeData.thirdStateIcon
Currently, there isn't a fluent icon that is close to the native icon. A local widget _ThirdStateDash
is used
Do not override material Theme
on FluentApp
(#155)
Slider thumb now doesn't change inner size if hovered while disabled
Uniform foreground color on Checkbox
Updated FilledButton
Style
ToggleButton
and FilledButton
now share the same style
ScaffoldPage.scrollable
and ScaffoldPage.withPadding
Ensure we use Typography.body
as the default text style on BaseButton
(#120)
Update ButtonThemeData.uncheckedInputColor
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.8.0...v3.9.0
Published by bdlukaa over 2 years ago
Tests (#142)
Added Material Theme to Fluent Theme Builder (#133)
NavigationView
updates BREAKING:
PaneItem
in top mode (#143)NavigationIndicator.end
and NavigationIndicator.sticky
Curves.easeIn
for sticky navigation indicator by defaultEntrancePageTransition
is now the correct page transition used when display mode is topPaneItem
when display mode is topNavigationPane.defaultNavigationIndicator
offsets
and sizes
with pane
in NavigationIndicator
Before:
pane: NavigationPane(
indicatorBuilder: ({
required BuildContext context,
/// The navigation pane corresponding to this indicator
required NavigationPane pane,
/// Corresponds to the current display mode. If top, Axis.vertical
/// is passed, otherwise Axis.vertical
Axis? axis,
/// Corresponds to the pane itself as a widget. The indicator is
/// rendered over the whole pane.
required Widget child,
}) {
if (pane.selected == null) return child;
assert(debugCheckHasFluentTheme(context));
final theme = NavigationPaneThemeData.of(context);
axis??= Axis.horizontal;
return EndNavigationIndicator(
index: pane.selected,
offsets: () => pane.effectiveItems.getPaneItemsOffsets (pane.paneKey),
sizes: pane.effectiveItems.getPaneItemsSizes,
child: child,
color: theme.highlightColor,
curve: theme.animationCurve ?? Curves.linear,
axis: axis,
);
},
),
Now:
pane: NavigationPane(
indicatorBuilder: ({
required BuildContext context,
/// The navigation pane corresponding to this indicator
required NavigationPane pane,
/// Corresponds to the current display mode. If top, Axis.vertical
/// is passed, otherwise Axis.vertical
required Axis axis,
/// Corresponds to the pane itself as a widget. The indicator is
/// rendered over the whole pane.
required Widget child,
}) {
if (pane.selected == null) return child;
assert(debugCheckHasFluentTheme(context));
final theme = NavigationPaneThemeData.of(context);
return EndNavigationIndicator(
index: pane.selected,
pane: pane,
child: child,
color: theme.highlightColor,
curve: theme.animationCurve ?? Curves.linear,
axis: axis,
);
},
),
Published by bdlukaa over 2 years ago
Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.6.0...v.3.7.0
Published by bdlukaa almost 3 years ago
TreeView
(#120)Tooltip.useMousePosition
Slider
and RatingBar
(#116)TabView
(#92)TabView
(#90)TabView
(#91)newTabLabel
, closeTabLabel
, scrollTabBackward
, scrollTabForward
to FluentLocalizations
TabView
's text when it's too long. Now it's clipped when overflow and line doesn't breakTabView.closeButtonVisibility
. Defaults to CloseButtonVisibilityMode.always
TabView.tabWidthBehavior
. Defaults to TabWidthBehavior.equal
TabView.header
and TabView.footer
Slider
's mouse cursor is now MouseCursor.defer
SmallIconButton
, which makes an IconButton
small if wrapped. It's used by TextBox
ButtonStyle.iconSize
AutoSuggestBox
updates:
FluentLocalizations.noResultsFoundLabel
. "No results found" is the default textitemBuilder
, sorter
, noResultsFound
, textBoxBuilder
, defaultNoResultsFound
and defaultTextBoxBuilder
onChanged
, trailingIcon
, clearButtonEnabled
and placeholder
controller
is now nullable. If null, an internal controller is cretedThemeData.inputMouseCursor
cursor
from DatePicker
, TimePicker
, ButtonStyle
, CheckboxThemeData
, RadioButtonThemeData
, SliderThemeData
, ToggleSwitchThemeData
, NavigationPaneThemeData
PaneDisplayMode
is top
triggerMode
and enableFeedback
to Tooltip
.Tooltip.dismissAllToolTips
Expander
now properly disposes its resourcesborderRadius
and shape
attributes to the Mica
widgetDropDownButton
(#85)NavigationAppBar.backgroundColor
is now applied correctly. (#100)DisableAcrylic
(#105)NavigationPane
width can now be customizable (#99)PaneItemAction
for NavigationPane
(#104)Full Changelog: https://github.com/bdlukaa/fluent_ui/compare/v3.5.0...v3.6.0
Published by bdlukaa almost 3 years ago
NavigationAppBar.backgroundColor
is now applied correctly. (#100)DisableAcrylic
(#105)NavigationPane
width can now be customizable (#99)PaneItemAction
for NavigationPane
(#104)ContentDialog
constraints can now be customizable (#86)DisableAcrylic
(#89)onReaorder null exception
(#88)InfoBadge
Expander
(#85)inputMouseCursor
is now MouseCursor.defer
NavigationView.contentShape
is now rendered at the foregroundPublished by bdlukaa almost 3 years ago
ProgressRing
now spins on the correct direction (https://github.com/bdlukaa/fluent_ui/issues/83)backwards
property to ProgressRing
FluentApp.builder
now works as expected (https://github.com/bdlukaa/fluent_ui/issues/84)NavigationPane.customPane
, which now gives you the ability to create custom panes for NavigationView
sizes
, offsets
and index
parameters from NavigationIndicatorBuilder
were replaced by pane
Published by bdlukaa about 3 years ago
_FluentTextSelectionControls
methods (#67)Published by bdlukaa about 3 years ago
Updated the package to match the Windows 11 design system.
ToggleButton
design.Button
design.RadioButton
design:ContentDialog
design.NavigationView
design:
useAcrylic
method was removed.Mica
, used by the new NavigationView
Tooltip.displayHorizontally
to true to enable it.Checkbox
designToggleSwitch
designScrollbar
designSlider
designInfoBar
designCombobox
, DatePicker
and TimePicker
)Published by bdlukaa over 3 years ago
Icons
are not used anymore. Use FluentIcons
instead.Acrylic
widget implementation (#47)useAcrylic
property from NavigationView
. Acrylic is now used by default.PaneDisplayMode.compact
has now a width of 40, not 50.SizeTransition
from TabView
.