diff --git a/packages/block-editor/src/components/block-list/content.scss b/packages/block-editor/src/components/block-list/content.scss
index c8f24e7efcbd2f..36c737f9b9cc05 100644
--- a/packages/block-editor/src/components/block-list/content.scss
+++ b/packages/block-editor/src/components/block-list/content.scss
@@ -306,7 +306,7 @@ _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-b
}
}
-.is-root-container:not([inert]) .block-editor-block-list__block.is-reusable.is-selected .block-editor-block-list__block.has-editable-outline::after {
+.is-root-container:not([inert]) .block-editor-block-list__block.is-selected .block-editor-block-list__block.has-editable-outline::after {
animation-name: block-editor-is-editable__animation;
animation-duration: 0.8s;
animation-timing-function: ease-out;
diff --git a/packages/block-editor/src/components/block-patterns-list/index.js b/packages/block-editor/src/components/block-patterns-list/index.js
index b2af3456be7b0c..2c369f2b38c455 100644
--- a/packages/block-editor/src/components/block-patterns-list/index.js
+++ b/packages/block-editor/src/components/block-patterns-list/index.js
@@ -72,6 +72,7 @@ function BlockPattern( {
) {
clonedBlock.attributes.metadata.categories = [ category ];
}
+ clonedBlock.attributes.templateLock = 'contentOnly';
return clonedBlock;
} );
}, [ blocks, isDraggable, category ] );
diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js
index 629765315c1d6b..61eed01ed1e454 100644
--- a/packages/block-editor/src/components/inserter/menu.js
+++ b/packages/block-editor/src/components/inserter/menu.js
@@ -34,6 +34,7 @@ import { store as blockEditorStore } from '../../store';
import TabbedSidebar from '../tabbed-sidebar';
import { useZoomOut } from '../../hooks/use-zoom-out';
import { unlock } from '../../lock-unlock';
+import { cloneBlock } from '@wordpress/blocks';
const NOOP = () => {};
function InserterMenu(
@@ -122,6 +123,13 @@ function InserterMenu(
const onInsertPattern = useCallback(
( blocks, patternName ) => {
+ if ( blocks.length === 1 && blocks[ 0 ]?.name === 'core/group' ) {
+ blocks = [
+ cloneBlock( blocks[ 0 ], {
+ templateLock: 'contentOnly',
+ } ),
+ ];
+ }
onToggleInsertionPoint( false );
onInsertBlocks( blocks, { patternName } );
onSelect();
@@ -334,26 +342,26 @@ function InserterMenu(
closeButtonLabel={ __( 'Close block inserter' ) }
tabs={ [
{
- name: 'blocks',
- title: __( 'Blocks' ),
+ name: 'patterns',
+ title: __( 'Patterns' ),
panel: (
<>
{ inserterSearch }
- { selectedTab === 'blocks' &&
+ { selectedTab === 'patterns' &&
! delayedFilterValue &&
- blocksTab }
+ patternsTab }
>
),
},
{
- name: 'patterns',
- title: __( 'Patterns' ),
+ name: 'blocks',
+ title: __( 'Blocks' ),
panel: (
<>
{ inserterSearch }
- { selectedTab === 'patterns' &&
+ { selectedTab === 'blocks' &&
! delayedFilterValue &&
- patternsTab }
+ blocksTab }
>
),
},
diff --git a/packages/block-editor/src/hooks/content-lock-ui.js b/packages/block-editor/src/hooks/content-lock-ui.js
index 7cca4b325b09d7..b820b67561419d 100644
--- a/packages/block-editor/src/hooks/content-lock-ui.js
+++ b/packages/block-editor/src/hooks/content-lock-ui.js
@@ -66,21 +66,15 @@ function ContentLockControlsPure( { clientId, isSelected } ) {
>
) }
{ showStartEditingAsBlocks && (
-
- { ( { selectedClientIds, onClose } ) =>
- selectedClientIds.length === 1 &&
- selectedClientIds[ 0 ] === clientId && (
-
- )
- }
-
+
+ {
+ modifyContentLockBlock( clientId );
+ } }
+ >
+ { __( 'Edit' ) }
+
+
) }
>
);