fluent_ui 4.0.0-pre.0 fluent_ui: ^4.0.0-pre.0 copied to clipboard
Implements Windows UI in Flutter. Based on the official documentation
Date format: DD/MM/YYYY
[4.0.0-pre.0] - [07/06/2022] #
- Show menu button on automatic minimal display mode (#350)
- BREAKING
Map<ShortcutActivator, Intent>?
is now the typed used onFluentApp.shortcuts
(#351) TextBox
review (#352):- Added
.initialValue
,.selectionControls
,.mouseCursor
,.textDirection
,.scribbleEnabled
and.enableIMEPersonalizedLearning
toTextBox
- Added
AutoFillClient
toTextBox
- Added
UnmanagedRestorationScope
toTextFormBox
- Added
- Added
AutoSuggestBox.form
, that usesTextFormBox
instead ofTextBox
(#353) - Do not overflow when text is too long on
Chip
(#322) - Add RTL support for
Chip
Card
updates:- Updated card's background colors
- BREAKING Removed
Card.elevation
- Added
Card.margin
, which is the margin around the card
- Updated
Combobox
andButton
designs - Updated
NavigationPane
behaviour. Now, if the header is null, the space it should have taken will be removed from the pane (display mode affected: minimal, open only) (#359) - Reviewed
DatePicker
andTimePicker
(#357)- Correctly apply dimensions and positions to both pickers
- Update the picker popup style and behavior
- Colors Update (#368):
- Added
ResourceDictionary
, which provides default colors to be used on components - (forms) Updated
Combobox
style. It now usesAcrylic
on the combobox popup menu - (buttons) Updated
Button
,FilledButton
,IconButton
andTextButton
styles - (toggleable inputs) Updated
Checkbox
,Chip
,RadioButton
,RatingBar
,ToggleButton
andToggleSwitch
- BREAKING Updated
Slider
:SliderThemeData.thumbColor
,SliderThemeData.activeColor
andSliderThemeData.inactiveColor
now are of typeButtonState<Color?>?
, which handles the button color on different states.SliderThemeData.disabledThumbColor
,SliderThemeData.disabledActiveColor
andSliderThemeData.disabledInactiveColor
were removed- Before:
SliderThemeData( thumbColor: Colors.green, ),
- Now:
SliderThemeData( // Apply Colors.green for all button states. Instead you can use ButtonState.resolveWith to use different values according to the current state thumbColor: ButtonState.all(Colors.green), ),
- BREAKING Updated
- (navigation) Updated
NavigationView
,PaneItem
andScaffoldPage
- Updated
TabView
and its tabs styles. AFocusBorder
is now used to display the focus highlight of the tabs - All combinations of
BorderRadius
can now be used onFocusBorder
- Updated
- (surfaces) Updated
Card
,ContentDialog
,InfoBar
,Expander
,Flyout
and `Divider``- Added
InfoBar.isIconVisible
- Added
- (indicators) Updated
ProgressBar
,ProgressRing
andInfoBadge
- (other) Added helper methods for
AccentColor
:AccentColor.defaultBrushFor
,AccentColor.secondaryBrushFor
andAccentColor.tertiaryBrushFor
- Added
[3.11.1] - [30/04/2022] #
- Reworked
DropDownButton
(#297):DropDownButton
now usesFlyout
andMenuFlyout
to display the menu- Added scrolling features and style to
MenuFlyout
MenuFlyout
content height is now properly calculated (Fixes #210)DropDownButtonItem
is deprecated.MenuFlyoutItem
should be used instead- Added
DropDownButton.buttonBuilder
, which is able to style the button as you wish.DropDownButton.buttonStyle
is now deprecated
DropDownButton( items: [...], // onOpen should be called to open the flyout. If onOpen is null, it means the button // should be disabled buttonBuilder: (context, onOpen) { return Button( ..., onPressed: onOpen, ); } )
TextButton
now usestextButtonStyle
instead ofoutlinedButtonStyle
- Add
TextFormBox.decoration
(#312)
[3.11.0] - Menu Flyouts - [23/04/2022] #
- Implemented
MenuFlyout
(#266)- Implemented
FlyoutPosition
, which controls where the flyout will be opened according to the child. It can beabove
,below
orside
FlyoutOpenMode.longHover
, which makes possible to open the flyout when the user performs a long hover- Added
Flyout.onOpen
andFlyout.onClose
. Some convenience callbacks that are called when the flyout is opened or closed, respectively - Implement
PopupContentSizeInfo
, which provides the information about the content size - Implemented
MenuFlyoutItem
,MenuFlyoutSeparator
andMenuFlyoutSubItem
. They are used insideMenuFlyout
to render the menu items horizontalPositionDependentBox
is now globally available for use as a top function
- Implemented
- Implemented overflow popup on
NavigationView
for top mode (#277) InfoBadge
now is correctly positioned on top mode (#296)
[3.10.3] - [15/04/2022] #
- Do not use duplicated
Scrollbar
s (#279) - Allow custom height on
NavigationPane
header. (#260) - Allow to define the minimal tab width (#282)
- Allow applying custom leading Widget to NavigationPane (#288)
TextFormBox.expands
now works properly ([#291]](https://github.com/bdlukaa/fluent_ui/pull/291))- Focus on
TextBox
is no longer duplicated (#290)
[3.10.1] - [06/04/2022] #
[3.10.0] - Localization, Indicators, CommandBar and Flyouts - [02/04/2022] #
- Improves
icons.dart
formatting and its generation (#215) - Use correct color on
FilledButton
when disabled (209) - Built-in support for new languages (#216):
- English
- Spanish (reviewed by @henry2man)
- French (reviewed by @WinXaito)
- Brazilian Portuguese (reviewed by @bdlukaa)
- Russian (reviewed by @raitonoberu)
- German (reviewed by @larsb24)
- Hindi (reviewed by @alexmercerind)
- Simplified Chinese (reviewed by @zacksleo)
- Add
useInheritedMediaQuery
property toFluentApp
(#211) TreeView
updates (#255):- Optional vertical scrolling by setting
shrinkWrap
tofalse
- TreeViewItem now has a custom primary key (
value
field) - Added
onSelectionChanged
callback, called when the selection is changed
- Optional vertical scrolling by setting
- Account for enabled on pressing states (#233)
- Implement
CommandBar
(#232)- Add
DynamicOverflow
layout widget, for one-run horizontal or vertical layout with an overflow widget - Add
HorizontalScrollView
helper widget, with mouse wheel horizontal scrolling
- Add
- Long
content
widget no longer overflow inContentDialog
(#242) - Content state is no longer lost when the pane display mode is changed (#250)
- BREAKING Update indicators (#248):
-
Added
InheritedNavigationView
-
Updated sticky indicator to match the latest Win 11 UI (#173)
-
BREAKING Renamed
NavigationPane.indicatorBuilder
toNavigationPane.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 onExpander
works properly (#252)- BREAKING Flyout changes:
- Removed
Flyout.contentWidth
and addedFlyoutContent.constraints
. Now the content will be automatically sized and layed out according to the placement - Added
Flyout.placement
which takes aFlyoutPlacement
- Added
Flyout.openMode
which takes aFlyoutOpenMode
Flyout.controller
is no longer required. If not provided, a local controller is created to handle theFlyout.openMode
settings- Breaking
FlyoutController.open
is now a function - Added
FlyoutController.isOpen
,FlyoutController.isClosed
,FlyoutController.close()
,FlyoutController.open()
andFlyoutController.toggle()
- Breaking Removed
Popup.contentHeight
- Removed
- BREAKING Updated typography (#261):
- Renamed
Typography.standart
toTypography.fromBrightness
- Renamed
Typography
constructor toTypography.raw
- Default color for dark mode is now
const Color(0xE4000000)
- Updated default font sizes for
display
,titleLarge
,title
andsubtitle
- Renamed
TabWidthBehavior.sizeToContent
now works properly (#218)
[3.9.1] - Input Update - [25/02/2022] #
TextBox
updates: (#179)- Correctly apply the
style
property - Correctly apply
decoration
to the background - Added
foregroundDecoration
andhighlightColor
property. They can not be specified at the same time - BREAKING replaced
maxLengthEnforeced
withmaxLengthEnforcement
- Correctly apply the
- Expose more propertied to
TextFormBox
AutoSuggestBox
updates:- Improved fidelity of the suggestions overlay expose more customization properties (#174)
- When a suggestion is picked, the overlay is automatically closed and the text box is unfocused
- Clear button now only shows when the text box is focused
- Add directionality support (#184)
- Correctly apply elevation for
DropDownButton
overlay (#182) - Show app bar even if
NavigationPane
is not provided onNavigationView
(#187) - Ensure
NavigationAppBar.actions
are rendered on the top of the other widgets (#177) - All Form widgets now have the same height by default
- Only show one scrollbar on
ComboBox
overlay - Fix opened pane opacity
- Added
menuColor
for theme, which is now used by dropdown button, auto suggest box, tooltip and content dialog - Added
Card
andcardColor
for theme - Update fluent text controls and added support for
SelectableText
(#196)
[3.9.0] - Fidelity - [10/02/2022] #
-
BREAKING Renamed
standartCurve
tostandardCurve
-
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
onFluentApp
(#155) -
Slider thumb now doesn't change inner size if hovered while disabled
-
Uniform foreground color on
Checkbox
-
Updated
FilledButton
Style -
ToggleButton
andFilledButton
now share the same style -
ScaffoldPage.scrollable
andScaffoldPage.withPadding
-
Ensure we use
Typography.body
as the default text style onBaseButton
(#120) -
Update
ButtonThemeData.uncheckedInputColor
[3.8.0] - Flutter Favorite - [03/02/2022] #
-
Tests (#142)
-
Added Material Theme to Fluent Theme Builder (#133)
-
NavigationView
updates BREAKING:- Properly add item key to
PaneItem
in top mode (#143) - Items bounds and positions are fetched when the item list is scrolled as well to prevent misalignment
- Added the helper functions
NavigationIndicator.end
andNavigationIndicator.sticky
- Use
Curves.easeIn
for sticky navigation indicator by default - Use the correct accent color for navigation indicators by default
EntrancePageTransition
is now the correct page transition used when display mode is top- Apply correct press effect for
PaneItem
when display mode is top - BREAKING Removed
NavigationPane.defaultNavigationIndicator
- BREAKING Replaced
offsets
andsizes
withpane
inNavigationPane
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, ); }, ),
- Properly add item key to
[3.7.0] - Breaking changes - [21/01/2022] #
- AutoSuggestBox: (#130)
- It gets opened automatically when it gets focus
- When an item is tapped, the cursor is positioned correctly at the end of the text
- BREAKING Now it's not possible to assign a type to
AutoSuggestBox
: Before:
Now:AutoSuggestBox<String>(...),
AutoSuggestBox(...),
- Added TextFormBox witch integrates with the Form widget. It has the ability to be validated and to show an error message.
- New FluentIcons gallery showcase in example project (#123)
- Updated FluentIcons as per 30/12/2021
- BREAKING Renamed
FluentIcons.close
toFluentIcons.chrome_close
- Fixed rounded corners on the ComboBox widget
- Fixed missing padding before close button on
TabView
(#122) - Readded tab minimal size for
equal
andsizeToContent
tab width behaviours (#122) TabView
's close button now usesSmallIconButton
- If a tab is partially off the view, it's scrolled until it's visible
- Fix
IconButton
's icon size - Update
OutlinedButton
,FilledButton
andTextButton
styles - Implement lazy tree view (#139)
[3.6.0] - TabView Update - [25/12/2021] #
- Implement
TreeView
(#120) - Fix
Tooltip.useMousePosition
- Fix
Slider
andRatingBar
(#116) - Fix scroll buttons when there are too many tabs in
TabView
(#92) - Fix button style on tab in
TabView
(#90) - Added Close on middle click on tabs in
TabView
(#91) - Added
newTabLabel
,closeTabLabel
,scrollTabBackward
,scrollTabForward
toFluentLocalizations
- Fix
TabView
's text when it's too long. Now it's clipped when overflow and line doesn't break - Added
TabView.closeButtonVisibility
. Defaults toCloseButtonVisibilityMode.always
- Updated selected tab paint
- Added
TabView.tabWidthBehavior
. Defaults toTabWidthBehavior.equal
- Added
TabView.header
andTabView.footer
Slider
's mouse cursor is now [MouseCursor.defer]- Added
SmallIconButton
, which makes an [IconButton] small if wrapped. It's used byTextBox
- Added
ButtonStyle.iconSize
- BREAKING
AutoSuggestBox
updates:- Added
FluentLocalizations.noResultsFoundLabel
. "No results found" is the default text - Removed
itemBuilder
,sorter
,noResultsFound
,textBoxBuilder
,defaultNoResultsFound
anddefaultTextBoxBuilder
- Added
onChanged
,trailingIcon
,clearButtonEnabled
andplaceholder
controller
is now nullable. If null, an internal controller is creted
- Added
[3.5.2] - [17/12/2021] #
- BREAKING Removed
ThemeData.inputMouseCursor
- BREAKING Removed
cursor
fromDatePicker
,TimePicker
,ButtonStyle
,CheckboxThemeData
,RadioButtonThemeData
,SliderThemeData
,ToggleSwitchThemeData
,NavigationPaneThemeData
- Scrollbar is not longer shown if
PaneDisplayMode
istop
- If open the compact pane, it's not always a overlay
- Added
triggerMode
andenableFeedback
toTooltip
. - Added
Tooltip.dismissAllToolTips
[3.5.1] - [15/12/2021] #
- Update inputs colors
Expander
now properly disposes its resources- Add the
borderRadius
andshape
attributes to theMica
widget - Implement
DropDownButton
(#85)
[3.5.0] - Flutter 2.8 - [09/12/2021] #
[3.4.1] - [08/11/2021] #
ContentDialog
constraints can now be customizable (#86)- Add possibility to disable acrylic by wrapping it in a
DisableAcrylic
(#89) - Fix
onReaorder null exception
(#88) - Implement
InfoBadge
- Implement
Expander
(#85) - Default
inputMouseCursor
is nowMouseCursor.defer
NavigationView.contentShape
is now rendered at the foreground
[3.4.0] - Flexibility - [22/10/2021] #
ProgressRing
now spins on the correct direction (#83)- Added the
backwards
property toProgressRing
FluentApp.builder
now works as expected (#84)- Implemented
NavigationPane.customPane
, which now gives you the ability to create custom panes forNavigationView
- BREAKING
sizes
,offsets
andindex
parameters fromNavigationIndicatorBuilder
were replaced bypane
[3.3.0] - [12/10/2021] #
[3.2.0] - Flutter 2.5.0 - [15/09/2021] #
- Added missing parameters in
_FluentTextSelectionControls
methods (#67) - Min Flutter version is now 2.5.0
- EXAMPLE APP Updated the url strategy on web.
- EXAMPLE APP Upgraded dependencies
- Format code according to flutter_lints
[3.1.0] - Texts and Fixes - [25/08/2021] #
- Updated Typography:
- BREAKING Renamed
header
->display
- BREAKING Renamed
subHeader
->titleLarge
- BREAKING Renamed
base
->bodyStrong
- Added
bodyLarge
- Updated font size and weight for most of the text styles
- BREAKING Renamed
- Update
SplitButton
design - Update
IconButton
design - Fixed
ToggleSwitch
not showing expanded thumb mode when dragging - BREAKING Remove
CheckboxListTile
,RadioListTile
andSwitchListTile
. Use the respective widget with thecontent
property
[3.0.0] - Windows 11 - [24/08/2021] #
- Update
ToggleButton
design. - Update
Button
design. - Update
RadioButton
design. - Update
ContentDialog
design. - Update
NavigationView
design:- BREAKING: Acryic is not used anymore. Consequently,
useAcrylic
method was removed.
- BREAKING: Acryic is not used anymore. Consequently,
- Implemented
Mica
, used by the newNavigationView
- Added support for horizontal tooltips. Set
Tooltip.displayHorizontally
to true to enable it. - Updated Acrylic to support the web
- Update
Checkbox
design - Update
ToggleSwitch
design - Update
Scrollbar
design - Update
Slider
design - Update
InfoBar
design - Update pickers design (
Combobox
,DatePicker
andTimePicker
)
[2.2.1] - [26/06/2021] #
[2.2.0] - BREAKING CHANGES - [25/06/2021] #
- BREAKING: Material
Icons
are not used anymore. UseFluentIcons
instead. - BREAKING: Reworked the
Acrylic
widget implementation (#47) - BREAKING: Removed the
useAcrylic
property fromNavigationView
. Acrylic is now used by default. PaneDisplayMode.compact
has now a width of 40, not 50.- Removed
SizeTransition
fromTabView
.
[2.1.1] - [03/06/2021] #
- Option to set a default font family on the theme data (
ThemeData.fontFamily
) indicatorBuilder
is correctly applied to the automatic display mode inNavigationView
- An overlay is open when the toggle button is pressed on the compact display mode (#43)
[2.1.0] - Mobile Update - [01/06/2021] #
- Implemented
BottomNavigation
- Implemented
BottomSheet
- Implemented
Chip
- Implemented
Snackbar
- Implemented
PillButtonBar
- New buttons variations:
FillButton
OutlinedButton
TextButton
PaneItem
s'build
method is now overridable. You can know customize how the items inNavigationView
should look like by overriding the method.- Fixed bug that navigation indicator was not showing on the first frame
- Fixed minimal tooltip not updating when closed the overlay
- EXAMPLE APP: Navigation indicator is now configurable on the
Settings
page
[2.0.3] - [28/05/2021] #
- Correctly apply items positions to pane indicators, regardless of external factors, such as navigation view app bar (#41)
- Improved
NavigationIndicator
s performance
[2.0.2] - [23/05/2021] #
-
BREAKING CHANGES: Reworked the theme api (#39):
-
Removed the theme extension (
context.theme
). UseFluentTheme.of(context)
instead -
ButtonState
is now a class that can receive a value. It now allows lerping between values, makingAnimatedFluentTheme
possible.Here's an example of how to migrate your code:
Before:
cursor: (_) => SystemMouseCursors.click,
Now:cursor: ButtonState.all(SystemMouseCursors.click),
-
All theme datas and
AccentColor
have now a lerp method, in order to makeAnimatedFluentTheme
possible. -
Implemented
AnimatedFluentTheme
, in order to replaceAnimateContainer
s all around the library -
Dedicated theme for each theme data (#37):
- IconTheme
- ButtonTheme
- RadioButtonTheme
- CheckboxTheme
- FocusTheme
- SplitButtonTheme
- ToggleButtonTheme
- ToggleSwitchTheme
- NavigationPaneTheme
- InfoBarTheme
- TooltipTheme
- DividerTheme
- ScrollbarTheme
-
DividerThemeData
now hasverticalMargin
andhorizontalMargin
instead of an axis callback. -
Updated button colors.
-
Removed
animationDuration
andanimationCurve
from theme datas (except fromNavigationPaneThemeData
). -
Renamed
copyWith
tomerge
on theme datas (except fromThemeData
) -
Fixed typo
standart
->standard
-
Implement
AnimatedAcrylic
-
[2.0.1] - [21/05/2021] #
- Minimal flutter version is now 2.2
- Implement
FluentScrollBehavior
, that automatically adds a scrollbar into listviews (#35) - Reworked the inputs api (#38):
- A input can have multiple states. Now, if the widget is focused and pressed at the same time, it doesn't lose its focused border.
- Now, the focus is not requested twice when the button is pressed, only once. This fixes a bug introduced in a previous version that combo boxes items we're not being focused.
- Semantics (acessibility) is now applied on all inputs
[2.0.0] - [20/05/2021] #
- New way to disable the acrylic blur effect. Just wrap the acrylic widget in a
NoAcrylicBlurEffect
to have it disabled. - Reworked the Navigation Panel from scratch (#31):
- The legacy
NavigationPanel
andScaffold
were removed. UseNavigationView
andScaffoldPage
instead - Implemented open, compact, top and minimal display modes.
- Custom Selected Indicators
- The legacy
- Implemented fluent localizations (#30)
[1.10.1] - [05/05/2021] #
- FIX Reworked the combo box widget to improve fidelity. (#25)
- FIX Improved
HoverButton
focus management. - FIX Reworked the tooltip widget. Now, if any mouse is connected, the tooltip is displaying according to the pointer position, not to the child's. (#26)
- FIX TabView is now scrollable if the size of the tabs overflow the width
[1.10.0] - #
- BREAKING
InfoHeader
was renamed toInfoLabel
. You can now set if the label will be rendered above the child or on the side of it. - FIX Fixed
RadioButton
inner color overlaping the border. - NEW
ThemeData.inputMouseCursor
- FIDELITY Switch thumb is now draggable. (Fixes #22)
- EXAMPLE Reworked the example app inputs page
[1.9.4] - [02/05/2021] #
- FIX
CheckboxListTile
,SwitchListTile
andRadioListTile
now doesn't focus its leading widget. - FIX
TabView
is now not scrollable - FIX Fixed
Acrylic
blur effect being disabled by default. - FIDELITY Improved
ContentDialog
transition fidelity - FIX Fixed
FocusBorder
for some widgets. It was affecting layout when it shouldn't - FIX
RatingBar
andSlider
weren't working due toFocusBorder
- NEW | FIDELITY New
Slider
thumb
[1.9.3] - [01/05/2021] #
- NEW
FocusBorder.renderOutside
. With this property, you can control if the FocusBorder will be rendered over the widget or outside of it. - FIX Fixed
RadioButton
s border when focused - FIX
Color.resolve
now doesn't throw a stack overflow error. - BREAKING Removed
Color.resolveFromBrightness
. This is only available onAccentColor
- EXAMPLE APP Hability to change the app accent color
- NEW
darkest
andlightest
colors variants inAccentColor
- FIX Fixed
InfoBar
's error icon. It now usesIcons.cancel_outlined
instead ofIcons.close
- NEW
NavigationPanel
now has aScrollbar
and thebottom
property is now properly styled if selected
[1.9.2] - [30/04/2021] #
- FIX
TabView
tabs can now be reordered (Fixes #10) - FIDELITY If a new
Tab
is added, its now animated - FIX
FocusBorder
now doesn't change the size of the widgets - BREAKING
buttonCursor
,uncheckedInputColor
andcheckedInputColor
are now moved toButtonThemeData
as static functions.
[1.9.1] - [29/04/2021] #
- FIX Fixed diagnostic tree. (Fixes #17)
- FIX | FIDELITY
TappableListTile
now changes its color when focused instead of having a border - FIDELITY Improved
Acrylic
's blur effect fidelity - FIX
Acrylic
's elevation was being applying margin - NEW
ThemeData.shadowColor
, which is now used byAcrylic
- NEW You can now globally disable the acrylic blur effect by changing
Acrylic.acrylicEnabled
[1.9.0] - #
The whole theme implementation was reworked on this change.
- BREAKING Renamed
Theme
toFluentTheme
- BREAKING All the properties in
FluentTheme
now can't be null - BREAKING Renamed all the
Style
occurrences toThemeData
- BREAKING
ThemeData.accentColor
is now anAccentColor
- FIX When providing a custom style to a tooltip, it's now correctly applied to
ThemeData.tooltipStyle
- FIX
debugCheckHasFluentTheme
has now a better error message - FIX
FluentApp
now doesn't throw an error if notheme
is provided - FIX Reworked
Scrollbar
to improve fidelity. - NEW Color extension methods:
Color.toAccentColor
andColor.basedOnLuminance
- NEW
Button.builder
[1.8.1] - [16/04/2021] #
- NEW In
TabView
, it's now possible use the following shortcuts ifTabView.shortcutsEnabled
istrue
(Follows this):Ctrl + F4
orCtrl + W
to close the current tabCtrl + T
to create a new tab1-8
to navigate to a tab with the pressed number9
to navigate to the last tab and navigate to the last tab
- NEW
IconButton.autofocus
,ToggleButton.autofocus
- BREAKING Renamed all the
semanticsLabel
tosemanticLabel
[1.8.0] - Color Update - [14/04/2021] #
- NEW Web version hosted at https://bdlukaa.github.io/fluent_ui
- NEW Colors showcase page in example app
- NEW Info Colors:
Colors.warningPrimaryColor
Colors.warningSecondaryColor
Colors.errorPrimaryColor
Colors.errorSecondaryColor
Colors.successPrimaryColor
Colors.successSecondaryColor
- FIX Reworked all the accent colors (
Colors.accentColors
) withdarkest
,dark
,normal
,light
andlighter
- BREAKING
Colors.blue
is now anAccentColor
[1.7.6] - [13/04/2021] #
- NEW
Checkbox.autofocus
- BREAKING
Button
refactor:- Removed
Button.icon
andButton.trailingIcon
- Renamed
Button.text
toButton.child
- Removed
- You can now disable the acrylic backdrop effect by setting
enabled
to false - NEW
NavigationPanelBody.animationCurve
andNavigationPanelBody.animationDuration
[1.7.5] - [13/04/2021] #
- NEW
Scrollbar
andScrollbarStyle
- Reworked
FluentApp
to not depend of material anymore.
[1.7.4] - [10/04/2021] #
- FIX Updated
Icon
widget to use Flutter's default icon widget - NEW Documentation
[1.7.3] - [07/04/2021] #
- FIX Improved
ListTile
sizing (#Spacing) - NEW
FocusStyle
and support for glow focus - NEW
RatingBar.starSpacing
[1.7.2] - [06/04/2021] #
- FIX Animation when using
NavigationPanelBody
now works as expected - NEW
CheckboxListTile
,SwitchListTile
andRadioListTile
- FIX It's now not possible to focus a disabled
TextBox
[1.7.1] - [06/04/2021] #
- FIX The mouse cursor in a disabled input is now
basic
instead offorbidden
- FIX
NavigationPanelBody
now doesn't use aIndexedStack
under the hood because it was interfering in the focus scope - FIX The color of the focus now is the
Style.inactiveColor
- FIX
RadioButton
's cursor was not being applied correctly - NEW
Button.toggle
- FIX The state provided by
HoverButton
was beingfocused
when it shouldn't be - FIX TimePicker showing wrong minute count. It should start from 00 and end in 59
- NEW
TimePicker.minuteIncrement
[1.7.0] - Focus Update - [05/04/2021] #
- FIXED Fixed the possibility to give a elevation lower than 0 in
Acrylic
- NEW It's now possible to change the rating of
RatingBar
using the keyboard arrows - NEW Now it's possible to navigate using the keyboard with all focusable widgets
[1.6.0] - BREAKING CHANGES - [03/04/2021] #
-
Added the missing
Diagnostics
-
Updated all the screenshots
-
BREAKING CHANGE Uses the material icon library now
DEVELOPER NOTE This was a hard choice, but the material icon library is a robust, bigger library. It contains all the icons the previous library has, and a few many more.
[1.5.0] - [02/04/2021] #
-
Added
Diagnostics
to many widgets -
NEW
AutoSuggestBox
(Follows this) -
NEW
Flyout
andFlyoutContent
(Folllows this) -
FIXED Popup was being shown off-screen.
DEVELOPER NOTE The solution for this was to make it act like a tooltip: only show the popup above or under the
child
. This was a hard choice, but the only viable option that would work on small screens/devices. This also madeFlyout
easier to implement. This should be changed when multi-window support is available. -
FIXED
DatePicker
incorrectly changing hour -
NEW
Colors.accentColors
-
Documentation about system_theme
-
BREAKING Removed
Pivot
because it's deprecated
[1.4.1] - Pickers Update - [30/03/2021] #
[1.4.0] - [28/03/2021] #
- NEW
InfoHeader
- NEW
ComboBox
(Follows this) - NEW
TappableListTile
- BREAKING Removed
DropdownButton
andButton.dropdown
[1.3.4] - [28/03/2021] #
- NEW Vertical Slider
[1.3.3] - [25/03/2021] #
- NEW Indeterminate
ProgressRing
(@raitonoberu) - NEW
ListTile
- DIAGNOSTICS Provide
Diagnostics
support to:Style
NavigationPanelStyle
TooltipStyle
[1.3.2] - Accessibility update - [24/03/2021] #
This version provides the fix for #5
Theme.of
can't be null anymore. UseTheme.maybeOf
for such- NEW
Style.inactiveBackgroundColor
- BREAKING Replaced
color
,border
,borderRadius
fromIconButtonStyle
todecoration
- DIAGNOSTICS Provide
Diagnostics
support to the following classes:- ButtonStyle
- Checkbox
- CheckboxStyle
- IconButtonStyle
- RadioButtonStyle
- RatingBar
- SplitButtonStyle
- ToggleButton
- ToggleButtonStyle
- ToggleSwitch
- ToggleSwitchStyle
- Slider
- SliderStyle
- Typography
- Divider
- DividerStyle
- Provide accessibility support to the following widgets:
- Button
- Checkbox
- IconButton
- RadioButton
- RatingBar
- Slider
- ToggleButton
- ToggleSwitch
- TabView
[1.3.1] - [23/03/2021] #
- FIX
IconButtonStyle
'siconStyle
now works properly - Improved
TabView
icon styling - NEW Indeterminate
ProgressBar
(@raitonoberu)
[1.2.5] - [21/03/2021] #
- FIX Fixed
InfoBar
's overflow
[1.2.4] - [21/03/2021] #
- BREAKING
RadioButton
'sselected
property was renamed tochecked
to match a single pattern between all the other widgets.
[1.2.3] - [19/03/2021] #
- NEW | EXAMPLE APP
Settings
screen - Improved theme changing
- FIX
FluentApp
doesn't lose its state anymore, possibiliting hot relaod. - NEW
showDialog
rework:showDialog
now can return data. (Fixes #2)showDialog.transitionBuilder
showDialog.useRootNavigator
showDialog.routeSettings
- It's no longer necessary to have the fluent theme to display dialogs using this function.
[1.2.2] - [17/03/2021] #
- BREAKING Removed
_regular
from the name of the icons. - NEW
InfoBar
(Follows this)
[1.2.1] - [16/03/2021] #
- NEW
Divider
[1.2.0] - Timing and easing - Page transitioning - [15/03/2021] #
- FIDELITY Improved
ToggleButton
fidelity - NEW
NavigationPanelBody
- NEW Page transitions
EntrancePageTransition
(#PageRefresh)DrillInPageTransition
(#Drill)HorizontalSlidePageTransition
(#HorizontalSlide)SuppressPageTransition
(#Supress)
- Add timing and easing to style. (Follows this)
- NEW
Style.fastAnimationDuration
(Defaults to 150ms) - NEW
Style.mediumAnimationDuration
(Defaults to 300ms) - NEW
Style.slowAnimationDuration
(Defaults to 500ms) - Default
animationCurve
is nowCurves.easeInOut
(standard) instead ofCurves.linear
- BREAKING Removed
Style.animationDuration
- NEW
- Refactored Navigation Panel
[1.1.0] - Fidelity update - [14/03/2021] #
[1.0.2] - Typography update - [11/03/2021] #
- NEW Typography
- Migrated all the widgets to use typography
- NEW Tooltip
- NEW Dark theme
- FIX Disabled button press effect if disabled
- FIX Grey color resulting in green color
[1.0.1+1] - [09/03/2021] #
- NEW Screenshots
[1.0.1] - [07/03/2021] #
- FIX
NavigationPanel
navigation index - FIX
Slider
's inactive color - FIDELITY Scale animation of button press
- FIDELITY Improved
Slider
label fidelity - NEW Split Button
[1.0.0] - [05/03/2021] #
- NEW Null-safety
- NEW New Icons Library
- NEW
NavigationPanelSectionHeader
andNavigationPanelTileSeparator
- BREAKING Removed
Snackbar
[0.0.9] - [03/03/2021] #
- Export the icons library
- NEW
TextBox
[0.0.8] - [01/03/2021] #
- NEW
ContentDialog
🎉 - NEW
RatingControl
🎉 - NEW
NavigationPanel
🎉 - Improved
Button
fidelity
[0.0.7] - [28/02/2021] #
- NEW
Slider
🎉 - Use physical model for elevation instead of box shadows
- Improved TODO
[0.0.6] - [27/02/2021] #
- FIXED Button now detect pressing
- FIXED
ToggleSwitch
default thumb is now animated - FIXED Improved
ToggleSwitch
fidelity FIXED Darker color for button press. - NEW THEMING
Style.activeColor
Style.inactiveColor
Style.disabledColor
Style.animationDuration
Style.animationCurve
[0.0.5] - [27/02/2021] #
[0.0.4] - [22/02/2021] #
- New fluent icons library: fluentui_icons
- Re-made checkbox with more fidelity
- Refactored the following widgets to follow the theme accent color:
Checkbox
ToggleSwitch
RadioButton
- Added accent colors to widget. Use this as a base
[0.0.3] - Theming update - [21/02/2021] #
- HIGHLIGHT A whole new documentation
- Scaffold now works as expected.
- Improved theming checking
- NEW
null
(thirdstate) design onCheckbox
. (Follows this)- Now you can use the
Decoration
to style the inputs
- BREAKING:
- Removed
Button.action
- Removed
Button.compound
- Removed
Button.primary
- Removed
Button.contextual
- Removed
AppBar
- Now the default theme uses accent color instead of a predefined color (Follows this)
- Removed
- FIXED:
ToggleSwitch
can NOT receive null values
[0.0.2] - [18/02/2021] #
- The whole library was rewritten following this
- Tooltip's background color is now opaque (Follows this)
- Dropdown button now works as expected
- FIXED:
- Snackbar now is dismissed even if pressing or hovering
- Margin is no longer used as part of the clickable button
- BREAKING:
- Renamed
Toggle
toToggleSwitch
(Follows this) - Removed
BottomNavigationBar
. It's recommended to use top navigation (pivots) - Removed
IconButton.menu
- Renamed
- NEW:
[0.0.1] #
- Initial release