diff --git a/CHANGELOG.md b/CHANGELOG.md index b46ec9dfb..53d0992a0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - Added `Tab.disabled` ([#904](https://github.com/bdlukaa/fluent_ui/issues/904)) - Correctly remove tooltip as soon as the mouse leaves the widget ([#905](https://github.com/bdlukaa/fluent_ui/issues/905)) - Add `NavigationPaneThemeData.overlayBackgroundColor`, which is displayed on overlays, such as minimal and compact pane overlays ([#903](https://github.com/bdlukaa/fluent_ui/pull/903)) +- Do not show `PaneItem.infoBadge` and `PaneItem.trailing` while the pane is transitioning ([#906](https://github.com/bdlukaa/fluent_ui/issues/906)) ## 4.7.1 diff --git a/lib/src/controls/navigation/navigation_view/pane.dart b/lib/src/controls/navigation/navigation_view/pane.dart index d3c39724a..f98ffdbfa 100644 --- a/lib/src/controls/navigation/navigation_view/pane.dart +++ b/lib/src/controls/navigation/navigation_view/pane.dart @@ -1308,6 +1308,7 @@ class _OpenNavigationPaneState extends State<_OpenNavigationPane> ), child: DefaultTextStyle.merge( style: theme.itemHeaderTextStyle, + maxLines: 1, child: widget.pane.header!, ), ), diff --git a/lib/src/controls/navigation/navigation_view/pane_items.dart b/lib/src/controls/navigation/navigation_view/pane_items.dart index ec626124c..133c0af77 100644 --- a/lib/src/controls/navigation/navigation_view/pane_items.dart +++ b/lib/src/controls/navigation/navigation_view/pane_items.dart @@ -236,6 +236,8 @@ class PaneItem extends NavigationPaneItem { ); case PaneDisplayMode.minimal: case PaneDisplayMode.open: + final shouldShowTrailing = !(maybeBody?.isTransitioning ?? false); + return ConstrainedBox( key: itemKey, constraints: const BoxConstraints( @@ -250,16 +252,18 @@ class PaneItem extends NavigationPaneItem { ), ), Expanded(child: textResult), - if (infoBadge != null) - Padding( - padding: const EdgeInsetsDirectional.only(end: 8.0), - child: infoBadge!, - ), - if (trailing != null) - IconTheme.merge( - data: const IconThemeData(size: 16.0), - child: trailing!, - ), + if (shouldShowTrailing) ...[ + if (infoBadge != null) + Padding( + padding: const EdgeInsetsDirectional.only(end: 8.0), + child: infoBadge!, + ), + if (trailing != null) + IconTheme.merge( + data: const IconThemeData(size: 16.0), + child: trailing!, + ), + ], ]), ); case PaneDisplayMode.top: diff --git a/lib/src/controls/navigation/navigation_view/view.dart b/lib/src/controls/navigation/navigation_view/view.dart index b0bdbf4a2..2b228ac45 100644 --- a/lib/src/controls/navigation/navigation_view/view.dart +++ b/lib/src/controls/navigation/navigation_view/view.dart @@ -371,8 +371,6 @@ class NavigationViewState extends State { return minimalLeading; } - print(_isTransitioning); - return LayoutBuilder(builder: (context, consts) { var displayMode = widget.pane?.displayMode ?? PaneDisplayMode.auto;