diff --git a/package-lock.json b/package-lock.json index 8b559a2be5d8a..eb39684426b1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17471,6 +17471,7 @@ "@wordpress/media-utils": "file:packages/media-utils", "@wordpress/notices": "file:packages/notices", "@wordpress/plugins": "file:packages/plugins", + "@wordpress/reusable-blocks": "file:packages/reusable-blocks", "@wordpress/server-side-render": "file:packages/server-side-render", "@wordpress/url": "file:packages/url", "classnames": "^2.2.5", @@ -46054,7 +46055,7 @@ "dependencies": { "clone-deep": { "version": "0.2.4", - "resolved": "http://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.2.4.tgz", "integrity": "sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY=", "dev": true, "requires": { @@ -46088,7 +46089,7 @@ "dependencies": { "kind-of": { "version": "2.0.1", - "resolved": "http://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", "dev": true, "requires": { diff --git a/packages/edit-widgets/package.json b/packages/edit-widgets/package.json index d0142af0719cd..9a53fd059b136 100644 --- a/packages/edit-widgets/package.json +++ b/packages/edit-widgets/package.json @@ -47,6 +47,7 @@ "@wordpress/media-utils": "file:../media-utils", "@wordpress/notices": "file:../notices", "@wordpress/plugins": "file:../plugins", + "@wordpress/reusable-blocks": "file:../reusable-blocks", "@wordpress/server-side-render": "file:../server-side-render", "@wordpress/url": "file:../url", "classnames": "^2.2.5", diff --git a/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js b/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js index e55e3c4364c11..295bd5d4942a2 100644 --- a/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js +++ b/packages/edit-widgets/src/components/widget-areas-block-editor-provider/index.js @@ -19,6 +19,7 @@ import { BlockEditorKeyboardShortcuts, __unstableEditorStyles as EditorStyles, } from '@wordpress/block-editor'; +import { ReusableBlocksButtons } from '@wordpress/reusable-blocks'; /** * Internal dependencies @@ -29,15 +30,22 @@ import { buildWidgetAreasPostId, KIND, POST_TYPE } from '../../store/utils'; export default function WidgetAreasBlockEditorProvider( { blockEditorSettings, + children, ...props } ) { - const { hasUploadPermissions } = useSelect( ( select ) => ( { - hasUploadPermissions: defaultTo( - select( 'core' ).canUser( 'create', 'media' ), - true - ), - widgetAreas: select( 'core/edit-widgets' ).getWidgetAreas(), - } ) ); + const { hasUploadPermissions, reusableBlocks } = useSelect( + ( select ) => ( { + hasUploadPermissions: defaultTo( + select( 'core' ).canUser( 'create', 'media' ), + true + ), + widgetAreas: select( 'core/edit-widgets' ).getWidgetAreas(), + reusableBlocks: select( 'core' ).getEntityRecords( + 'postType', + 'wp_block' + ), + } ) + ); const settings = useMemo( () => { let mediaUploadBlockEditor; @@ -52,10 +60,11 @@ export default function WidgetAreasBlockEditorProvider( { } return { ...blockEditorSettings, + __experimentalReusableBlocks: reusableBlocks, mediaUpload: mediaUploadBlockEditor, templateLock: 'all', }; - }, [ blockEditorSettings, hasUploadPermissions ] ); + }, [ blockEditorSettings, hasUploadPermissions, reusableBlocks ] ); const [ blocks, onInput, onChange ] = useEntityBlockEditor( KIND, @@ -78,7 +87,10 @@ export default function WidgetAreasBlockEditorProvider( { settings={ settings } useSubRegistry={ false } { ...props } - /> + > + { children } + +