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


Generated: Sun Aug 1 01:00:05 2021 Cross-referenced by PHPXref 0.7.1