diff --git a/packages/block-editor/src/store/actions.js b/packages/block-editor/src/store/actions.js index f291fc7d67b93..fb0611c68bf9a 100644 --- a/packages/block-editor/src/store/actions.js +++ b/packages/block-editor/src/store/actions.js @@ -1440,7 +1440,17 @@ export const setNavigationMode = ( isNavigationMode = true ) => ( { * * @param {string} mode Editor mode */ -export const __unstableSetEditorMode = ( mode ) => ( { dispatch } ) => { +export const __unstableSetEditorMode = ( mode ) => ( { dispatch, select } ) => { + // When switching to exploded mode, we need to select to parent block + if ( mode === 'exploded' ) { + const firstSelectedClientId = select.getBlockSelectionStart(); + if ( firstSelectedClientId ) { + dispatch.selectBlock( + select.getBlockHierarchyRootClientId( firstSelectedClientId ) + ); + } + } + dispatch( { type: 'SET_EDITOR_MODE', mode } ); if ( mode === 'navigation' ) { diff --git a/packages/edit-site/src/components/header/index.js b/packages/edit-site/src/components/header/index.js index 791ab100ede39..76300877c918e 100644 --- a/packages/edit-site/src/components/header/index.js +++ b/packages/edit-site/src/components/header/index.js @@ -142,7 +142,10 @@ export default function Header( {