UNPKG

@wordpress/plugins

Version:
31 lines (29 loc) 1.11 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import { createContext } from '@wordpress/element'; import { createHigherOrderComponent } from '@wordpress/compose'; const { Consumer, Provider } = createContext({ name: null, icon: null }); export { Provider as PluginContextProvider }; /** * A Higher Order Component used to inject Plugin context to the * wrapped component. * * @param {Function} mapContextToProps Function called on every context change, * expected to return object of props to * merge with the component's own props. * * @return {WPComponent} Enhanced component with injected context as props. */ export const withPluginContext = mapContextToProps => createHigherOrderComponent(OriginalComponent => { return props => createElement(Consumer, null, context => createElement(OriginalComponent, _extends({}, props, mapContextToProps(context, props)))); }, 'withPluginContext'); //# sourceMappingURL=index.js.map