ru-se.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

plugins.js (21129B)


      1 this["wp"] = this["wp"] || {}; this["wp"]["plugins"] =
      2 /******/ (function(modules) { // webpackBootstrap
      3 /******/ 	// The module cache
      4 /******/ 	var installedModules = {};
      5 /******/
      6 /******/ 	// The require function
      7 /******/ 	function __webpack_require__(moduleId) {
      8 /******/
      9 /******/ 		// Check if module is in cache
     10 /******/ 		if(installedModules[moduleId]) {
     11 /******/ 			return installedModules[moduleId].exports;
     12 /******/ 		}
     13 /******/ 		// Create a new module (and put it into the cache)
     14 /******/ 		var module = installedModules[moduleId] = {
     15 /******/ 			i: moduleId,
     16 /******/ 			l: false,
     17 /******/ 			exports: {}
     18 /******/ 		};
     19 /******/
     20 /******/ 		// Execute the module function
     21 /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
     22 /******/
     23 /******/ 		// Flag the module as loaded
     24 /******/ 		module.l = true;
     25 /******/
     26 /******/ 		// Return the exports of the module
     27 /******/ 		return module.exports;
     28 /******/ 	}
     29 /******/
     30 /******/
     31 /******/ 	// expose the modules object (__webpack_modules__)
     32 /******/ 	__webpack_require__.m = modules;
     33 /******/
     34 /******/ 	// expose the module cache
     35 /******/ 	__webpack_require__.c = installedModules;
     36 /******/
     37 /******/ 	// define getter function for harmony exports
     38 /******/ 	__webpack_require__.d = function(exports, name, getter) {
     39 /******/ 		if(!__webpack_require__.o(exports, name)) {
     40 /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
     41 /******/ 		}
     42 /******/ 	};
     43 /******/
     44 /******/ 	// define __esModule on exports
     45 /******/ 	__webpack_require__.r = function(exports) {
     46 /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     47 /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     48 /******/ 		}
     49 /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
     50 /******/ 	};
     51 /******/
     52 /******/ 	// create a fake namespace object
     53 /******/ 	// mode & 1: value is a module id, require it
     54 /******/ 	// mode & 2: merge all properties of value into the ns
     55 /******/ 	// mode & 4: return value when already ns object
     56 /******/ 	// mode & 8|1: behave like require
     57 /******/ 	__webpack_require__.t = function(value, mode) {
     58 /******/ 		if(mode & 1) value = __webpack_require__(value);
     59 /******/ 		if(mode & 8) return value;
     60 /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
     61 /******/ 		var ns = Object.create(null);
     62 /******/ 		__webpack_require__.r(ns);
     63 /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
     64 /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
     65 /******/ 		return ns;
     66 /******/ 	};
     67 /******/
     68 /******/ 	// getDefaultExport function for compatibility with non-harmony modules
     69 /******/ 	__webpack_require__.n = function(module) {
     70 /******/ 		var getter = module && module.__esModule ?
     71 /******/ 			function getDefault() { return module['default']; } :
     72 /******/ 			function getModuleExports() { return module; };
     73 /******/ 		__webpack_require__.d(getter, 'a', getter);
     74 /******/ 		return getter;
     75 /******/ 	};
     76 /******/
     77 /******/ 	// Object.prototype.hasOwnProperty.call
     78 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
     79 /******/
     80 /******/ 	// __webpack_public_path__
     81 /******/ 	__webpack_require__.p = "";
     82 /******/
     83 /******/
     84 /******/ 	// Load entry module and return exports
     85 /******/ 	return __webpack_require__(__webpack_require__.s = "ey5A");
     86 /******/ })
     87 /************************************************************************/
     88 /******/ ({
     89 
     90 /***/ "4eJC":
     91 /***/ (function(module, exports, __webpack_require__) {
     92 
     93 /**
     94  * Memize options object.
     95  *
     96  * @typedef MemizeOptions
     97  *
     98  * @property {number} [maxSize] Maximum size of the cache.
     99  */
    100 
    101 /**
    102  * Internal cache entry.
    103  *
    104  * @typedef MemizeCacheNode
    105  *
    106  * @property {?MemizeCacheNode|undefined} [prev] Previous node.
    107  * @property {?MemizeCacheNode|undefined} [next] Next node.
    108  * @property {Array<*>}                   args   Function arguments for cache
    109  *                                               entry.
    110  * @property {*}                          val    Function result.
    111  */
    112 
    113 /**
    114  * Properties of the enhanced function for controlling cache.
    115  *
    116  * @typedef MemizeMemoizedFunction
    117  *
    118  * @property {()=>void} clear Clear the cache.
    119  */
    120 
    121 /**
    122  * Accepts a function to be memoized, and returns a new memoized function, with
    123  * optional options.
    124  *
    125  * @template {Function} F
    126  *
    127  * @param {F}             fn        Function to memoize.
    128  * @param {MemizeOptions} [options] Options object.
    129  *
    130  * @return {F & MemizeMemoizedFunction} Memoized function.
    131  */
    132 function memize( fn, options ) {
    133 	var size = 0;
    134 
    135 	/** @type {?MemizeCacheNode|undefined} */
    136 	var head;
    137 
    138 	/** @type {?MemizeCacheNode|undefined} */
    139 	var tail;
    140 
    141 	options = options || {};
    142 
    143 	function memoized( /* ...args */ ) {
    144 		var node = head,
    145 			len = arguments.length,
    146 			args, i;
    147 
    148 		searchCache: while ( node ) {
    149 			// Perform a shallow equality test to confirm that whether the node
    150 			// under test is a candidate for the arguments passed. Two arrays
    151 			// are shallowly equal if their length matches and each entry is
    152 			// strictly equal between the two sets. Avoid abstracting to a
    153 			// function which could incur an arguments leaking deoptimization.
    154 
    155 			// Check whether node arguments match arguments length
    156 			if ( node.args.length !== arguments.length ) {
    157 				node = node.next;
    158 				continue;
    159 			}
    160 
    161 			// Check whether node arguments match arguments values
    162 			for ( i = 0; i < len; i++ ) {
    163 				if ( node.args[ i ] !== arguments[ i ] ) {
    164 					node = node.next;
    165 					continue searchCache;
    166 				}
    167 			}
    168 
    169 			// At this point we can assume we've found a match
    170 
    171 			// Surface matched node to head if not already
    172 			if ( node !== head ) {
    173 				// As tail, shift to previous. Must only shift if not also
    174 				// head, since if both head and tail, there is no previous.
    175 				if ( node === tail ) {
    176 					tail = node.prev;
    177 				}
    178 
    179 				// Adjust siblings to point to each other. If node was tail,
    180 				// this also handles new tail's empty `next` assignment.
    181 				/** @type {MemizeCacheNode} */ ( node.prev ).next = node.next;
    182 				if ( node.next ) {
    183 					node.next.prev = node.prev;
    184 				}
    185 
    186 				node.next = head;
    187 				node.prev = null;
    188 				/** @type {MemizeCacheNode} */ ( head ).prev = node;
    189 				head = node;
    190 			}
    191 
    192 			// Return immediately
    193 			return node.val;
    194 		}
    195 
    196 		// No cached value found. Continue to insertion phase:
    197 
    198 		// Create a copy of arguments (avoid leaking deoptimization)
    199 		args = new Array( len );
    200 		for ( i = 0; i < len; i++ ) {
    201 			args[ i ] = arguments[ i ];
    202 		}
    203 
    204 		node = {
    205 			args: args,
    206 
    207 			// Generate the result from original function
    208 			val: fn.apply( null, args ),
    209 		};
    210 
    211 		// Don't need to check whether node is already head, since it would
    212 		// have been returned above already if it was
    213 
    214 		// Shift existing head down list
    215 		if ( head ) {
    216 			head.prev = node;
    217 			node.next = head;
    218 		} else {
    219 			// If no head, follows that there's no tail (at initial or reset)
    220 			tail = node;
    221 		}
    222 
    223 		// Trim tail if we're reached max size and are pending cache insertion
    224 		if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) {
    225 			tail = /** @type {MemizeCacheNode} */ ( tail ).prev;
    226 			/** @type {MemizeCacheNode} */ ( tail ).next = null;
    227 		} else {
    228 			size++;
    229 		}
    230 
    231 		head = node;
    232 
    233 		return node.val;
    234 	}
    235 
    236 	memoized.clear = function() {
    237 		head = null;
    238 		tail = null;
    239 		size = 0;
    240 	};
    241 
    242 	if ( false ) {}
    243 
    244 	// Ignore reason: There's not a clear solution to create an intersection of
    245 	// the function with additional properties, where the goal is to retain the
    246 	// function signature of the incoming argument and add control properties
    247 	// on the return value.
    248 
    249 	// @ts-ignore
    250 	return memoized;
    251 }
    252 
    253 module.exports = memize;
    254 
    255 
    256 /***/ }),
    257 
    258 /***/ "GRId":
    259 /***/ (function(module, exports) {
    260 
    261 (function() { module.exports = window["wp"]["element"]; }());
    262 
    263 /***/ }),
    264 
    265 /***/ "K9lf":
    266 /***/ (function(module, exports) {
    267 
    268 (function() { module.exports = window["wp"]["compose"]; }());
    269 
    270 /***/ }),
    271 
    272 /***/ "Tqx9":
    273 /***/ (function(module, exports) {
    274 
    275 (function() { module.exports = window["wp"]["primitives"]; }());
    276 
    277 /***/ }),
    278 
    279 /***/ "YLtl":
    280 /***/ (function(module, exports) {
    281 
    282 (function() { module.exports = window["lodash"]; }());
    283 
    284 /***/ }),
    285 
    286 /***/ "ey5A":
    287 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    288 
    289 "use strict";
    290 // ESM COMPAT FLAG
    291 __webpack_require__.r(__webpack_exports__);
    292 
    293 // EXPORTS
    294 __webpack_require__.d(__webpack_exports__, "PluginArea", function() { return /* reexport */ plugin_area; });
    295 __webpack_require__.d(__webpack_exports__, "withPluginContext", function() { return /* reexport */ withPluginContext; });
    296 __webpack_require__.d(__webpack_exports__, "registerPlugin", function() { return /* reexport */ registerPlugin; });
    297 __webpack_require__.d(__webpack_exports__, "unregisterPlugin", function() { return /* reexport */ unregisterPlugin; });
    298 __webpack_require__.d(__webpack_exports__, "getPlugin", function() { return /* reexport */ getPlugin; });
    299 __webpack_require__.d(__webpack_exports__, "getPlugins", function() { return /* reexport */ getPlugins; });
    300 
    301 // EXTERNAL MODULE: external ["wp","element"]
    302 var external_wp_element_ = __webpack_require__("GRId");
    303 
    304 // EXTERNAL MODULE: external "lodash"
    305 var external_lodash_ = __webpack_require__("YLtl");
    306 
    307 // EXTERNAL MODULE: ./node_modules/memize/index.js
    308 var memize = __webpack_require__("4eJC");
    309 var memize_default = /*#__PURE__*/__webpack_require__.n(memize);
    310 
    311 // EXTERNAL MODULE: external ["wp","hooks"]
    312 var external_wp_hooks_ = __webpack_require__("g56x");
    313 
    314 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
    315 var esm_extends = __webpack_require__("wx14");
    316 
    317 // EXTERNAL MODULE: external ["wp","compose"]
    318 var external_wp_compose_ = __webpack_require__("K9lf");
    319 
    320 // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-context/index.js
    321 
    322 
    323 
    324 /**
    325  * WordPress dependencies
    326  */
    327 
    328 
    329 const {
    330   Consumer,
    331   Provider
    332 } = Object(external_wp_element_["createContext"])({
    333   name: null,
    334   icon: null
    335 });
    336 
    337 /**
    338  * A Higher Order Component used to inject Plugin context to the
    339  * wrapped component.
    340  *
    341  * @param {Function} mapContextToProps Function called on every context change,
    342  *                                     expected to return object of props to
    343  *                                     merge with the component's own props.
    344  *
    345  * @return {WPComponent} Enhanced component with injected context as props.
    346  */
    347 
    348 const withPluginContext = mapContextToProps => Object(external_wp_compose_["createHigherOrderComponent"])(OriginalComponent => {
    349   return props => Object(external_wp_element_["createElement"])(Consumer, null, context => Object(external_wp_element_["createElement"])(OriginalComponent, Object(esm_extends["a" /* default */])({}, props, mapContextToProps(context, props))));
    350 }, 'withPluginContext');
    351 
    352 // EXTERNAL MODULE: external ["wp","primitives"]
    353 var external_wp_primitives_ = __webpack_require__("Tqx9");
    354 
    355 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plugins.js
    356 
    357 
    358 /**
    359  * WordPress dependencies
    360  */
    361 
    362 const plugins = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
    363   xmlns: "http://www.w3.org/2000/svg",
    364   viewBox: "0 0 24 24"
    365 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
    366   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"
    367 }));
    368 /* harmony default export */ var library_plugins = (plugins);
    369 
    370 // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/api/index.js
    371 /* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */
    372 
    373 /**
    374  * WordPress dependencies
    375  */
    376 
    377 
    378 /**
    379  * External dependencies
    380  */
    381 
    382 
    383 /**
    384  * Defined behavior of a plugin type.
    385  *
    386  * @typedef {Object} WPPlugin
    387  *
    388  * @property {string}                    name    A string identifying the plugin. Must be
    389  *                                               unique across all registered plugins.
    390  * @property {string|WPElement|Function} [icon]  An icon to be shown in the UI. It can
    391  *                                               be a slug of the Dashicon, or an element
    392  *                                               (or function returning an element) if you
    393  *                                               choose to render your own SVG.
    394  * @property {Function}                  render  A component containing the UI elements
    395  *                                               to be rendered.
    396  * @property {string}                    [scope] The optional scope to be used when rendering inside
    397  *                                               a plugin area. No scope by default.
    398  */
    399 
    400 /**
    401  * Plugin definitions keyed by plugin name.
    402  *
    403  * @type {Object.<string,WPPlugin>}
    404  */
    405 
    406 const api_plugins = {};
    407 /**
    408  * Registers a plugin to the editor.
    409  *
    410  * @param {string}   name     A string identifying the plugin.Must be
    411  *                            unique across all registered plugins.
    412  * @param {WPPlugin} settings The settings for this plugin.
    413  *
    414  * @example
    415  * ```js
    416  * // Using ES5 syntax
    417  * var el = wp.element.createElement;
    418  * var Fragment = wp.element.Fragment;
    419  * var PluginSidebar = wp.editPost.PluginSidebar;
    420  * var PluginSidebarMoreMenuItem = wp.editPost.PluginSidebarMoreMenuItem;
    421  * var registerPlugin = wp.plugins.registerPlugin;
    422  * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
    423  *
    424  * function Component() {
    425  * 	return el(
    426  * 		Fragment,
    427  * 		{},
    428  * 		el(
    429  * 			PluginSidebarMoreMenuItem,
    430  * 			{
    431  * 				target: 'sidebar-name',
    432  * 			},
    433  * 			'My Sidebar'
    434  * 		),
    435  * 		el(
    436  * 			PluginSidebar,
    437  * 			{
    438  * 				name: 'sidebar-name',
    439  * 				title: 'My Sidebar',
    440  * 			},
    441  * 			'Content of the sidebar'
    442  * 		)
    443  * 	);
    444  * }
    445  * registerPlugin( 'plugin-name', {
    446  * 	icon: moreIcon,
    447  * 	render: Component,
    448  * 	scope: 'my-page',
    449  * } );
    450  * ```
    451  *
    452  * @example
    453  * ```js
    454  * // Using ESNext syntax
    455  * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post';
    456  * import { registerPlugin } from '@wordpress/plugins';
    457  * import { more } from '@wordpress/icons';
    458  *
    459  * const Component = () => (
    460  * 	<>
    461  * 		<PluginSidebarMoreMenuItem
    462  * 			target="sidebar-name"
    463  * 		>
    464  * 			My Sidebar
    465  * 		</PluginSidebarMoreMenuItem>
    466  * 		<PluginSidebar
    467  * 			name="sidebar-name"
    468  * 			title="My Sidebar"
    469  * 		>
    470  * 			Content of the sidebar
    471  * 		</PluginSidebar>
    472  * 	</>
    473  * );
    474  *
    475  * registerPlugin( 'plugin-name', {
    476  * 	icon: more,
    477  * 	render: Component,
    478  * 	scope: 'my-page',
    479  * } );
    480  * ```
    481  *
    482  * @return {WPPlugin} The final plugin settings object.
    483  */
    484 
    485 function registerPlugin(name, settings) {
    486   if (typeof settings !== 'object') {
    487     console.error('No settings object provided!');
    488     return null;
    489   }
    490 
    491   if (typeof name !== 'string') {
    492     console.error('Plugin name must be string.');
    493     return null;
    494   }
    495 
    496   if (!/^[a-z][a-z0-9-]*$/.test(name)) {
    497     console.error('Plugin name must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-plugin".');
    498     return null;
    499   }
    500 
    501   if (api_plugins[name]) {
    502     console.error(`Plugin "${name}" is already registered.`);
    503   }
    504 
    505   settings = Object(external_wp_hooks_["applyFilters"])('plugins.registerPlugin', settings, name);
    506   const {
    507     render,
    508     scope
    509   } = settings;
    510 
    511   if (!Object(external_lodash_["isFunction"])(render)) {
    512     console.error('The "render" property must be specified and must be a valid function.');
    513     return null;
    514   }
    515 
    516   if (scope) {
    517     if (typeof scope !== 'string') {
    518       console.error('Plugin scope must be string.');
    519       return null;
    520     }
    521 
    522     if (!/^[a-z][a-z0-9-]*$/.test(scope)) {
    523       console.error('Plugin scope must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-page".');
    524       return null;
    525     }
    526   }
    527 
    528   api_plugins[name] = {
    529     name,
    530     icon: library_plugins,
    531     ...settings
    532   };
    533   Object(external_wp_hooks_["doAction"])('plugins.pluginRegistered', settings, name);
    534   return settings;
    535 }
    536 /**
    537  * Unregisters a plugin by name.
    538  *
    539  * @param {string} name Plugin name.
    540  *
    541  * @example
    542  * ```js
    543  * // Using ES5 syntax
    544  * var unregisterPlugin = wp.plugins.unregisterPlugin;
    545  *
    546  * unregisterPlugin( 'plugin-name' );
    547  * ```
    548  *
    549  * @example
    550  * ```js
    551  * // Using ESNext syntax
    552  * import { unregisterPlugin } from '@wordpress/plugins';
    553  *
    554  * unregisterPlugin( 'plugin-name' );
    555  * ```
    556  *
    557  * @return {?WPPlugin} The previous plugin settings object, if it has been
    558  *                     successfully unregistered; otherwise `undefined`.
    559  */
    560 
    561 function unregisterPlugin(name) {
    562   if (!api_plugins[name]) {
    563     console.error('Plugin "' + name + '" is not registered.');
    564     return;
    565   }
    566 
    567   const oldPlugin = api_plugins[name];
    568   delete api_plugins[name];
    569   Object(external_wp_hooks_["doAction"])('plugins.pluginUnregistered', oldPlugin, name);
    570   return oldPlugin;
    571 }
    572 /**
    573  * Returns a registered plugin settings.
    574  *
    575  * @param {string} name Plugin name.
    576  *
    577  * @return {?WPPlugin} Plugin setting.
    578  */
    579 
    580 function getPlugin(name) {
    581   return api_plugins[name];
    582 }
    583 /**
    584  * Returns all registered plugins without a scope or for a given scope.
    585  *
    586  * @param {string} [scope] The scope to be used when rendering inside
    587  *                         a plugin area. No scope by default.
    588  *
    589  * @return {WPPlugin[]} The list of plugins without a scope or for a given scope.
    590  */
    591 
    592 function getPlugins(scope) {
    593   return Object.values(api_plugins).filter(plugin => plugin.scope === scope);
    594 }
    595 
    596 // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-area/index.js
    597 
    598 
    599 /**
    600  * External dependencies
    601  */
    602 
    603 
    604 /**
    605  * WordPress dependencies
    606  */
    607 
    608 
    609 
    610 /**
    611  * Internal dependencies
    612  */
    613 
    614 
    615 
    616 /**
    617  * A component that renders all plugin fills in a hidden div.
    618  *
    619  * @example
    620  * ```js
    621  * // Using ES5 syntax
    622  * var el = wp.element.createElement;
    623  * var PluginArea = wp.plugins.PluginArea;
    624  *
    625  * function Layout() {
    626  * 	return el(
    627  * 		'div',
    628  * 		{ scope: 'my-page' },
    629  * 		'Content of the page',
    630  * 		PluginArea
    631  * 	);
    632  * }
    633  * ```
    634  *
    635  * @example
    636  * ```js
    637  * // Using ESNext syntax
    638  * import { PluginArea } from '@wordpress/plugins';
    639  *
    640  * const Layout = () => (
    641  * 	<div>
    642  * 		Content of the page
    643  * 		<PluginArea scope="my-page" />
    644  * 	</div>
    645  * );
    646  * ```
    647  *
    648  * @return {WPComponent} The component to be rendered.
    649  */
    650 
    651 class plugin_area_PluginArea extends external_wp_element_["Component"] {
    652   constructor() {
    653     super(...arguments);
    654     this.setPlugins = this.setPlugins.bind(this);
    655     this.memoizedContext = memize_default()((name, icon) => {
    656       return {
    657         name,
    658         icon
    659       };
    660     });
    661     this.state = this.getCurrentPluginsState();
    662   }
    663 
    664   getCurrentPluginsState() {
    665     return {
    666       plugins: Object(external_lodash_["map"])(getPlugins(this.props.scope), ({
    667         icon,
    668         name,
    669         render
    670       }) => {
    671         return {
    672           Plugin: render,
    673           context: this.memoizedContext(name, icon)
    674         };
    675       })
    676     };
    677   }
    678 
    679   componentDidMount() {
    680     Object(external_wp_hooks_["addAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered', this.setPlugins);
    681     Object(external_wp_hooks_["addAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered', this.setPlugins);
    682   }
    683 
    684   componentWillUnmount() {
    685     Object(external_wp_hooks_["removeAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered');
    686     Object(external_wp_hooks_["removeAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered');
    687   }
    688 
    689   setPlugins() {
    690     this.setState(this.getCurrentPluginsState);
    691   }
    692 
    693   render() {
    694     return Object(external_wp_element_["createElement"])("div", {
    695       style: {
    696         display: 'none'
    697       }
    698     }, Object(external_lodash_["map"])(this.state.plugins, ({
    699       context,
    700       Plugin
    701     }) => Object(external_wp_element_["createElement"])(Provider, {
    702       key: context.name,
    703       value: context
    704     }, Object(external_wp_element_["createElement"])(Plugin, null))));
    705   }
    706 
    707 }
    708 
    709 /* harmony default export */ var plugin_area = (plugin_area_PluginArea);
    710 
    711 // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/index.js
    712 
    713 
    714 
    715 // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/index.js
    716 
    717 
    718 
    719 
    720 /***/ }),
    721 
    722 /***/ "g56x":
    723 /***/ (function(module, exports) {
    724 
    725 (function() { module.exports = window["wp"]["hooks"]; }());
    726 
    727 /***/ }),
    728 
    729 /***/ "wx14":
    730 /***/ (function(module, __webpack_exports__, __webpack_require__) {
    731 
    732 "use strict";
    733 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
    734 function _extends() {
    735   _extends = Object.assign || function (target) {
    736     for (var i = 1; i < arguments.length; i++) {
    737       var source = arguments[i];
    738 
    739       for (var key in source) {
    740         if (Object.prototype.hasOwnProperty.call(source, key)) {
    741           target[key] = source[key];
    742         }
    743       }
    744     }
    745 
    746     return target;
    747   };
    748 
    749   return _extends.apply(this, arguments);
    750 }
    751 
    752 /***/ })
    753 
    754 /******/ });