Skip to content

Releases: bdlukaa/fluent_ui

v4.10.0 - Flutter 3.27

13 Dec 18:12
1306c53
Compare
Choose a tag to compare
  • fix: Add missing properties (closeIconSize, closeButtonStyle) in debugFillProperties and InfoBarThemeData.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 of Color in NavigationAppBar (#1118)

  • feat: Add EditableComboBox.inputFormatters (#1041)

  • BREAKING feat: TextBox.decoration and TextBox.foregroundDecoration are now of type WidgetStateProperty (#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

New Contributors

Full Changelog: v4.9.2...v4.10.0

v4.9.2

09 Oct 11:41
Compare
Choose a tag to compare
  • feat: NavigationAppBar.leading now has a minimum width of kCompactNavigationPaneWidth instead of being fixed to this width (#1103)
  • feat: Add TabView.stripBuilder (#1106)
  • fix: Correctly apply EditableComboBox.style (#1121)
  • feat: Add BreadcrumbBar.chevronIconBuilder and BreadcrumbBar.chevronIconSize (#1111)
  • fix: Consider object translation on Menu Flyouts (#1104)
  • fix: Correctly disable DropDownButton items if onPressed is not provided (#1116)
  • feat: Add ToggleMenuFlyoutItem and RadioMenuFlyoutItem (#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

Full Changelog: v4.9.1...v4.9.2

v4.9.1 - Flutter 3.24

09 Aug 11:57
Compare
Choose a tag to compare
  • feat: ΒΉ NumberBox now supports precision greater than 4. Β² Add NumberBox.pattern, NumberBox.formatter, NumberBox.format (#1080)
  • fix: Resolved issue where PaneItem within PaneItemExpander remained accessible in NavigationPane compact mode (#1081)
  • fix: Correct number of days on DatePicker popup (#1049)
  • feat: Create PaneItemWidgetAdapter (#1087)
  • feat: Add maxWidth to TooltipThemeData 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

Full Changelog: v4.9.0...v4.9.1

4.9.0

30 Jun 13:09
Compare
Choose a tag to compare
  • fix: ΒΉ DropDownButton.closeAfterClick is now correctly applied. Β² Added MenuFlyoutItem.closeAfterClick, which defaults to true. (#1016)

  • fix: MenuFlyoutSubItem does not close when pressed (#1037)

  • fix: Make ScaffoldPage opaque (#1048)

  • fix: Scroll issue in DatePicker. (#1054)

  • feat: Add NumberBox.textInputAction and NumberBox.onEditingComplete (#1063)

  • fix: NumberBox does not calls a rebuild when it is already building (#1064)

  • feat: Add Tab.color, Tab.selectedColor and Tab.outlineColor to TabView (#1068)

  • feat: Added NavigationView.onItemPressed callback, called when the item is on tap (#1067)

  • fix: Mark MenuFlyoutItem as disabled when .onPressed is null (#1074)

  • BREAKING feat: Removed ButtonState, ButtonStates and their related classes. Use WidgetStateProperty, 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 extend Tab:

    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 and TabView.addIconBuilder. Use TabView.newTabIcon instead.

  • fix: TabView.closeDelayDuration default value is now 1 second.

New Contributors

Full Changelog: v4.8.0...v4.9.0

v4.8.0 - Bye deprecated

25 Nov 18:34
Compare
Choose a tag to compare

What's Changed

  • 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)

New Contributors

Full Changelog: v4.7.7...v4.8.0

v4.7.7

30 Oct 15:07
Compare
Choose a tag to compare

What's Changed

  • fix: ProgressRing and ProgressBar 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. Added ComboboxItem.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

Full Changelog: v4.7.6...v4.7.7

v4.7.6

08 Oct 13:15
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v4.7.4...v4.7.6

Bug fixes

15 Sep 12:02
Compare
Choose a tag to compare
  • 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 on NumberBox (#933)
  • fix: expose more TextField properties on PasswordBox (#925)
  • fix: AutoSuggestBox.onOverlayVisibilityChanged now results in the correct state (#926)
  • fix: MenuFlyoutSubItem inherits the acrylic data from MenuFlyout (#932)
  • fix: MenuFlyoutSubItem inhertis its MenuFlyout parent decoration data (#931)
  • feat: Expose paneNavigationButtonIcon on NavigationPaneThemeData (#929)

Flutter 3.13

17 Aug 17:09
Compare
Choose a tag to compare
  • Add vertical support to CommandBar. (#872)
  • Deprecated SplitButtonBar and its related widgets. Use SplitButton or SplitButton.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 and Expander.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 and PaneItem.trailing while the pane is transitioning (#906)
  • fix: NavigationView.onOpenSearch is called when autoSuggestBoxReplacement 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 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)

New Contributors

Full Changelog: v4.7.0...v4.7.3

v4.7.0

07 Jul 04:21
Compare
Choose a tag to compare
  • 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 from FluentThemeData. 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 to DefaultToggleSwitchKnob (e15e89d)
  • Added 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)
  • Add PaneItemExpander.initiallyExpanded (#864)
  • Add NumberFormBox (#862)
  • PaneItem.onTap from PaneItemExpander.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 is single, 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 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)
  • Add TreeView.gesturesBuilder and TreeViewItem.gestures (#851)
  • Improved overall Semantics. Now, not every input is treated as a button (2fee45)
  • Deprecated all mobile widgets: BottomSheet, Snackbar, Chip and PillButtonBar - and all their related widgets. (c1cfe491)
  • BREAKING Removed previously deprecated fields (ee601649):
    • EditableComboboxFormField.value. Use EditableComboboxFormField.initialValue instead
    • DatePicker.startYear. Use DatePicker.startDate instead
    • DatePicker.endYear. Use DatePicker.endDate instead
    • TextButton. Use HyperlinkButton instead
    • TabView.wheelScroll. It is no longer used
    • ThemeData. Use FluentThemeData instead

New Contributors

Full Changelog: v4.6.0...v4.7.0