UNPKG

@wordpress/data

Version:
66 lines (61 loc) 1.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.RegistryConsumer = exports.Context = void 0; var _element = require("@wordpress/element"); var _defaultRegistry = _interopRequireDefault(require("../../default-registry")); /** * WordPress dependencies */ /** * Internal dependencies */ const Context = exports.Context = (0, _element.createContext)(_defaultRegistry.default); Context.displayName = 'RegistryProviderContext'; const { Consumer, Provider } = Context; /** * A custom react Context consumer exposing the provided `registry` to * children components. Used along with the RegistryProvider. * * You can read more about the react context api here: * https://react.dev/learn/passing-data-deeply-with-context#step-3-provide-the-context * * @example * ```js * import { * RegistryProvider, * RegistryConsumer, * createRegistry * } from '@wordpress/data'; * * const registry = createRegistry( {} ); * * const App = ( { props } ) => { * return <RegistryProvider value={ registry }> * <div>Hello There</div> * <RegistryConsumer> * { ( registry ) => ( * <ComponentUsingRegistry * { ...props } * registry={ registry } * ) } * </RegistryConsumer> * </RegistryProvider> * } * ``` */ const RegistryConsumer = exports.RegistryConsumer = Consumer; /** * A custom Context provider for exposing the provided `registry` to children * components via a consumer. * * See <a name="#RegistryConsumer">RegistryConsumer</a> documentation for * example. */ var _default = exports.default = Provider; //# sourceMappingURL=context.js.map