Skip to content

Localization, Indicators, CommandBar and Flyouts

Compare
Choose a tag to compare
@bdlukaa bdlukaa released this 02 Apr 19:55
· 1490 commits to master since this release
  • Improves icons.dart formatting and its generation (#215)
  • Use correct color on FilledButton when disabled (209)
  • Built-in support for new languages (#216):
  • Add useInheritedMediaQuery property to FluentApp (#211)
  • TreeView updates (#255):
    • Optional vertical scrolling by setting shrinkWrap to false
    • TreeViewItem now has a custom primary key (value field)
    • Added onSelectionChanged callback, called when the selection is changed
  • 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
  • Long content widget no longer overflow in ContentDialog (#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 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)
  • BREAKING Flyout changes:
    • Removed Flyout.contentWidth and added FlyoutContent.constraints. Now the content will be automatically sized and layed out according to the placement
    • Added Flyout.placement which takes a FlyoutPlacement
    • Added 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 settings
    • Breaking FlyoutController.open is now a function
    • Added FlyoutController.isOpen, FlyoutController.isClosed, FlyoutController.close(), FlyoutController.open() and FlyoutController.toggle()
    • Breaking Removed Popup.contentHeight
  • BREAKING Updated typography (#261):
    • Renamed Typography.standart to Typography.fromBrightness
    • Renamed Typography constructor to Typography.raw
    • Default color for dark mode is now const Color(0xE4000000)
    • Updated default font sizes for display, titleLarge, title and subtitle
  • TabWidthBehavior.sizeToContent now works properly (#218)

What's Changed

New Contributors

Full Changelog: v3.9.1...v.3.10.0