UNPKG

@gechiui/block-editor

Version:
32 lines (24 loc) 884 B
/** * GeChiUI dependencies */ import { useDispatch } from '@gechiui/data'; import { useEffect } from '@gechiui/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('@gechiui/data').GCDataRegistry} GCDataRegistry */ 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 <BlockRefsProvider>{ children }</BlockRefsProvider>; } export default withRegistryProvider( BlockEditorProvider );