@@ -227,19 +227,19 @@ export const useAppLayout = (
227227 const navigationFocusControl = useAsyncFocusControl ( navigationOpen , navigationTriggerHide ) ;
228228 const splitPanelFocusControl = useSplitPanelFocusControl ( [ splitPanelPreferences , splitPanelOpen ] ) ;
229229
230- const onNavigationToggle = useStableCallback ( ( open : boolean ) => {
230+ const onNavigationToggle = useStableCallback ( ( { isOpen , autoFocus } : { isOpen : boolean ; autoFocus : boolean } ) => {
231231 setNavigationAnimationDisabled ( false ) ;
232- navigationFocusControl . setFocus ( ) ;
233- fireNonCancelableEvent ( onNavigationChange , { open } ) ;
232+ navigationFocusControl . setFocus ( { force : false , autoFocus } ) ;
233+ fireNonCancelableEvent ( onNavigationChange , { open : isOpen } ) ;
234234 } ) ;
235235
236236 useImperativeHandle ( forwardRef , ( ) => ( {
237- closeNavigationIfNecessary : ( ) => isMobile && onNavigationToggle ( false ) ,
237+ closeNavigationIfNecessary : ( ) => isMobile && onNavigationToggle ( { isOpen : false , autoFocus : true } ) ,
238238 openTools : ( ) => onToolsToggle ( true ) ,
239- focusToolsClose : ( ) => drawersFocusControl . setFocus ( true ) ,
240- focusActiveDrawer : ( ) => drawersFocusControl . setFocus ( true ) ,
239+ focusToolsClose : ( ) => drawersFocusControl . setFocus ( { force : true } ) ,
240+ focusActiveDrawer : ( ) => drawersFocusControl . setFocus ( { force : true } ) ,
241241 focusSplitPanel : ( ) => splitPanelFocusControl . setLastInteraction ( { type : 'open' } ) ,
242- focusNavigation : ( ) => navigationFocusControl . setFocus ( true ) ,
242+ focusNavigation : ( ) => navigationFocusControl . setFocus ( { force : true } ) ,
243243 } ) ) ;
244244
245245 const resolvedStickyNotifications = ! ! stickyNotifications && ! isMobile ;
@@ -322,7 +322,7 @@ export const useAppLayout = (
322322 setToolbarHeight,
323323 setNotificationsHeight,
324324 onSplitPanelToggle : onSplitPanelToggleHandler ,
325- onNavigationToggle,
325+ onNavigationToggle : isOpen => onNavigationToggle ( { isOpen , autoFocus : true } ) ,
326326 onActiveDrawerChange : onActiveDrawerChangeHandler ,
327327 onActiveDrawerResize,
328328 splitPanelAnimationDisabled,
@@ -377,7 +377,7 @@ export const useAppLayout = (
377377 useEffect ( ( ) => {
378378 // Close navigation drawer on mobile so that the main content is visible
379379 if ( isMobile ) {
380- onNavigationToggle ( false ) ;
380+ onNavigationToggle ( { isOpen : false , autoFocus : false } ) ;
381381 }
382382 // eslint-disable-next-line react-hooks/exhaustive-deps
383383 } , [ isMobile ] ) ;
@@ -414,7 +414,7 @@ export const useAppLayout = (
414414 const hasHorizontalScroll = scrollWidth > placement . inlineSize ;
415415 if ( hasHorizontalScroll ) {
416416 if ( ! navigationHide && navigationOpen ) {
417- onNavigationToggle ( false ) ;
417+ onNavigationToggle ( { isOpen : false , autoFocus : false } ) ;
418418 return ;
419419 }
420420
0 commit comments