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 ); - onClose(); - } } - > - { __( 'Modify' ) } - - ) - } - + + { + modifyContentLockBlock( clientId ); + } } + > + { __( 'Edit' ) } + + ) } );