Nenhuma Descrição

plugins.js 21KB

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