[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/js/dist/ -> edit-widgets.js (source)

   1  this["wp"] = this["wp"] || {}; this["wp"]["editWidgets"] =
   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 = "F35A");
  86  /******/ })
  87  /************************************************************************/
  88  /******/ ({
  89  
  90  /***/ "//Lo":
  91  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  92  
  93  "use strict";
  94  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
  95  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
  96  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
  97  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
  98  
  99  
 100  /**
 101   * WordPress dependencies
 102   */
 103  
 104  const blockDefault = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
 105    xmlns: "http://www.w3.org/2000/svg",
 106    viewBox: "0 0 24 24"
 107  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
 108    d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z"
 109  }));
 110  /* harmony default export */ __webpack_exports__["a"] = (blockDefault);
 111  
 112  
 113  /***/ }),
 114  
 115  /***/ "1CF3":
 116  /***/ (function(module, exports) {
 117  
 118  (function() { module.exports = window["wp"]["dom"]; }());
 119  
 120  /***/ }),
 121  
 122  /***/ "1ZqX":
 123  /***/ (function(module, exports) {
 124  
 125  (function() { module.exports = window["wp"]["data"]; }());
 126  
 127  /***/ }),
 128  
 129  /***/ "6aBm":
 130  /***/ (function(module, exports) {
 131  
 132  (function() { module.exports = window["wp"]["mediaUtils"]; }());
 133  
 134  /***/ }),
 135  
 136  /***/ "Cg8A":
 137  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 138  
 139  "use strict";
 140  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
 141  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
 142  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
 143  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 144  
 145  
 146  /**
 147   * WordPress dependencies
 148   */
 149  
 150  const cog = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
 151    xmlns: "http://www.w3.org/2000/svg",
 152    viewBox: "0 0 24 24"
 153  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
 154    fillRule: "evenodd",
 155    d: "M10.289 4.836A1 1 0 0111.275 4h1.306a1 1 0 01.987.836l.244 1.466c.787.26 1.503.679 2.108 1.218l1.393-.522a1 1 0 011.216.437l.653 1.13a1 1 0 01-.23 1.273l-1.148.944a6.025 6.025 0 010 2.435l1.149.946a1 1 0 01.23 1.272l-.653 1.13a1 1 0 01-1.216.437l-1.394-.522c-.605.54-1.32.958-2.108 1.218l-.244 1.466a1 1 0 01-.987.836h-1.306a1 1 0 01-.986-.836l-.244-1.466a5.995 5.995 0 01-2.108-1.218l-1.394.522a1 1 0 01-1.217-.436l-.653-1.131a1 1 0 01.23-1.272l1.149-.946a6.026 6.026 0 010-2.435l-1.148-.944a1 1 0 01-.23-1.272l.653-1.131a1 1 0 011.217-.437l1.393.522a5.994 5.994 0 012.108-1.218l.244-1.466zM14.929 12a3 3 0 11-6 0 3 3 0 016 0z",
 156    clipRule: "evenodd"
 157  }));
 158  /* harmony default export */ __webpack_exports__["a"] = (cog);
 159  
 160  
 161  /***/ }),
 162  
 163  /***/ "F35A":
 164  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 165  
 166  "use strict";
 167  // ESM COMPAT FLAG
 168  __webpack_require__.r(__webpack_exports__);
 169  
 170  // EXPORTS
 171  __webpack_require__.d(__webpack_exports__, "reinitializeEditor", function() { return /* binding */ reinitializeEditor; });
 172  __webpack_require__.d(__webpack_exports__, "initialize", function() { return /* binding */ initialize; });
 173  
 174  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-widgets/build-module/store/actions.js
 175  var actions_namespaceObject = {};
 176  __webpack_require__.r(actions_namespaceObject);
 177  __webpack_require__.d(actions_namespaceObject, "persistStubPost", function() { return persistStubPost; });
 178  __webpack_require__.d(actions_namespaceObject, "saveEditedWidgetAreas", function() { return actions_saveEditedWidgetAreas; });
 179  __webpack_require__.d(actions_namespaceObject, "saveWidgetAreas", function() { return saveWidgetAreas; });
 180  __webpack_require__.d(actions_namespaceObject, "saveWidgetArea", function() { return saveWidgetArea; });
 181  __webpack_require__.d(actions_namespaceObject, "setWidgetIdForClientId", function() { return setWidgetIdForClientId; });
 182  __webpack_require__.d(actions_namespaceObject, "setWidgetAreasOpenState", function() { return setWidgetAreasOpenState; });
 183  __webpack_require__.d(actions_namespaceObject, "setIsWidgetAreaOpen", function() { return actions_setIsWidgetAreaOpen; });
 184  __webpack_require__.d(actions_namespaceObject, "setIsInserterOpened", function() { return actions_setIsInserterOpened; });
 185  __webpack_require__.d(actions_namespaceObject, "setIsListViewOpened", function() { return actions_setIsListViewOpened; });
 186  __webpack_require__.d(actions_namespaceObject, "closeGeneralSidebar", function() { return actions_closeGeneralSidebar; });
 187  __webpack_require__.d(actions_namespaceObject, "moveBlockToWidgetArea", function() { return actions_moveBlockToWidgetArea; });
 188  
 189  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-widgets/build-module/store/resolvers.js
 190  var resolvers_namespaceObject = {};
 191  __webpack_require__.r(resolvers_namespaceObject);
 192  __webpack_require__.d(resolvers_namespaceObject, "getWidgetAreas", function() { return getWidgetAreas; });
 193  __webpack_require__.d(resolvers_namespaceObject, "getWidgets", function() { return getWidgets; });
 194  
 195  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-widgets/build-module/store/selectors.js
 196  var selectors_namespaceObject = {};
 197  __webpack_require__.r(selectors_namespaceObject);
 198  __webpack_require__.d(selectors_namespaceObject, "getWidgets", function() { return selectors_getWidgets; });
 199  __webpack_require__.d(selectors_namespaceObject, "getWidget", function() { return getWidget; });
 200  __webpack_require__.d(selectors_namespaceObject, "getWidgetAreas", function() { return selectors_getWidgetAreas; });
 201  __webpack_require__.d(selectors_namespaceObject, "getWidgetAreaForWidgetId", function() { return getWidgetAreaForWidgetId; });
 202  __webpack_require__.d(selectors_namespaceObject, "getParentWidgetAreaBlock", function() { return selectors_getParentWidgetAreaBlock; });
 203  __webpack_require__.d(selectors_namespaceObject, "getEditedWidgetAreas", function() { return selectors_getEditedWidgetAreas; });
 204  __webpack_require__.d(selectors_namespaceObject, "getReferenceWidgetBlocks", function() { return getReferenceWidgetBlocks; });
 205  __webpack_require__.d(selectors_namespaceObject, "isSavingWidgetAreas", function() { return selectors_isSavingWidgetAreas; });
 206  __webpack_require__.d(selectors_namespaceObject, "getIsWidgetAreaOpen", function() { return getIsWidgetAreaOpen; });
 207  __webpack_require__.d(selectors_namespaceObject, "isInserterOpened", function() { return selectors_isInserterOpened; });
 208  __webpack_require__.d(selectors_namespaceObject, "__experimentalGetInsertionPoint", function() { return __experimentalGetInsertionPoint; });
 209  __webpack_require__.d(selectors_namespaceObject, "canInsertBlockInWidgetArea", function() { return selectors_canInsertBlockInWidgetArea; });
 210  __webpack_require__.d(selectors_namespaceObject, "isListViewOpened", function() { return selectors_isListViewOpened; });
 211  
 212  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-widgets/build-module/blocks/widget-area/index.js
 213  var widget_area_namespaceObject = {};
 214  __webpack_require__.r(widget_area_namespaceObject);
 215  __webpack_require__.d(widget_area_namespaceObject, "metadata", function() { return widget_area_metadata; });
 216  __webpack_require__.d(widget_area_namespaceObject, "name", function() { return widget_area_name; });
 217  __webpack_require__.d(widget_area_namespaceObject, "settings", function() { return widget_area_settings; });
 218  
 219  // EXTERNAL MODULE: external ["wp","element"]
 220  var external_wp_element_ = __webpack_require__("GRId");
 221  
 222  // EXTERNAL MODULE: external ["wp","blocks"]
 223  var external_wp_blocks_ = __webpack_require__("HSyU");
 224  
 225  // EXTERNAL MODULE: external ["wp","data"]
 226  var external_wp_data_ = __webpack_require__("1ZqX");
 227  
 228  // EXTERNAL MODULE: external ["wp","blockLibrary"]
 229  var external_wp_blockLibrary_ = __webpack_require__("QyPg");
 230  
 231  // EXTERNAL MODULE: external ["wp","coreData"]
 232  var external_wp_coreData_ = __webpack_require__("jZUy");
 233  
 234  // EXTERNAL MODULE: external ["wp","widgets"]
 235  var external_wp_widgets_ = __webpack_require__("GLVC");
 236  
 237  // EXTERNAL MODULE: ./node_modules/@wordpress/interface/build-module/index.js + 17 modules
 238  var build_module = __webpack_require__("U60i");
 239  
 240  // EXTERNAL MODULE: external ["wp","apiFetch"]
 241  var external_wp_apiFetch_ = __webpack_require__("ywyh");
 242  var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_);
 243  
 244  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/reducer.js
 245  /**
 246   * WordPress dependencies
 247   */
 248  
 249  /**
 250   * Controls the open state of the widget areas.
 251   *
 252   * @param {Object} state  Redux state.
 253   * @param {Object} action Redux action.
 254   *
 255   * @return {Array} Updated state.
 256   */
 257  
 258  function reducer_widgetAreasOpenState() {
 259    let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
 260    let action = arguments.length > 1 ? arguments[1] : undefined;
 261    const {
 262      type
 263    } = action;
 264  
 265    switch (type) {
 266      case 'SET_WIDGET_AREAS_OPEN_STATE':
 267        {
 268          return action.widgetAreasOpenState;
 269        }
 270  
 271      case 'SET_IS_WIDGET_AREA_OPEN':
 272        {
 273          const {
 274            clientId,
 275            isOpen
 276          } = action;
 277          return { ...state,
 278            [clientId]: isOpen
 279          };
 280        }
 281  
 282      default:
 283        {
 284          return state;
 285        }
 286    }
 287  }
 288  /**
 289   * Reducer to set the block inserter panel open or closed.
 290   *
 291   * Note: this reducer interacts with the list view panel reducer
 292   * to make sure that only one of the two panels is open at the same time.
 293   *
 294   * @param {Object} state  Current state.
 295   * @param {Object} action Dispatched action.
 296   */
 297  
 298  function blockInserterPanel() {
 299    let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 300    let action = arguments.length > 1 ? arguments[1] : undefined;
 301  
 302    switch (action.type) {
 303      case 'SET_IS_LIST_VIEW_OPENED':
 304        return action.isOpen ? false : state;
 305  
 306      case 'SET_IS_INSERTER_OPENED':
 307        return action.value;
 308    }
 309  
 310    return state;
 311  }
 312  /**
 313   * Reducer to set the list view panel open or closed.
 314   *
 315   * Note: this reducer interacts with the inserter panel reducer
 316   * to make sure that only one of the two panels is open at the same time.
 317   *
 318   * @param {Object} state  Current state.
 319   * @param {Object} action Dispatched action.
 320   */
 321  
 322  function listViewPanel() {
 323    let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
 324    let action = arguments.length > 1 ? arguments[1] : undefined;
 325  
 326    switch (action.type) {
 327      case 'SET_IS_INSERTER_OPENED':
 328        return action.value ? false : state;
 329  
 330      case 'SET_IS_LIST_VIEW_OPENED':
 331        return action.isOpen;
 332    }
 333  
 334    return state;
 335  }
 336  /* harmony default export */ var reducer = (Object(external_wp_data_["combineReducers"])({
 337    blockInserterPanel,
 338    listViewPanel,
 339    widgetAreasOpenState: reducer_widgetAreasOpenState
 340  }));
 341  
 342  // EXTERNAL MODULE: external ["wp","i18n"]
 343  var external_wp_i18n_ = __webpack_require__("l3Sj");
 344  
 345  // EXTERNAL MODULE: external ["wp","notices"]
 346  var external_wp_notices_ = __webpack_require__("onLe");
 347  
 348  // EXTERNAL MODULE: external ["wp","blockEditor"]
 349  var external_wp_blockEditor_ = __webpack_require__("axFQ");
 350  
 351  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/transformers.js
 352  /**
 353   * WordPress dependencies
 354   */
 355  
 356  
 357  /**
 358   * Converts a widget entity record into a block.
 359   *
 360   * @param {Object} widget The widget entity record.
 361   * @return {Object} a block (converted from the entity record).
 362   */
 363  
 364  function transformWidgetToBlock(widget) {
 365    if (widget.id_base === 'block') {
 366      const parsedBlocks = Object(external_wp_blocks_["parse"])(widget.instance.raw.content);
 367  
 368      if (!parsedBlocks.length) {
 369        return Object(external_wp_widgets_["addWidgetIdToBlock"])(Object(external_wp_blocks_["createBlock"])('core/paragraph', {}, []), widget.id);
 370      }
 371  
 372      return Object(external_wp_widgets_["addWidgetIdToBlock"])(parsedBlocks[0], widget.id);
 373    }
 374  
 375    let attributes;
 376  
 377    if (widget._embedded.about[0].is_multi) {
 378      attributes = {
 379        idBase: widget.id_base,
 380        instance: widget.instance
 381      };
 382    } else {
 383      attributes = {
 384        id: widget.id
 385      };
 386    }
 387  
 388    return Object(external_wp_widgets_["addWidgetIdToBlock"])(Object(external_wp_blocks_["createBlock"])('core/legacy-widget', attributes, []), widget.id);
 389  }
 390  /**
 391   * Converts a block to a widget entity record.
 392   *
 393   * @param {Object}  block         The block.
 394   * @param {Object?} relatedWidget A related widget entity record from the API (optional).
 395   * @return {Object} the widget object (converted from block).
 396   */
 397  
 398  function transformBlockToWidget(block) {
 399    let relatedWidget = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 400    let widget;
 401    const isValidLegacyWidgetBlock = block.name === 'core/legacy-widget' && (block.attributes.id || block.attributes.instance);
 402  
 403    if (isValidLegacyWidgetBlock) {
 404      var _block$attributes$id, _block$attributes$idB, _block$attributes$ins;
 405  
 406      widget = { ...relatedWidget,
 407        id: (_block$attributes$id = block.attributes.id) !== null && _block$attributes$id !== void 0 ? _block$attributes$id : relatedWidget.id,
 408        id_base: (_block$attributes$idB = block.attributes.idBase) !== null && _block$attributes$idB !== void 0 ? _block$attributes$idB : relatedWidget.id_base,
 409        instance: (_block$attributes$ins = block.attributes.instance) !== null && _block$attributes$ins !== void 0 ? _block$attributes$ins : relatedWidget.instance
 410      };
 411    } else {
 412      widget = { ...relatedWidget,
 413        id_base: 'block',
 414        instance: {
 415          raw: {
 416            content: Object(external_wp_blocks_["serialize"])(block)
 417          }
 418        }
 419      };
 420    } // Delete read-only properties.
 421  
 422  
 423    delete widget.rendered;
 424    delete widget.rendered_form;
 425    return widget;
 426  }
 427  
 428  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/utils.js
 429  /**
 430   * "Kind" of the navigation post.
 431   *
 432   * @type {string}
 433   */
 434  const KIND = 'root';
 435  /**
 436   * "post type" of the navigation post.
 437   *
 438   * @type {string}
 439   */
 440  
 441  const WIDGET_AREA_ENTITY_TYPE = 'sidebar';
 442  /**
 443   * "post type" of the widget area post.
 444   *
 445   * @type {string}
 446   */
 447  
 448  const POST_TYPE = 'postType';
 449  /**
 450   * Builds an ID for a new widget area post.
 451   *
 452   * @param {number} widgetAreaId Widget area id.
 453   * @return {string} An ID.
 454   */
 455  
 456  const buildWidgetAreaPostId = widgetAreaId => `widget-area-$widgetAreaId}`;
 457  /**
 458   * Builds an ID for a global widget areas post.
 459   *
 460   * @return {string} An ID.
 461   */
 462  
 463  const buildWidgetAreasPostId = () => `widget-areas`;
 464  /**
 465   * Builds a query to resolve sidebars.
 466   *
 467   * @return {Object} Query.
 468   */
 469  
 470  function buildWidgetAreasQuery() {
 471    return {
 472      per_page: -1
 473    };
 474  }
 475  /**
 476   * Builds a query to resolve widgets.
 477   *
 478   * @return {Object} Query.
 479   */
 480  
 481  function buildWidgetsQuery() {
 482    return {
 483      per_page: -1,
 484      _embed: 'about'
 485    };
 486  }
 487  /**
 488   * Creates a stub post with given id and set of blocks. Used as a governing entity records
 489   * for all widget areas.
 490   *
 491   * @param {string} id     Post ID.
 492   * @param {Array}  blocks The list of blocks.
 493   * @return {Object} A stub post object formatted in compliance with the data layer.
 494   */
 495  
 496  const createStubPost = (id, blocks) => ({
 497    id,
 498    slug: id,
 499    status: 'draft',
 500    type: 'page',
 501    blocks,
 502    meta: {
 503      widgetAreaId: id
 504    }
 505  });
 506  
 507  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/constants.js
 508  /**
 509   * Module Constants
 510   */
 511  const STORE_NAME = 'core/edit-widgets';
 512  
 513  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/actions.js
 514  /**
 515   * WordPress dependencies
 516   */
 517  
 518  
 519  
 520  
 521  
 522  
 523  /**
 524   * Internal dependencies
 525   */
 526  
 527  
 528  
 529  
 530  /**
 531   * Persists a stub post with given ID to core data store. The post is meant to be in-memory only and
 532   * shouldn't be saved via the API.
 533   *
 534   * @param {string} id     Post ID.
 535   * @param {Array}  blocks Blocks the post should consist of.
 536   * @return {Object} The post object.
 537   */
 538  
 539  const persistStubPost = (id, blocks) => _ref => {
 540    let {
 541      registry
 542    } = _ref;
 543    const stubPost = createStubPost(id, blocks);
 544    registry.dispatch(external_wp_coreData_["store"]).receiveEntityRecords(KIND, POST_TYPE, stubPost, {
 545      id: stubPost.id
 546    }, false);
 547    return stubPost;
 548  };
 549  /**
 550   * Converts all the blocks from edited widget areas into widgets,
 551   * and submits a batch request to save everything at once.
 552   *
 553   * Creates a snackbar notice on either success or error.
 554   *
 555   * @return {Function} An action creator.
 556   */
 557  
 558  const actions_saveEditedWidgetAreas = () => async _ref2 => {
 559    let {
 560      select,
 561      dispatch,
 562      registry
 563    } = _ref2;
 564    const editedWidgetAreas = select.getEditedWidgetAreas();
 565  
 566    if (!(editedWidgetAreas !== null && editedWidgetAreas !== void 0 && editedWidgetAreas.length)) {
 567      return;
 568    }
 569  
 570    try {
 571      await dispatch.saveWidgetAreas(editedWidgetAreas);
 572      registry.dispatch(external_wp_notices_["store"]).createSuccessNotice(Object(external_wp_i18n_["__"])('Widgets saved.'), {
 573        type: 'snackbar'
 574      });
 575    } catch (e) {
 576      registry.dispatch(external_wp_notices_["store"]).createErrorNotice(
 577      /* translators: %s: The error message. */
 578      Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('There was an error. %s'), e.message), {
 579        type: 'snackbar'
 580      });
 581    }
 582  };
 583  /**
 584   * Converts all the blocks from specified widget areas into widgets,
 585   * and submits a batch request to save everything at once.
 586   *
 587   * @param {Object[]} widgetAreas Widget areas to save.
 588   * @return {Function} An action creator.
 589   */
 590  
 591  const saveWidgetAreas = widgetAreas => async _ref3 => {
 592    let {
 593      dispatch,
 594      registry
 595    } = _ref3;
 596  
 597    try {
 598      for (const widgetArea of widgetAreas) {
 599        await dispatch.saveWidgetArea(widgetArea.id);
 600      }
 601    } finally {
 602      // saveEditedEntityRecord resets the resolution status, let's fix it manually
 603      await registry.dispatch(external_wp_coreData_["store"]).finishResolution('getEntityRecord', KIND, WIDGET_AREA_ENTITY_TYPE, buildWidgetAreasQuery());
 604    }
 605  };
 606  /**
 607   * Converts all the blocks from a widget area specified by ID into widgets,
 608   * and submits a batch request to save everything at once.
 609   *
 610   * @param {string} widgetAreaId ID of the widget area to process.
 611   * @return {Function} An action creator.
 612   */
 613  
 614  const saveWidgetArea = widgetAreaId => async _ref4 => {
 615    let {
 616      dispatch,
 617      select,
 618      registry
 619    } = _ref4;
 620    const widgets = select.getWidgets();
 621    const post = registry.select(external_wp_coreData_["store"]).getEditedEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(widgetAreaId)); // Get all widgets from this area
 622  
 623    const areaWidgets = Object.values(widgets).filter(_ref5 => {
 624      let {
 625        sidebar
 626      } = _ref5;
 627      return sidebar === widgetAreaId;
 628    }); // Remove all duplicate reference widget instances for legacy widgets.
 629    // Why? We filter out the widgets with duplicate IDs to prevent adding more than one instance of a widget
 630    // implemented using a function. WordPress doesn't support having more than one instance of these, if you try to
 631    // save multiple instances of these in different sidebars you will run into undefined behaviors.
 632  
 633    const usedReferenceWidgets = [];
 634    const widgetsBlocks = post.blocks.filter(block => {
 635      const {
 636        id
 637      } = block.attributes;
 638  
 639      if (block.name === 'core/legacy-widget' && id) {
 640        if (usedReferenceWidgets.includes(id)) {
 641          return false;
 642        }
 643  
 644        usedReferenceWidgets.push(id);
 645      }
 646  
 647      return true;
 648    }); // Determine which widgets have been deleted. We can tell if a widget is
 649    // deleted and not just moved to a different area by looking to see if
 650    // getWidgetAreaForWidgetId() finds something.
 651  
 652    const deletedWidgets = [];
 653  
 654    for (const widget of areaWidgets) {
 655      const widgetsNewArea = select.getWidgetAreaForWidgetId(widget.id);
 656  
 657      if (!widgetsNewArea) {
 658        deletedWidgets.push(widget);
 659      }
 660    }
 661  
 662    const batchMeta = [];
 663    const batchTasks = [];
 664    const sidebarWidgetsIds = [];
 665  
 666    for (let i = 0; i < widgetsBlocks.length; i++) {
 667      const block = widgetsBlocks[i];
 668      const widgetId = Object(external_wp_widgets_["getWidgetIdFromBlock"])(block);
 669      const oldWidget = widgets[widgetId];
 670      const widget = transformBlockToWidget(block, oldWidget); // We'll replace the null widgetId after save, but we track it here
 671      // since order is important.
 672  
 673      sidebarWidgetsIds.push(widgetId); // Check oldWidget as widgetId might refer to an ID which has been
 674      // deleted, e.g. if a deleted block is restored via undo after saving.
 675  
 676      if (oldWidget) {
 677        // Update an existing widget.
 678        registry.dispatch(external_wp_coreData_["store"]).editEntityRecord('root', 'widget', widgetId, { ...widget,
 679          sidebar: widgetAreaId
 680        }, {
 681          undoIgnore: true
 682        });
 683        const hasEdits = registry.select(external_wp_coreData_["store"]).hasEditsForEntityRecord('root', 'widget', widgetId);
 684  
 685        if (!hasEdits) {
 686          continue;
 687        }
 688  
 689        batchTasks.push(_ref6 => {
 690          let {
 691            saveEditedEntityRecord
 692          } = _ref6;
 693          return saveEditedEntityRecord('root', 'widget', widgetId);
 694        });
 695      } else {
 696        // Create a new widget.
 697        batchTasks.push(_ref7 => {
 698          let {
 699            saveEntityRecord
 700          } = _ref7;
 701          return saveEntityRecord('root', 'widget', { ...widget,
 702            sidebar: widgetAreaId
 703          });
 704        });
 705      }
 706  
 707      batchMeta.push({
 708        block,
 709        position: i,
 710        clientId: block.clientId
 711      });
 712    }
 713  
 714    for (const widget of deletedWidgets) {
 715      batchTasks.push(_ref8 => {
 716        let {
 717          deleteEntityRecord
 718        } = _ref8;
 719        return deleteEntityRecord('root', 'widget', widget.id, {
 720          force: true
 721        });
 722      });
 723    }
 724  
 725    const records = await registry.dispatch(external_wp_coreData_["store"]).__experimentalBatch(batchTasks);
 726    const preservedRecords = records.filter(record => !record.hasOwnProperty('deleted'));
 727    const failedWidgetNames = [];
 728  
 729    for (let i = 0; i < preservedRecords.length; i++) {
 730      const widget = preservedRecords[i];
 731      const {
 732        block,
 733        position
 734      } = batchMeta[i]; // Set __internalWidgetId on the block. This will be persisted to the
 735      // store when we dispatch receiveEntityRecords( post ) below.
 736  
 737      post.blocks[position].attributes.__internalWidgetId = widget.id;
 738      const error = registry.select(external_wp_coreData_["store"]).getLastEntitySaveError('root', 'widget', widget.id);
 739  
 740      if (error) {
 741        var _block$attributes;
 742  
 743        failedWidgetNames.push(((_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.name) || (block === null || block === void 0 ? void 0 : block.name));
 744      }
 745  
 746      if (!sidebarWidgetsIds[position]) {
 747        sidebarWidgetsIds[position] = widget.id;
 748      }
 749    }
 750  
 751    if (failedWidgetNames.length) {
 752      throw new Error(Object(external_wp_i18n_["sprintf"])(
 753      /* translators: %s: List of widget names */
 754      Object(external_wp_i18n_["__"])('Could not save the following widgets: %s.'), failedWidgetNames.join(', ')));
 755    }
 756  
 757    registry.dispatch(external_wp_coreData_["store"]).editEntityRecord(KIND, WIDGET_AREA_ENTITY_TYPE, widgetAreaId, {
 758      widgets: sidebarWidgetsIds
 759    }, {
 760      undoIgnore: true
 761    });
 762    dispatch(trySaveWidgetArea(widgetAreaId));
 763    registry.dispatch(external_wp_coreData_["store"]).receiveEntityRecords(KIND, POST_TYPE, post, undefined);
 764  };
 765  
 766  const trySaveWidgetArea = widgetAreaId => _ref9 => {
 767    let {
 768      registry
 769    } = _ref9;
 770    const saveErrorBefore = registry.select(external_wp_coreData_["store"]).getLastEntitySaveError(KIND, WIDGET_AREA_ENTITY_TYPE, widgetAreaId);
 771    registry.dispatch(external_wp_coreData_["store"]).saveEditedEntityRecord(KIND, WIDGET_AREA_ENTITY_TYPE, widgetAreaId);
 772    const saveErrorAfter = registry.select(external_wp_coreData_["store"]).getLastEntitySaveError(KIND, WIDGET_AREA_ENTITY_TYPE, widgetAreaId);
 773  
 774    if (saveErrorAfter && saveErrorBefore !== saveErrorAfter) {
 775      throw new Error(saveErrorAfter);
 776    }
 777  };
 778  /**
 779   * Sets the clientId stored for a particular widgetId.
 780   *
 781   * @param {number} clientId Client id.
 782   * @param {number} widgetId Widget id.
 783   *
 784   * @return {Object} Action.
 785   */
 786  
 787  
 788  function setWidgetIdForClientId(clientId, widgetId) {
 789    return {
 790      type: 'SET_WIDGET_ID_FOR_CLIENT_ID',
 791      clientId,
 792      widgetId
 793    };
 794  }
 795  /**
 796   * Sets the open state of all the widget areas.
 797   *
 798   * @param {Object} widgetAreasOpenState The open states of all the widget areas.
 799   *
 800   * @return {Object} Action.
 801   */
 802  
 803  function setWidgetAreasOpenState(widgetAreasOpenState) {
 804    return {
 805      type: 'SET_WIDGET_AREAS_OPEN_STATE',
 806      widgetAreasOpenState
 807    };
 808  }
 809  /**
 810   * Sets the open state of the widget area.
 811   *
 812   * @param {string}  clientId The clientId of the widget area.
 813   * @param {boolean} isOpen   Whether the widget area should be opened.
 814   *
 815   * @return {Object} Action.
 816   */
 817  
 818  function actions_setIsWidgetAreaOpen(clientId, isOpen) {
 819    return {
 820      type: 'SET_IS_WIDGET_AREA_OPEN',
 821      clientId,
 822      isOpen
 823    };
 824  }
 825  /**
 826   * Returns an action object used to open/close the inserter.
 827   *
 828   * @param {boolean|Object} value                Whether the inserter should be
 829   *                                              opened (true) or closed (false).
 830   *                                              To specify an insertion point,
 831   *                                              use an object.
 832   * @param {string}         value.rootClientId   The root client ID to insert at.
 833   * @param {number}         value.insertionIndex The index to insert at.
 834   *
 835   * @return {Object} Action object.
 836   */
 837  
 838  function actions_setIsInserterOpened(value) {
 839    return {
 840      type: 'SET_IS_INSERTER_OPENED',
 841      value
 842    };
 843  }
 844  /**
 845   * Returns an action object used to open/close the list view.
 846   *
 847   * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.
 848   * @return {Object} Action object.
 849   */
 850  
 851  function actions_setIsListViewOpened(isOpen) {
 852    return {
 853      type: 'SET_IS_LIST_VIEW_OPENED',
 854      isOpen
 855    };
 856  }
 857  /**
 858   * Returns an action object signalling that the user closed the sidebar.
 859   *
 860   * @return {Object} Action creator.
 861   */
 862  
 863  const actions_closeGeneralSidebar = () => _ref10 => {
 864    let {
 865      registry
 866    } = _ref10;
 867    registry.dispatch(build_module["i" /* store */]).disableComplementaryArea(STORE_NAME);
 868  };
 869  /**
 870   * Action that handles moving a block between widget areas
 871   *
 872   * @param {string} clientId     The clientId of the block to move.
 873   * @param {string} widgetAreaId The id of the widget area to move the block to.
 874   */
 875  
 876  const actions_moveBlockToWidgetArea = (clientId, widgetAreaId) => async _ref11 => {
 877    let {
 878      dispatch,
 879      select,
 880      registry
 881    } = _ref11;
 882    const sourceRootClientId = registry.select(external_wp_blockEditor_["store"]).getBlockRootClientId([clientId]); // Search the top level blocks (widget areas) for the one with the matching
 883    // id attribute. Makes the assumption that all top-level blocks are widget
 884    // areas.
 885  
 886    const widgetAreas = registry.select(external_wp_blockEditor_["store"]).getBlocks();
 887    const destinationWidgetAreaBlock = widgetAreas.find(_ref12 => {
 888      let {
 889        attributes
 890      } = _ref12;
 891      return attributes.id === widgetAreaId;
 892    });
 893    const destinationRootClientId = destinationWidgetAreaBlock.clientId; // Get the index for moving to the end of the the destination widget area.
 894  
 895    const destinationInnerBlocksClientIds = registry.select(external_wp_blockEditor_["store"]).getBlockOrder(destinationRootClientId);
 896    const destinationIndex = destinationInnerBlocksClientIds.length; // Reveal the widget area, if it's not open.
 897  
 898    const isDestinationWidgetAreaOpen = select.getIsWidgetAreaOpen(destinationRootClientId);
 899  
 900    if (!isDestinationWidgetAreaOpen) {
 901      dispatch.setIsWidgetAreaOpen(destinationRootClientId, true);
 902    } // Move the block.
 903  
 904  
 905    registry.dispatch(external_wp_blockEditor_["store"]).moveBlocksToPosition([clientId], sourceRootClientId, destinationRootClientId, destinationIndex);
 906  };
 907  
 908  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/resolvers.js
 909  /**
 910   * WordPress dependencies
 911   */
 912  
 913  
 914  /**
 915   * Internal dependencies
 916   */
 917  
 918  
 919  
 920  
 921  /**
 922   * Creates a "stub" widgets post reflecting all available widget areas. The
 923   * post is meant as a convenient to only exists in runtime and should never be saved. It
 924   * enables a convenient way of editing the widgets by using a regular post editor.
 925   *
 926   * Fetches all widgets from all widgets aras, converts them into blocks, and hydrates a new post with them.
 927   *
 928   * @return {Function} An action creator.
 929   */
 930  
 931  const getWidgetAreas = () => async _ref => {
 932    let {
 933      dispatch,
 934      registry
 935    } = _ref;
 936    const query = buildWidgetAreasQuery();
 937    const widgetAreas = await registry.resolveSelect(external_wp_coreData_["store"]).getEntityRecords(KIND, WIDGET_AREA_ENTITY_TYPE, query);
 938    const widgetAreaBlocks = [];
 939    const sortedWidgetAreas = widgetAreas.sort((a, b) => {
 940      if (a.id === 'wp_inactive_widgets') {
 941        return 1;
 942      }
 943  
 944      if (b.id === 'wp_inactive_widgets') {
 945        return -1;
 946      }
 947  
 948      return 0;
 949    });
 950  
 951    for (const widgetArea of sortedWidgetAreas) {
 952      widgetAreaBlocks.push(Object(external_wp_blocks_["createBlock"])('core/widget-area', {
 953        id: widgetArea.id,
 954        name: widgetArea.name
 955      }));
 956  
 957      if (!widgetArea.widgets.length) {
 958        // If this widget area has no widgets, it won't get a post setup by
 959        // the getWidgets resolver.
 960        dispatch(persistStubPost(buildWidgetAreaPostId(widgetArea.id), []));
 961      }
 962    }
 963  
 964    const widgetAreasOpenState = {};
 965    widgetAreaBlocks.forEach((widgetAreaBlock, index) => {
 966      // Defaults to open the first widget area.
 967      widgetAreasOpenState[widgetAreaBlock.clientId] = index === 0;
 968    });
 969    dispatch(setWidgetAreasOpenState(widgetAreasOpenState));
 970    dispatch(persistStubPost(buildWidgetAreasPostId(), widgetAreaBlocks));
 971  };
 972  /**
 973   * Fetches all widgets from all widgets ares, and groups them by widget area Id.
 974   *
 975   * @return {Function} An action creator.
 976   */
 977  
 978  const getWidgets = () => async _ref2 => {
 979    let {
 980      dispatch,
 981      registry
 982    } = _ref2;
 983    const query = buildWidgetsQuery();
 984    const widgets = await registry.resolveSelect(external_wp_coreData_["store"]).getEntityRecords('root', 'widget', query);
 985    const groupedBySidebar = {};
 986  
 987    for (const widget of widgets) {
 988      const block = transformWidgetToBlock(widget);
 989      groupedBySidebar[widget.sidebar] = groupedBySidebar[widget.sidebar] || [];
 990      groupedBySidebar[widget.sidebar].push(block);
 991    }
 992  
 993    for (const sidebarId in groupedBySidebar) {
 994      if (groupedBySidebar.hasOwnProperty(sidebarId)) {
 995        // Persist the actual post containing the widget block
 996        dispatch(persistStubPost(buildWidgetAreaPostId(sidebarId), groupedBySidebar[sidebarId]));
 997      }
 998    }
 999  };
1000  
1001  // EXTERNAL MODULE: external "lodash"
1002  var external_lodash_ = __webpack_require__("YLtl");
1003  
1004  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/selectors.js
1005  /**
1006   * External dependencies
1007   */
1008  
1009  /**
1010   * WordPress dependencies
1011   */
1012  
1013  
1014  
1015  
1016  
1017  /**
1018   * Internal dependencies
1019   */
1020  
1021  
1022  
1023  /**
1024   * Returns all API widgets.
1025   *
1026   * @return {Object[]} API List of widgets.
1027   */
1028  
1029  const selectors_getWidgets = Object(external_wp_data_["createRegistrySelector"])(select => () => {
1030    const widgets = select(external_wp_coreData_["store"]).getEntityRecords('root', 'widget', buildWidgetsQuery());
1031    return Object(external_lodash_["keyBy"])(widgets, 'id');
1032  });
1033  /**
1034   * Returns API widget data for a particular widget ID.
1035   *
1036   * @param {number} id Widget ID.
1037   *
1038   * @return {Object} API widget data for a particular widget ID.
1039   */
1040  
1041  const getWidget = Object(external_wp_data_["createRegistrySelector"])(select => (state, id) => {
1042    const widgets = select(STORE_NAME).getWidgets();
1043    return widgets[id];
1044  });
1045  /**
1046   * Returns all API widget areas.
1047   *
1048   * @return {Object[]} API List of widget areas.
1049   */
1050  
1051  const selectors_getWidgetAreas = Object(external_wp_data_["createRegistrySelector"])(select => () => {
1052    const query = buildWidgetAreasQuery();
1053    return select(external_wp_coreData_["store"]).getEntityRecords(KIND, WIDGET_AREA_ENTITY_TYPE, query);
1054  });
1055  /**
1056   * Returns widgetArea containing a block identify by given widgetId
1057   *
1058   * @param {string} widgetId The ID of the widget.
1059   * @return {Object} Containing widget area.
1060   */
1061  
1062  const getWidgetAreaForWidgetId = Object(external_wp_data_["createRegistrySelector"])(select => (state, widgetId) => {
1063    const widgetAreas = select(STORE_NAME).getWidgetAreas();
1064    return widgetAreas.find(widgetArea => {
1065      const post = select(external_wp_coreData_["store"]).getEditedEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(widgetArea.id));
1066      const blockWidgetIds = post.blocks.map(block => Object(external_wp_widgets_["getWidgetIdFromBlock"])(block));
1067      return blockWidgetIds.includes(widgetId);
1068    });
1069  });
1070  /**
1071   * Given a child client id, returns the parent widget area block.
1072   *
1073   * @param {string} clientId The client id of a block in a widget area.
1074   *
1075   * @return {WPBlock} The widget area block.
1076   */
1077  
1078  const selectors_getParentWidgetAreaBlock = Object(external_wp_data_["createRegistrySelector"])(select => (state, clientId) => {
1079    const {
1080      getBlock,
1081      getBlockName,
1082      getBlockParents
1083    } = select(external_wp_blockEditor_["store"]);
1084    const blockParents = getBlockParents(clientId);
1085    const widgetAreaClientId = blockParents.find(parentClientId => getBlockName(parentClientId) === 'core/widget-area');
1086    return getBlock(widgetAreaClientId);
1087  });
1088  /**
1089   * Returns all edited widget area entity records.
1090   *
1091   * @return {Object[]} List of edited widget area entity records.
1092   */
1093  
1094  const selectors_getEditedWidgetAreas = Object(external_wp_data_["createRegistrySelector"])(select => (state, ids) => {
1095    let widgetAreas = select(STORE_NAME).getWidgetAreas();
1096  
1097    if (!widgetAreas) {
1098      return [];
1099    }
1100  
1101    if (ids) {
1102      widgetAreas = widgetAreas.filter(_ref => {
1103        let {
1104          id
1105        } = _ref;
1106        return ids.includes(id);
1107      });
1108    }
1109  
1110    return widgetAreas.filter(_ref2 => {
1111      let {
1112        id
1113      } = _ref2;
1114      return select(external_wp_coreData_["store"]).hasEditsForEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(id));
1115    }).map(_ref3 => {
1116      let {
1117        id
1118      } = _ref3;
1119      return select(external_wp_coreData_["store"]).getEditedEntityRecord(KIND, WIDGET_AREA_ENTITY_TYPE, id);
1120    });
1121  });
1122  /**
1123   * Returns all blocks representing reference widgets.
1124   *
1125   * @param {string} referenceWidgetName Optional. If given, only reference widgets with this name will be returned.
1126   * @return {Array}  List of all blocks representing reference widgets
1127   */
1128  
1129  const getReferenceWidgetBlocks = Object(external_wp_data_["createRegistrySelector"])(select => function (state) {
1130    let referenceWidgetName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1131    const results = [];
1132    const widgetAreas = select(STORE_NAME).getWidgetAreas();
1133  
1134    for (const _widgetArea of widgetAreas) {
1135      const post = select(external_wp_coreData_["store"]).getEditedEntityRecord(KIND, POST_TYPE, buildWidgetAreaPostId(_widgetArea.id));
1136  
1137      for (const block of post.blocks) {
1138        var _block$attributes;
1139  
1140        if (block.name === 'core/legacy-widget' && (!referenceWidgetName || ((_block$attributes = block.attributes) === null || _block$attributes === void 0 ? void 0 : _block$attributes.referenceWidgetName) === referenceWidgetName)) {
1141          results.push(block);
1142        }
1143      }
1144    }
1145  
1146    return results;
1147  });
1148  /**
1149   * Returns true if any widget area is currently being saved.
1150   *
1151   * @return {boolean} True if any widget area is currently being saved. False otherwise.
1152   */
1153  
1154  const selectors_isSavingWidgetAreas = Object(external_wp_data_["createRegistrySelector"])(select => () => {
1155    var _select$getWidgetArea;
1156  
1157    const widgetAreasIds = (_select$getWidgetArea = select(STORE_NAME).getWidgetAreas()) === null || _select$getWidgetArea === void 0 ? void 0 : _select$getWidgetArea.map(_ref4 => {
1158      let {
1159        id
1160      } = _ref4;
1161      return id;
1162    });
1163  
1164    if (!widgetAreasIds) {
1165      return false;
1166    }
1167  
1168    for (const id of widgetAreasIds) {
1169      const isSaving = select(external_wp_coreData_["store"]).isSavingEntityRecord(KIND, WIDGET_AREA_ENTITY_TYPE, id);
1170  
1171      if (isSaving) {
1172        return true;
1173      }
1174    }
1175  
1176    const widgetIds = [...Object.keys(select(STORE_NAME).getWidgets()), undefined // account for new widgets without an ID
1177    ];
1178  
1179    for (const id of widgetIds) {
1180      const isSaving = select(external_wp_coreData_["store"]).isSavingEntityRecord('root', 'widget', id);
1181  
1182      if (isSaving) {
1183        return true;
1184      }
1185    }
1186  
1187    return false;
1188  });
1189  /**
1190   * Gets whether the widget area is opened.
1191   *
1192   * @param {Array}  state    The open state of the widget areas.
1193   * @param {string} clientId The clientId of the widget area.
1194   *
1195   * @return {boolean} True if the widget area is open.
1196   */
1197  
1198  const getIsWidgetAreaOpen = (state, clientId) => {
1199    const {
1200      widgetAreasOpenState
1201    } = state;
1202    return !!widgetAreasOpenState[clientId];
1203  };
1204  /**
1205   * Returns true if the inserter is opened.
1206   *
1207   * @param {Object} state Global application state.
1208   *
1209   * @return {boolean} Whether the inserter is opened.
1210   */
1211  
1212  function selectors_isInserterOpened(state) {
1213    return !!state.blockInserterPanel;
1214  }
1215  /**
1216   * Get the insertion point for the inserter.
1217   *
1218   * @param {Object} state Global application state.
1219   *
1220   * @return {Object} The root client ID and index to insert at.
1221   */
1222  
1223  function __experimentalGetInsertionPoint(state) {
1224    const {
1225      rootClientId,
1226      insertionIndex
1227    } = state.blockInserterPanel;
1228    return {
1229      rootClientId,
1230      insertionIndex
1231    };
1232  }
1233  /**
1234   * Returns true if a block can be inserted into a widget area.
1235   *
1236   * @param {Array}  state     The open state of the widget areas.
1237   * @param {string} blockName The name of the block being inserted.
1238   *
1239   * @return {boolean} True if the block can be inserted in a widget area.
1240   */
1241  
1242  const selectors_canInsertBlockInWidgetArea = Object(external_wp_data_["createRegistrySelector"])(select => (state, blockName) => {
1243    // Widget areas are always top-level blocks, which getBlocks will return.
1244    const widgetAreas = select(external_wp_blockEditor_["store"]).getBlocks(); // Makes an assumption that a block that can be inserted into one
1245    // widget area can be inserted into any widget area. Uses the first
1246    // widget area for testing whether the block can be inserted.
1247  
1248    const [firstWidgetArea] = widgetAreas;
1249    return select(external_wp_blockEditor_["store"]).canInsertBlockType(blockName, firstWidgetArea.clientId);
1250  });
1251  /**
1252   * Returns true if the list view is opened.
1253   *
1254   * @param {Object} state Global application state.
1255   *
1256   * @return {boolean} Whether the list view is opened.
1257   */
1258  
1259  function selectors_isListViewOpened(state) {
1260    return state.listViewPanel;
1261  }
1262  
1263  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/store/index.js
1264  /**
1265   * WordPress dependencies
1266   */
1267  
1268  
1269  /**
1270   * Internal dependencies
1271   */
1272  
1273  
1274  
1275  
1276  
1277  
1278  /**
1279   * Block editor data store configuration.
1280   *
1281   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore
1282   *
1283   * @type {Object}
1284   */
1285  
1286  const storeConfig = {
1287    reducer: reducer,
1288    selectors: selectors_namespaceObject,
1289    resolvers: resolvers_namespaceObject,
1290    actions: actions_namespaceObject,
1291    __experimentalUseThunks: true
1292  };
1293  /**
1294   * Store definition for the edit widgets namespace.
1295   *
1296   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
1297   *
1298   * @type {Object}
1299   */
1300  
1301  const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, storeConfig); // Once we build a more generic persistence plugin that works across types of stores
1302  // we'd be able to replace this with a register call.
1303  
1304  Object(external_wp_data_["registerStore"])(STORE_NAME, storeConfig); // This package uses a few in-memory post types as wrappers for convenience.
1305  // This middleware prevents any network requests related to these types as they are
1306  // bound to fail anyway.
1307  
1308  external_wp_apiFetch_default.a.use(function (options, next) {
1309    var _options$path;
1310  
1311    if (((_options$path = options.path) === null || _options$path === void 0 ? void 0 : _options$path.indexOf('/wp/v2/types/widget-area')) === 0) {
1312      return Promise.resolve({});
1313    }
1314  
1315    return next(options);
1316  });
1317  
1318  // EXTERNAL MODULE: external ["wp","compose"]
1319  var external_wp_compose_ = __webpack_require__("K9lf");
1320  
1321  // EXTERNAL MODULE: external ["wp","hooks"]
1322  var external_wp_hooks_ = __webpack_require__("g56x");
1323  
1324  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/filters/move-to-widget-area.js
1325  
1326  
1327  /**
1328   * WordPress dependencies
1329   */
1330  
1331  
1332  
1333  
1334  
1335  /**
1336   * Internal dependencies
1337   */
1338  
1339  
1340  const withMoveToWidgetAreaToolbarItem = Object(external_wp_compose_["createHigherOrderComponent"])(BlockEdit => props => {
1341    const {
1342      clientId,
1343      name: blockName
1344    } = props;
1345    const {
1346      widgetAreas,
1347      currentWidgetAreaId,
1348      canInsertBlockInWidgetArea
1349    } = Object(external_wp_data_["useSelect"])(select => {
1350      var _widgetAreaBlock$attr;
1351  
1352      // Component won't display for a widget area, so don't run selectors.
1353      if (blockName === 'core/widget-area') {
1354        return {};
1355      }
1356  
1357      const selectors = select(store);
1358      const widgetAreaBlock = selectors.getParentWidgetAreaBlock(clientId);
1359      return {
1360        widgetAreas: selectors.getWidgetAreas(),
1361        currentWidgetAreaId: widgetAreaBlock === null || widgetAreaBlock === void 0 ? void 0 : (_widgetAreaBlock$attr = widgetAreaBlock.attributes) === null || _widgetAreaBlock$attr === void 0 ? void 0 : _widgetAreaBlock$attr.id,
1362        canInsertBlockInWidgetArea: selectors.canInsertBlockInWidgetArea(blockName)
1363      };
1364    }, [clientId, blockName]);
1365    const {
1366      moveBlockToWidgetArea
1367    } = Object(external_wp_data_["useDispatch"])(store);
1368    const hasMultipleWidgetAreas = (widgetAreas === null || widgetAreas === void 0 ? void 0 : widgetAreas.length) > 1;
1369    const isMoveToWidgetAreaVisible = blockName !== 'core/widget-area' && hasMultipleWidgetAreas && canInsertBlockInWidgetArea;
1370    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(BlockEdit, props), isMoveToWidgetAreaVisible && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_widgets_["MoveToWidgetArea"], {
1371      widgetAreas: widgetAreas,
1372      currentWidgetAreaId: currentWidgetAreaId,
1373      onSelect: widgetAreaId => {
1374        moveBlockToWidgetArea(props.clientId, widgetAreaId);
1375      }
1376    })));
1377  }, 'withMoveToWidgetAreaToolbarItem');
1378  Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/edit-widgets/block-edit', withMoveToWidgetAreaToolbarItem);
1379  
1380  // EXTERNAL MODULE: external ["wp","mediaUtils"]
1381  var external_wp_mediaUtils_ = __webpack_require__("6aBm");
1382  
1383  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/filters/replace-media-upload.js
1384  /**
1385   * WordPress dependencies
1386   */
1387  
1388  
1389  
1390  const replaceMediaUpload = () => external_wp_mediaUtils_["MediaUpload"];
1391  
1392  Object(external_wp_hooks_["addFilter"])('editor.MediaUpload', 'core/edit-widgets/replace-media-upload', replaceMediaUpload);
1393  
1394  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/filters/index.js
1395  /**
1396   * Internal dependencies
1397   */
1398  
1399  
1400  
1401  // EXTERNAL MODULE: external ["wp","components"]
1402  var external_wp_components_ = __webpack_require__("tI+e");
1403  
1404  // EXTERNAL MODULE: ./node_modules/classnames/index.js
1405  var classnames = __webpack_require__("TSYQ");
1406  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
1407  
1408  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/blocks/widget-area/edit/use-is-dragging-within.js
1409  /**
1410   * WordPress dependencies
1411   */
1412  
1413  /** @typedef {import('@wordpress/element').RefObject} RefObject */
1414  
1415  /**
1416   * A React hook to determine if it's dragging within the target element.
1417   *
1418   * @param {RefObject<HTMLElement>} elementRef The target elementRef object.
1419   *
1420   * @return {boolean} Is dragging within the target element.
1421   */
1422  
1423  const useIsDraggingWithin = elementRef => {
1424    const [isDraggingWithin, setIsDraggingWithin] = Object(external_wp_element_["useState"])(false);
1425    Object(external_wp_element_["useEffect"])(() => {
1426      const {
1427        ownerDocument
1428      } = elementRef.current;
1429  
1430      function handleDragStart(event) {
1431        // Check the first time when the dragging starts.
1432        handleDragEnter(event);
1433      } // Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.
1434  
1435  
1436      function handleDragEnd() {
1437        setIsDraggingWithin(false);
1438      }
1439  
1440      function handleDragEnter(event) {
1441        // Check if the current target is inside the item element.
1442        if (elementRef.current.contains(event.target)) {
1443          setIsDraggingWithin(true);
1444        } else {
1445          setIsDraggingWithin(false);
1446        }
1447      } // Bind these events to the document to catch all drag events.
1448      // Ideally, we can also use `event.relatedTarget`, but sadly that doesn't work in Safari.
1449  
1450  
1451      ownerDocument.addEventListener('dragstart', handleDragStart);
1452      ownerDocument.addEventListener('dragend', handleDragEnd);
1453      ownerDocument.addEventListener('dragenter', handleDragEnter);
1454      return () => {
1455        ownerDocument.removeEventListener('dragstart', handleDragStart);
1456        ownerDocument.removeEventListener('dragend', handleDragEnd);
1457        ownerDocument.removeEventListener('dragenter', handleDragEnter);
1458      };
1459    }, []);
1460    return isDraggingWithin;
1461  };
1462  
1463  /* harmony default export */ var use_is_dragging_within = (useIsDraggingWithin);
1464  
1465  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/blocks/widget-area/edit/inner-blocks.js
1466  
1467  
1468  /**
1469   * External dependencies
1470   */
1471  
1472  /**
1473   * WordPress dependencies
1474   */
1475  
1476  
1477  
1478  
1479  /**
1480   * Internal dependencies
1481   */
1482  
1483  
1484  function WidgetAreaInnerBlocks(_ref) {
1485    let {
1486      id
1487    } = _ref;
1488    const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])('root', 'postType');
1489    const innerBlocksRef = Object(external_wp_element_["useRef"])();
1490    const isDraggingWithinInnerBlocks = use_is_dragging_within(innerBlocksRef);
1491    const shouldHighlightDropZone = isDraggingWithinInnerBlocks; // Using the experimental hook so that we can control the className of the element.
1492  
1493    const innerBlocksProps = Object(external_wp_blockEditor_["useInnerBlocksProps"])({
1494      ref: innerBlocksRef
1495    }, {
1496      value: blocks,
1497      onInput,
1498      onChange,
1499      templateLock: false,
1500      renderAppender: external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender
1501    });
1502    return Object(external_wp_element_["createElement"])("div", {
1503      "data-widget-area-id": id,
1504      className: classnames_default()('wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper', {
1505        'wp-block-widget-area__highlight-drop-zone': shouldHighlightDropZone
1506      })
1507    }, Object(external_wp_element_["createElement"])("div", innerBlocksProps));
1508  }
1509  
1510  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/blocks/widget-area/edit/index.js
1511  
1512  
1513  /**
1514   * WordPress dependencies
1515   */
1516  
1517  
1518  
1519  
1520  /**
1521   * Internal dependencies
1522   */
1523  
1524  
1525  
1526  
1527  /** @typedef {import('@wordpress/element').RefObject} RefObject */
1528  
1529  function WidgetAreaEdit(_ref) {
1530    let {
1531      clientId,
1532      className,
1533      attributes: {
1534        id,
1535        name
1536      }
1537    } = _ref;
1538    const isOpen = Object(external_wp_data_["useSelect"])(select => select(store).getIsWidgetAreaOpen(clientId), [clientId]);
1539    const {
1540      setIsWidgetAreaOpen
1541    } = Object(external_wp_data_["useDispatch"])(store);
1542    const wrapper = Object(external_wp_element_["useRef"])();
1543    const setOpen = Object(external_wp_element_["useCallback"])(openState => setIsWidgetAreaOpen(clientId, openState), [clientId]);
1544    const isDragging = useIsDragging(wrapper);
1545    const isDraggingWithin = use_is_dragging_within(wrapper);
1546    const [openedWhileDragging, setOpenedWhileDragging] = Object(external_wp_element_["useState"])(false);
1547    Object(external_wp_element_["useEffect"])(() => {
1548      if (!isDragging) {
1549        setOpenedWhileDragging(false);
1550        return;
1551      }
1552  
1553      if (isDraggingWithin && !isOpen) {
1554        setOpen(true);
1555        setOpenedWhileDragging(true);
1556      } else if (!isDraggingWithin && isOpen && openedWhileDragging) {
1557        setOpen(false);
1558      }
1559    }, [isOpen, isDragging, isDraggingWithin, openedWhileDragging]);
1560    return Object(external_wp_element_["createElement"])(external_wp_components_["Panel"], {
1561      className: className,
1562      ref: wrapper
1563    }, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], {
1564      title: name,
1565      opened: isOpen,
1566      onToggle: () => {
1567        setIsWidgetAreaOpen(clientId, !isOpen);
1568      },
1569      scrollAfterOpen: !isDragging
1570    }, _ref2 => {
1571      let {
1572        opened
1573      } = _ref2;
1574      return (// This is required to ensure LegacyWidget blocks are not
1575        // unmounted when the panel is collapsed. Unmounting legacy
1576        // widgets may have unintended consequences (e.g.  TinyMCE
1577        // not being properly reinitialized)
1578        Object(external_wp_element_["createElement"])(external_wp_components_["__unstableDisclosureContent"], {
1579          className: "wp-block-widget-area__panel-body-content",
1580          visible: opened
1581        }, Object(external_wp_element_["createElement"])(external_wp_coreData_["EntityProvider"], {
1582          kind: "root",
1583          type: "postType",
1584          id: `widget-area-$id}`
1585        }, Object(external_wp_element_["createElement"])(WidgetAreaInnerBlocks, {
1586          id: id
1587        })))
1588      );
1589    }));
1590  }
1591  /**
1592   * A React hook to determine if dragging is active.
1593   *
1594   * @param {RefObject<HTMLElement>} elementRef The target elementRef object.
1595   *
1596   * @return {boolean} Is dragging within the entire document.
1597   */
1598  
1599  const useIsDragging = elementRef => {
1600    const [isDragging, setIsDragging] = Object(external_wp_element_["useState"])(false);
1601    Object(external_wp_element_["useEffect"])(() => {
1602      const {
1603        ownerDocument
1604      } = elementRef.current;
1605  
1606      function handleDragStart() {
1607        setIsDragging(true);
1608      }
1609  
1610      function handleDragEnd() {
1611        setIsDragging(false);
1612      }
1613  
1614      ownerDocument.addEventListener('dragstart', handleDragStart);
1615      ownerDocument.addEventListener('dragend', handleDragEnd);
1616      return () => {
1617        ownerDocument.removeEventListener('dragstart', handleDragStart);
1618        ownerDocument.removeEventListener('dragend', handleDragEnd);
1619      };
1620    }, []);
1621    return isDragging;
1622  };
1623  
1624  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/blocks/widget-area/index.js
1625  /**
1626   * WordPress dependencies
1627   */
1628  
1629  /**
1630   * Internal dependencies
1631   */
1632  
1633  const widget_area_metadata = {
1634    name: "core/widget-area",
1635    category: "widgets",
1636    attributes: {
1637      id: {
1638        type: "string"
1639      },
1640      name: {
1641        type: "string"
1642      }
1643    },
1644    supports: {
1645      html: false,
1646      inserter: false,
1647      customClassName: false,
1648      reusable: false,
1649      __experimentalToolbar: false,
1650      __experimentalParentSelector: false
1651    },
1652    editorStyle: "wp-block-widget-area-editor",
1653    style: "wp-block-widget-area"
1654  };
1655  
1656  const {
1657    name: widget_area_name
1658  } = widget_area_metadata;
1659  
1660  const widget_area_settings = {
1661    title: Object(external_wp_i18n_["__"])('Widget Area'),
1662    description: Object(external_wp_i18n_["__"])('A widget area container.'),
1663    __experimentalLabel: _ref => {
1664      let {
1665        name: label
1666      } = _ref;
1667      return label;
1668    },
1669    edit: WidgetAreaEdit
1670  };
1671  
1672  // EXTERNAL MODULE: external ["wp","plugins"]
1673  var external_wp_plugins_ = __webpack_require__("TvNi");
1674  
1675  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/error-boundary/index.js
1676  
1677  
1678  /**
1679   * WordPress dependencies
1680   */
1681  
1682  
1683  
1684  
1685  
1686  
1687  function CopyButton(_ref) {
1688    let {
1689      text,
1690      children
1691    } = _ref;
1692    const ref = Object(external_wp_compose_["useCopyToClipboard"])(text);
1693    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
1694      variant: "secondary",
1695      ref: ref
1696    }, children);
1697  }
1698  
1699  class error_boundary_ErrorBoundary extends external_wp_element_["Component"] {
1700    constructor() {
1701      super(...arguments);
1702      this.reboot = this.reboot.bind(this);
1703      this.state = {
1704        error: null
1705      };
1706    }
1707  
1708    componentDidCatch(error) {
1709      this.setState({
1710        error
1711      });
1712    }
1713  
1714    reboot() {
1715      this.props.onError();
1716    }
1717  
1718    render() {
1719      const {
1720        error
1721      } = this.state;
1722  
1723      if (!error) {
1724        return this.props.children;
1725      }
1726  
1727      return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], {
1728        className: "edit-widgets-error-boundary",
1729        actions: [Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
1730          key: "recovery",
1731          onClick: this.reboot,
1732          variant: "secondary"
1733        }, Object(external_wp_i18n_["__"])('Attempt Recovery')), Object(external_wp_element_["createElement"])(CopyButton, {
1734          key: "copy-error",
1735          text: error.stack
1736        }, Object(external_wp_i18n_["__"])('Copy Error'))]
1737      }, Object(external_wp_i18n_["__"])('The editor has encountered an unexpected error.'));
1738    }
1739  
1740  }
1741  
1742  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
1743  var esm_extends = __webpack_require__("wx14");
1744  
1745  // EXTERNAL MODULE: external ["wp","reusableBlocks"]
1746  var external_wp_reusableBlocks_ = __webpack_require__("diJD");
1747  
1748  // EXTERNAL MODULE: external ["wp","keyboardShortcuts"]
1749  var external_wp_keyboardShortcuts_ = __webpack_require__("hF7m");
1750  
1751  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/keyboard-shortcuts/index.js
1752  /**
1753   * WordPress dependencies
1754   */
1755  
1756  
1757  
1758  
1759  
1760  /**
1761   * Internal dependencies
1762   */
1763  
1764  
1765  
1766  function KeyboardShortcuts() {
1767    const {
1768      redo,
1769      undo
1770    } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
1771    const {
1772      saveEditedWidgetAreas
1773    } = Object(external_wp_data_["useDispatch"])(store);
1774    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-widgets/undo', event => {
1775      undo();
1776      event.preventDefault();
1777    });
1778    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-widgets/redo', event => {
1779      redo();
1780      event.preventDefault();
1781    });
1782    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-widgets/save', event => {
1783      event.preventDefault();
1784      saveEditedWidgetAreas();
1785    });
1786    return null;
1787  }
1788  
1789  function KeyboardShortcutsRegister() {
1790    // Registering the shortcuts
1791    const {
1792      registerShortcut
1793    } = Object(external_wp_data_["useDispatch"])(external_wp_keyboardShortcuts_["store"]);
1794    Object(external_wp_element_["useEffect"])(() => {
1795      registerShortcut({
1796        name: 'core/edit-widgets/undo',
1797        category: 'global',
1798        description: Object(external_wp_i18n_["__"])('Undo your last changes.'),
1799        keyCombination: {
1800          modifier: 'primary',
1801          character: 'z'
1802        }
1803      });
1804      registerShortcut({
1805        name: 'core/edit-widgets/redo',
1806        category: 'global',
1807        description: Object(external_wp_i18n_["__"])('Redo your last undo.'),
1808        keyCombination: {
1809          modifier: 'primaryShift',
1810          character: 'z'
1811        }
1812      });
1813      registerShortcut({
1814        name: 'core/edit-widgets/save',
1815        category: 'global',
1816        description: Object(external_wp_i18n_["__"])('Save your changes.'),
1817        keyCombination: {
1818          modifier: 'primary',
1819          character: 's'
1820        }
1821      });
1822      registerShortcut({
1823        name: 'core/edit-widgets/keyboard-shortcuts',
1824        category: 'main',
1825        description: Object(external_wp_i18n_["__"])('Display these keyboard shortcuts.'),
1826        keyCombination: {
1827          modifier: 'access',
1828          character: 'h'
1829        }
1830      });
1831      registerShortcut({
1832        name: 'core/edit-widgets/next-region',
1833        category: 'global',
1834        description: Object(external_wp_i18n_["__"])('Navigate to the next part of the editor.'),
1835        keyCombination: {
1836          modifier: 'ctrl',
1837          character: '`'
1838        },
1839        aliases: [{
1840          modifier: 'access',
1841          character: 'n'
1842        }]
1843      });
1844      registerShortcut({
1845        name: 'core/edit-widgets/previous-region',
1846        category: 'global',
1847        description: Object(external_wp_i18n_["__"])('Navigate to the previous part of the editor.'),
1848        keyCombination: {
1849          modifier: 'ctrlShift',
1850          character: '`'
1851        },
1852        aliases: [{
1853          modifier: 'access',
1854          character: 'p'
1855        }]
1856      });
1857    }, [registerShortcut]);
1858    return null;
1859  }
1860  
1861  KeyboardShortcuts.Register = KeyboardShortcutsRegister;
1862  /* harmony default export */ var keyboard_shortcuts = (KeyboardShortcuts);
1863  
1864  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/hooks/use-last-selected-widget-area.js
1865  /**
1866   * WordPress dependencies
1867   */
1868  
1869  
1870  
1871  /**
1872   * Internal dependencies
1873   */
1874  
1875  
1876  
1877  /**
1878   * A react hook that returns the client id of the last widget area to have
1879   * been selected, or to have a selected block within it.
1880   *
1881   * @return {string} clientId of the widget area last selected.
1882   */
1883  
1884  const useLastSelectedWidgetArea = () => Object(external_wp_data_["useSelect"])(select => {
1885    var _widgetAreasPost$bloc;
1886  
1887    const {
1888      getBlockSelectionEnd,
1889      getBlockName
1890    } = select(external_wp_blockEditor_["store"]);
1891    const selectionEndClientId = getBlockSelectionEnd(); // If the selected block is a widget area, return its clientId.
1892  
1893    if (getBlockName(selectionEndClientId) === 'core/widget-area') {
1894      return selectionEndClientId;
1895    }
1896  
1897    const {
1898      getParentWidgetAreaBlock
1899    } = select(store);
1900    const widgetAreaBlock = getParentWidgetAreaBlock(selectionEndClientId);
1901    const widgetAreaBlockClientId = widgetAreaBlock === null || widgetAreaBlock === void 0 ? void 0 : widgetAreaBlock.clientId;
1902  
1903    if (widgetAreaBlockClientId) {
1904      return widgetAreaBlockClientId;
1905    } // If no widget area has been selected, return the clientId of the first
1906    // area.
1907  
1908  
1909    const {
1910      getEntityRecord
1911    } = select(external_wp_coreData_["store"]);
1912    const widgetAreasPost = getEntityRecord(KIND, POST_TYPE, buildWidgetAreasPostId());
1913    return widgetAreasPost === null || widgetAreasPost === void 0 ? void 0 : (_widgetAreasPost$bloc = widgetAreasPost.blocks[0]) === null || _widgetAreasPost$bloc === void 0 ? void 0 : _widgetAreasPost$bloc.clientId;
1914  }, []);
1915  
1916  /* harmony default export */ var use_last_selected_widget_area = (useLastSelectedWidgetArea);
1917  
1918  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/constants.js
1919  const ALLOW_REUSABLE_BLOCKS = false;
1920  const ENABLE_EXPERIMENTAL_FSE_BLOCKS = false;
1921  
1922  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/widget-areas-block-editor-provider/index.js
1923  
1924  
1925  
1926  /**
1927   * External dependencies
1928   */
1929  
1930  /**
1931   * WordPress dependencies
1932   */
1933  
1934  
1935  
1936  
1937  
1938  
1939  
1940  
1941  
1942  /**
1943   * Internal dependencies
1944   */
1945  
1946  
1947  
1948  
1949  
1950  
1951  
1952  function WidgetAreasBlockEditorProvider(_ref) {
1953    let {
1954      blockEditorSettings,
1955      children,
1956      ...props
1957    } = _ref;
1958    const {
1959      hasUploadPermissions,
1960      reusableBlocks,
1961      isFixedToolbarActive,
1962      keepCaretInsideBlock
1963    } = Object(external_wp_data_["useSelect"])(select => ({
1964      hasUploadPermissions: Object(external_lodash_["defaultTo"])(select(external_wp_coreData_["store"]).canUser('create', 'media'), true),
1965      widgetAreas: select(store).getWidgetAreas(),
1966      widgets: select(store).getWidgets(),
1967      reusableBlocks: ALLOW_REUSABLE_BLOCKS ? select(external_wp_coreData_["store"]).getEntityRecords('postType', 'wp_block') : [],
1968      isFixedToolbarActive: select(build_module["i" /* store */]).isFeatureActive('core/edit-widgets', 'fixedToolbar'),
1969      keepCaretInsideBlock: select(build_module["i" /* store */]).isFeatureActive('core/edit-widgets', 'keepCaretInsideBlock')
1970    }), []);
1971    const {
1972      setIsInserterOpened
1973    } = Object(external_wp_data_["useDispatch"])(store);
1974    const settings = Object(external_wp_element_["useMemo"])(() => {
1975      let mediaUploadBlockEditor;
1976  
1977      if (hasUploadPermissions) {
1978        mediaUploadBlockEditor = _ref2 => {
1979          let {
1980            onError,
1981            ...argumentsObject
1982          } = _ref2;
1983          Object(external_wp_mediaUtils_["uploadMedia"])({
1984            wpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,
1985            onError: _ref3 => {
1986              let {
1987                message
1988              } = _ref3;
1989              return onError(message);
1990            },
1991            ...argumentsObject
1992          });
1993        };
1994      }
1995  
1996      return { ...blockEditorSettings,
1997        __experimentalReusableBlocks: reusableBlocks,
1998        hasFixedToolbar: isFixedToolbarActive,
1999        keepCaretInsideBlock,
2000        mediaUpload: mediaUploadBlockEditor,
2001        templateLock: 'all',
2002        __experimentalSetIsInserterOpened: setIsInserterOpened
2003      };
2004    }, [blockEditorSettings, isFixedToolbarActive, keepCaretInsideBlock, hasUploadPermissions, reusableBlocks, setIsInserterOpened]);
2005    const widgetAreaId = use_last_selected_widget_area();
2006    const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])(KIND, POST_TYPE, {
2007      id: buildWidgetAreasPostId()
2008    });
2009    return Object(external_wp_element_["createElement"])(external_wp_keyboardShortcuts_["ShortcutProvider"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorKeyboardShortcuts"].Register, null), Object(external_wp_element_["createElement"])(keyboard_shortcuts.Register, null), Object(external_wp_element_["createElement"])(external_wp_components_["SlotFillProvider"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorProvider"], Object(esm_extends["a" /* default */])({
2010      value: blocks,
2011      onInput: onInput,
2012      onChange: onChange,
2013      settings: settings,
2014      useSubRegistry: false
2015    }, props), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["CopyHandler"], null, children), Object(external_wp_element_["createElement"])(external_wp_reusableBlocks_["ReusableBlocksMenuItems"], {
2016      rootClientId: widgetAreaId
2017    }))));
2018  }
2019  
2020  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/cog.js
2021  var cog = __webpack_require__("Cg8A");
2022  
2023  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/block-default.js
2024  var block_default = __webpack_require__("//Lo");
2025  
2026  // EXTERNAL MODULE: external ["wp","url"]
2027  var external_wp_url_ = __webpack_require__("Mmq9");
2028  
2029  // EXTERNAL MODULE: external ["wp","dom"]
2030  var external_wp_dom_ = __webpack_require__("1CF3");
2031  
2032  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/sidebar/widget-areas.js
2033  
2034  
2035  /**
2036   * WordPress dependencies
2037   */
2038  
2039  
2040  
2041  
2042  
2043  
2044  
2045  
2046  /**
2047   * Internal dependencies
2048   */
2049  
2050  
2051  function WidgetAreas(_ref) {
2052    let {
2053      selectedWidgetAreaId
2054    } = _ref;
2055    const widgetAreas = Object(external_wp_data_["useSelect"])(select => select(store).getWidgetAreas(), []);
2056    const selectedWidgetArea = Object(external_wp_element_["useMemo"])(() => selectedWidgetAreaId && (widgetAreas === null || widgetAreas === void 0 ? void 0 : widgetAreas.find(widgetArea => widgetArea.id === selectedWidgetAreaId)), [selectedWidgetAreaId, widgetAreas]);
2057    let description;
2058  
2059    if (!selectedWidgetArea) {
2060      description = Object(external_wp_i18n_["__"])('Widget Areas are global parts in your site’s layout that can accept blocks. These vary by theme, but are typically parts like your Sidebar or Footer.');
2061    } else if (selectedWidgetAreaId === 'wp_inactive_widgets') {
2062      description = Object(external_wp_i18n_["__"])('Blocks in this Widget Area will not be displayed in your site.');
2063    } else {
2064      description = selectedWidgetArea.description;
2065    }
2066  
2067    return Object(external_wp_element_["createElement"])("div", {
2068      className: "edit-widgets-widget-areas"
2069    }, Object(external_wp_element_["createElement"])("div", {
2070      className: "edit-widgets-widget-areas__top-container"
2071    }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], {
2072      icon: block_default["a" /* default */]
2073    }), Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])("p", {
2074      // Use `dangerouslySetInnerHTML` to keep backwards
2075      // compatibility. Basic markup in the description is an
2076      // established feature of WordPress.
2077      // @see https://github.com/WordPress/gutenberg/issues/33106
2078      dangerouslySetInnerHTML: {
2079        __html: Object(external_wp_dom_["safeHTML"])(description)
2080      }
2081    }), (widgetAreas === null || widgetAreas === void 0 ? void 0 : widgetAreas.length) === 0 && Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Your theme does not contain any Widget Areas.')), !selectedWidgetArea && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2082      href: Object(external_wp_url_["addQueryArgs"])('customize.php', {
2083        'autofocus[panel]': 'widgets',
2084        return: window.location.pathname
2085      }),
2086      variant: "tertiary"
2087    }, Object(external_wp_i18n_["__"])('Manage with live preview')))));
2088  }
2089  
2090  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/sidebar/index.js
2091  
2092  
2093  /**
2094   * External dependencies
2095   */
2096  
2097  /**
2098   * WordPress dependencies
2099   */
2100  
2101  
2102  
2103  
2104  
2105  
2106  
2107  
2108  const SIDEBAR_ACTIVE_BY_DEFAULT = external_wp_element_["Platform"].select({
2109    web: true,
2110    native: false
2111  });
2112  const BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector'; // Widget areas were one called block areas, so use 'edit-widgets/block-areas'
2113  // for backwards compatibility.
2114  
2115  const WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';
2116  /**
2117   * Internal dependencies
2118   */
2119  
2120  
2121  
2122  
2123  function ComplementaryAreaTab(_ref) {
2124    let {
2125      identifier,
2126      label,
2127      isActive
2128    } = _ref;
2129    const {
2130      enableComplementaryArea
2131    } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]);
2132    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2133      onClick: () => enableComplementaryArea(store.name, identifier),
2134      className: classnames_default()('edit-widgets-sidebar__panel-tab', {
2135        'is-active': isActive
2136      }),
2137      "aria-label": isActive ? // translators: %s: sidebar label e.g: "Widget Areas".
2138      Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('%s (selected)'), label) : label,
2139      "data-label": label
2140    }, label);
2141  }
2142  
2143  function Sidebar() {
2144    const {
2145      enableComplementaryArea
2146    } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]);
2147    const {
2148      currentArea,
2149      hasSelectedNonAreaBlock,
2150      isGeneralSidebarOpen,
2151      selectedWidgetAreaBlock
2152    } = Object(external_wp_data_["useSelect"])(select => {
2153      const {
2154        getSelectedBlock,
2155        getBlock,
2156        getBlockParentsByBlockName
2157      } = select(external_wp_blockEditor_["store"]);
2158      const {
2159        getActiveComplementaryArea
2160      } = select(build_module["i" /* store */]);
2161      const selectedBlock = getSelectedBlock();
2162      const activeArea = getActiveComplementaryArea(store.name);
2163      let currentSelection = activeArea;
2164  
2165      if (!currentSelection) {
2166        if (selectedBlock) {
2167          currentSelection = BLOCK_INSPECTOR_IDENTIFIER;
2168        } else {
2169          currentSelection = WIDGET_AREAS_IDENTIFIER;
2170        }
2171      }
2172  
2173      let widgetAreaBlock;
2174  
2175      if (selectedBlock) {
2176        if (selectedBlock.name === 'core/widget-area') {
2177          widgetAreaBlock = selectedBlock;
2178        } else {
2179          widgetAreaBlock = getBlock(getBlockParentsByBlockName(selectedBlock.clientId, 'core/widget-area')[0]);
2180        }
2181      }
2182  
2183      return {
2184        currentArea: currentSelection,
2185        hasSelectedNonAreaBlock: !!(selectedBlock && selectedBlock.name !== 'core/widget-area'),
2186        isGeneralSidebarOpen: !!activeArea,
2187        selectedWidgetAreaBlock: widgetAreaBlock
2188      };
2189    }, []); // currentArea, and isGeneralSidebarOpen are intentionally left out from the dependencies,
2190    // because we want to run the effect when a block is selected/unselected and not when the sidebar state changes.
2191  
2192    Object(external_wp_element_["useEffect"])(() => {
2193      if (hasSelectedNonAreaBlock && currentArea === WIDGET_AREAS_IDENTIFIER && isGeneralSidebarOpen) {
2194        enableComplementaryArea('core/edit-widgets', BLOCK_INSPECTOR_IDENTIFIER);
2195      }
2196  
2197      if (!hasSelectedNonAreaBlock && currentArea === BLOCK_INSPECTOR_IDENTIFIER && isGeneralSidebarOpen) {
2198        enableComplementaryArea('core/edit-widgets', WIDGET_AREAS_IDENTIFIER);
2199      }
2200    }, [hasSelectedNonAreaBlock, enableComplementaryArea]);
2201    return Object(external_wp_element_["createElement"])(build_module["b" /* ComplementaryArea */], {
2202      className: "edit-widgets-sidebar",
2203      header: Object(external_wp_element_["createElement"])("ul", null, Object(external_wp_element_["createElement"])("li", null, Object(external_wp_element_["createElement"])(ComplementaryAreaTab, {
2204        identifier: WIDGET_AREAS_IDENTIFIER,
2205        label: selectedWidgetAreaBlock ? selectedWidgetAreaBlock.attributes.name : Object(external_wp_i18n_["__"])('Widget Areas'),
2206        isActive: currentArea === WIDGET_AREAS_IDENTIFIER
2207      })), Object(external_wp_element_["createElement"])("li", null, Object(external_wp_element_["createElement"])(ComplementaryAreaTab, {
2208        identifier: BLOCK_INSPECTOR_IDENTIFIER,
2209        label: Object(external_wp_i18n_["__"])('Block'),
2210        isActive: currentArea === BLOCK_INSPECTOR_IDENTIFIER
2211      }))),
2212      headerClassName: "edit-widgets-sidebar__panel-tabs"
2213      /* translators: button label text should, if possible, be under 16 characters. */
2214      ,
2215      title: Object(external_wp_i18n_["__"])('Settings'),
2216      closeLabel: Object(external_wp_i18n_["__"])('Close settings'),
2217      scope: "core/edit-widgets",
2218      identifier: currentArea,
2219      icon: cog["a" /* default */],
2220      isActiveByDefault: SIDEBAR_ACTIVE_BY_DEFAULT
2221    }, currentArea === WIDGET_AREAS_IDENTIFIER && Object(external_wp_element_["createElement"])(WidgetAreas, {
2222      selectedWidgetAreaId: selectedWidgetAreaBlock === null || selectedWidgetAreaBlock === void 0 ? void 0 : selectedWidgetAreaBlock.attributes.id
2223    }), currentArea === BLOCK_INSPECTOR_IDENTIFIER && (hasSelectedNonAreaBlock ? Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockInspector"], null) : // Pretend that Widget Areas are part of the UI by not
2224    // showing the Block Inspector when one is selected.
2225    Object(external_wp_element_["createElement"])("span", {
2226      className: "block-editor-block-inspector__no-blocks"
2227    }, Object(external_wp_i18n_["__"])('No block selected.'))));
2228  }
2229  
2230  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/plus.js
2231  var plus = __webpack_require__("Q4Sy");
2232  
2233  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/list-view.js
2234  var list_view = __webpack_require__("OzlF");
2235  
2236  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/save-button/index.js
2237  
2238  
2239  /**
2240   * WordPress dependencies
2241   */
2242  
2243  
2244  
2245  /**
2246   * Internal dependencies
2247   */
2248  
2249  
2250  
2251  function SaveButton() {
2252    const {
2253      hasEditedWidgetAreaIds,
2254      isSaving
2255    } = Object(external_wp_data_["useSelect"])(select => {
2256      var _getEditedWidgetAreas;
2257  
2258      const {
2259        getEditedWidgetAreas,
2260        isSavingWidgetAreas
2261      } = select(store);
2262      return {
2263        hasEditedWidgetAreaIds: ((_getEditedWidgetAreas = getEditedWidgetAreas()) === null || _getEditedWidgetAreas === void 0 ? void 0 : _getEditedWidgetAreas.length) > 0,
2264        isSaving: isSavingWidgetAreas()
2265      };
2266    }, []);
2267    const {
2268      saveEditedWidgetAreas
2269    } = Object(external_wp_data_["useDispatch"])(store);
2270    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
2271      variant: "primary",
2272      isBusy: isSaving,
2273      "aria-disabled": isSaving,
2274      onClick: isSaving ? undefined : saveEditedWidgetAreas,
2275      disabled: !hasEditedWidgetAreaIds
2276    }, isSaving ? Object(external_wp_i18n_["__"])('Saving…') : Object(external_wp_i18n_["__"])('Update'));
2277  }
2278  
2279  /* harmony default export */ var save_button = (SaveButton);
2280  
2281  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/undo.js
2282  var library_undo = __webpack_require__("Ntru");
2283  
2284  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/redo.js
2285  var library_redo = __webpack_require__("K2cm");
2286  
2287  // EXTERNAL MODULE: external ["wp","keycodes"]
2288  var external_wp_keycodes_ = __webpack_require__("RxS6");
2289  
2290  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/header/undo-redo/undo.js
2291  
2292  
2293  /**
2294   * WordPress dependencies
2295   */
2296  
2297  
2298  
2299  
2300  
2301  
2302  function UndoButton() {
2303    const hasUndo = Object(external_wp_data_["useSelect"])(select => select(external_wp_coreData_["store"]).hasUndo(), []);
2304    const {
2305      undo
2306    } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
2307    return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], {
2308      icon: !Object(external_wp_i18n_["isRTL"])() ? library_undo["a" /* default */] : library_redo["a" /* default */],
2309      label: Object(external_wp_i18n_["__"])('Undo'),
2310      shortcut: external_wp_keycodes_["displayShortcut"].primary('z') // If there are no undo levels we don't want to actually disable this
2311      // button, because it will remove focus for keyboard users.
2312      // See: https://github.com/WordPress/gutenberg/issues/3486
2313      ,
2314      "aria-disabled": !hasUndo,
2315      onClick: hasUndo ? undo : undefined
2316    });
2317  }
2318  
2319  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/header/undo-redo/redo.js
2320  
2321  
2322  /**
2323   * WordPress dependencies
2324   */
2325  
2326  
2327  
2328  
2329  
2330  
2331  function RedoButton() {
2332    const hasRedo = Object(external_wp_data_["useSelect"])(select => select(external_wp_coreData_["store"]).hasRedo(), []);
2333    const {
2334      redo
2335    } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
2336    return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], {
2337      icon: !Object(external_wp_i18n_["isRTL"])() ? library_redo["a" /* default */] : library_undo["a" /* default */],
2338      label: Object(external_wp_i18n_["__"])('Redo'),
2339      shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('z') // If there are no undo levels we don't want to actually disable this
2340      // button, because it will remove focus for keyboard users.
2341      // See: https://github.com/WordPress/gutenberg/issues/3486
2342      ,
2343      "aria-disabled": !hasRedo,
2344      onClick: hasRedo ? redo : undefined
2345    });
2346  }
2347  
2348  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/external.js
2349  var external = __webpack_require__("K+tz");
2350  
2351  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/keyboard-shortcut-help-modal/config.js
2352  /**
2353   * WordPress dependencies
2354   */
2355  
2356  const textFormattingShortcuts = [{
2357    keyCombination: {
2358      modifier: 'primary',
2359      character: 'b'
2360    },
2361    description: Object(external_wp_i18n_["__"])('Make the selected text bold.')
2362  }, {
2363    keyCombination: {
2364      modifier: 'primary',
2365      character: 'i'
2366    },
2367    description: Object(external_wp_i18n_["__"])('Make the selected text italic.')
2368  }, {
2369    keyCombination: {
2370      modifier: 'primary',
2371      character: 'k'
2372    },
2373    description: Object(external_wp_i18n_["__"])('Convert the selected text into a link.')
2374  }, {
2375    keyCombination: {
2376      modifier: 'primaryShift',
2377      character: 'k'
2378    },
2379    description: Object(external_wp_i18n_["__"])('Remove a link.')
2380  }, {
2381    keyCombination: {
2382      modifier: 'primary',
2383      character: 'u'
2384    },
2385    description: Object(external_wp_i18n_["__"])('Underline the selected text.')
2386  }];
2387  
2388  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/keyboard-shortcut-help-modal/shortcut.js
2389  
2390  
2391  /**
2392   * External dependencies
2393   */
2394  
2395  /**
2396   * WordPress dependencies
2397   */
2398  
2399  
2400  
2401  
2402  function KeyCombination(_ref) {
2403    let {
2404      keyCombination,
2405      forceAriaLabel
2406    } = _ref;
2407    const shortcut = keyCombination.modifier ? external_wp_keycodes_["displayShortcutList"][keyCombination.modifier](keyCombination.character) : keyCombination.character;
2408    const ariaLabel = keyCombination.modifier ? external_wp_keycodes_["shortcutAriaLabel"][keyCombination.modifier](keyCombination.character) : keyCombination.character;
2409    return Object(external_wp_element_["createElement"])("kbd", {
2410      className: "edit-widgets-keyboard-shortcut-help-modal__shortcut-key-combination",
2411      "aria-label": forceAriaLabel || ariaLabel
2412    }, Object(external_lodash_["castArray"])(shortcut).map((character, index) => {
2413      if (character === '+') {
2414        return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], {
2415          key: index
2416        }, character);
2417      }
2418  
2419      return Object(external_wp_element_["createElement"])("kbd", {
2420        key: index,
2421        className: "edit-widgets-keyboard-shortcut-help-modal__shortcut-key"
2422      }, character);
2423    }));
2424  }
2425  
2426  function Shortcut(_ref2) {
2427    let {
2428      description,
2429      keyCombination,
2430      aliases = [],
2431      ariaLabel
2432    } = _ref2;
2433    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", {
2434      className: "edit-widgets-keyboard-shortcut-help-modal__shortcut-description"
2435    }, description), Object(external_wp_element_["createElement"])("div", {
2436      className: "edit-widgets-keyboard-shortcut-help-modal__shortcut-term"
2437    }, Object(external_wp_element_["createElement"])(KeyCombination, {
2438      keyCombination: keyCombination,
2439      forceAriaLabel: ariaLabel
2440    }), aliases.map((alias, index) => Object(external_wp_element_["createElement"])(KeyCombination, {
2441      keyCombination: alias,
2442      forceAriaLabel: ariaLabel,
2443      key: index
2444    }))));
2445  }
2446  
2447  /* harmony default export */ var keyboard_shortcut_help_modal_shortcut = (Shortcut);
2448  
2449  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js
2450  
2451  
2452  /**
2453   * WordPress dependencies
2454   */
2455  
2456  
2457  /**
2458   * Internal dependencies
2459   */
2460  
2461  
2462  
2463  function DynamicShortcut(_ref) {
2464    let {
2465      name
2466    } = _ref;
2467    const {
2468      keyCombination,
2469      description,
2470      aliases
2471    } = Object(external_wp_data_["useSelect"])(select => {
2472      const {
2473        getShortcutKeyCombination,
2474        getShortcutDescription,
2475        getShortcutAliases
2476      } = select(external_wp_keyboardShortcuts_["store"]);
2477      return {
2478        keyCombination: getShortcutKeyCombination(name),
2479        aliases: getShortcutAliases(name),
2480        description: getShortcutDescription(name)
2481      };
2482    }, [name]);
2483  
2484    if (!keyCombination) {
2485      return null;
2486    }
2487  
2488    return Object(external_wp_element_["createElement"])(keyboard_shortcut_help_modal_shortcut, {
2489      keyCombination: keyCombination,
2490      description: description,
2491      aliases: aliases
2492    });
2493  }
2494  
2495  /* harmony default export */ var dynamic_shortcut = (DynamicShortcut);
2496  
2497  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/keyboard-shortcut-help-modal/index.js
2498  
2499  
2500  /**
2501   * External dependencies
2502   */
2503  
2504  
2505  /**
2506   * WordPress dependencies
2507   */
2508  
2509  
2510  
2511  
2512  
2513  /**
2514   * Internal dependencies
2515   */
2516  
2517  
2518  
2519  
2520  
2521  const ShortcutList = _ref => {
2522    let {
2523      shortcuts
2524    } = _ref;
2525    return (
2526      /*
2527       * Disable reason: The `list` ARIA role is redundant but
2528       * Safari+VoiceOver won't announce the list otherwise.
2529       */
2530  
2531      /* eslint-disable jsx-a11y/no-redundant-roles */
2532      Object(external_wp_element_["createElement"])("ul", {
2533        className: "edit-widgets-keyboard-shortcut-help-modal__shortcut-list",
2534        role: "list"
2535      }, shortcuts.map((shortcut, index) => Object(external_wp_element_["createElement"])("li", {
2536        className: "edit-widgets-keyboard-shortcut-help-modal__shortcut",
2537        key: index
2538      }, Object(external_lodash_["isString"])(shortcut) ? Object(external_wp_element_["createElement"])(dynamic_shortcut, {
2539        name: shortcut
2540      }) : Object(external_wp_element_["createElement"])(keyboard_shortcut_help_modal_shortcut, shortcut))))
2541      /* eslint-enable jsx-a11y/no-redundant-roles */
2542  
2543    );
2544  };
2545  
2546  const ShortcutSection = _ref2 => {
2547    let {
2548      title,
2549      shortcuts,
2550      className
2551    } = _ref2;
2552    return Object(external_wp_element_["createElement"])("section", {
2553      className: classnames_default()('edit-widgets-keyboard-shortcut-help-modal__section', className)
2554    }, !!title && Object(external_wp_element_["createElement"])("h2", {
2555      className: "edit-widgets-keyboard-shortcut-help-modal__section-title"
2556    }, title), Object(external_wp_element_["createElement"])(ShortcutList, {
2557      shortcuts: shortcuts
2558    }));
2559  };
2560  
2561  const ShortcutCategorySection = _ref3 => {
2562    let {
2563      title,
2564      categoryName,
2565      additionalShortcuts = []
2566    } = _ref3;
2567    const categoryShortcuts = Object(external_wp_data_["useSelect"])(select => {
2568      return select(external_wp_keyboardShortcuts_["store"]).getCategoryShortcuts(categoryName);
2569    }, [categoryName]);
2570    return Object(external_wp_element_["createElement"])(ShortcutSection, {
2571      title: title,
2572      shortcuts: categoryShortcuts.concat(additionalShortcuts)
2573    });
2574  };
2575  
2576  function KeyboardShortcutHelpModal(_ref4) {
2577    let {
2578      isModalActive,
2579      toggleModal
2580    } = _ref4;
2581    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-widgets/keyboard-shortcuts', toggleModal, {
2582      bindGlobal: true
2583    });
2584  
2585    if (!isModalActive) {
2586      return null;
2587    }
2588  
2589    return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], {
2590      className: "edit-widgets-keyboard-shortcut-help-modal",
2591      title: Object(external_wp_i18n_["__"])('Keyboard shortcuts'),
2592      closeLabel: Object(external_wp_i18n_["__"])('Close'),
2593      onRequestClose: toggleModal
2594    }, Object(external_wp_element_["createElement"])(ShortcutSection, {
2595      className: "edit-widgets-keyboard-shortcut-help-modal__main-shortcuts",
2596      shortcuts: ['core/edit-widgets/keyboard-shortcuts']
2597    }), Object(external_wp_element_["createElement"])(ShortcutCategorySection, {
2598      title: Object(external_wp_i18n_["__"])('Global shortcuts'),
2599      categoryName: "global"
2600    }), Object(external_wp_element_["createElement"])(ShortcutCategorySection, {
2601      title: Object(external_wp_i18n_["__"])('Selection shortcuts'),
2602      categoryName: "selection"
2603    }), Object(external_wp_element_["createElement"])(ShortcutCategorySection, {
2604      title: Object(external_wp_i18n_["__"])('Block shortcuts'),
2605      categoryName: "block",
2606      additionalShortcuts: [{
2607        keyCombination: {
2608          character: '/'
2609        },
2610        description: Object(external_wp_i18n_["__"])('Change the block type after adding a new paragraph.'),
2611  
2612        /* translators: The forward-slash character. e.g. '/'. */
2613        ariaLabel: Object(external_wp_i18n_["__"])('Forward-slash')
2614      }]
2615    }), Object(external_wp_element_["createElement"])(ShortcutSection, {
2616      title: Object(external_wp_i18n_["__"])('Text formatting'),
2617      shortcuts: textFormattingShortcuts
2618    }));
2619  }
2620  
2621  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/more-menu/index.js
2622  
2623  
2624  /**
2625   * WordPress dependencies
2626   */
2627  
2628  
2629  
2630  
2631  
2632  
2633  
2634  
2635  /**
2636   * Internal dependencies
2637   */
2638  
2639  
2640  function MoreMenu() {
2641    const [isKeyboardShortcutsModalActive, setIsKeyboardShortcutsModalVisible] = Object(external_wp_element_["useState"])(false);
2642  
2643    const toggleKeyboardShortcutsModal = () => setIsKeyboardShortcutsModalVisible(!isKeyboardShortcutsModalActive);
2644  
2645    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/edit-widgets/keyboard-shortcuts', toggleKeyboardShortcutsModal);
2646    const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium');
2647    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(build_module["f" /* MoreMenuDropdown */], null, () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isLargeViewport && Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], {
2648      label: Object(external_wp_i18n_["_x"])('View', 'noun')
2649    }, Object(external_wp_element_["createElement"])(build_module["g" /* MoreMenuFeatureToggle */], {
2650      scope: "core/edit-widgets",
2651      feature: "fixedToolbar",
2652      label: Object(external_wp_i18n_["__"])('Top toolbar'),
2653      info: Object(external_wp_i18n_["__"])('Access all block and document tools in a single place'),
2654      messageActivated: Object(external_wp_i18n_["__"])('Top toolbar activated'),
2655      messageDeactivated: Object(external_wp_i18n_["__"])('Top toolbar deactivated')
2656    })), Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], {
2657      label: Object(external_wp_i18n_["__"])('Tools')
2658    }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], {
2659      onClick: () => {
2660        setIsKeyboardShortcutsModalVisible(true);
2661      },
2662      shortcut: external_wp_keycodes_["displayShortcut"].access('h')
2663    }, Object(external_wp_i18n_["__"])('Keyboard shortcuts')), Object(external_wp_element_["createElement"])(build_module["g" /* MoreMenuFeatureToggle */], {
2664      scope: "core/edit-widgets",
2665      feature: "welcomeGuide",
2666      label: Object(external_wp_i18n_["__"])('Welcome Guide')
2667    }), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], {
2668      role: "menuitem",
2669      icon: external["a" /* default */],
2670      href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/block-based-widgets-editor/'),
2671      target: "_blank",
2672      rel: "noopener noreferrer"
2673    }, Object(external_wp_i18n_["__"])('Help'), Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], {
2674      as: "span"
2675    },
2676    /* translators: accessibility text */
2677    Object(external_wp_i18n_["__"])('(opens in a new tab)')))), Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], {
2678      label: Object(external_wp_i18n_["__"])('Preferences')
2679    }, Object(external_wp_element_["createElement"])(build_module["g" /* MoreMenuFeatureToggle */], {
2680      scope: "core/edit-widgets",
2681      feature: "keepCaretInsideBlock",
2682      label: Object(external_wp_i18n_["__"])('Contain text cursor inside block'),
2683      info: Object(external_wp_i18n_["__"])('Aids screen readers by stopping text caret from leaving blocks.'),
2684      messageActivated: Object(external_wp_i18n_["__"])('Contain text cursor inside block activated'),
2685      messageDeactivated: Object(external_wp_i18n_["__"])('Contain text cursor inside block deactivated')
2686    }), Object(external_wp_element_["createElement"])(build_module["g" /* MoreMenuFeatureToggle */], {
2687      scope: "core/edit-widgets",
2688      feature: "themeStyles",
2689      info: Object(external_wp_i18n_["__"])('Make the editor look like your theme.'),
2690      label: Object(external_wp_i18n_["__"])('Use theme styles')
2691    }), isLargeViewport && Object(external_wp_element_["createElement"])(build_module["g" /* MoreMenuFeatureToggle */], {
2692      scope: "core/edit-widgets",
2693      feature: "showBlockBreadcrumbs",
2694      label: Object(external_wp_i18n_["__"])('Display block breadcrumbs'),
2695      info: Object(external_wp_i18n_["__"])('Shows block breadcrumbs at the bottom of the editor.'),
2696      messageActivated: Object(external_wp_i18n_["__"])('Display block breadcrumbs activated'),
2697      messageDeactivated: Object(external_wp_i18n_["__"])('Display block breadcrumbs deactivated')
2698    })))), Object(external_wp_element_["createElement"])(KeyboardShortcutHelpModal, {
2699      isModalActive: isKeyboardShortcutsModalActive,
2700      toggleModal: toggleKeyboardShortcutsModal
2701    }));
2702  }
2703  
2704  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/header/index.js
2705  
2706  
2707  /**
2708   * WordPress dependencies
2709   */
2710  
2711  
2712  
2713  
2714  
2715  
2716  
2717  
2718  /**
2719   * Internal dependencies
2720   */
2721  
2722  
2723  
2724  
2725  
2726  
2727  
2728  
2729  function Header() {
2730    const isMediumViewport = Object(external_wp_compose_["useViewportMatch"])('medium');
2731    const inserterButton = Object(external_wp_element_["useRef"])();
2732    const widgetAreaClientId = use_last_selected_widget_area();
2733    const isLastSelectedWidgetAreaOpen = Object(external_wp_data_["useSelect"])(select => select(store).getIsWidgetAreaOpen(widgetAreaClientId), [widgetAreaClientId]);
2734    const {
2735      isInserterOpen,
2736      isListViewOpen
2737    } = Object(external_wp_data_["useSelect"])(select => {
2738      const {
2739        isInserterOpened,
2740        isListViewOpened
2741      } = select(store);
2742      return {
2743        isInserterOpen: isInserterOpened(),
2744        isListViewOpen: isListViewOpened()
2745      };
2746    }, []);
2747    const {
2748      setIsWidgetAreaOpen,
2749      setIsInserterOpened,
2750      setIsListViewOpened
2751    } = Object(external_wp_data_["useDispatch"])(store);
2752    const {
2753      selectBlock
2754    } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]);
2755  
2756    const handleClick = () => {
2757      if (isInserterOpen) {
2758        // Focusing the inserter button closes the inserter popover
2759        setIsInserterOpened(false);
2760      } else {
2761        if (!isLastSelectedWidgetAreaOpen) {
2762          // Select the last selected block if hasn't already.
2763          selectBlock(widgetAreaClientId); // Open the last selected widget area when opening the inserter.
2764  
2765          setIsWidgetAreaOpen(widgetAreaClientId, true);
2766        } // The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the
2767        // same tick and pretty much in a random order. The inserter is closed if any other part of the
2768        // app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then
2769        // the inserter is visible for a brief moment and then gets auto-closed due to focus moving to
2770        // the selected block.
2771  
2772  
2773        window.requestAnimationFrame(() => setIsInserterOpened(true));
2774      }
2775    };
2776  
2777    const toggleListView = Object(external_wp_element_["useCallback"])(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
2778    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", {
2779      className: "edit-widgets-header"
2780    }, Object(external_wp_element_["createElement"])("div", {
2781      className: "edit-widgets-header__navigable-toolbar-wrapper"
2782    }, isMediumViewport && Object(external_wp_element_["createElement"])("h1", {
2783      className: "edit-widgets-header__title"
2784    }, Object(external_wp_i18n_["__"])('Widgets')), !isMediumViewport && Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], {
2785      as: "h1",
2786      className: "edit-widgets-header__title"
2787    }, Object(external_wp_i18n_["__"])('Widgets')), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["NavigableToolbar"], {
2788      className: "edit-widgets-header-toolbar",
2789      "aria-label": Object(external_wp_i18n_["__"])('Document tools')
2790    }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], {
2791      ref: inserterButton,
2792      as: external_wp_components_["Button"],
2793      className: "edit-widgets-header-toolbar__inserter-toggle",
2794      variant: "primary",
2795      isPressed: isInserterOpen,
2796      onMouseDown: event => {
2797        event.preventDefault();
2798      },
2799      onClick: handleClick,
2800      icon: plus["a" /* default */]
2801      /* translators: button label text should, if possible, be under 16
2802      characters. */
2803      ,
2804      label: Object(external_wp_i18n_["_x"])('Toggle block inserter', 'Generic label for block inserter button')
2805    }), isMediumViewport && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(UndoButton, null), Object(external_wp_element_["createElement"])(RedoButton, null), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], {
2806      as: external_wp_components_["Button"],
2807      className: "edit-widgets-header-toolbar__list-view-toggle",
2808      icon: list_view["a" /* default */],
2809      isPressed: isListViewOpen
2810      /* translators: button label text should, if possible, be under 16 characters. */
2811      ,
2812      label: Object(external_wp_i18n_["__"])('List View'),
2813      onClick: toggleListView
2814    })))), Object(external_wp_element_["createElement"])("div", {
2815      className: "edit-widgets-header__actions"
2816    }, Object(external_wp_element_["createElement"])(save_button, null), Object(external_wp_element_["createElement"])(build_module["h" /* PinnedItems */].Slot, {
2817      scope: "core/edit-widgets"
2818    }), Object(external_wp_element_["createElement"])(MoreMenu, null))));
2819  }
2820  
2821  /* harmony default export */ var header = (Header);
2822  
2823  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/notices/index.js
2824  
2825  
2826  /**
2827   * External dependencies
2828   */
2829  
2830  /**
2831   * WordPress dependencies
2832   */
2833  
2834  
2835  
2836  
2837  
2838  function Notices() {
2839    const {
2840      removeNotice
2841    } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]);
2842    const {
2843      notices
2844    } = Object(external_wp_data_["useSelect"])(select => {
2845      return {
2846        notices: select(external_wp_notices_["store"]).getNotices()
2847      };
2848    }, []);
2849    const dismissibleNotices = Object(external_lodash_["filter"])(notices, {
2850      isDismissible: true,
2851      type: 'default'
2852    });
2853    const nonDismissibleNotices = Object(external_lodash_["filter"])(notices, {
2854      isDismissible: false,
2855      type: 'default'
2856    });
2857    const snackbarNotices = Object(external_lodash_["filter"])(notices, {
2858      type: 'snackbar'
2859    });
2860    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NoticeList"], {
2861      notices: nonDismissibleNotices,
2862      className: "edit-widgets-notices__pinned"
2863    }), Object(external_wp_element_["createElement"])(external_wp_components_["NoticeList"], {
2864      notices: dismissibleNotices,
2865      className: "edit-widgets-notices__dismissible",
2866      onRemove: removeNotice
2867    }), Object(external_wp_element_["createElement"])(external_wp_components_["SnackbarList"], {
2868      notices: snackbarNotices,
2869      className: "edit-widgets-notices__snackbar",
2870      onRemove: removeNotice
2871    }));
2872  }
2873  
2874  /* harmony default export */ var components_notices = (Notices);
2875  
2876  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/widget-areas-block-editor-content/index.js
2877  
2878  
2879  /**
2880   * WordPress dependencies
2881   */
2882  
2883  
2884  
2885  
2886  /**
2887   * Internal dependencies
2888   */
2889  
2890  
2891  
2892  function WidgetAreasBlockEditorContent(_ref) {
2893    let {
2894      blockEditorSettings
2895    } = _ref;
2896    const hasThemeStyles = Object(external_wp_data_["useSelect"])(select => select(build_module["i" /* store */]).isFeatureActive('core/edit-widgets', 'themeStyles'), []);
2897    const styles = Object(external_wp_element_["useMemo"])(() => {
2898      return hasThemeStyles ? blockEditorSettings.styles : [];
2899    }, [blockEditorSettings, hasThemeStyles]);
2900    return Object(external_wp_element_["createElement"])("div", {
2901      className: "edit-widgets-block-editor"
2902    }, Object(external_wp_element_["createElement"])(components_notices, null), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockTools"], null, Object(external_wp_element_["createElement"])(keyboard_shortcuts, null), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__unstableEditorStyles"], {
2903      styles: styles
2904    }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockSelectionClearer"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["WritingFlow"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ObserveTyping"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockList"], {
2905      className: "edit-widgets-main-block-list"
2906    }))))));
2907  }
2908  
2909  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
2910  var library_close = __webpack_require__("w95h");
2911  
2912  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/hooks/use-widget-library-insertion-point.js
2913  /**
2914   * WordPress dependencies
2915   */
2916  
2917  
2918  
2919  /**
2920   * Internal dependencies
2921   */
2922  
2923  
2924  
2925  
2926  const useWidgetLibraryInsertionPoint = () => {
2927    const firstRootId = Object(external_wp_data_["useSelect"])(select => {
2928      var _widgetAreasPost$bloc;
2929  
2930      // Default to the first widget area
2931      const {
2932        getEntityRecord
2933      } = select(external_wp_coreData_["store"]);
2934      const widgetAreasPost = getEntityRecord(KIND, POST_TYPE, buildWidgetAreasPostId());
2935      return widgetAreasPost === null || widgetAreasPost === void 0 ? void 0 : (_widgetAreasPost$bloc = widgetAreasPost.blocks[0]) === null || _widgetAreasPost$bloc === void 0 ? void 0 : _widgetAreasPost$bloc.clientId;
2936    }, []);
2937    return Object(external_wp_data_["useSelect"])(select => {
2938      const {
2939        getBlockRootClientId,
2940        getBlockSelectionEnd,
2941        getBlockOrder,
2942        getBlockIndex
2943      } = select(external_wp_blockEditor_["store"]);
2944  
2945      const insertionPoint = select(store).__experimentalGetInsertionPoint(); // "Browse all" in the quick inserter will set the rootClientId to the current block.
2946      // Otherwise, it will just be undefined, and we'll have to handle it differently below.
2947  
2948  
2949      if (insertionPoint.rootClientId) {
2950        return insertionPoint;
2951      }
2952  
2953      const clientId = getBlockSelectionEnd() || firstRootId;
2954      const rootClientId = getBlockRootClientId(clientId); // If the selected block is at the root level, it's a widget area and
2955      // blocks can't be inserted here. Return this block as the root and the
2956      // last child clientId indicating insertion at the end.
2957  
2958      if (clientId && rootClientId === '') {
2959        return {
2960          rootClientId: clientId,
2961          insertionIndex: getBlockOrder(clientId).length
2962        };
2963      }
2964  
2965      return {
2966        rootClientId,
2967        insertionIndex: getBlockIndex(clientId) + 1
2968      };
2969    }, [firstRootId]);
2970  };
2971  
2972  /* harmony default export */ var use_widget_library_insertion_point = (useWidgetLibraryInsertionPoint);
2973  
2974  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/secondary-sidebar/inserter-sidebar.js
2975  
2976  
2977  
2978  /**
2979   * WordPress dependencies
2980   */
2981  
2982  
2983  
2984  
2985  
2986  
2987  /**
2988   * Internal dependencies
2989   */
2990  
2991  
2992  
2993  function InserterSidebar() {
2994    const isMobileViewport = Object(external_wp_compose_["useViewportMatch"])('medium', '<');
2995    const {
2996      rootClientId,
2997      insertionIndex
2998    } = use_widget_library_insertion_point();
2999    const {
3000      setIsInserterOpened
3001    } = Object(external_wp_data_["useDispatch"])(store);
3002    const closeInserter = Object(external_wp_element_["useCallback"])(() => {
3003      return () => setIsInserterOpened(false);
3004    }, [setIsInserterOpened]);
3005    const [inserterDialogRef, inserterDialogProps] = Object(external_wp_compose_["__experimentalUseDialog"])({
3006      onClose: closeInserter
3007    });
3008    return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({
3009      ref: inserterDialogRef
3010    }, inserterDialogProps, {
3011      className: "edit-widgets-layout__inserter-panel"
3012    }), Object(external_wp_element_["createElement"])("div", {
3013      className: "edit-widgets-layout__inserter-panel-header"
3014    }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
3015      icon: library_close["a" /* default */],
3016      onClick: closeInserter
3017    })), Object(external_wp_element_["createElement"])("div", {
3018      className: "edit-widgets-layout__inserter-panel-content"
3019    }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLibrary"], {
3020      showInserterHelpPanel: true,
3021      shouldFocusBlock: isMobileViewport,
3022      rootClientId: rootClientId,
3023      __experimentalInsertionIndex: insertionIndex
3024    })));
3025  }
3026  
3027  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js
3028  var close_small = __webpack_require__("bWcr");
3029  
3030  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/secondary-sidebar/list-view-sidebar.js
3031  
3032  
3033  /**
3034   * WordPress dependencies
3035   */
3036  
3037  
3038  
3039  
3040  
3041  
3042  
3043  /**
3044   * Internal dependencies
3045   */
3046  
3047  
3048  function ListViewSidebar() {
3049    const {
3050      setIsListViewOpened
3051    } = Object(external_wp_data_["useDispatch"])(store);
3052    const {
3053      clearSelectedBlock,
3054      selectBlock
3055    } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]);
3056  
3057    async function selectEditorBlock(clientId) {
3058      await clearSelectedBlock();
3059      selectBlock(clientId, -1);
3060    }
3061  
3062    const focusOnMountRef = Object(external_wp_compose_["useFocusOnMount"])('firstElement');
3063    const focusReturnRef = Object(external_wp_compose_["useFocusReturn"])();
3064  
3065    function closeOnEscape(event) {
3066      if (event.keyCode === external_wp_keycodes_["ESCAPE"] && !event.defaultPrevented) {
3067        event.preventDefault();
3068        setIsListViewOpened(false);
3069      }
3070    }
3071  
3072    const instanceId = Object(external_wp_compose_["useInstanceId"])(ListViewSidebar);
3073    const labelId = `edit-widgets-editor__list-view-panel-label-$instanceId}`;
3074    return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
3075      Object(external_wp_element_["createElement"])("div", {
3076        "aria-labelledby": labelId,
3077        className: "edit-widgets-editor__list-view-panel",
3078        onKeyDown: closeOnEscape
3079      }, Object(external_wp_element_["createElement"])("div", {
3080        className: "edit-widgets-editor__list-view-panel-header"
3081      }, Object(external_wp_element_["createElement"])("strong", {
3082        id: labelId
3083      }, Object(external_wp_i18n_["__"])('List view')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
3084        icon: close_small["a" /* default */],
3085        label: Object(external_wp_i18n_["__"])('Close list view sidebar'),
3086        onClick: () => setIsListViewOpened(false)
3087      })), Object(external_wp_element_["createElement"])("div", {
3088        className: "edit-widgets-editor__list-view-panel-content",
3089        ref: Object(external_wp_compose_["useMergeRefs"])([focusReturnRef, focusOnMountRef])
3090      }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalListView"], {
3091        onSelect: selectEditorBlock,
3092        showNestedBlocks: true,
3093        __experimentalHideContainerBlockActions: true,
3094        __experimentalFeatures: true,
3095        __experimentalPersistentListViewFeatures: true
3096      })))
3097    );
3098  }
3099  
3100  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/secondary-sidebar/index.js
3101  
3102  
3103  /**
3104   * WordPress dependencies
3105   */
3106  
3107  /**
3108   * Internal dependencies
3109   */
3110  
3111  
3112  /**
3113   * Internal dependencies
3114   */
3115  
3116  
3117  
3118  function SecondarySidebar() {
3119    const {
3120      isInserterOpen,
3121      isListViewOpen
3122    } = Object(external_wp_data_["useSelect"])(select => {
3123      const {
3124        isInserterOpened,
3125        isListViewOpened
3126      } = select(store);
3127      return {
3128        isInserterOpen: isInserterOpened(),
3129        isListViewOpen: isListViewOpened()
3130      };
3131    }, []);
3132  
3133    if (isInserterOpen) {
3134      return Object(external_wp_element_["createElement"])(InserterSidebar, null);
3135    }
3136  
3137    if (isListViewOpen) {
3138      return Object(external_wp_element_["createElement"])(ListViewSidebar, null);
3139    }
3140  
3141    return null;
3142  }
3143  
3144  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/layout/interface.js
3145  
3146  
3147  /**
3148   * WordPress dependencies
3149   */
3150  
3151  
3152  
3153  
3154  
3155  
3156  
3157  /**
3158   * Internal dependencies
3159   */
3160  
3161  
3162  
3163  
3164  
3165  const interfaceLabels = {
3166    /* translators: accessibility text for the widgets screen top bar landmark region. */
3167    header: Object(external_wp_i18n_["__"])('Widgets top bar'),
3168  
3169    /* translators: accessibility text for the widgets screen content landmark region. */
3170    body: Object(external_wp_i18n_["__"])('Widgets and blocks'),
3171  
3172    /* translators: accessibility text for the widgets screen settings landmark region. */
3173    sidebar: Object(external_wp_i18n_["__"])('Widgets settings'),
3174  
3175    /* translators: accessibility text for the widgets screen footer landmark region. */
3176    footer: Object(external_wp_i18n_["__"])('Widgets footer')
3177  };
3178  
3179  function Interface(_ref) {
3180    let {
3181      blockEditorSettings
3182    } = _ref;
3183    const isMobileViewport = Object(external_wp_compose_["useViewportMatch"])('medium', '<');
3184    const isHugeViewport = Object(external_wp_compose_["useViewportMatch"])('huge', '>=');
3185    const {
3186      setIsInserterOpened,
3187      setIsListViewOpened,
3188      closeGeneralSidebar
3189    } = Object(external_wp_data_["useDispatch"])(store);
3190    const {
3191      hasBlockBreadCrumbsEnabled,
3192      hasSidebarEnabled,
3193      isInserterOpened,
3194      isListViewOpened,
3195      previousShortcut,
3196      nextShortcut
3197    } = Object(external_wp_data_["useSelect"])(select => ({
3198      hasSidebarEnabled: !!select(build_module["i" /* store */]).getActiveComplementaryArea(store.name),
3199      isInserterOpened: !!select(store).isInserterOpened(),
3200      isListViewOpened: !!select(store).isListViewOpened(),
3201      hasBlockBreadCrumbsEnabled: select(build_module["i" /* store */]).isFeatureActive('core/edit-widgets', 'showBlockBreadcrumbs'),
3202      previousShortcut: select(external_wp_keyboardShortcuts_["store"]).getAllShortcutKeyCombinations('core/edit-widgets/previous-region'),
3203      nextShortcut: select(external_wp_keyboardShortcuts_["store"]).getAllShortcutKeyCombinations('core/edit-widgets/next-region')
3204    }), []); // Inserter and Sidebars are mutually exclusive
3205  
3206    Object(external_wp_element_["useEffect"])(() => {
3207      if (hasSidebarEnabled && !isHugeViewport) {
3208        setIsInserterOpened(false);
3209        setIsListViewOpened(false);
3210      }
3211    }, [hasSidebarEnabled, isHugeViewport]);
3212    Object(external_wp_element_["useEffect"])(() => {
3213      if ((isInserterOpened || isListViewOpened) && !isHugeViewport) {
3214        closeGeneralSidebar();
3215      }
3216    }, [isInserterOpened, isListViewOpened, isHugeViewport]);
3217    const hasSecondarySidebar = isListViewOpened || isInserterOpened;
3218    return Object(external_wp_element_["createElement"])(build_module["e" /* InterfaceSkeleton */], {
3219      labels: interfaceLabels,
3220      header: Object(external_wp_element_["createElement"])(header, null),
3221      secondarySidebar: hasSecondarySidebar && Object(external_wp_element_["createElement"])(SecondarySidebar, null),
3222      sidebar: hasSidebarEnabled && Object(external_wp_element_["createElement"])(build_module["b" /* ComplementaryArea */].Slot, {
3223        scope: "core/edit-widgets"
3224      }),
3225      content: Object(external_wp_element_["createElement"])(WidgetAreasBlockEditorContent, {
3226        blockEditorSettings: blockEditorSettings
3227      }),
3228      footer: hasBlockBreadCrumbsEnabled && !isMobileViewport && Object(external_wp_element_["createElement"])("div", {
3229        className: "edit-widgets-layout__footer"
3230      }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockBreadcrumb"], {
3231        rootLabelText: Object(external_wp_i18n_["__"])('Widgets')
3232      })),
3233      shortcuts: {
3234        previous: previousShortcut,
3235        next: nextShortcut
3236      }
3237    });
3238  }
3239  
3240  /* harmony default export */ var layout_interface = (Interface);
3241  
3242  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/layout/unsaved-changes-warning.js
3243  /**
3244   * WordPress dependencies
3245   */
3246  
3247  
3248  
3249  /**
3250   * Internal dependencies
3251   */
3252  
3253  
3254  /**
3255   * Warns the user if there are unsaved changes before leaving the editor.
3256   *
3257   * This is a duplicate of the component implemented in the editor package.
3258   * Duplicated here as edit-widgets doesn't depend on editor.
3259   *
3260   * @return {WPComponent} The component.
3261   */
3262  
3263  function UnsavedChangesWarning() {
3264    const isDirty = Object(external_wp_data_["useSelect"])(select => {
3265      const {
3266        getEditedWidgetAreas
3267      } = select(store);
3268      const editedWidgetAreas = getEditedWidgetAreas();
3269      return (editedWidgetAreas === null || editedWidgetAreas === void 0 ? void 0 : editedWidgetAreas.length) > 0;
3270    }, []);
3271    Object(external_wp_element_["useEffect"])(() => {
3272      /**
3273       * Warns the user if there are unsaved changes before leaving the editor.
3274       *
3275       * @param {Event} event `beforeunload` event.
3276       *
3277       * @return {?string} Warning prompt message, if unsaved changes exist.
3278       */
3279      const warnIfUnsavedChanges = event => {
3280        if (isDirty) {
3281          event.returnValue = Object(external_wp_i18n_["__"])('You have unsaved changes. If you proceed, they will be lost.');
3282          return event.returnValue;
3283        }
3284      };
3285  
3286      window.addEventListener('beforeunload', warnIfUnsavedChanges);
3287      return () => {
3288        window.removeEventListener('beforeunload', warnIfUnsavedChanges);
3289      };
3290    }, [isDirty]);
3291    return null;
3292  }
3293  
3294  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/welcome-guide/index.js
3295  
3296  
3297  /**
3298   * WordPress dependencies
3299   */
3300  
3301  
3302  
3303  
3304  
3305  /**
3306   * Internal dependencies
3307   */
3308  
3309  
3310  function WelcomeGuide() {
3311    var _widgetAreas$filter$l;
3312  
3313    const isActive = Object(external_wp_data_["useSelect"])(select => select(build_module["i" /* store */]).isFeatureActive('core/edit-widgets', 'welcomeGuide'), []);
3314    const {
3315      toggleFeature
3316    } = Object(external_wp_data_["useDispatch"])(build_module["i" /* store */]);
3317    const widgetAreas = Object(external_wp_data_["useSelect"])(select => select(store).getWidgetAreas({
3318      per_page: -1
3319    }), []);
3320  
3321    if (!isActive) {
3322      return null;
3323    }
3324  
3325    const isEntirelyBlockWidgets = widgetAreas === null || widgetAreas === void 0 ? void 0 : widgetAreas.every(widgetArea => widgetArea.id === 'wp_inactive_widgets' || widgetArea.widgets.every(widgetId => widgetId.startsWith('block-')));
3326    const numWidgetAreas = (_widgetAreas$filter$l = widgetAreas === null || widgetAreas === void 0 ? void 0 : widgetAreas.filter(widgetArea => widgetArea.id !== 'wp_inactive_widgets').length) !== null && _widgetAreas$filter$l !== void 0 ? _widgetAreas$filter$l : 0;
3327    return Object(external_wp_element_["createElement"])(external_wp_components_["Guide"], {
3328      className: "edit-widgets-welcome-guide",
3329      contentLabel: Object(external_wp_i18n_["__"])('Welcome to block Widgets'),
3330      finishButtonText: Object(external_wp_i18n_["__"])('Get started'),
3331      onFinish: () => toggleFeature('core/edit-widgets', 'welcomeGuide'),
3332      pages: [{
3333        image: Object(external_wp_element_["createElement"])(WelcomeGuideImage, {
3334          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.svg",
3335          animatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.gif"
3336        }),
3337        content: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("h1", {
3338          className: "edit-widgets-welcome-guide__heading"
3339        }, Object(external_wp_i18n_["__"])('Welcome to block Widgets')), isEntirelyBlockWidgets ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("p", {
3340          className: "edit-widgets-welcome-guide__text"
3341        }, Object(external_wp_i18n_["sprintf"])( // Translators: %s: Number of block areas in the current theme.
3342        Object(external_wp_i18n_["_n"])('Your theme provides %s “block” area for you to add and edit content. Try adding a search bar, social icons, or other types of blocks here and see how they’ll look on your site.', 'Your theme provides %s different “block” areas for you to add and edit content. Try adding a search bar, social icons, or other types of blocks here and see how they’ll look on your site.', numWidgetAreas), numWidgetAreas))) : Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("p", {
3343          className: "edit-widgets-welcome-guide__text"
3344        }, Object(external_wp_i18n_["__"])('You can now add any block to your site’s widget areas. Don’t worry, all of your favorite widgets still work flawlessly.')), Object(external_wp_element_["createElement"])("p", {
3345          className: "edit-widgets-welcome-guide__text"
3346        }, Object(external_wp_element_["createElement"])("strong", null, Object(external_wp_i18n_["__"])('Want to stick with the old widgets?')), ' ', Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], {
3347          href: Object(external_wp_i18n_["__"])('https://wordpress.org/plugins/classic-widgets/')
3348        }, Object(external_wp_i18n_["__"])('Get the Classic Widgets plugin.')))))
3349      }, {
3350        image: Object(external_wp_element_["createElement"])(WelcomeGuideImage, {
3351          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-editor.svg",
3352          animatedSrc: "https://s.w.org/images/block-editor/welcome-editor.gif"
3353        }),
3354        content: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("h1", {
3355          className: "edit-widgets-welcome-guide__heading"
3356        }, Object(external_wp_i18n_["__"])('Make each block your own')), Object(external_wp_element_["createElement"])("p", {
3357          className: "edit-widgets-welcome-guide__text"
3358        }, Object(external_wp_i18n_["__"])('Each block comes with its own set of controls for changing things like color, width, and alignment. These will show and hide automatically when you have a block selected.')))
3359      }, {
3360        image: Object(external_wp_element_["createElement"])(WelcomeGuideImage, {
3361          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-library.svg",
3362          animatedSrc: "https://s.w.org/images/block-editor/welcome-library.gif"
3363        }),
3364        content: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("h1", {
3365          className: "edit-widgets-welcome-guide__heading"
3366        }, Object(external_wp_i18n_["__"])('Get to know the block library')), Object(external_wp_element_["createElement"])("p", {
3367          className: "edit-widgets-welcome-guide__text"
3368        }, Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'), {
3369          InserterIconImage: Object(external_wp_element_["createElement"])("img", {
3370            className: "edit-widgets-welcome-guide__inserter-icon",
3371            alt: Object(external_wp_i18n_["__"])('inserter'),
3372            src: "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18' height='18' rx='2' fill='%231E1E1E'/%3E%3Cpath d='M9.22727 4V14M4 8.77273H14' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A"
3373          })
3374        })))
3375      }, {
3376        image: Object(external_wp_element_["createElement"])(WelcomeGuideImage, {
3377          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.svg",
3378          animatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.gif"
3379        }),
3380        content: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("h1", {
3381          className: "edit-widgets-welcome-guide__heading"
3382        }, Object(external_wp_i18n_["__"])('Learn how to use the block editor')), Object(external_wp_element_["createElement"])("p", {
3383          className: "edit-widgets-welcome-guide__text"
3384        }, Object(external_wp_i18n_["__"])('New to the block editor? Want to learn more about using it? '), Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], {
3385          href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/wordpress-editor/')
3386        }, Object(external_wp_i18n_["__"])("Here's a detailed guide."))))
3387      }]
3388    });
3389  }
3390  
3391  function WelcomeGuideImage(_ref) {
3392    let {
3393      nonAnimatedSrc,
3394      animatedSrc
3395    } = _ref;
3396    return Object(external_wp_element_["createElement"])("picture", {
3397      className: "edit-widgets-welcome-guide__image"
3398    }, Object(external_wp_element_["createElement"])("source", {
3399      srcSet: nonAnimatedSrc,
3400      media: "(prefers-reduced-motion: reduce)"
3401    }), Object(external_wp_element_["createElement"])("img", {
3402      src: animatedSrc,
3403      width: "312",
3404      height: "240",
3405      alt: ""
3406    }));
3407  }
3408  
3409  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/components/layout/index.js
3410  
3411  
3412  /**
3413   * WordPress dependencies
3414   */
3415  
3416  
3417  /**
3418   * Internal dependencies
3419   */
3420  
3421  
3422  
3423  
3424  
3425  
3426  
3427  
3428  function Layout(_ref) {
3429    let {
3430      blockEditorSettings,
3431      onError
3432    } = _ref;
3433    return Object(external_wp_element_["createElement"])(error_boundary_ErrorBoundary, {
3434      onError: onError
3435    }, Object(external_wp_element_["createElement"])(WidgetAreasBlockEditorProvider, {
3436      blockEditorSettings: blockEditorSettings
3437    }, Object(external_wp_element_["createElement"])(layout_interface, {
3438      blockEditorSettings: blockEditorSettings
3439    }), Object(external_wp_element_["createElement"])(Sidebar, null), Object(external_wp_element_["createElement"])(external_wp_components_["Popover"].Slot, null), Object(external_wp_element_["createElement"])(external_wp_plugins_["PluginArea"], null), Object(external_wp_element_["createElement"])(UnsavedChangesWarning, null), Object(external_wp_element_["createElement"])(WelcomeGuide, null)));
3440  }
3441  
3442  /* harmony default export */ var layout = (Layout);
3443  
3444  // CONCATENATED MODULE: ./node_modules/@wordpress/edit-widgets/build-module/index.js
3445  
3446  
3447  /**
3448   * WordPress dependencies
3449   */
3450  
3451  
3452  
3453  
3454  
3455  
3456  
3457  /**
3458   * Internal dependencies
3459   */
3460  
3461  
3462  
3463  
3464  
3465  
3466  const disabledBlocks = ['core/more', 'core/freeform', 'core/template-part', ...(ALLOW_REUSABLE_BLOCKS ? [] : ['core/block'])];
3467  /**
3468   * Reinitializes the editor after the user chooses to reboot the editor after
3469   * an unhandled error occurs, replacing previously mounted editor element using
3470   * an initial state from prior to the crash.
3471   *
3472   * @param {Element} target   DOM node in which editor is rendered.
3473   * @param {?Object} settings Editor settings object.
3474   */
3475  
3476  function reinitializeEditor(target, settings) {
3477    Object(external_wp_element_["unmountComponentAtNode"])(target);
3478    const reboot = reinitializeEditor.bind(null, target, settings);
3479    Object(external_wp_element_["render"])(Object(external_wp_element_["createElement"])(layout, {
3480      blockEditorSettings: settings,
3481      onError: reboot
3482    }), target);
3483  }
3484  /**
3485   * Initializes the block editor in the widgets screen.
3486   *
3487   * @param {string} id       ID of the root element to render the screen in.
3488   * @param {Object} settings Block editor settings.
3489   */
3490  
3491  function initialize(id, settings) {
3492    const target = document.getElementById(id);
3493    const reboot = reinitializeEditor.bind(null, target, settings);
3494  
3495    const coreBlocks = Object(external_wp_blockLibrary_["__experimentalGetCoreBlocks"])().filter(block => {
3496      return !(disabledBlocks.includes(block.name) || block.name.startsWith('core/post') || block.name.startsWith('core/query') || block.name.startsWith('core/site') || block.name.startsWith('core/navigation'));
3497    });
3498  
3499    Object(external_wp_data_["dispatch"])(build_module["i" /* store */]).setFeatureDefaults('core/edit-widgets', {
3500      fixedToolbar: false,
3501      welcomeGuide: true,
3502      showBlockBreadcrumbs: true,
3503      themeStyles: true
3504    });
3505  
3506    Object(external_wp_data_["dispatch"])(external_wp_blocks_["store"]).__experimentalReapplyBlockTypeFilters();
3507  
3508    Object(external_wp_blockLibrary_["registerCoreBlocks"])(coreBlocks);
3509    Object(external_wp_widgets_["registerLegacyWidgetBlock"])();
3510  
3511    if (false) {}
3512  
3513    Object(external_wp_widgets_["registerLegacyWidgetVariations"])(settings);
3514    registerBlock(widget_area_namespaceObject);
3515    Object(external_wp_widgets_["registerWidgetGroupBlock"])();
3516  
3517    settings.__experimentalFetchLinkSuggestions = (search, searchOptions) => Object(external_wp_coreData_["__experimentalFetchLinkSuggestions"])(search, searchOptions, settings); // As we are unregistering `core/freeform` to avoid the Classic block, we must
3518    // replace it with something as the default freeform content handler. Failure to
3519    // do this will result in errors in the default block parser.
3520    // see: https://github.com/WordPress/gutenberg/issues/33097
3521  
3522  
3523    Object(external_wp_blocks_["setFreeformContentHandlerName"])('core/html');
3524    Object(external_wp_element_["render"])(Object(external_wp_element_["createElement"])(layout, {
3525      blockEditorSettings: settings,
3526      onError: reboot
3527    }), target);
3528  }
3529  /**
3530   * Function to register an individual block.
3531   *
3532   * @param {Object} block The block to be registered.
3533   *
3534   */
3535  
3536  const registerBlock = block => {
3537    if (!block) {
3538      return;
3539    }
3540  
3541    const {
3542      metadata,
3543      settings,
3544      name
3545    } = block;
3546  
3547    if (metadata) {
3548      Object(external_wp_blocks_["unstable__bootstrapServerSideBlockDefinitions"])({
3549        [name]: metadata
3550      });
3551    }
3552  
3553    Object(external_wp_blocks_["registerBlockType"])(name, settings);
3554  };
3555  
3556  
3557  /***/ }),
3558  
3559  /***/ "GLVC":
3560  /***/ (function(module, exports) {
3561  
3562  (function() { module.exports = window["wp"]["widgets"]; }());
3563  
3564  /***/ }),
3565  
3566  /***/ "GRId":
3567  /***/ (function(module, exports) {
3568  
3569  (function() { module.exports = window["wp"]["element"]; }());
3570  
3571  /***/ }),
3572  
3573  /***/ "HSyU":
3574  /***/ (function(module, exports) {
3575  
3576  (function() { module.exports = window["wp"]["blocks"]; }());
3577  
3578  /***/ }),
3579  
3580  /***/ "K+tz":
3581  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3582  
3583  "use strict";
3584  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3585  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3586  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3587  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3588  
3589  
3590  /**
3591   * WordPress dependencies
3592   */
3593  
3594  const external = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3595    xmlns: "http://www.w3.org/2000/svg",
3596    viewBox: "0 0 24 24"
3597  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3598    d: "M18.2 17c0 .7-.6 1.2-1.2 1.2H7c-.7 0-1.2-.6-1.2-1.2V7c0-.7.6-1.2 1.2-1.2h3.2V4.2H7C5.5 4.2 4.2 5.5 4.2 7v10c0 1.5 1.2 2.8 2.8 2.8h10c1.5 0 2.8-1.2 2.8-2.8v-3.6h-1.5V17zM14.9 3v1.5h3.7l-6.4 6.4 1.1 1.1 6.4-6.4v3.7h1.5V3h-6.3z"
3599  }));
3600  /* harmony default export */ __webpack_exports__["a"] = (external);
3601  
3602  
3603  /***/ }),
3604  
3605  /***/ "K2cm":
3606  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3607  
3608  "use strict";
3609  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3610  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3611  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3612  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3613  
3614  
3615  /**
3616   * WordPress dependencies
3617   */
3618  
3619  const redo = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3620    xmlns: "http://www.w3.org/2000/svg",
3621    viewBox: "0 0 24 24"
3622  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3623    d: "M15.6 6.5l-1.1 1 2.9 3.3H8c-.9 0-1.7.3-2.3.9-1.4 1.5-1.4 4.2-1.4 5.6v.2h1.5v-.3c0-1.1 0-3.5 1-4.5.3-.3.7-.5 1.3-.5h9.2L14.5 15l1.1 1.1 4.6-4.6-4.6-5z"
3624  }));
3625  /* harmony default export */ __webpack_exports__["a"] = (redo);
3626  
3627  
3628  /***/ }),
3629  
3630  /***/ "K9lf":
3631  /***/ (function(module, exports) {
3632  
3633  (function() { module.exports = window["wp"]["compose"]; }());
3634  
3635  /***/ }),
3636  
3637  /***/ "KEfo":
3638  /***/ (function(module, exports) {
3639  
3640  (function() { module.exports = window["wp"]["viewport"]; }());
3641  
3642  /***/ }),
3643  
3644  /***/ "Mmq9":
3645  /***/ (function(module, exports) {
3646  
3647  (function() { module.exports = window["wp"]["url"]; }());
3648  
3649  /***/ }),
3650  
3651  /***/ "Ntru":
3652  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3653  
3654  "use strict";
3655  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3656  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3657  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3658  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3659  
3660  
3661  /**
3662   * WordPress dependencies
3663   */
3664  
3665  const undo = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3666    xmlns: "http://www.w3.org/2000/svg",
3667    viewBox: "0 0 24 24"
3668  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3669    d: "M18.3 11.7c-.6-.6-1.4-.9-2.3-.9H6.7l2.9-3.3-1.1-1-4.5 5L8.5 16l1-1-2.7-2.7H16c.5 0 .9.2 1.3.5 1 1 1 3.4 1 4.5v.3h1.5v-.2c0-1.5 0-4.3-1.5-5.7z"
3670  }));
3671  /* harmony default export */ __webpack_exports__["a"] = (undo);
3672  
3673  
3674  /***/ }),
3675  
3676  /***/ "OzlF":
3677  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3678  
3679  "use strict";
3680  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3681  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3682  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3683  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3684  
3685  
3686  /**
3687   * WordPress dependencies
3688   */
3689  
3690  const listView = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3691    viewBox: "0 0 24 24",
3692    xmlns: "http://www.w3.org/2000/svg"
3693  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3694    d: "M13.8 5.2H3v1.5h10.8V5.2zm-3.6 12v1.5H21v-1.5H10.2zm7.2-6H6.6v1.5h10.8v-1.5z"
3695  }));
3696  /* harmony default export */ __webpack_exports__["a"] = (listView);
3697  
3698  
3699  /***/ }),
3700  
3701  /***/ "Q4Sy":
3702  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3703  
3704  "use strict";
3705  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3706  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3707  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3708  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3709  
3710  
3711  /**
3712   * WordPress dependencies
3713   */
3714  
3715  const plus = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3716    xmlns: "http://www.w3.org/2000/svg",
3717    viewBox: "0 0 24 24"
3718  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3719    d: "M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z"
3720  }));
3721  /* harmony default export */ __webpack_exports__["a"] = (plus);
3722  
3723  
3724  /***/ }),
3725  
3726  /***/ "QyPg":
3727  /***/ (function(module, exports) {
3728  
3729  (function() { module.exports = window["wp"]["blockLibrary"]; }());
3730  
3731  /***/ }),
3732  
3733  /***/ "RMJe":
3734  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3735  
3736  "use strict";
3737  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
3738  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
3739  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
3740  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
3741  
3742  
3743  /**
3744   * WordPress dependencies
3745   */
3746  
3747  const check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
3748    xmlns: "http://www.w3.org/2000/svg",
3749    viewBox: "0 0 24 24"
3750  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
3751    d: "M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
3752  }));
3753  /* harmony default export */ __webpack_exports__["a"] = (check);
3754  
3755  
3756  /***/ }),
3757  
3758  /***/ "RxS6":
3759  /***/ (function(module, exports) {
3760  
3761  (function() { module.exports = window["wp"]["keycodes"]; }());
3762  
3763  /***/ }),
3764  
3765  /***/ "TSYQ":
3766  /***/ (function(module, exports, __webpack_require__) {
3767  
3768  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
3769    Copyright (c) 2018 Jed Watson.
3770    Licensed under the MIT License (MIT), see
3771    http://jedwatson.github.io/classnames
3772  */
3773  /* global define */
3774  
3775  (function () {
3776      'use strict';
3777  
3778      var hasOwn = {}.hasOwnProperty;
3779  
3780  	function classNames() {
3781          var classes = [];
3782  
3783          for (var i = 0; i < arguments.length; i++) {
3784              var arg = arguments[i];
3785              if (!arg) continue;
3786  
3787              var argType = typeof arg;
3788  
3789              if (argType === 'string' || argType === 'number') {
3790                  classes.push(arg);
3791              } else if (Array.isArray(arg)) {
3792                  if (arg.length) {
3793                      var inner = classNames.apply(null, arg);
3794                      if (inner) {
3795                          classes.push(inner);
3796                      }
3797                  }
3798              } else if (argType === 'object') {
3799                  if (arg.toString === Object.prototype.toString) {
3800                      for (var key in arg) {
3801                          if (hasOwn.call(arg, key) && arg[key]) {
3802                              classes.push(key);
3803                          }
3804                      }
3805                  } else {
3806                      classes.push(arg.toString());
3807                  }
3808              }
3809          }
3810  
3811          return classes.join(' ');
3812      }
3813  
3814      if ( true && module.exports) {
3815          classNames.default = classNames;
3816          module.exports = classNames;
3817      } else if (true) {
3818          // register as 'classnames', consistent with npm package name
3819          !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
3820              return classNames;
3821          }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
3822                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
3823      } else {}
3824  }());
3825  
3826  
3827  /***/ }),
3828  
3829  /***/ "Tqx9":
3830  /***/ (function(module, exports) {
3831  
3832  (function() { module.exports = window["wp"]["primitives"]; }());
3833  
3834  /***/ }),
3835  
3836  /***/ "TvNi":
3837  /***/ (function(module, exports) {
3838  
3839  (function() { module.exports = window["wp"]["plugins"]; }());
3840  
3841  /***/ }),
3842  
3843  /***/ "U60i":
3844  /***/ (function(module, __webpack_exports__, __webpack_require__) {
3845  
3846  "use strict";
3847  
3848  // EXPORTS
3849  __webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ complementary_area; });
3850  __webpack_require__.d(__webpack_exports__, "c", function() { return /* reexport */ ComplementaryAreaMoreMenuItem; });
3851  __webpack_require__.d(__webpack_exports__, "d", function() { return /* reexport */ fullscreen_mode; });
3852  __webpack_require__.d(__webpack_exports__, "e", function() { return /* reexport */ interface_skeleton; });
3853  __webpack_require__.d(__webpack_exports__, "h", function() { return /* reexport */ pinned_items; });
3854  __webpack_require__.d(__webpack_exports__, "f", function() { return /* reexport */ MoreMenuDropdown; });
3855  __webpack_require__.d(__webpack_exports__, "g", function() { return /* reexport */ MoreMenuFeatureToggle; });
3856  __webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ action_item; });
3857  __webpack_require__.d(__webpack_exports__, "i", function() { return /* reexport */ store; });
3858  
3859  // NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/actions.js
3860  var actions_namespaceObject = {};
3861  __webpack_require__.r(actions_namespaceObject);
3862  __webpack_require__.d(actions_namespaceObject, "enableComplementaryArea", function() { return actions_enableComplementaryArea; });
3863  __webpack_require__.d(actions_namespaceObject, "disableComplementaryArea", function() { return actions_disableComplementaryArea; });
3864  __webpack_require__.d(actions_namespaceObject, "pinItem", function() { return actions_pinItem; });
3865  __webpack_require__.d(actions_namespaceObject, "unpinItem", function() { return actions_unpinItem; });
3866  __webpack_require__.d(actions_namespaceObject, "toggleFeature", function() { return actions_toggleFeature; });
3867  __webpack_require__.d(actions_namespaceObject, "setFeatureValue", function() { return setFeatureValue; });
3868  __webpack_require__.d(actions_namespaceObject, "setFeatureDefaults", function() { return setFeatureDefaults; });
3869  
3870  // NAMESPACE OBJECT: ./node_modules/@wordpress/interface/build-module/store/selectors.js
3871  var selectors_namespaceObject = {};
3872  __webpack_require__.r(selectors_namespaceObject);
3873  __webpack_require__.d(selectors_namespaceObject, "getActiveComplementaryArea", function() { return selectors_getActiveComplementaryArea; });
3874  __webpack_require__.d(selectors_namespaceObject, "isItemPinned", function() { return selectors_isItemPinned; });
3875  __webpack_require__.d(selectors_namespaceObject, "isFeatureActive", function() { return isFeatureActive; });
3876  
3877  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
3878  var esm_extends = __webpack_require__("wx14");
3879  
3880  // EXTERNAL MODULE: external ["wp","element"]
3881  var external_wp_element_ = __webpack_require__("GRId");
3882  
3883  // EXTERNAL MODULE: ./node_modules/classnames/index.js
3884  var classnames = __webpack_require__("TSYQ");
3885  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
3886  
3887  // EXTERNAL MODULE: external ["wp","components"]
3888  var external_wp_components_ = __webpack_require__("tI+e");
3889  
3890  // EXTERNAL MODULE: external ["wp","data"]
3891  var external_wp_data_ = __webpack_require__("1ZqX");
3892  
3893  // EXTERNAL MODULE: external ["wp","i18n"]
3894  var external_wp_i18n_ = __webpack_require__("l3Sj");
3895  
3896  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js
3897  var check = __webpack_require__("RMJe");
3898  
3899  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/star-filled.js
3900  var star_filled = __webpack_require__("URob");
3901  
3902  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/star-empty.js
3903  var star_empty = __webpack_require__("Xxwi");
3904  
3905  // EXTERNAL MODULE: external ["wp","viewport"]
3906  var external_wp_viewport_ = __webpack_require__("KEfo");
3907  
3908  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js
3909  var close_small = __webpack_require__("bWcr");
3910  
3911  // EXTERNAL MODULE: external "lodash"
3912  var external_lodash_ = __webpack_require__("YLtl");
3913  
3914  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/reducer.js
3915  /**
3916   * External dependencies
3917   */
3918  
3919  /**
3920   * WordPress dependencies
3921   */
3922  
3923  
3924  /**
3925   * Reducer to keep tract of the active area per scope.
3926   *
3927   * @param {boolean} state           Previous state.
3928   * @param {Object}  action          Action object.
3929   * @param {string}  action.type     Action type.
3930   * @param {string}  action.itemType Type of item.
3931   * @param {string}  action.scope    Item scope.
3932   * @param {string}  action.item     Item name.
3933   *
3934   * @return {Object} Updated state.
3935   */
3936  
3937  function singleEnableItems() {
3938    let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3939    let {
3940      type,
3941      itemType,
3942      scope,
3943      item
3944    } = arguments.length > 1 ? arguments[1] : undefined;
3945  
3946    if (type !== 'SET_SINGLE_ENABLE_ITEM' || !itemType || !scope) {
3947      return state;
3948    }
3949  
3950    return { ...state,
3951      [itemType]: { ...state[itemType],
3952        [scope]: item || null
3953      }
3954    };
3955  }
3956  /**
3957   * Reducer keeping track of the "pinned" items per scope.
3958   *
3959   * @param {boolean} state           Previous state.
3960   * @param {Object}  action          Action object.
3961   * @param {string}  action.type     Action type.
3962   * @param {string}  action.itemType Type of item.
3963   * @param {string}  action.scope    Item scope.
3964   * @param {string}  action.item     Item name.
3965   * @param {boolean} action.isEnable Whether the item is pinned.
3966   *
3967   * @return {Object} Updated state.
3968   */
3969  
3970  function multipleEnableItems() {
3971    let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
3972    let {
3973      type,
3974      itemType,
3975      scope,
3976      item,
3977      isEnable
3978    } = arguments.length > 1 ? arguments[1] : undefined;
3979  
3980    if (type !== 'SET_MULTIPLE_ENABLE_ITEM' || !itemType || !scope || !item || Object(external_lodash_["get"])(state, [itemType, scope, item]) === isEnable) {
3981      return state;
3982    }
3983  
3984    const currentTypeState = state[itemType] || {};
3985    const currentScopeState = currentTypeState[scope] || {};
3986    return { ...state,
3987      [itemType]: { ...currentTypeState,
3988        [scope]: { ...currentScopeState,
3989          [item]: isEnable || false
3990        }
3991      }
3992    };
3993  }
3994  /**
3995   * Reducer returning the defaults for user preferences.
3996   *
3997   * This is kept intentionally separate from the preferences
3998   * themselves so that defaults are not persisted.
3999   *
4000   * @param {Object} state  Current state.
4001   * @param {Object} action Dispatched action.
4002   *
4003   * @return {Object} Updated state.
4004   */
4005  
4006  const preferenceDefaults = Object(external_wp_data_["combineReducers"])({
4007    features() {
4008      let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4009      let action = arguments.length > 1 ? arguments[1] : undefined;
4010  
4011      if (action.type === 'SET_FEATURE_DEFAULTS') {
4012        const {
4013          scope,
4014          defaults
4015        } = action;
4016        return { ...state,
4017          [scope]: { ...state[scope],
4018            ...defaults
4019          }
4020        };
4021      }
4022  
4023      return state;
4024    }
4025  
4026  });
4027  /**
4028   * Reducer returning the user preferences.
4029   *
4030   * @param {Object} state  Current state.
4031   * @param {Object} action Dispatched action.
4032   *
4033   * @return {Object} Updated state.
4034   */
4035  
4036  const preferences = Object(external_wp_data_["combineReducers"])({
4037    features() {
4038      let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4039      let action = arguments.length > 1 ? arguments[1] : undefined;
4040  
4041      if (action.type === 'SET_FEATURE_VALUE') {
4042        const {
4043          scope,
4044          featureName,
4045          value
4046        } = action;
4047        return { ...state,
4048          [scope]: { ...state[scope],
4049            [featureName]: value
4050          }
4051        };
4052      }
4053  
4054      return state;
4055    }
4056  
4057  });
4058  const enableItems = Object(external_wp_data_["combineReducers"])({
4059    singleEnableItems,
4060    multipleEnableItems
4061  });
4062  /* harmony default export */ var reducer = (Object(external_wp_data_["combineReducers"])({
4063    enableItems,
4064    preferenceDefaults,
4065    preferences
4066  }));
4067  
4068  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/actions.js
4069  /**
4070   * Returns an action object used in signalling that an active area should be changed.
4071   *
4072   * @param {string} itemType Type of item.
4073   * @param {string} scope    Item scope.
4074   * @param {string} item     Item identifier.
4075   *
4076   * @return {Object} Action object.
4077   */
4078  function setSingleEnableItem(itemType, scope, item) {
4079    return {
4080      type: 'SET_SINGLE_ENABLE_ITEM',
4081      itemType,
4082      scope,
4083      item
4084    };
4085  }
4086  /**
4087   * Returns an action object used in signalling that a complementary item should be enabled.
4088   *
4089   * @param {string} scope Complementary area scope.
4090   * @param {string} area  Area identifier.
4091   *
4092   * @return {Object} Action object.
4093   */
4094  
4095  
4096  function actions_enableComplementaryArea(scope, area) {
4097    return setSingleEnableItem('complementaryArea', scope, area);
4098  }
4099  /**
4100   * Returns an action object used in signalling that the complementary area of a given scope should be disabled.
4101   *
4102   * @param {string} scope Complementary area scope.
4103   *
4104   * @return {Object} Action object.
4105   */
4106  
4107  function actions_disableComplementaryArea(scope) {
4108    return setSingleEnableItem('complementaryArea', scope, undefined);
4109  }
4110  /**
4111   * Returns an action object to make an area enabled/disabled.
4112   *
4113   * @param {string}  itemType Type of item.
4114   * @param {string}  scope    Item scope.
4115   * @param {string}  item     Item identifier.
4116   * @param {boolean} isEnable Boolean indicating if an area should be pinned or not.
4117   *
4118   * @return {Object} Action object.
4119   */
4120  
4121  function setMultipleEnableItem(itemType, scope, item, isEnable) {
4122    return {
4123      type: 'SET_MULTIPLE_ENABLE_ITEM',
4124      itemType,
4125      scope,
4126      item,
4127      isEnable
4128    };
4129  }
4130  /**
4131   * Returns an action object used in signalling that an item should be pinned.
4132   *
4133   * @param {string} scope  Item scope.
4134   * @param {string} itemId Item identifier.
4135   *
4136   * @return {Object} Action object.
4137   */
4138  
4139  
4140  function actions_pinItem(scope, itemId) {
4141    return setMultipleEnableItem('pinnedItems', scope, itemId, true);
4142  }
4143  /**
4144   * Returns an action object used in signalling that an item should be unpinned.
4145   *
4146   * @param {string} scope  Item scope.
4147   * @param {string} itemId Item identifier.
4148   *
4149   * @return {Object} Action object.
4150   */
4151  
4152  function actions_unpinItem(scope, itemId) {
4153    return setMultipleEnableItem('pinnedItems', scope, itemId, false);
4154  }
4155  /**
4156   * Returns an action object used in signalling that a feature should be toggled.
4157   *
4158   * @param {string} scope       The feature scope (e.g. core/edit-post).
4159   * @param {string} featureName The feature name.
4160   */
4161  
4162  function actions_toggleFeature(scope, featureName) {
4163    return function (_ref) {
4164      let {
4165        select,
4166        dispatch
4167      } = _ref;
4168      const currentValue = select.isFeatureActive(scope, featureName);
4169      dispatch.setFeatureValue(scope, featureName, !currentValue);
4170    };
4171  }
4172  /**
4173   * Returns an action object used in signalling that a feature should be set to
4174   * a true or false value
4175   *
4176   * @param {string}  scope       The feature scope (e.g. core/edit-post).
4177   * @param {string}  featureName The feature name.
4178   * @param {boolean} value       The value to set.
4179   *
4180   * @return {Object} Action object.
4181   */
4182  
4183  function setFeatureValue(scope, featureName, value) {
4184    return {
4185      type: 'SET_FEATURE_VALUE',
4186      scope,
4187      featureName,
4188      value: !!value
4189    };
4190  }
4191  /**
4192   * Returns an action object used in signalling that defaults should be set for features.
4193   *
4194   * @param {string}                  scope    The feature scope (e.g. core/edit-post).
4195   * @param {Object<string, boolean>} defaults A key/value map of feature names to values.
4196   *
4197   * @return {Object} Action object.
4198   */
4199  
4200  function setFeatureDefaults(scope, defaults) {
4201    return {
4202      type: 'SET_FEATURE_DEFAULTS',
4203      scope,
4204      defaults
4205    };
4206  }
4207  
4208  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/selectors.js
4209  /**
4210   * External dependencies
4211   */
4212  
4213  /**
4214   * Returns the item that is enabled in a given scope.
4215   *
4216   * @param {Object} state    Global application state.
4217   * @param {string} itemType Type of item.
4218   * @param {string} scope    Item scope.
4219   *
4220   * @return {?string|null} The item that is enabled in the passed scope and type.
4221   */
4222  
4223  function getSingleEnableItem(state, itemType, scope) {
4224    return Object(external_lodash_["get"])(state.enableItems.singleEnableItems, [itemType, scope]);
4225  }
4226  /**
4227   * Returns the complementary area that is active in a given scope.
4228   *
4229   * @param {Object} state Global application state.
4230   * @param {string} scope Item scope.
4231   *
4232   * @return {string} The complementary area that is active in the given scope.
4233   */
4234  
4235  
4236  function selectors_getActiveComplementaryArea(state, scope) {
4237    return getSingleEnableItem(state, 'complementaryArea', scope);
4238  }
4239  /**
4240   * Returns a boolean indicating if an item is enabled or not in a given scope.
4241   *
4242   * @param {Object} state    Global application state.
4243   * @param {string} itemType Type of item.
4244   * @param {string} scope    Scope.
4245   * @param {string} item     Item to check.
4246   *
4247   * @return {boolean|undefined} True if the item is enabled, false otherwise if the item is explicitly disabled, and undefined if there is no information for that item.
4248   */
4249  
4250  function isMultipleEnabledItemEnabled(state, itemType, scope, item) {
4251    return Object(external_lodash_["get"])(state.enableItems.multipleEnableItems, [itemType, scope, item]);
4252  }
4253  /**
4254   * Returns a boolean indicating if an item is pinned or not.
4255   *
4256   * @param {Object} state Global application state.
4257   * @param {string} scope Scope.
4258   * @param {string} item  Item to check.
4259   *
4260   * @return {boolean} True if the item is pinned and false otherwise.
4261   */
4262  
4263  
4264  function selectors_isItemPinned(state, scope, item) {
4265    return isMultipleEnabledItemEnabled(state, 'pinnedItems', scope, item) !== false;
4266  }
4267  /**
4268   * Returns a boolean indicating whether a feature is active for a particular
4269   * scope.
4270   *
4271   * @param {Object} state       The store state.
4272   * @param {string} scope       The scope of the feature (e.g. core/edit-post).
4273   * @param {string} featureName The name of the feature.
4274   *
4275   * @return {boolean} Is the feature enabled?
4276   */
4277  
4278  function isFeatureActive(state, scope, featureName) {
4279    var _state$preferences$fe, _state$preferenceDefa;
4280  
4281    const featureValue = (_state$preferences$fe = state.preferences.features[scope]) === null || _state$preferences$fe === void 0 ? void 0 : _state$preferences$fe[featureName];
4282    const defaultedFeatureValue = featureValue !== undefined ? featureValue : (_state$preferenceDefa = state.preferenceDefaults.features[scope]) === null || _state$preferenceDefa === void 0 ? void 0 : _state$preferenceDefa[featureName];
4283    return !!defaultedFeatureValue;
4284  }
4285  
4286  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/constants.js
4287  /**
4288   * The identifier for the data store.
4289   *
4290   * @type {string}
4291   */
4292  const STORE_NAME = 'core/interface';
4293  
4294  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/store/index.js
4295  /**
4296   * WordPress dependencies
4297   */
4298  
4299  /**
4300   * Internal dependencies
4301   */
4302  
4303  
4304  
4305  
4306  
4307  /**
4308   * Store definition for the interface namespace.
4309   *
4310   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
4311   *
4312   * @type {Object}
4313   */
4314  
4315  const store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, {
4316    reducer: reducer,
4317    actions: actions_namespaceObject,
4318    selectors: selectors_namespaceObject,
4319    persist: ['enableItems', 'preferences'],
4320    __experimentalUseThunks: true
4321  }); // Once we build a more generic persistence plugin that works across types of stores
4322  // we'd be able to replace this with a register call.
4323  
4324  Object(external_wp_data_["registerStore"])(STORE_NAME, {
4325    reducer: reducer,
4326    actions: actions_namespaceObject,
4327    selectors: selectors_namespaceObject,
4328    persist: ['enableItems', 'preferences'],
4329    __experimentalUseThunks: true
4330  });
4331  
4332  // EXTERNAL MODULE: external ["wp","plugins"]
4333  var external_wp_plugins_ = __webpack_require__("TvNi");
4334  
4335  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-context/index.js
4336  /**
4337   * WordPress dependencies
4338   */
4339  
4340  /* harmony default export */ var complementary_area_context = (Object(external_wp_plugins_["withPluginContext"])((context, ownProps) => {
4341    return {
4342      icon: ownProps.icon || context.icon,
4343      identifier: ownProps.identifier || `$context.name}/$ownProps.name}`
4344    };
4345  }));
4346  
4347  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-toggle/index.js
4348  
4349  
4350  
4351  /**
4352   * External dependencies
4353   */
4354  
4355  /**
4356   * WordPress dependencies
4357   */
4358  
4359  
4360  
4361  /**
4362   * Internal dependencies
4363   */
4364  
4365  
4366  
4367  
4368  function ComplementaryAreaToggle(_ref) {
4369    let {
4370      as = external_wp_components_["Button"],
4371      scope,
4372      identifier,
4373      icon,
4374      selectedIcon,
4375      ...props
4376    } = _ref;
4377    const ComponentToUse = as;
4378    const isSelected = Object(external_wp_data_["useSelect"])(select => select(store).getActiveComplementaryArea(scope) === identifier, [identifier]);
4379    const {
4380      enableComplementaryArea,
4381      disableComplementaryArea
4382    } = Object(external_wp_data_["useDispatch"])(store);
4383    return Object(external_wp_element_["createElement"])(ComponentToUse, Object(esm_extends["a" /* default */])({
4384      icon: selectedIcon && isSelected ? selectedIcon : icon,
4385      onClick: () => {
4386        if (isSelected) {
4387          disableComplementaryArea(scope);
4388        } else {
4389          enableComplementaryArea(scope, identifier);
4390        }
4391      }
4392    }, Object(external_lodash_["omit"])(props, ['name'])));
4393  }
4394  
4395  /* harmony default export */ var complementary_area_toggle = (complementary_area_context(ComplementaryAreaToggle));
4396  
4397  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-header/index.js
4398  
4399  
4400  
4401  /**
4402   * External dependencies
4403   */
4404  
4405  /**
4406   * WordPress dependencies
4407   */
4408  
4409  
4410  /**
4411   * Internal dependencies
4412   */
4413  
4414  
4415  
4416  const ComplementaryAreaHeader = _ref => {
4417    let {
4418      smallScreenTitle,
4419      children,
4420      className,
4421      toggleButtonProps
4422    } = _ref;
4423    const toggleButton = Object(external_wp_element_["createElement"])(complementary_area_toggle, Object(esm_extends["a" /* default */])({
4424      icon: close_small["a" /* default */]
4425    }, toggleButtonProps));
4426    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", {
4427      className: "components-panel__header interface-complementary-area-header__small"
4428    }, smallScreenTitle && Object(external_wp_element_["createElement"])("span", {
4429      className: "interface-complementary-area-header__small-title"
4430    }, smallScreenTitle), toggleButton), Object(external_wp_element_["createElement"])("div", {
4431      className: classnames_default()('components-panel__header', 'interface-complementary-area-header', className),
4432      tabIndex: -1
4433    }, children, toggleButton));
4434  };
4435  
4436  /* harmony default export */ var complementary_area_header = (ComplementaryAreaHeader);
4437  
4438  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/action-item/index.js
4439  
4440  
4441  
4442  /**
4443   * External dependencies
4444   */
4445  
4446  /**
4447   * WordPress dependencies
4448   */
4449  
4450  
4451  
4452  
4453  function ActionItemSlot(_ref) {
4454    let {
4455      name,
4456      as: Component = external_wp_components_["ButtonGroup"],
4457      fillProps = {},
4458      bubblesVirtually,
4459      ...props
4460    } = _ref;
4461    return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], {
4462      name: name,
4463      bubblesVirtually: bubblesVirtually,
4464      fillProps: fillProps
4465    }, fills => {
4466      if (Object(external_lodash_["isEmpty"])(external_wp_element_["Children"].toArray(fills))) {
4467        return null;
4468      } // Special handling exists for backward compatibility.
4469      // It ensures that menu items created by plugin authors aren't
4470      // duplicated with automatically injected menu items coming
4471      // from pinnable plugin sidebars.
4472      // @see https://github.com/WordPress/gutenberg/issues/14457
4473  
4474  
4475      const initializedByPlugins = [];
4476      external_wp_element_["Children"].forEach(fills, _ref2 => {
4477        let {
4478          props: {
4479            __unstableExplicitMenuItem,
4480            __unstableTarget
4481          }
4482        } = _ref2;
4483  
4484        if (__unstableTarget && __unstableExplicitMenuItem) {
4485          initializedByPlugins.push(__unstableTarget);
4486        }
4487      });
4488      const children = external_wp_element_["Children"].map(fills, child => {
4489        if (!child.props.__unstableExplicitMenuItem && initializedByPlugins.includes(child.props.__unstableTarget)) {
4490          return null;
4491        }
4492  
4493        return child;
4494      });
4495      return Object(external_wp_element_["createElement"])(Component, props, children);
4496    });
4497  }
4498  
4499  function ActionItem(_ref3) {
4500    let {
4501      name,
4502      as: Component = external_wp_components_["Button"],
4503      onClick,
4504      ...props
4505    } = _ref3;
4506    return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], {
4507      name: name
4508    }, _ref4 => {
4509      let {
4510        onClick: fpOnClick
4511      } = _ref4;
4512      return Object(external_wp_element_["createElement"])(Component, Object(esm_extends["a" /* default */])({
4513        onClick: onClick || fpOnClick ? function () {
4514          (onClick || external_lodash_["noop"])(...arguments);
4515          (fpOnClick || external_lodash_["noop"])(...arguments);
4516        } : undefined
4517      }, props));
4518    });
4519  }
4520  
4521  ActionItem.Slot = ActionItemSlot;
4522  /* harmony default export */ var action_item = (ActionItem);
4523  
4524  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area-more-menu-item/index.js
4525  
4526  
4527  
4528  /**
4529   * External dependencies
4530   */
4531  
4532  /**
4533   * WordPress dependencies
4534   */
4535  
4536  
4537  
4538  /**
4539   * Internal dependencies
4540   */
4541  
4542  
4543  
4544  
4545  const PluginsMenuItem = props => // Menu item is marked with unstable prop for backward compatibility.
4546  // They are removed so they don't leak to DOM elements.
4547  // @see https://github.com/WordPress/gutenberg/issues/14457
4548  Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], Object(external_lodash_["omit"])(props, ['__unstableExplicitMenuItem', '__unstableTarget']));
4549  
4550  function ComplementaryAreaMoreMenuItem(_ref) {
4551    let {
4552      scope,
4553      target,
4554      __unstableExplicitMenuItem,
4555      ...props
4556    } = _ref;
4557    return Object(external_wp_element_["createElement"])(complementary_area_toggle, Object(esm_extends["a" /* default */])({
4558      as: toggleProps => {
4559        return Object(external_wp_element_["createElement"])(action_item, Object(esm_extends["a" /* default */])({
4560          __unstableExplicitMenuItem: __unstableExplicitMenuItem,
4561          __unstableTarget: `$scope}/$target}`,
4562          as: PluginsMenuItem,
4563          name: `$scope}/plugin-more-menu`
4564        }, toggleProps));
4565      },
4566      role: "menuitemcheckbox",
4567      selectedIcon: check["a" /* default */],
4568      name: target,
4569      scope: scope
4570    }, props));
4571  }
4572  
4573  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/pinned-items/index.js
4574  
4575  
4576  
4577  /**
4578   * External dependencies
4579   */
4580  
4581  
4582  /**
4583   * WordPress dependencies
4584   */
4585  
4586  
4587  
4588  function PinnedItems(_ref) {
4589    let {
4590      scope,
4591      ...props
4592    } = _ref;
4593    return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], Object(esm_extends["a" /* default */])({
4594      name: `PinnedItems/$scope}`
4595    }, props));
4596  }
4597  
4598  function PinnedItemsSlot(_ref2) {
4599    let {
4600      scope,
4601      className,
4602      ...props
4603    } = _ref2;
4604    return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], Object(esm_extends["a" /* default */])({
4605      name: `PinnedItems/$scope}`
4606    }, props), fills => !Object(external_lodash_["isEmpty"])(fills) && Object(external_wp_element_["createElement"])("div", {
4607      className: classnames_default()(className, 'interface-pinned-items')
4608    }, fills));
4609  }
4610  
4611  PinnedItems.Slot = PinnedItemsSlot;
4612  /* harmony default export */ var pinned_items = (PinnedItems);
4613  
4614  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/complementary-area/index.js
4615  
4616  
4617  
4618  /**
4619   * External dependencies
4620   */
4621  
4622  /**
4623   * WordPress dependencies
4624   */
4625  
4626  
4627  
4628  
4629  
4630  
4631  
4632  /**
4633   * Internal dependencies
4634   */
4635  
4636  
4637  
4638  
4639  
4640  
4641  
4642  
4643  function ComplementaryAreaSlot(_ref) {
4644    let {
4645      scope,
4646      ...props
4647    } = _ref;
4648    return Object(external_wp_element_["createElement"])(external_wp_components_["Slot"], Object(esm_extends["a" /* default */])({
4649      name: `ComplementaryArea/$scope}`
4650    }, props));
4651  }
4652  
4653  function ComplementaryAreaFill(_ref2) {
4654    let {
4655      scope,
4656      children,
4657      className
4658    } = _ref2;
4659    return Object(external_wp_element_["createElement"])(external_wp_components_["Fill"], {
4660      name: `ComplementaryArea/$scope}`
4661    }, Object(external_wp_element_["createElement"])("div", {
4662      className: className
4663    }, children));
4664  }
4665  
4666  function useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall) {
4667    const previousIsSmall = Object(external_wp_element_["useRef"])(false);
4668    const shouldOpenWhenNotSmall = Object(external_wp_element_["useRef"])(false);
4669    const {
4670      enableComplementaryArea,
4671      disableComplementaryArea
4672    } = Object(external_wp_data_["useDispatch"])(store);
4673    Object(external_wp_element_["useEffect"])(() => {
4674      // If the complementary area is active and the editor is switching from a big to a small window size.
4675      if (isActive && isSmall && !previousIsSmall.current) {
4676        // Disable the complementary area.
4677        disableComplementaryArea(scope); // Flag the complementary area to be reopened when the window size goes from small to big.
4678  
4679        shouldOpenWhenNotSmall.current = true;
4680      } else if ( // If there is a flag indicating the complementary area should be enabled when we go from small to big window size
4681      // and we are going from a small to big window size.
4682      shouldOpenWhenNotSmall.current && !isSmall && previousIsSmall.current) {
4683        // Remove the flag indicating the complementary area should be enabled.
4684        shouldOpenWhenNotSmall.current = false; // Enable the complementary area.
4685  
4686        enableComplementaryArea(scope, identifier);
4687      } else if ( // If the flag is indicating the current complementary should be reopened but another complementary area becomes active,
4688      // remove the flag.
4689      shouldOpenWhenNotSmall.current && activeArea && activeArea !== identifier) {
4690        shouldOpenWhenNotSmall.current = false;
4691      }
4692  
4693      if (isSmall !== previousIsSmall.current) {
4694        previousIsSmall.current = isSmall;
4695      }
4696    }, [isActive, isSmall, scope, identifier, activeArea]);
4697  }
4698  
4699  function ComplementaryArea(_ref3) {
4700    let {
4701      children,
4702      className,
4703      closeLabel = Object(external_wp_i18n_["__"])('Close plugin'),
4704      identifier,
4705      header,
4706      headerClassName,
4707      icon,
4708      isPinnable = true,
4709      panelClassName,
4710      scope,
4711      name,
4712      smallScreenTitle,
4713      title,
4714      toggleShortcut,
4715      isActiveByDefault,
4716      showIconLabels = false
4717    } = _ref3;
4718    const {
4719      isActive,
4720      isPinned,
4721      activeArea,
4722      isSmall,
4723      isLarge
4724    } = Object(external_wp_data_["useSelect"])(select => {
4725      const {
4726        getActiveComplementaryArea,
4727        isItemPinned
4728      } = select(store);
4729  
4730      const _activeArea = getActiveComplementaryArea(scope);
4731  
4732      return {
4733        isActive: _activeArea === identifier,
4734        isPinned: isItemPinned(scope, identifier),
4735        activeArea: _activeArea,
4736        isSmall: select(external_wp_viewport_["store"]).isViewportMatch('< medium'),
4737        isLarge: select(external_wp_viewport_["store"]).isViewportMatch('large')
4738      };
4739    }, [identifier, scope]);
4740    useAdjustComplementaryListener(scope, identifier, activeArea, isActive, isSmall);
4741    const {
4742      enableComplementaryArea,
4743      disableComplementaryArea,
4744      pinItem,
4745      unpinItem
4746    } = Object(external_wp_data_["useDispatch"])(store);
4747    Object(external_wp_element_["useEffect"])(() => {
4748      if (isActiveByDefault && activeArea === undefined && !isSmall) {
4749        enableComplementaryArea(scope, identifier);
4750      }
4751    }, [activeArea, isActiveByDefault, scope, identifier, isSmall]);
4752    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, isPinnable && Object(external_wp_element_["createElement"])(pinned_items, {
4753      scope: scope
4754    }, isPinned && Object(external_wp_element_["createElement"])(complementary_area_toggle, {
4755      scope: scope,
4756      identifier: identifier,
4757      isPressed: isActive && (!showIconLabels || isLarge),
4758      "aria-expanded": isActive,
4759      label: title,
4760      icon: showIconLabels ? check["a" /* default */] : icon,
4761      showTooltip: !showIconLabels,
4762      variant: showIconLabels ? 'tertiary' : undefined
4763    })), name && isPinnable && Object(external_wp_element_["createElement"])(ComplementaryAreaMoreMenuItem, {
4764      target: name,
4765      scope: scope,
4766      icon: icon
4767    }, title), isActive && Object(external_wp_element_["createElement"])(ComplementaryAreaFill, {
4768      className: classnames_default()('interface-complementary-area', className),
4769      scope: scope
4770    }, Object(external_wp_element_["createElement"])(complementary_area_header, {
4771      className: headerClassName,
4772      closeLabel: closeLabel,
4773      onClose: () => disableComplementaryArea(scope),
4774      smallScreenTitle: smallScreenTitle,
4775      toggleButtonProps: {
4776        label: closeLabel,
4777        shortcut: toggleShortcut,
4778        scope,
4779        identifier
4780      }
4781    }, header || Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("strong", null, title), isPinnable && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
4782      className: "interface-complementary-area__pin-unpin-item",
4783      icon: isPinned ? star_filled["a" /* default */] : star_empty["a" /* default */],
4784      label: isPinned ? Object(external_wp_i18n_["__"])('Unpin from toolbar') : Object(external_wp_i18n_["__"])('Pin to toolbar'),
4785      onClick: () => (isPinned ? unpinItem : pinItem)(scope, identifier),
4786      isPressed: isPinned,
4787      "aria-expanded": isPinned
4788    }))), Object(external_wp_element_["createElement"])(external_wp_components_["Panel"], {
4789      className: panelClassName
4790    }, children)));
4791  }
4792  
4793  const ComplementaryAreaWrapped = complementary_area_context(ComplementaryArea);
4794  ComplementaryAreaWrapped.Slot = ComplementaryAreaSlot;
4795  /* harmony default export */ var complementary_area = (ComplementaryAreaWrapped);
4796  
4797  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/fullscreen-mode/index.js
4798  /**
4799   * WordPress dependencies
4800   */
4801  
4802  
4803  const FullscreenMode = _ref => {
4804    let {
4805      isActive
4806    } = _ref;
4807    Object(external_wp_element_["useEffect"])(() => {
4808      let isSticky = false; // `is-fullscreen-mode` is set in PHP as a body class by Gutenberg, and this causes
4809      // `sticky-menu` to be applied by WordPress and prevents the admin menu being scrolled
4810      // even if `is-fullscreen-mode` is then removed. Let's remove `sticky-menu` here as
4811      // a consequence of the FullscreenMode setup
4812  
4813      if (document.body.classList.contains('sticky-menu')) {
4814        isSticky = true;
4815        document.body.classList.remove('sticky-menu');
4816      }
4817  
4818      return () => {
4819        if (isSticky) {
4820          document.body.classList.add('sticky-menu');
4821        }
4822      };
4823    }, []);
4824    Object(external_wp_element_["useEffect"])(() => {
4825      if (isActive) {
4826        document.body.classList.add('is-fullscreen-mode');
4827      } else {
4828        document.body.classList.remove('is-fullscreen-mode');
4829      }
4830  
4831      return () => {
4832        if (isActive) {
4833          document.body.classList.remove('is-fullscreen-mode');
4834        }
4835      };
4836    }, [isActive]);
4837    return null;
4838  };
4839  
4840  /* harmony default export */ var fullscreen_mode = (FullscreenMode);
4841  
4842  // EXTERNAL MODULE: external ["wp","compose"]
4843  var external_wp_compose_ = __webpack_require__("K9lf");
4844  
4845  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/interface-skeleton/index.js
4846  
4847  
4848  
4849  /**
4850   * External dependencies
4851   */
4852  
4853  /**
4854   * WordPress dependencies
4855   */
4856  
4857  /**
4858   * WordPress dependencies
4859   */
4860  
4861  
4862  
4863  
4864  
4865  
4866  function useHTMLClass(className) {
4867    Object(external_wp_element_["useEffect"])(() => {
4868      const element = document && document.querySelector(`html:not(.$className})`);
4869  
4870      if (!element) {
4871        return;
4872      }
4873  
4874      element.classList.toggle(className);
4875      return () => {
4876        element.classList.toggle(className);
4877      };
4878    }, [className]);
4879  }
4880  
4881  function InterfaceSkeleton(_ref, ref) {
4882    let {
4883      footer,
4884      header,
4885      sidebar,
4886      secondarySidebar,
4887      notices,
4888      content,
4889      drawer,
4890      actions,
4891      labels,
4892      className,
4893      shortcuts
4894    } = _ref;
4895    const navigateRegionsProps = Object(external_wp_components_["__unstableUseNavigateRegions"])(shortcuts);
4896    useHTMLClass('interface-interface-skeleton__html-container');
4897    const defaultLabels = {
4898      /* translators: accessibility text for the nav bar landmark region. */
4899      drawer: Object(external_wp_i18n_["__"])('Drawer'),
4900  
4901      /* translators: accessibility text for the top bar landmark region. */
4902      header: Object(external_wp_i18n_["__"])('Header'),
4903  
4904      /* translators: accessibility text for the content landmark region. */
4905      body: Object(external_wp_i18n_["__"])('Content'),
4906  
4907      /* translators: accessibility text for the secondary sidebar landmark region. */
4908      secondarySidebar: Object(external_wp_i18n_["__"])('Block Library'),
4909  
4910      /* translators: accessibility text for the settings landmark region. */
4911      sidebar: Object(external_wp_i18n_["__"])('Settings'),
4912  
4913      /* translators: accessibility text for the publish landmark region. */
4914      actions: Object(external_wp_i18n_["__"])('Publish'),
4915  
4916      /* translators: accessibility text for the footer landmark region. */
4917      footer: Object(external_wp_i18n_["__"])('Footer')
4918    };
4919    const mergedLabels = { ...defaultLabels,
4920      ...labels
4921    };
4922    return Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, navigateRegionsProps, {
4923      ref: Object(external_wp_compose_["useMergeRefs"])([ref, navigateRegionsProps.ref]),
4924      className: classnames_default()(className, 'interface-interface-skeleton', navigateRegionsProps.className, !!footer && 'has-footer')
4925    }), !!drawer && Object(external_wp_element_["createElement"])("div", {
4926      className: "interface-interface-skeleton__drawer",
4927      role: "region",
4928      "aria-label": mergedLabels.drawer,
4929      tabIndex: "-1"
4930    }, drawer), Object(external_wp_element_["createElement"])("div", {
4931      className: "interface-interface-skeleton__editor"
4932    }, !!header && Object(external_wp_element_["createElement"])("div", {
4933      className: "interface-interface-skeleton__header",
4934      role: "region",
4935      "aria-label": mergedLabels.header,
4936      tabIndex: "-1"
4937    }, header), Object(external_wp_element_["createElement"])("div", {
4938      className: "interface-interface-skeleton__body"
4939    }, !!secondarySidebar && Object(external_wp_element_["createElement"])("div", {
4940      className: "interface-interface-skeleton__secondary-sidebar",
4941      role: "region",
4942      "aria-label": mergedLabels.secondarySidebar,
4943      tabIndex: "-1"
4944    }, secondarySidebar), !!notices && Object(external_wp_element_["createElement"])("div", {
4945      className: "interface-interface-skeleton__notices"
4946    }, notices), Object(external_wp_element_["createElement"])("div", {
4947      className: "interface-interface-skeleton__content",
4948      role: "region",
4949      "aria-label": mergedLabels.body,
4950      tabIndex: "-1"
4951    }, content), !!sidebar && Object(external_wp_element_["createElement"])("div", {
4952      className: "interface-interface-skeleton__sidebar",
4953      role: "region",
4954      "aria-label": mergedLabels.sidebar,
4955      tabIndex: "-1"
4956    }, sidebar), !!actions && Object(external_wp_element_["createElement"])("div", {
4957      className: "interface-interface-skeleton__actions",
4958      role: "region",
4959      "aria-label": mergedLabels.actions,
4960      tabIndex: "-1"
4961    }, actions))), !!footer && Object(external_wp_element_["createElement"])("div", {
4962      className: "interface-interface-skeleton__footer",
4963      role: "region",
4964      "aria-label": mergedLabels.footer,
4965      tabIndex: "-1"
4966    }, footer));
4967  }
4968  
4969  /* harmony default export */ var interface_skeleton = (Object(external_wp_element_["forwardRef"])(InterfaceSkeleton));
4970  
4971  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/more-vertical.js
4972  var more_vertical = __webpack_require__("VKE3");
4973  
4974  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/more-menu-dropdown/index.js
4975  
4976  
4977  /**
4978   * External dependencies
4979   */
4980  
4981  /**
4982   * WordPress dependencies
4983   */
4984  
4985  
4986  
4987  
4988  function MoreMenuDropdown(_ref) {
4989    let {
4990      as: DropdownComponent = external_wp_components_["DropdownMenu"],
4991      className,
4992  
4993      /* translators: button label text should, if possible, be under 16 characters. */
4994      label = Object(external_wp_i18n_["__"])('Options'),
4995      popoverProps,
4996      toggleProps,
4997      children
4998    } = _ref;
4999    return Object(external_wp_element_["createElement"])(DropdownComponent, {
5000      className: classnames_default()('interface-more-menu-dropdown', className),
5001      icon: more_vertical["a" /* default */],
5002      label: label,
5003      popoverProps: {
5004        position: 'bottom left',
5005        ...popoverProps,
5006        className: classnames_default()('interface-more-menu-dropdown__content', popoverProps === null || popoverProps === void 0 ? void 0 : popoverProps.className)
5007      },
5008      toggleProps: {
5009        tooltipPosition: 'bottom',
5010        ...toggleProps
5011      }
5012    }, onClose => children(onClose));
5013  }
5014  
5015  // EXTERNAL MODULE: external ["wp","a11y"]
5016  var external_wp_a11y_ = __webpack_require__("gdqT");
5017  
5018  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/more-menu-feature-toggle/index.js
5019  
5020  
5021  /**
5022   * WordPress dependencies
5023   */
5024  
5025  
5026  
5027  
5028  
5029  /**
5030   * Internal dependencies
5031   */
5032  
5033  
5034  function MoreMenuFeatureToggle(_ref) {
5035    let {
5036      scope,
5037      label,
5038      info,
5039      messageActivated,
5040      messageDeactivated,
5041      shortcut,
5042      feature
5043    } = _ref;
5044    const isActive = Object(external_wp_data_["useSelect"])(select => select(store).isFeatureActive(scope, feature), [feature]);
5045    const {
5046      toggleFeature
5047    } = Object(external_wp_data_["useDispatch"])(store);
5048  
5049    const speakMessage = () => {
5050      if (isActive) {
5051        Object(external_wp_a11y_["speak"])(messageDeactivated || Object(external_wp_i18n_["__"])('Feature deactivated'));
5052      } else {
5053        Object(external_wp_a11y_["speak"])(messageActivated || Object(external_wp_i18n_["__"])('Feature activated'));
5054      }
5055    };
5056  
5057    return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], {
5058      icon: isActive && check["a" /* default */],
5059      isSelected: isActive,
5060      onClick: () => {
5061        toggleFeature(scope, feature);
5062        speakMessage();
5063      },
5064      role: "menuitemcheckbox",
5065      info: info,
5066      shortcut: shortcut
5067    }, label);
5068  }
5069  
5070  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/components/index.js
5071  
5072  
5073  
5074  
5075  
5076  
5077  
5078  
5079  
5080  // CONCATENATED MODULE: ./node_modules/@wordpress/interface/build-module/index.js
5081  
5082  
5083  
5084  
5085  /***/ }),
5086  
5087  /***/ "URob":
5088  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5089  
5090  "use strict";
5091  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
5092  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
5093  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
5094  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
5095  
5096  
5097  /**
5098   * WordPress dependencies
5099   */
5100  
5101  const starFilled = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
5102    xmlns: "http://www.w3.org/2000/svg",
5103    viewBox: "0 0 24 24"
5104  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
5105    d: "M11.776 4.454a.25.25 0 01.448 0l2.069 4.192a.25.25 0 00.188.137l4.626.672a.25.25 0 01.139.426l-3.348 3.263a.25.25 0 00-.072.222l.79 4.607a.25.25 0 01-.362.263l-4.138-2.175a.25.25 0 00-.232 0l-4.138 2.175a.25.25 0 01-.363-.263l.79-4.607a.25.25 0 00-.071-.222L4.754 9.881a.25.25 0 01.139-.426l4.626-.672a.25.25 0 00.188-.137l2.069-4.192z"
5106  }));
5107  /* harmony default export */ __webpack_exports__["a"] = (starFilled);
5108  
5109  
5110  /***/ }),
5111  
5112  /***/ "VKE3":
5113  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5114  
5115  "use strict";
5116  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
5117  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
5118  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
5119  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
5120  
5121  
5122  /**
5123   * WordPress dependencies
5124   */
5125  
5126  const moreVertical = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
5127    xmlns: "http://www.w3.org/2000/svg",
5128    viewBox: "0 0 24 24"
5129  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
5130    d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z"
5131  }));
5132  /* harmony default export */ __webpack_exports__["a"] = (moreVertical);
5133  
5134  
5135  /***/ }),
5136  
5137  /***/ "Xxwi":
5138  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5139  
5140  "use strict";
5141  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
5142  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
5143  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
5144  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
5145  
5146  
5147  /**
5148   * WordPress dependencies
5149   */
5150  
5151  const starEmpty = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
5152    xmlns: "http://www.w3.org/2000/svg",
5153    viewBox: "0 0 24 24"
5154  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
5155    fillRule: "evenodd",
5156    d: "M9.706 8.646a.25.25 0 01-.188.137l-4.626.672a.25.25 0 00-.139.427l3.348 3.262a.25.25 0 01.072.222l-.79 4.607a.25.25 0 00.362.264l4.138-2.176a.25.25 0 01.233 0l4.137 2.175a.25.25 0 00.363-.263l-.79-4.607a.25.25 0 01.072-.222l3.347-3.262a.25.25 0 00-.139-.427l-4.626-.672a.25.25 0 01-.188-.137l-2.069-4.192a.25.25 0 00-.448 0L9.706 8.646zM12 7.39l-.948 1.921a1.75 1.75 0 01-1.317.957l-2.12.308 1.534 1.495c.412.402.6.982.503 1.55l-.362 2.11 1.896-.997a1.75 1.75 0 011.629 0l1.895.997-.362-2.11a1.75 1.75 0 01.504-1.55l1.533-1.495-2.12-.308a1.75 1.75 0 01-1.317-.957L12 7.39z",
5157    clipRule: "evenodd"
5158  }));
5159  /* harmony default export */ __webpack_exports__["a"] = (starEmpty);
5160  
5161  
5162  /***/ }),
5163  
5164  /***/ "YLtl":
5165  /***/ (function(module, exports) {
5166  
5167  (function() { module.exports = window["lodash"]; }());
5168  
5169  /***/ }),
5170  
5171  /***/ "axFQ":
5172  /***/ (function(module, exports) {
5173  
5174  (function() { module.exports = window["wp"]["blockEditor"]; }());
5175  
5176  /***/ }),
5177  
5178  /***/ "bWcr":
5179  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5180  
5181  "use strict";
5182  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
5183  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
5184  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
5185  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
5186  
5187  
5188  /**
5189   * WordPress dependencies
5190   */
5191  
5192  const closeSmall = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
5193    xmlns: "http://www.w3.org/2000/svg",
5194    viewBox: "0 0 24 24"
5195  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
5196    d: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z"
5197  }));
5198  /* harmony default export */ __webpack_exports__["a"] = (closeSmall);
5199  
5200  
5201  /***/ }),
5202  
5203  /***/ "diJD":
5204  /***/ (function(module, exports) {
5205  
5206  (function() { module.exports = window["wp"]["reusableBlocks"]; }());
5207  
5208  /***/ }),
5209  
5210  /***/ "g56x":
5211  /***/ (function(module, exports) {
5212  
5213  (function() { module.exports = window["wp"]["hooks"]; }());
5214  
5215  /***/ }),
5216  
5217  /***/ "gdqT":
5218  /***/ (function(module, exports) {
5219  
5220  (function() { module.exports = window["wp"]["a11y"]; }());
5221  
5222  /***/ }),
5223  
5224  /***/ "hF7m":
5225  /***/ (function(module, exports) {
5226  
5227  (function() { module.exports = window["wp"]["keyboardShortcuts"]; }());
5228  
5229  /***/ }),
5230  
5231  /***/ "jZUy":
5232  /***/ (function(module, exports) {
5233  
5234  (function() { module.exports = window["wp"]["coreData"]; }());
5235  
5236  /***/ }),
5237  
5238  /***/ "l3Sj":
5239  /***/ (function(module, exports) {
5240  
5241  (function() { module.exports = window["wp"]["i18n"]; }());
5242  
5243  /***/ }),
5244  
5245  /***/ "onLe":
5246  /***/ (function(module, exports) {
5247  
5248  (function() { module.exports = window["wp"]["notices"]; }());
5249  
5250  /***/ }),
5251  
5252  /***/ "tI+e":
5253  /***/ (function(module, exports) {
5254  
5255  (function() { module.exports = window["wp"]["components"]; }());
5256  
5257  /***/ }),
5258  
5259  /***/ "w95h":
5260  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5261  
5262  "use strict";
5263  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId");
5264  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
5265  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9");
5266  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
5267  
5268  
5269  /**
5270   * WordPress dependencies
5271   */
5272  
5273  const close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
5274    xmlns: "http://www.w3.org/2000/svg",
5275    viewBox: "0 0 24 24"
5276  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
5277    d: "M13 11.8l6.1-6.3-1-1-6.1 6.2-6.1-6.2-1 1 6.1 6.3-6.5 6.7 1 1 6.5-6.6 6.5 6.6 1-1z"
5278  }));
5279  /* harmony default export */ __webpack_exports__["a"] = (close);
5280  
5281  
5282  /***/ }),
5283  
5284  /***/ "wx14":
5285  /***/ (function(module, __webpack_exports__, __webpack_require__) {
5286  
5287  "use strict";
5288  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; });
5289  function _extends() {
5290    _extends = Object.assign || function (target) {
5291      for (var i = 1; i < arguments.length; i++) {
5292        var source = arguments[i];
5293  
5294        for (var key in source) {
5295          if (Object.prototype.hasOwnProperty.call(source, key)) {
5296            target[key] = source[key];
5297          }
5298        }
5299      }
5300  
5301      return target;
5302    };
5303  
5304    return _extends.apply(this, arguments);
5305  }
5306  
5307  /***/ }),
5308  
5309  /***/ "ywyh":
5310  /***/ (function(module, exports) {
5311  
5312  (function() { module.exports = window["wp"]["apiFetch"]; }());
5313  
5314  /***/ })
5315  
5316  /******/ });


Generated: Wed Jan 19 01:00:04 2022 Cross-referenced by PHPXref 0.7.1