diff --git a/packages/block-library/src/cover/block.json b/packages/block-library/src/cover/block.json index 852b9ab30d1c9..76a16a517f132 100644 --- a/packages/block-library/src/cover/block.json +++ b/packages/block-library/src/cover/block.json @@ -86,7 +86,8 @@ "__experimentalDuotone": "> .wp-block-cover__image-background, > .wp-block-cover__video-background", "text": false, "background": false - } + }, + "__experimentalLayout": true }, "editorStyle": "wp-block-cover-editor", "style": "wp-block-cover" diff --git a/packages/block-library/src/cover/edit.js b/packages/block-library/src/cover/edit.js index ba63d4f28df73..b24aa32985677 100644 --- a/packages/block-library/src/cover/edit.js +++ b/packages/block-library/src/cover/edit.js @@ -328,6 +328,7 @@ function CoverEdit( { alt, allowedBlocks, templateLock, + layout = {}, } = attributes; const { gradientClass, @@ -618,6 +619,12 @@ function CoverEdit( { fontSize: hasFontSizes ? 'large' : undefined, } ); + const themeSupportsLayout = useSelect( ( select ) => { + return select( blockEditorStore ).getSettings()?.supportsLayout; + }, [] ); + const defaultLayout = useSetting( 'layout' ) || {}; + const usedLayout = !! layout && layout.inherit ? defaultLayout : layout; + const innerBlocksProps = useInnerBlocksProps( { className: 'wp-block-cover__inner-container', @@ -627,6 +634,7 @@ function CoverEdit( { templateInsertUpdatesSelection: true, allowedBlocks, templateLock, + __experimentalLayout: themeSupportsLayout ? usedLayout : undefined, } );