UNPKG

@gechiui/block-editor

Version:
63 lines (49 loc) 1.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@gechiui/element"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _data = require("@gechiui/data"); var _compose = require("@gechiui/compose"); var _store = require("../../store"); var _constants = require("../../store/constants"); /** * GeChiUI dependencies */ /** * Internal dependencies */ const withRegistryProvider = (0, _compose.createHigherOrderComponent)(WrappedComponent => { return (0, _data.withRegistry)(_ref => { let { useSubRegistry = true, registry, ...props } = _ref; 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