diff -r 34716fd837a4 -r be944660c56a wp/wp-includes/js/dist/plugins.js --- a/wp/wp-includes/js/dist/plugins.js Tue Dec 15 15:52:01 2020 +0100 +++ b/wp/wp-includes/js/dist/plugins.js Wed Sep 21 18:19:35 2022 +0200 @@ -82,201 +82,208 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 461); +/******/ return __webpack_require__(__webpack_require__.s = "ey5A"); /******/ }) /************************************************************************/ /******/ ({ -/***/ 0: -/***/ (function(module, exports) { +/***/ "4eJC": +/***/ (function(module, exports, __webpack_require__) { -(function() { module.exports = this["wp"]["element"]; }()); - -/***/ }), +/** + * Memize options object. + * + * @typedef MemizeOptions + * + * @property {number} [maxSize] Maximum size of the cache. + */ -/***/ 12: -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/** + * Internal cache entry. + * + * @typedef MemizeCacheNode + * + * @property {?MemizeCacheNode|undefined} [prev] Previous node. + * @property {?MemizeCacheNode|undefined} [next] Next node. + * @property {Array<*>} args Function arguments for cache + * entry. + * @property {*} val Function result. + */ -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; }); -function _assertThisInitialized(self) { - if (self === void 0) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } +/** + * Properties of the enhanced function for controlling cache. + * + * @typedef MemizeMemoizedFunction + * + * @property {()=>void} clear Clear the cache. + */ - return self; -} +/** + * Accepts a function to be memoized, and returns a new memoized function, with + * optional options. + * + * @template {Function} F + * + * @param {F} fn Function to memoize. + * @param {MemizeOptions} [options] Options object. + * + * @return {F & MemizeMemoizedFunction} Memoized function. + */ +function memize( fn, options ) { + var size = 0; -/***/ }), + /** @type {?MemizeCacheNode|undefined} */ + var head; -/***/ 16: -/***/ (function(module, __webpack_exports__, __webpack_require__) { + /** @type {?MemizeCacheNode|undefined} */ + var tail; + + options = options || {}; -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; }); -function _getPrototypeOf(o) { - _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { - return o.__proto__ || Object.getPrototypeOf(o); - }; - return _getPrototypeOf(o); -} + function memoized( /* ...args */ ) { + var node = head, + len = arguments.length, + args, i; + + 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 + // strictly equal between the two sets. Avoid abstracting to a + // function which could incur an arguments leaking deoptimization. -/***/ }), + // Check whether node arguments match 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 ] ) { + node = node.next; + continue searchCache; + } + } + + // At this point we can assume we've found a match -/***/ 19: -/***/ (function(module, __webpack_exports__, __webpack_require__) { + // Surface matched node to head if not already + 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 ) { + 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 ) { + node.next.prev = node.prev; + } -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; }); -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } -} + node.next = head; + node.prev = null; + /** @type {MemizeCacheNode} */ ( head ).prev = node; + head = node; + } + + // Return immediately + return node.val; + } + + // 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 ]; + } + + node = { + args: args, + + // Generate the result from original function + val: fn.apply( null, args ), + }; -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; -} + // 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 ) { + head.prev = node; + node.next = head; + } else { + // If no head, follows that there's no tail (at initial or reset) + tail = node; + } -/***/ 2: -/***/ (function(module, exports) { + // 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; + } else { + size++; + } -(function() { module.exports = this["lodash"]; }()); + head = node; -/***/ }), - -/***/ 20: -/***/ (function(module, __webpack_exports__, __webpack_require__) { + return node.val; + } -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; }); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a 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 + // on the return value. + + // @ts-ignore + return memoized; } -/***/ }), - -/***/ 22: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _inherits; }); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js -function _setPrototypeOf(o, p) { - _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { - o.__proto__ = p; - return o; - }; - - return _setPrototypeOf(o, p); -} -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function"); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf(subClass, superClass); -} - -/***/ }), - -/***/ 23: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; }); -/* harmony import */ var _helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(40); -/* harmony import */ var _assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(12); - - -function _possibleConstructorReturn(self, call) { - if (call && (Object(_helpers_esm_typeof__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(call) === "object" || typeof call === "function")) { - return call; - } - - return Object(_assertThisInitialized__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self); -} - -/***/ }), - -/***/ 32: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["hooks"]; }()); - -/***/ }), - -/***/ 40: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; }); -function _typeof(obj) { - "@babel/helpers - typeof"; - - if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { - _typeof = function _typeof(obj) { - return typeof obj; - }; - } else { - _typeof = function _typeof(obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; - }; - } - - return _typeof(obj); -} - -/***/ }), - -/***/ 420: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0); -/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6); -/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); - - -/** - * WordPress dependencies - */ - -var plugins = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { - xmlns: "http://www.w3.org/2000/svg", - viewBox: "0 0 24 24" -}, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["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 */ __webpack_exports__["a"] = (plugins); +module.exports = memize; /***/ }), -/***/ 461: +/***/ "GRId": +/***/ (function(module, exports) { + +(function() { module.exports = window["wp"]["element"]; }()); + +/***/ }), + +/***/ "K9lf": +/***/ (function(module, exports) { + +(function() { module.exports = window["wp"]["compose"]; }()); + +/***/ }), + +/***/ "Tqx9": +/***/ (function(module, exports) { + +(function() { module.exports = window["wp"]["primitives"]; }()); + +/***/ }), + +/***/ "YLtl": +/***/ (function(module, exports) { + +(function() { module.exports = window["lodash"]; }()); + +/***/ }), + +/***/ "ey5A": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -285,44 +292,30 @@ // EXPORTS __webpack_require__.d(__webpack_exports__, "PluginArea", function() { return /* reexport */ plugin_area; }); -__webpack_require__.d(__webpack_exports__, "withPluginContext", function() { return /* reexport */ plugin_context_withPluginContext; }); +__webpack_require__.d(__webpack_exports__, "withPluginContext", function() { return /* reexport */ withPluginContext; }); __webpack_require__.d(__webpack_exports__, "registerPlugin", function() { return /* reexport */ registerPlugin; }); __webpack_require__.d(__webpack_exports__, "unregisterPlugin", function() { return /* reexport */ unregisterPlugin; }); __webpack_require__.d(__webpack_exports__, "getPlugin", function() { return /* reexport */ getPlugin; }); __webpack_require__.d(__webpack_exports__, "getPlugins", function() { return /* reexport */ getPlugins; }); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js -var classCallCheck = __webpack_require__(20); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js -var createClass = __webpack_require__(19); +// EXTERNAL MODULE: external ["wp","element"] +var external_wp_element_ = __webpack_require__("GRId"); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js -var assertThisInitialized = __webpack_require__(12); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js -var possibleConstructorReturn = __webpack_require__(23); +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js -var getPrototypeOf = __webpack_require__(16); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js + 1 modules -var inherits = __webpack_require__(22); +// EXTERNAL MODULE: ./node_modules/memize/index.js +var memize = __webpack_require__("4eJC"); +var memize_default = /*#__PURE__*/__webpack_require__.n(memize); -// EXTERNAL MODULE: external {"this":["wp","element"]} -var external_this_wp_element_ = __webpack_require__(0); - -// EXTERNAL MODULE: external {"this":"lodash"} -var external_this_lodash_ = __webpack_require__(2); - -// EXTERNAL MODULE: external {"this":["wp","hooks"]} -var external_this_wp_hooks_ = __webpack_require__(32); +// EXTERNAL MODULE: external ["wp","hooks"] +var external_wp_hooks_ = __webpack_require__("g56x"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js -var esm_extends = __webpack_require__(8); +var esm_extends = __webpack_require__("wx14"); -// EXTERNAL MODULE: external {"this":["wp","compose"]} -var external_this_wp_compose_ = __webpack_require__(9); +// EXTERNAL MODULE: external ["wp","compose"] +var external_wp_compose_ = __webpack_require__("K9lf"); // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/components/plugin-context/index.js @@ -333,14 +326,13 @@ */ - -var _createContext = Object(external_this_wp_element_["createContext"])({ +const { + Consumer, + Provider +} = Object(external_wp_element_["createContext"])({ name: null, icon: null -}), - Consumer = _createContext.Consumer, - Provider = _createContext.Provider; - +}); /** * A Higher Order Component used to inject Plugin context to the @@ -353,33 +345,29 @@ * @return {WPComponent} Enhanced component with injected context as props. */ -var plugin_context_withPluginContext = function withPluginContext(mapContextToProps) { - return Object(external_this_wp_compose_["createHigherOrderComponent"])(function (OriginalComponent) { - return function (props) { - return Object(external_this_wp_element_["createElement"])(Consumer, null, function (context) { - return Object(external_this_wp_element_["createElement"])(OriginalComponent, Object(esm_extends["a" /* default */])({}, props, mapContextToProps(context, props))); - }); - }; - }, 'withPluginContext'); -}; +const withPluginContext = mapContextToProps => Object(external_wp_compose_["createHigherOrderComponent"])(OriginalComponent => { + 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)))); +}, 'withPluginContext'); + +// EXTERNAL MODULE: external ["wp","primitives"] +var external_wp_primitives_ = __webpack_require__("Tqx9"); + +// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/plugins.js + -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js -var defineProperty = __webpack_require__(5); +/** + * WordPress dependencies + */ -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js -var esm_typeof = __webpack_require__(40); - -// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plugins.js -var plugins = __webpack_require__(420); +const plugins = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { + xmlns: "http://www.w3.org/2000/svg", + viewBox: "0 0 24 24" +}, Object(external_wp_element_["createElement"])(external_wp_primitives_["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); // CONCATENATED MODULE: ./node_modules/@wordpress/plugins/build-module/api/index.js - - - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - /* eslint no-console: [ 'error', { allow: [ 'error' ] } ] */ /** @@ -397,15 +385,16 @@ * * @typedef {Object} WPPlugin * - * @property {string} name A string identifying the plugin. Must be - * unique across all registered plugins. - * 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} 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. */ /** @@ -414,7 +403,7 @@ * @type {Object.} */ -var api_plugins = {}; +const api_plugins = {}; /** * Registers a plugin to the editor. * @@ -423,7 +412,6 @@ * @param {WPPlugin} settings The settings for this plugin. * * @example - * ES5 * ```js * // Using ES5 syntax * var el = wp.element.createElement; @@ -457,11 +445,11 @@ * registerPlugin( 'plugin-name', { * icon: moreIcon, * render: Component, + * scope: 'my-page', * } ); * ``` * * @example - * ESNext * ```js * // Using ESNext syntax * import { PluginSidebar, PluginSidebarMoreMenuItem } from '@wordpress/edit-post'; @@ -487,6 +475,7 @@ * registerPlugin( 'plugin-name', { * icon: more, * render: Component, + * scope: 'my-page', * } ); * ``` * @@ -494,37 +483,54 @@ */ function registerPlugin(name, settings) { - if (Object(esm_typeof["a" /* default */])(settings) !== 'object') { + if (typeof settings !== 'object') { console.error('No settings object provided!'); return null; } if (typeof name !== 'string') { - console.error('Plugin names must be strings.'); + console.error('Plugin name must be string.'); return null; } if (!/^[a-z][a-z0-9-]*$/.test(name)) { - console.error('Plugin names must include only lowercase alphanumeric characters or dashes, and start with a letter. Example: "my-plugin".'); + 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 \"".concat(name, "\" is already registered.")); + console.error(`Plugin "${name}" is already registered.`); } - settings = Object(external_this_wp_hooks_["applyFilters"])('plugins.registerPlugin', settings, name); + settings = Object(external_wp_hooks_["applyFilters"])('plugins.registerPlugin', settings, name); + const { + render, + scope + } = settings; - if (!Object(external_this_lodash_["isFunction"])(settings.render)) { + if (!Object(external_lodash_["isFunction"])(render)) { console.error('The "render" property must be specified and must be a valid function.'); return null; } - api_plugins[name] = _objectSpread({ - name: name, - icon: plugins["a" /* default */] - }, settings); - Object(external_this_wp_hooks_["doAction"])('plugins.pluginRegistered', settings, name); + 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, + ...settings + }; + Object(external_wp_hooks_["doAction"])('plugins.pluginRegistered', settings, name); return settings; } /** @@ -533,7 +539,6 @@ * @param {string} name Plugin name. * * @example - * ES5 * ```js * // Using ES5 syntax * var unregisterPlugin = wp.plugins.unregisterPlugin; @@ -542,7 +547,6 @@ * ``` * * @example - * ESNext * ```js * // Using ESNext syntax * import { unregisterPlugin } from '@wordpress/plugins'; @@ -560,9 +564,9 @@ return; } - var oldPlugin = api_plugins[name]; + const oldPlugin = api_plugins[name]; delete api_plugins[name]; - Object(external_this_wp_hooks_["doAction"])('plugins.pluginUnregistered', oldPlugin, name); + Object(external_wp_hooks_["doAction"])('plugins.pluginUnregistered', oldPlugin, name); return oldPlugin; } /** @@ -577,32 +581,26 @@ return api_plugins[name]; } /** - * Returns all registered plugins. + * Returns all registered plugins without a scope or for a given scope. * - * @return {WPPlugin[]} Plugin settings. + * @param {string} [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. */ -function getPlugins() { - return Object.values(api_plugins); +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 - - - - - - -function _createSuper(Derived) { return function () { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; } - -function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } - /** * External dependencies */ + /** * WordPress dependencies */ @@ -619,7 +617,6 @@ * A component that renders all plugin fills in a hidden div. * * @example - * ES5 * ```js * // Using ES5 syntax * var el = wp.element.createElement; @@ -628,7 +625,7 @@ * function Layout() { * return el( * 'div', - * {}, + * { scope: 'my-page' }, * 'Content of the page', * PluginArea * ); @@ -636,7 +633,6 @@ * ``` * * @example - * ESNext * ```js * // Using ESNext syntax * import { PluginArea } from '@wordpress/plugins'; @@ -644,7 +640,7 @@ * const Layout = () => ( *
* Content of the page - * + * *
* ); * ``` @@ -652,77 +648,63 @@ * @return {WPComponent} The component to be rendered. */ -var plugin_area_PluginArea = /*#__PURE__*/function (_Component) { - Object(inherits["a" /* default */])(PluginArea, _Component); - - var _super = _createSuper(PluginArea); +class plugin_area_PluginArea extends external_wp_element_["Component"] { + constructor() { + super(...arguments); + this.setPlugins = this.setPlugins.bind(this); + this.memoizedContext = memize_default()((name, icon) => { + return { + name, + icon + }; + }); + this.state = this.getCurrentPluginsState(); + } - function PluginArea() { - var _this; - - Object(classCallCheck["a" /* default */])(this, PluginArea); - - _this = _super.apply(this, arguments); - _this.setPlugins = _this.setPlugins.bind(Object(assertThisInitialized["a" /* default */])(_this)); - _this.state = _this.getCurrentPluginsState(); - return _this; + getCurrentPluginsState() { + return { + plugins: Object(external_lodash_["map"])(getPlugins(this.props.scope), ({ + icon, + name, + render + }) => { + return { + Plugin: render, + context: this.memoizedContext(name, icon) + }; + }) + }; } - Object(createClass["a" /* default */])(PluginArea, [{ - key: "getCurrentPluginsState", - value: function getCurrentPluginsState() { - return { - plugins: Object(external_this_lodash_["map"])(getPlugins(), function (_ref) { - var icon = _ref.icon, - name = _ref.name, - render = _ref.render; - return { - Plugin: render, - context: { - name: name, - icon: icon - } - }; - }) - }; - } - }, { - key: "componentDidMount", - value: function componentDidMount() { - Object(external_this_wp_hooks_["addAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered', this.setPlugins); - Object(external_this_wp_hooks_["addAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered', this.setPlugins); - } - }, { - key: "componentWillUnmount", - value: function componentWillUnmount() { - Object(external_this_wp_hooks_["removeAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered'); - Object(external_this_wp_hooks_["removeAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered'); - } - }, { - key: "setPlugins", - value: function setPlugins() { - this.setState(this.getCurrentPluginsState); - } - }, { - key: "render", - value: function render() { - return Object(external_this_wp_element_["createElement"])("div", { - style: { - display: 'none' - } - }, Object(external_this_lodash_["map"])(this.state.plugins, function (_ref2) { - var context = _ref2.context, - Plugin = _ref2.Plugin; - return Object(external_this_wp_element_["createElement"])(Provider, { - key: context.name, - value: context - }, Object(external_this_wp_element_["createElement"])(Plugin, null)); - })); - } - }]); + componentDidMount() { + Object(external_wp_hooks_["addAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered', this.setPlugins); + Object(external_wp_hooks_["addAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered', this.setPlugins); + } + + componentWillUnmount() { + Object(external_wp_hooks_["removeAction"])('plugins.pluginRegistered', 'core/plugins/plugin-area/plugins-registered'); + Object(external_wp_hooks_["removeAction"])('plugins.pluginUnregistered', 'core/plugins/plugin-area/plugins-unregistered'); + } + + setPlugins() { + this.setState(this.getCurrentPluginsState); + } - return PluginArea; -}(external_this_wp_element_["Component"]); + render() { + return Object(external_wp_element_["createElement"])("div", { + style: { + display: 'none' + } + }, Object(external_lodash_["map"])(this.state.plugins, ({ + context, + Plugin + }) => Object(external_wp_element_["createElement"])(Provider, { + key: context.name, + value: context + }, Object(external_wp_element_["createElement"])(Plugin, null)))); + } + +} /* harmony default export */ var plugin_area = (plugin_area_PluginArea); @@ -737,36 +719,14 @@ /***/ }), -/***/ 5: -/***/ (function(module, __webpack_exports__, __webpack_require__) { +/***/ "g56x": +/***/ (function(module, exports) { -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _defineProperty; }); -function _defineProperty(obj, key, value) { - if (key in obj) { - Object.defineProperty(obj, key, { - value: value, - enumerable: true, - configurable: true, - writable: true - }); - } else { - obj[key] = value; - } - - return obj; -} +(function() { module.exports = window["wp"]["hooks"]; }()); /***/ }), -/***/ 6: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["primitives"]; }()); - -/***/ }), - -/***/ 8: +/***/ "wx14": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -789,13 +749,6 @@ return _extends.apply(this, arguments); } -/***/ }), - -/***/ 9: -/***/ (function(module, exports) { - -(function() { module.exports = this["wp"]["compose"]; }()); - /***/ }) /******/ }); \ No newline at end of file