@wordpress/block-editor
Version:
35 lines (30 loc) • 981 B
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { useDispatch } from '@wordpress/data';
import { useEffect } from '@wordpress/element';
/**
* Internal dependencies
*/
import withRegistryProvider from './with-registry-provider';
import useBlockSync from './use-block-sync';
import { store as blockEditorStore } from '../../store';
import { BlockRefsProvider } from './block-refs-provider';
/** @typedef {import('@wordpress/data').WPDataRegistry} WPDataRegistry */
function BlockEditorProvider(props) {
const {
children,
settings
} = props;
const {
updateSettings
} = useDispatch(blockEditorStore);
useEffect(() => {
updateSettings(settings);
}, [settings]); // Syncs the entity provider with changes in the block-editor store.
useBlockSync(props);
return createElement(BlockRefsProvider, null, children);
}
export default withRegistryProvider(BlockEditorProvider);
//# sourceMappingURL=index.js.map