diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-includes/js/dist/plugins.js --- a/wp/wp-includes/js/dist/plugins.js Thu Sep 29 08:06:27 2022 +0200 +++ b/wp/wp-includes/js/dist/plugins.js Fri Sep 05 18:40:08 2025 +0200 @@ -1,9 +1,66 @@ -/******/ (function() { // webpackBootstrap -/******/ var __webpack_modules__ = ({ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ // The require scope +/******/ var __webpack_require__ = {}; +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/compat get default export */ +/******/ (() => { +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = (module) => { +/******/ var getter = module && module.__esModule ? +/******/ () => (module['default']) : +/******/ () => (module); +/******/ __webpack_require__.d(getter, { a: getter }); +/******/ return getter; +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); -/***/ 9756: -/***/ (function(module) { +// EXPORTS +__webpack_require__.d(__webpack_exports__, { + PluginArea: () => (/* reexport */ plugin_area), + getPlugin: () => (/* reexport */ getPlugin), + getPlugins: () => (/* reexport */ getPlugins), + registerPlugin: () => (/* reexport */ registerPlugin), + unregisterPlugin: () => (/* reexport */ unregisterPlugin), + usePluginContext: () => (/* reexport */ usePluginContext), + withPluginContext: () => (/* reexport */ withPluginContext) +}); +;// CONCATENATED MODULE: ./node_modules/memize/dist/index.js /** * Memize options object. * @@ -36,14 +93,14 @@ * Accepts a function to be memoized, and returns a new memoized function, with * optional options. * - * @template {Function} F + * @template {(...args: any[]) => any} F * * @param {F} fn Function to memoize. * @param {MemizeOptions} [options] Options object. * - * @return {F & MemizeMemoizedFunction} Memoized function. + * @return {((...args: Parameters) => ReturnType) & MemizeMemoizedFunction} Memoized function. */ -function memize( fn, options ) { +function memize(fn, options) { var size = 0; /** @type {?MemizeCacheNode|undefined} */ @@ -54,12 +111,13 @@ options = options || {}; - function memoized( /* ...args */ ) { + function memoized(/* ...args */) { var node = head, len = arguments.length, - args, i; + args, + i; - searchCache: while ( node ) { + searchCache: while (node) { // Perform a shallow equality test to confirm that whether the node // under test is a candidate for the arguments passed. Two arrays // are shallowly equal if their length matches and each entry is @@ -67,14 +125,14 @@ // function which could incur an arguments leaking deoptimization. // Check whether node arguments match arguments length - if ( node.args.length !== arguments.length ) { + if (node.args.length !== arguments.length) { node = node.next; continue; } // Check whether node arguments match arguments values - for ( i = 0; i < len; i++ ) { - if ( node.args[ i ] !== arguments[ i ] ) { + for (i = 0; i < len; i++) { + if (node.args[i] !== arguments[i]) { node = node.next; continue searchCache; } @@ -83,23 +141,23 @@ // At this point we can assume we've found a match // Surface matched node to head if not already - if ( node !== head ) { + if (node !== head) { // As tail, shift to previous. Must only shift if not also // head, since if both head and tail, there is no previous. - if ( node === tail ) { + if (node === tail) { tail = node.prev; } // Adjust siblings to point to each other. If node was tail, // this also handles new tail's empty `next` assignment. - /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; - if ( node.next ) { + /** @type {MemizeCacheNode} */ (node.prev).next = node.next; + if (node.next) { node.next.prev = node.prev; } node.next = head; node.prev = null; - /** @type {MemizeCacheNode} */ ( head ).prev = node; + /** @type {MemizeCacheNode} */ (head).prev = node; head = node; } @@ -110,23 +168,23 @@ // No cached value found. Continue to insertion phase: // Create a copy of arguments (avoid leaking deoptimization) - args = new Array( len ); - for ( i = 0; i < len; i++ ) { - args[ i ] = arguments[ i ]; + args = new Array(len); + for (i = 0; i < len; i++) { + args[i] = arguments[i]; } node = { args: args, // Generate the result from original function - val: fn.apply( null, args ), + val: fn.apply(null, args), }; // Don't need to check whether node is already head, since it would // have been returned above already if it was // Shift existing head down list - if ( head ) { + if (head) { head.prev = node; node.next = head; } else { @@ -135,9 +193,9 @@ } // Trim tail if we're reached max size and are pending cache insertion - if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { - tail = /** @type {MemizeCacheNode} */ ( tail ).prev; - /** @type {MemizeCacheNode} */ ( tail ).next = null; + if (size === /** @type {MemizeOptions} */ (options).maxSize) { + tail = /** @type {MemizeCacheNode} */ (tail).prev; + /** @type {MemizeCacheNode} */ (tail).next = null; } else { size++; } @@ -147,14 +205,12 @@ return node.val; } - memoized.clear = function() { + memoized.clear = function () { head = null; tail = null; size = 0; }; - if ( false ) {} - // Ignore reason: There's not a clear solution to create an intersection of // the function with additional properties, where the goal is to retain the // function signature of the incoming argument and add control properties @@ -164,154 +220,62 @@ return memoized; } -module.exports = memize; -/***/ }) - -/******/ }); -/************************************************************************/ -/******/ // The module cache -/******/ var __webpack_module_cache__ = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ // Check if module is in cache -/******/ var cachedModule = __webpack_module_cache__[moduleId]; -/******/ if (cachedModule !== undefined) { -/******/ return cachedModule.exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = __webpack_module_cache__[moduleId] = { -/******/ // no module.id needed -/******/ // no module.loaded needed -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/************************************************************************/ -/******/ /* webpack/runtime/compat get default export */ -/******/ !function() { -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function() { return module['default']; } : -/******/ function() { return module; }; -/******/ __webpack_require__.d(getter, { a: getter }); -/******/ return getter; -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/define property getters */ -/******/ !function() { -/******/ // define getter functions for harmony exports -/******/ __webpack_require__.d = function(exports, definition) { -/******/ for(var key in definition) { -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); -/******/ } -/******/ } -/******/ }; -/******/ }(); -/******/ -/******/ /* webpack/runtime/hasOwnProperty shorthand */ -/******/ !function() { -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } -/******/ }(); -/******/ -/******/ /* webpack/runtime/make namespace object */ -/******/ !function() { -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ }(); -/******/ -/************************************************************************/ -var __webpack_exports__ = {}; -// This entry need to be wrapped in an IIFE because it need to be in strict mode. -!function() { -"use strict"; -// ESM COMPAT FLAG -__webpack_require__.r(__webpack_exports__); - -// EXPORTS -__webpack_require__.d(__webpack_exports__, { - "PluginArea": function() { return /* reexport */ plugin_area; }, - "getPlugin": function() { return /* reexport */ getPlugin; }, - "getPlugins": function() { return /* reexport */ getPlugins; }, - "registerPlugin": function() { return /* reexport */ registerPlugin; }, - "unregisterPlugin": function() { return /* reexport */ unregisterPlugin; }, - "withPluginContext": function() { return /* reexport */ withPluginContext; } -}); - ;// CONCATENATED MODULE: external ["wp","element"] -var external_wp_element_namespaceObject = window["wp"]["element"]; -;// CONCATENATED MODULE: external "lodash" -var external_lodash_namespaceObject = window["lodash"]; -// EXTERNAL MODULE: ./node_modules/memize/index.js -var memize = __webpack_require__(9756); -var memize_default = /*#__PURE__*/__webpack_require__.n(memize); +const external_wp_element_namespaceObject = window["wp"]["element"]; ;// CONCATENATED MODULE: external ["wp","hooks"] -var external_wp_hooks_namespaceObject = window["wp"]["hooks"]; -;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js -function _extends() { - _extends = Object.assign ? Object.assign.bind() : function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; - }; - return _extends.apply(this, arguments); -} +const external_wp_hooks_namespaceObject = window["wp"]["hooks"]; +;// CONCATENATED MODULE: external ["wp","isShallowEqual"] +const external_wp_isShallowEqual_namespaceObject = window["wp"]["isShallowEqual"]; +var external_wp_isShallowEqual_default = /*#__PURE__*/__webpack_require__.n(external_wp_isShallowEqual_namespaceObject); ;// CONCATENATED MODULE: external ["wp","compose"] -var external_wp_compose_namespaceObject = window["wp"]["compose"]; +const external_wp_compose_namespaceObject = window["wp"]["compose"]; +;// CONCATENATED MODULE: external "ReactJSXRuntime" +const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-context/index.js - - - /** * WordPress dependencies */ -const { - Consumer, - Provider -} = (0,external_wp_element_namespaceObject.createContext)({ + +/** + * Internal dependencies + */ + +const Context = (0,external_wp_element_namespaceObject.createContext)({ name: null, icon: null }); +const PluginContextProvider = Context.Provider; + +/** + * A hook that returns the plugin context. + * + * @return {PluginContext} Plugin context + */ +function usePluginContext() { + return (0,external_wp_element_namespaceObject.useContext)(Context); +} /** * 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. + * @param 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. + * @return {Component} Enhanced component with injected context as props. */ - const withPluginContext = mapContextToProps => (0,external_wp_compose_namespaceObject.createHigherOrderComponent)(OriginalComponent => { - return props => (0,external_wp_element_namespaceObject.createElement)(Consumer, null, context => (0,external_wp_element_namespaceObject.createElement)(OriginalComponent, _extends({}, props, mapContextToProps(context, props)))); + return props => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Context.Consumer, { + children: context => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(OriginalComponent, { + ...props, + ...mapContextToProps(context, props) + }) + }); }, 'withPluginContext'); ;// CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-error-boundary/index.js @@ -320,110 +284,95 @@ */ class PluginErrorBoundary extends external_wp_element_namespaceObject.Component { + /** + * @param {Object} props + */ constructor(props) { super(props); this.state = { hasError: false }; } - static getDerivedStateFromError() { return { hasError: true }; } + /** + * @param {Error} error Error object passed by React. + */ componentDidCatch(error) { const { name, onError } = this.props; - if (onError) { onError(name, error); } } - render() { if (!this.state.hasError) { return this.props.children; } - return null; } - } ;// CONCATENATED MODULE: external ["wp","primitives"] -var external_wp_primitives_namespaceObject = window["wp"]["primitives"]; +const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plugins.js - - /** * WordPress dependencies */ -const plugins = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { + +const plugins = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { - d: "M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z" -})); -/* harmony default export */ var library_plugins = (plugins); + viewBox: "0 0 24 24", + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { + d: "M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z" + }) +}); +/* harmony default export */ const library_plugins = (plugins); ;// CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/api/index.js /* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */ +/** + * External dependencies + */ /** * WordPress dependencies */ -/** - * External dependencies - */ - /** * Defined behavior of a plugin type. - * - * @typedef {Object} WPPlugin - * - * @property {string} name A string identifying the plugin. Must be - * unique across all registered plugins. - * @property {string|WPElement|Function} [icon] An icon to be shown in the UI. It can - * be a slug of the Dashicon, or an element - * (or function returning an element) if you - * choose to render your own SVG. - * @property {Function} render A component containing the UI elements - * to be rendered. - * @property {string} [scope] The optional scope to be used when rendering inside - * a plugin area. No scope by default. */ /** * Plugin definitions keyed by plugin name. - * - * @type {Object.} */ +const api_plugins = {}; -const api_plugins = {}; /** * Registers a plugin to the editor. * - * @param {string} name A string identifying the plugin.Must be - * unique across all registered plugins. - * @param {WPPlugin} settings The settings for this plugin. + * @param name A string identifying the plugin. Must be + * unique across all registered plugins. + * @param settings The settings for this plugin. * * @example * ```js * // Using ES5 syntax - * var el = wp.element.createElement; + * var el = React.createElement; * var Fragment = wp.element.Fragment; - * var PluginSidebar = wp.editPost.PluginSidebar; - * var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem; + * var PluginSidebar = wp.editor.PluginSidebar; + * var PluginSidebarMoreMenuItem = wp.editor.PluginSidebarMoreMenuItem; * var registerPlugin = wp.plugins.registerPlugin; - * var moreIcon = wp.element.createElement( 'svg' ); //... svg element. + * var moreIcon = React.createElement( 'svg' ); //... svg element. * * function Component() { * return el( @@ -456,7 +405,7 @@ * @example * ```js * // Using ESNext syntax - * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post'; + * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/editor'; * import { registerPlugin } from '@wordpress/plugins'; * import { more } from '@wordpress/icons'; * @@ -483,52 +432,43 @@ * } ); * ``` * - * @return {WPPlugin} The final plugin settings object. + * @return The final plugin settings object. */ - function registerPlugin(name, settings) { if (typeof settings !== 'object') { console.error('No settings object provided!'); return null; } - if (typeof name !== 'string') { console.error('Plugin name must be string.'); return null; } - if (!/^[a-z][a-z0-9-]*$/.test(name)) { console.error('Plugin name must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-plugin".'); return null; } - if (api_plugins[name]) { console.error(`Plugin "${name}" is already registered.`); } - settings = (0,external_wp_hooks_namespaceObject.applyFilters)('plugins.registerPlugin', settings, name); const { render, scope } = settings; - - if (!(0,external_lodash_namespaceObject.isFunction)(render)) { + if (typeof render !== 'function') { console.error('The "render" property must be specified and must be a valid function.'); return null; } - if (scope) { if (typeof scope !== 'string') { console.error('Plugin scope must be string.'); return null; } - if (!/^[a-z][a-z0-9-]*$/.test(scope)) { console.error('Plugin scope must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-page".'); return null; } } - api_plugins[name] = { name, icon: library_plugins, @@ -537,10 +477,11 @@ (0,external_wp_hooks_namespaceObject.doAction)('plugins.pluginRegistered', settings, name); return settings; } + /** * Unregisters a plugin by name. * - * @param {string} name Plugin name. + * @param name Plugin name. * * @example * ```js @@ -558,48 +499,44 @@ * unregisterPlugin( 'plugin-name' ); * ``` * - * @return {?WPPlugin} The previous plugin settings object, if it has been - * successfully unregistered; otherwise `undefined`. + * @return The previous plugin settings object, if it has been + * successfully unregistered; otherwise `undefined`. */ - function unregisterPlugin(name) { if (!api_plugins[name]) { console.error('Plugin "' + name + '" is not registered.'); return; } - const oldPlugin = api_plugins[name]; delete api_plugins[name]; (0,external_wp_hooks_namespaceObject.doAction)('plugins.pluginUnregistered', oldPlugin, name); return oldPlugin; } + /** * Returns a registered plugin settings. * - * @param {string} name Plugin name. + * @param name Plugin name. * - * @return {?WPPlugin} Plugin setting. + * @return Plugin setting. */ - function getPlugin(name) { return api_plugins[name]; } + /** * Returns all registered plugins without a scope or for a given scope. * - * @param {string} [scope] The scope to be used when rendering inside - * a plugin area. No scope by default. + * @param scope The scope to be used when rendering inside + * a plugin area. No scope by default. * - * @return {WPPlugin[]} The list of plugins without a scope or for a given scope. + * @return The list of plugins without a scope or for a given scope. */ - function getPlugins(scope) { return Object.values(api_plugins).filter(plugin => plugin.scope === scope); } ;// CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-area/index.js - - /** * External dependencies */ @@ -611,6 +548,7 @@ + /** * Internal dependencies */ @@ -618,13 +556,21 @@ +const getPluginContext = memize((icon, name) => ({ + icon, + name +})); + /** * A component that renders all plugin fills in a hidden div. * + * @param props + * @param props.scope + * @param props.onError * @example * ```js * // Using ES5 syntax - * var el = wp.element.createElement; + * var el = React.createElement; * var PluginArea = wp.plugins.PluginArea; * * function Layout() { @@ -650,75 +596,52 @@ * ); * ``` * - * @return {WPComponent} The component to be rendered. + * @return {Component} The component to be rendered. */ - -class PluginArea extends external_wp_element_namespaceObject.Component { - constructor() { - super(...arguments); - this.setPlugins = this.setPlugins.bind(this); - this.memoizedContext = memize_default()((name, icon) => { - return { - name, - icon - }; - }); - this.state = this.getCurrentPluginsState(); - } - - getCurrentPluginsState() { +function PluginArea({ + scope, + onError +}) { + const store = (0,external_wp_element_namespaceObject.useMemo)(() => { + let lastValue = []; return { - plugins: (0,external_lodash_namespaceObject.map)(getPlugins(this.props.scope), _ref => { - let { - icon, - name, - render - } = _ref; - return { - Plugin: render, - context: this.memoizedContext(name, icon) + subscribe(listener) { + (0,external_wp_hooks_namespaceObject.addAction)('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered', listener); + (0,external_wp_hooks_namespaceObject.addAction)('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered', listener); + return () => { + (0,external_wp_hooks_namespaceObject.removeAction)('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered'); + (0,external_wp_hooks_namespaceObject.removeAction)('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered'); }; - }) + }, + getValue() { + const nextValue = getPlugins(scope); + if (!external_wp_isShallowEqual_default()(lastValue, nextValue)) { + lastValue = nextValue; + } + return lastValue; + } }; - } - - componentDidMount() { - (0,external_wp_hooks_namespaceObject.addAction)('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered', this.setPlugins); - (0,external_wp_hooks_namespaceObject.addAction)('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered', this.setPlugins); - } - - componentWillUnmount() { - (0,external_wp_hooks_namespaceObject.removeAction)('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered'); - (0,external_wp_hooks_namespaceObject.removeAction)('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered'); - } - - setPlugins() { - this.setState(this.getCurrentPluginsState); - } - - render() { - return (0,external_wp_element_namespaceObject.createElement)("div", { - style: { - display: 'none' - } - }, (0,external_lodash_namespaceObject.map)(this.state.plugins, _ref2 => { - let { - context, - Plugin - } = _ref2; - return (0,external_wp_element_namespaceObject.createElement)(Provider, { - key: context.name, - value: context - }, (0,external_wp_element_namespaceObject.createElement)(PluginErrorBoundary, { - name: context.name, - onError: this.props.onError - }, (0,external_wp_element_namespaceObject.createElement)(Plugin, null))); - })); - } - + }, [scope]); + const plugins = (0,external_wp_element_namespaceObject.useSyncExternalStore)(store.subscribe, store.getValue, store.getValue); + return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { + style: { + display: 'none' + }, + children: plugins.map(({ + icon, + name, + render: Plugin + }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PluginContextProvider, { + value: getPluginContext(icon, name), + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PluginErrorBoundary, { + name: name, + onError: onError, + children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Plugin, {}) + }) + }, name)) + }); } - -/* harmony default export */ var plugin_area = (PluginArea); +/* harmony default export */ const plugin_area = (PluginArea); ;// CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/index.js @@ -728,7 +651,6 @@ -}(); (window.wp = window.wp || {}).plugins = __webpack_exports__; /******/ })() ; \ No newline at end of file