Skip to content

Releases: bdlukaa/fluent_ui

Input Update

25 Feb 18:25
Compare
Choose a tag to compare
  • TextBox updates: (#179)
    • Correctly apply the style property
    • Correctly apply decoration to the background
    • Added foregroundDecoration and highlightColor property. They can not be specified at the same time
    • BREAKING replaced maxLengthEnforeced with maxLengthEnforcement
  • 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 on NavigationView (#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 and cardColor for theme
  • Update fluent text controls and added support for SelectableText (#196)

What's Changed

New Contributors

Full Changelog: v3.9.0...v3.9.1

Fidelity

10 Feb 18:56
Compare
Choose a tag to compare

What's Changed

  • 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

New Contributors

Full Changelog: v3.8.0...v3.9.0

Flutter Favorite

03 Feb 19:13
Compare
Choose a tag to compare
  • Tests (#142)

  • Added Material Theme to Fluent Theme Builder (#133)

  • Add more customization options to PaneItem (#111, #144)

  • 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 and NavigationIndicator.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 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,
        );
      },
    ),

3.7.0

21 Jan 17:16
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v3.6.0...v.3.7.0

v3.6.0 - TabView update

26 Dec 02:25
Compare
Choose a tag to compare
  • Implement TreeView (#120)
  • Fix Tooltip.useMousePosition
  • Fix Slider and RatingBar (#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 to FluentLocalizations
  • Fix TabView's text when it's too long. Now it's clipped when overflow and line doesn't break
  • Added TabView.closeButtonVisibility. Defaults to CloseButtonVisibilityMode.always
  • Updated selected tab paint
  • Added TabView.tabWidthBehavior. Defaults to TabWidthBehavior.equal
  • Added TabView.header and TabView.footer
  • Slider's mouse cursor is now MouseCursor.defer
  • Added SmallIconButton, which makes an IconButton small if wrapped. It's used by TextBox
  • Added ButtonStyle.iconSize
  • BREAKING AutoSuggestBox updates:
    • Added FluentLocalizations.noResultsFoundLabel. "No results found" is the default text
    • Removed itemBuilder, sorter, noResultsFound, textBoxBuilder, defaultNoResultsFound and defaultTextBoxBuilder
    • Added onChanged, trailingIcon, clearButtonEnabled and placeholder
    • controller is now nullable. If null, an internal controller is creted

  • BREAKING Removed ThemeData.inputMouseCursor
  • BREAKING Removed cursor from DatePicker, TimePicker, ButtonStyle, CheckboxThemeData, RadioButtonThemeData, SliderThemeData, ToggleSwitchThemeData, NavigationPaneThemeData
  • Scrollbar is not longer shown if PaneDisplayMode is top
  • If open the compact pane, it's not always a overlay
  • Added triggerMode and enableFeedback to Tooltip.
  • Added Tooltip.dismissAllToolTips

  • Update inputs colors
  • Expander now properly disposes its resources
  • Add the borderRadius and shape attributes to the Mica widget
  • Implement DropDownButton (#85)

  • BREAKING Minimal Flutter version is now 2.8
  • NavigationAppBar.backgroundColor is now applied correctly. (#100)
  • ComboBox's Popup Acrylic can now be disabled if wrapped in a DisableAcrylic (#105)
  • NavigationPane width can now be customizable (#99)
  • Implement PaneItemAction for NavigationPane (#104)

What's Changed

New Contributors

Full Changelog: v3.5.0...v3.6.0

v3.5.0

09 Dec 13:24
Compare
Choose a tag to compare
  • BREAKING Minimal Flutter version is now 2.8
  • NavigationAppBar.backgroundColor is now applied correctly. (#100)
  • ComboBox's Popup Acrylic can now be disabled if wrapped in a DisableAcrylic (#105)
  • NavigationPane width can now be customizable (#99)
  • Implement PaneItemAction for NavigationPane (#104)
  • 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 now MouseCursor.defer
  • NavigationView.contentShape is now rendered at the foreground

Flexibility

22 Oct 18:18
Compare
Choose a tag to compare
  • ProgressRing now spins on the correct direction (#83)
  • Added the backwards property to ProgressRing
  • FluentApp.builder now works as expected (#84)
  • Implemented NavigationPane.customPane, which now gives you the ability to create custom panes for NavigationView
  • BREAKING sizes, offsets and index parameters from NavigationIndicatorBuilder were replaced by pane

3.3.0

12 Oct 13:43
Compare
Choose a tag to compare
  • Back button now isn't forced when using top navigation mode (#74)
  • PilButtonBar now accept 2 items (#66)
  • Added builder variant to NavigationBody.
  • Fixed content bug when AppBar was not supplied too NavigationView

Flutter 2.5.0

15 Sep 18:47
Compare
Choose a tag to compare
  • 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

Windows 11

24 Aug 18:38
Compare
Choose a tag to compare

Updated the package to match the Windows 11 design system.

  • 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.
  • Implemented Mica, used by the new NavigationView
  • 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 and TimePicker)