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