UNPKG

@wordpress/block-editor

Version:
61 lines (48 loc) 1.65 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _store = require("../../store"); var _constants = require("../../store/constants"); /** * WordPress dependencies */ /** * Internal dependencies */ const withRegistryProvider = (0, _compose.createHigherOrderComponent)(WrappedComponent => { return (0, _data.withRegistry)(({ useSubRegistry = true, registry, ...props }) => { if (!useSubRegistry) { return (0, _element.createElement)(WrappedComponent, (0, _extends2.default)({ registry: registry }, props)); } const [subRegistry, setSubRegistry] = (0, _element.useState)(null); (0, _element.useEffect)(() => { const newRegistry = (0, _data.createRegistry)({}, registry); newRegistry.registerStore(_constants.STORE_NAME, _store.storeConfig); setSubRegistry(newRegistry); }, [registry]); if (!subRegistry) { return null; } return (0, _element.createElement)(_data.RegistryProvider, { value: subRegistry }, (0, _element.createElement)(WrappedComponent, (0, _extends2.default)({ registry: subRegistry }, props))); }); }, 'withRegistryProvider'); var _default = withRegistryProvider; exports.default = _default; //# sourceMappingURL=with-registry-provider.js.map