[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/js/dist/ -> editor.js (source)

   1  this["wp"] = this["wp"] || {}; this["wp"]["editor"] =
   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 = 449);
  86  /******/ })
  87  /************************************************************************/
  88  /******/ ({
  89  
  90  /***/ 0:
  91  /***/ (function(module, exports) {
  92  
  93  (function() { module.exports = window["wp"]["element"]; }());
  94  
  95  /***/ }),
  96  
  97  /***/ 1:
  98  /***/ (function(module, exports) {
  99  
 100  (function() { module.exports = window["wp"]["i18n"]; }());
 101  
 102  /***/ }),
 103  
 104  /***/ 10:
 105  /***/ (function(module, exports, __webpack_require__) {
 106  
 107  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 108    Copyright (c) 2018 Jed Watson.
 109    Licensed under the MIT License (MIT), see
 110    http://jedwatson.github.io/classnames
 111  */
 112  /* global define */
 113  
 114  (function () {
 115      'use strict';
 116  
 117      var hasOwn = {}.hasOwnProperty;
 118  
 119  	function classNames() {
 120          var classes = [];
 121  
 122          for (var i = 0; i < arguments.length; i++) {
 123              var arg = arguments[i];
 124              if (!arg) continue;
 125  
 126              var argType = typeof arg;
 127  
 128              if (argType === 'string' || argType === 'number') {
 129                  classes.push(arg);
 130              } else if (Array.isArray(arg)) {
 131                  if (arg.length) {
 132                      var inner = classNames.apply(null, arg);
 133                      if (inner) {
 134                          classes.push(inner);
 135                      }
 136                  }
 137              } else if (argType === 'object') {
 138                  if (arg.toString === Object.prototype.toString) {
 139                      for (var key in arg) {
 140                          if (hasOwn.call(arg, key) && arg[key]) {
 141                              classes.push(key);
 142                          }
 143                      }
 144                  } else {
 145                      classes.push(arg.toString());
 146                  }
 147              }
 148          }
 149  
 150          return classes.join(' ');
 151      }
 152  
 153      if ( true && module.exports) {
 154          classNames.default = classNames;
 155          module.exports = classNames;
 156      } else if (true) {
 157          // register as 'classnames', consistent with npm package name
 158          !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
 159              return classNames;
 160          }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
 161                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
 162      } else {}
 163  }());
 164  
 165  
 166  /***/ }),
 167  
 168  /***/ 11:
 169  /***/ (function(module, exports) {
 170  
 171  (function() { module.exports = window["wp"]["compose"]; }());
 172  
 173  /***/ }),
 174  
 175  /***/ 12:
 176  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 177  
 178  "use strict";
 179  
 180  // EXPORTS
 181  __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _slicedToArray; });
 182  
 183  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js
 184  var arrayWithHoles = __webpack_require__(37);
 185  
 186  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js
 187  function _iterableToArrayLimit(arr, i) {
 188    if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
 189    var _arr = [];
 190    var _n = true;
 191    var _d = false;
 192    var _e = undefined;
 193  
 194    try {
 195      for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
 196        _arr.push(_s.value);
 197  
 198        if (i && _arr.length === i) break;
 199      }
 200    } catch (err) {
 201      _d = true;
 202      _e = err;
 203    } finally {
 204      try {
 205        if (!_n && _i["return"] != null) _i["return"]();
 206      } finally {
 207        if (_d) throw _e;
 208      }
 209    }
 210  
 211    return _arr;
 212  }
 213  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
 214  var unsupportedIterableToArray = __webpack_require__(28);
 215  
 216  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js
 217  var nonIterableRest = __webpack_require__(38);
 218  
 219  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js
 220  
 221  
 222  
 223  
 224  function _slicedToArray(arr, i) {
 225    return Object(arrayWithHoles["a" /* default */])(arr) || _iterableToArrayLimit(arr, i) || Object(unsupportedIterableToArray["a" /* default */])(arr, i) || Object(nonIterableRest["a" /* default */])();
 226  }
 227  
 228  /***/ }),
 229  
 230  /***/ 125:
 231  /***/ (function(module, exports) {
 232  
 233  (function() { module.exports = window["wp"]["wordcount"]; }());
 234  
 235  /***/ }),
 236  
 237  /***/ 13:
 238  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 239  
 240  "use strict";
 241  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutProperties; });
 242  /* harmony import */ var _objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(44);
 243  
 244  function _objectWithoutProperties(source, excluded) {
 245    if (source == null) return {};
 246    var target = Object(_objectWithoutPropertiesLoose_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(source, excluded);
 247    var key, i;
 248  
 249    if (Object.getOwnPropertySymbols) {
 250      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 251  
 252      for (i = 0; i < sourceSymbolKeys.length; i++) {
 253        key = sourceSymbolKeys[i];
 254        if (excluded.indexOf(key) >= 0) continue;
 255        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
 256        target[key] = source[key];
 257      }
 258    }
 259  
 260    return target;
 261  }
 262  
 263  /***/ }),
 264  
 265  /***/ 136:
 266  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 267  
 268  "use strict";
 269  /* harmony import */ var _babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5);
 270  /* harmony import */ var _babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(13);
 271  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(0);
 272  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
 273  
 274  
 275  
 276  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
 277  
 278  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 279  
 280  /**
 281   * WordPress dependencies
 282   */
 283  
 284  /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
 285  
 286  /**
 287   * Return an SVG icon.
 288   *
 289   * @param {IconProps} props icon is the SVG component to render
 290   *                          size is a number specifiying the icon size in pixels
 291   *                          Other props will be passed to wrapped SVG component
 292   *
 293   * @return {JSX.Element}  Icon component
 294   */
 295  
 296  function Icon(_ref) {
 297    var icon = _ref.icon,
 298        _ref$size = _ref.size,
 299        size = _ref$size === void 0 ? 24 : _ref$size,
 300        props = Object(_babel_runtime_helpers_esm_objectWithoutProperties__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(_ref, ["icon", "size"]);
 301  
 302    return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__["cloneElement"])(icon, _objectSpread({
 303      width: size,
 304      height: size
 305    }, props));
 306  }
 307  
 308  /* harmony default export */ __webpack_exports__["a"] = (Icon);
 309  
 310  
 311  /***/ }),
 312  
 313  /***/ 137:
 314  /***/ (function(module, exports, __webpack_require__) {
 315  
 316  "use strict";
 317  /**
 318   * Copyright (c) 2013-present, Facebook, Inc.
 319   *
 320   * This source code is licensed under the MIT license found in the
 321   * LICENSE file in the root directory of this source tree.
 322   */
 323  
 324  
 325  
 326  var ReactPropTypesSecret = __webpack_require__(138);
 327  
 328  function emptyFunction() {}
 329  function emptyFunctionWithReset() {}
 330  emptyFunctionWithReset.resetWarningCache = emptyFunction;
 331  
 332  module.exports = function() {
 333    function shim(props, propName, componentName, location, propFullName, secret) {
 334      if (secret === ReactPropTypesSecret) {
 335        // It is still safe when called from React.
 336        return;
 337      }
 338      var err = new Error(
 339        'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
 340        'Use PropTypes.checkPropTypes() to call them. ' +
 341        'Read more at http://fb.me/use-check-prop-types'
 342      );
 343      err.name = 'Invariant Violation';
 344      throw err;
 345    };
 346    shim.isRequired = shim;
 347    function getShim() {
 348      return shim;
 349    };
 350    // Important!
 351    // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
 352    var ReactPropTypes = {
 353      array: shim,
 354      bool: shim,
 355      func: shim,
 356      number: shim,
 357      object: shim,
 358      string: shim,
 359      symbol: shim,
 360  
 361      any: shim,
 362      arrayOf: getShim,
 363      element: shim,
 364      elementType: shim,
 365      instanceOf: getShim,
 366      node: shim,
 367      objectOf: getShim,
 368      oneOf: getShim,
 369      oneOfType: getShim,
 370      shape: getShim,
 371      exact: getShim,
 372  
 373      checkPropTypes: emptyFunctionWithReset,
 374      resetWarningCache: emptyFunction
 375    };
 376  
 377    ReactPropTypes.PropTypes = ReactPropTypes;
 378  
 379    return ReactPropTypes;
 380  };
 381  
 382  
 383  /***/ }),
 384  
 385  /***/ 138:
 386  /***/ (function(module, exports, __webpack_require__) {
 387  
 388  "use strict";
 389  /**
 390   * Copyright (c) 2013-present, Facebook, Inc.
 391   *
 392   * This source code is licensed under the MIT license found in the
 393   * LICENSE file in the root directory of this source tree.
 394   */
 395  
 396  
 397  
 398  var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
 399  
 400  module.exports = ReactPropTypesSecret;
 401  
 402  
 403  /***/ }),
 404  
 405  /***/ 14:
 406  /***/ (function(module, exports) {
 407  
 408  (function() { module.exports = window["React"]; }());
 409  
 410  /***/ }),
 411  
 412  /***/ 146:
 413  /***/ (function(module, exports) {
 414  
 415  (function() { module.exports = window["wp"]["reusableBlocks"]; }());
 416  
 417  /***/ }),
 418  
 419  /***/ 15:
 420  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 421  
 422  "use strict";
 423  
 424  // EXPORTS
 425  __webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; });
 426  
 427  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
 428  var arrayLikeToArray = __webpack_require__(24);
 429  
 430  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
 431  
 432  function _arrayWithoutHoles(arr) {
 433    if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr);
 434  }
 435  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
 436  var iterableToArray = __webpack_require__(39);
 437  
 438  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
 439  var unsupportedIterableToArray = __webpack_require__(28);
 440  
 441  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
 442  function _nonIterableSpread() {
 443    throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 444  }
 445  // CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
 446  
 447  
 448  
 449  
 450  function _toConsumableArray(arr) {
 451    return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread();
 452  }
 453  
 454  /***/ }),
 455  
 456  /***/ 154:
 457  /***/ (function(module, exports) {
 458  
 459  (function() { module.exports = window["wp"]["mediaUtils"]; }());
 460  
 461  /***/ }),
 462  
 463  /***/ 159:
 464  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 465  
 466  "use strict";
 467  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
 468  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
 469  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
 470  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 471  
 472  
 473  /**
 474   * WordPress dependencies
 475   */
 476  
 477  var closeSmall = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
 478    xmlns: "http://www.w3.org/2000/svg",
 479    viewBox: "0 0 24 24"
 480  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
 481    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"
 482  }));
 483  /* harmony default export */ __webpack_exports__["a"] = (closeSmall);
 484  
 485  
 486  /***/ }),
 487  
 488  /***/ 16:
 489  /***/ (function(module, exports) {
 490  
 491  (function() { module.exports = window["regeneratorRuntime"]; }());
 492  
 493  /***/ }),
 494  
 495  /***/ 160:
 496  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 497  
 498  "use strict";
 499  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
 500  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
 501  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
 502  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 503  
 504  
 505  /**
 506   * WordPress dependencies
 507   */
 508  
 509  var close = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
 510    xmlns: "http://www.w3.org/2000/svg",
 511    viewBox: "0 0 24 24"
 512  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
 513    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"
 514  }));
 515  /* harmony default export */ __webpack_exports__["a"] = (close);
 516  
 517  
 518  /***/ }),
 519  
 520  /***/ 161:
 521  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 522  
 523  "use strict";
 524  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
 525  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
 526  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
 527  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
 528  
 529  
 530  /**
 531   * WordPress dependencies
 532   */
 533  
 534  var check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
 535    xmlns: "http://www.w3.org/2000/svg",
 536    viewBox: "0 0 24 24"
 537  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
 538    d: "M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z"
 539  }));
 540  /* harmony default export */ __webpack_exports__["a"] = (check);
 541  
 542  
 543  /***/ }),
 544  
 545  /***/ 17:
 546  /***/ (function(module, exports) {
 547  
 548  (function() { module.exports = window["wp"]["keycodes"]; }());
 549  
 550  /***/ }),
 551  
 552  /***/ 18:
 553  /***/ (function(module, __webpack_exports__, __webpack_require__) {
 554  
 555  "use strict";
 556  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _assertThisInitialized; });
 557  function _assertThisInitialized(self) {
 558    if (self === void 0) {
 559      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
 560    }
 561  
 562    return self;
 563  }
 564  
 565  /***/ }),
 566  
 567  /***/ 19:
 568  /***/ (function(module, exports) {
 569  
 570  (function() { module.exports = window["wp"]["richText"]; }());
 571  
 572  /***/ }),
 573  
 574  /***/ 192:
 575  /***/ (function(module, exports, __webpack_require__) {
 576  
 577  "use strict";
 578  
 579  var __extends = (this && this.__extends) || (function () {
 580      var extendStatics = Object.setPrototypeOf ||
 581          ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
 582          function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
 583      return function (d, b) {
 584          extendStatics(d, b);
 585          function __() { this.constructor = d; }
 586          d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
 587      };
 588  })();
 589  var __assign = (this && this.__assign) || Object.assign || function(t) {
 590      for (var s, i = 1, n = arguments.length; i < n; i++) {
 591          s = arguments[i];
 592          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
 593              t[p] = s[p];
 594      }
 595      return t;
 596  };
 597  var __rest = (this && this.__rest) || function (s, e) {
 598      var t = {};
 599      for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
 600          t[p] = s[p];
 601      if (s != null && typeof Object.getOwnPropertySymbols === "function")
 602          for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
 603              t[p[i]] = s[p[i]];
 604      return t;
 605  };
 606  exports.__esModule = true;
 607  var React = __webpack_require__(14);
 608  var PropTypes = __webpack_require__(31);
 609  var autosize = __webpack_require__(193);
 610  var _getLineHeight = __webpack_require__(194);
 611  var getLineHeight = _getLineHeight;
 612  var RESIZED = "autosize:resized";
 613  /**
 614   * A light replacement for built-in textarea component
 615   * which automaticaly adjusts its height to match the content
 616   */
 617  var TextareaAutosizeClass = /** @class */ (function (_super) {
 618      __extends(TextareaAutosizeClass, _super);
 619      function TextareaAutosizeClass() {
 620          var _this = _super !== null && _super.apply(this, arguments) || this;
 621          _this.state = {
 622              lineHeight: null
 623          };
 624          _this.textarea = null;
 625          _this.onResize = function (e) {
 626              if (_this.props.onResize) {
 627                  _this.props.onResize(e);
 628              }
 629          };
 630          _this.updateLineHeight = function () {
 631              if (_this.textarea) {
 632                  _this.setState({
 633                      lineHeight: getLineHeight(_this.textarea)
 634                  });
 635              }
 636          };
 637          _this.onChange = function (e) {
 638              var onChange = _this.props.onChange;
 639              _this.currentValue = e.currentTarget.value;
 640              onChange && onChange(e);
 641          };
 642          return _this;
 643      }
 644      TextareaAutosizeClass.prototype.componentDidMount = function () {
 645          var _this = this;
 646          var _a = this.props, maxRows = _a.maxRows, async = _a.async;
 647          if (typeof maxRows === "number") {
 648              this.updateLineHeight();
 649          }
 650          if (typeof maxRows === "number" || async) {
 651              /*
 652                the defer is needed to:
 653                  - force "autosize" to activate the scrollbar when this.props.maxRows is passed
 654                  - support StyledComponents (see #71)
 655              */
 656              setTimeout(function () { return _this.textarea && autosize(_this.textarea); });
 657          }
 658          else {
 659              this.textarea && autosize(this.textarea);
 660          }
 661          if (this.textarea) {
 662              this.textarea.addEventListener(RESIZED, this.onResize);
 663          }
 664      };
 665      TextareaAutosizeClass.prototype.componentWillUnmount = function () {
 666          if (this.textarea) {
 667              this.textarea.removeEventListener(RESIZED, this.onResize);
 668              autosize.destroy(this.textarea);
 669          }
 670      };
 671      TextareaAutosizeClass.prototype.render = function () {
 672          var _this = this;
 673          var _a = this, _b = _a.props, onResize = _b.onResize, maxRows = _b.maxRows, onChange = _b.onChange, style = _b.style, innerRef = _b.innerRef, children = _b.children, props = __rest(_b, ["onResize", "maxRows", "onChange", "style", "innerRef", "children"]), lineHeight = _a.state.lineHeight;
 674          var maxHeight = maxRows && lineHeight ? lineHeight * maxRows : null;
 675          return (React.createElement("textarea", __assign({}, props, { onChange: this.onChange, style: maxHeight ? __assign({}, style, { maxHeight: maxHeight }) : style, ref: function (element) {
 676                  _this.textarea = element;
 677                  if (typeof _this.props.innerRef === 'function') {
 678                      _this.props.innerRef(element);
 679                  }
 680                  else if (_this.props.innerRef) {
 681                      _this.props.innerRef.current = element;
 682                  }
 683              } }), children));
 684      };
 685      TextareaAutosizeClass.prototype.componentDidUpdate = function () {
 686          this.textarea && autosize.update(this.textarea);
 687      };
 688      TextareaAutosizeClass.defaultProps = {
 689          rows: 1,
 690          async: false
 691      };
 692      TextareaAutosizeClass.propTypes = {
 693          rows: PropTypes.number,
 694          maxRows: PropTypes.number,
 695          onResize: PropTypes.func,
 696          innerRef: PropTypes.any,
 697          async: PropTypes.bool
 698      };
 699      return TextareaAutosizeClass;
 700  }(React.Component));
 701  exports.TextareaAutosize = React.forwardRef(function (props, ref) {
 702      return React.createElement(TextareaAutosizeClass, __assign({}, props, { innerRef: ref }));
 703  });
 704  
 705  
 706  /***/ }),
 707  
 708  /***/ 193:
 709  /***/ (function(module, exports, __webpack_require__) {
 710  
 711  var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
 712      autosize 4.0.2
 713      license: MIT
 714      http://www.jacklmoore.com/autosize
 715  */
 716  (function (global, factory) {
 717      if (true) {
 718          !(__WEBPACK_AMD_DEFINE_ARRAY__ = [module, exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
 719                  __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
 720                  (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
 721                  __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
 722      } else { var mod; }
 723  })(this, function (module, exports) {
 724      'use strict';
 725  
 726      var map = typeof Map === "function" ? new Map() : function () {
 727          var keys = [];
 728          var values = [];
 729  
 730          return {
 731              has: function has(key) {
 732                  return keys.indexOf(key) > -1;
 733              },
 734              get: function get(key) {
 735                  return values[keys.indexOf(key)];
 736              },
 737              set: function set(key, value) {
 738                  if (keys.indexOf(key) === -1) {
 739                      keys.push(key);
 740                      values.push(value);
 741                  }
 742              },
 743              delete: function _delete(key) {
 744                  var index = keys.indexOf(key);
 745                  if (index > -1) {
 746                      keys.splice(index, 1);
 747                      values.splice(index, 1);
 748                  }
 749              }
 750          };
 751      }();
 752  
 753      var createEvent = function createEvent(name) {
 754          return new Event(name, { bubbles: true });
 755      };
 756      try {
 757          new Event('test');
 758      } catch (e) {
 759          // IE does not support `new Event()`
 760          createEvent = function createEvent(name) {
 761              var evt = document.createEvent('Event');
 762              evt.initEvent(name, true, false);
 763              return evt;
 764          };
 765      }
 766  
 767  	function assign(ta) {
 768          if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || map.has(ta)) return;
 769  
 770          var heightOffset = null;
 771          var clientWidth = null;
 772          var cachedHeight = null;
 773  
 774  		function init() {
 775              var style = window.getComputedStyle(ta, null);
 776  
 777              if (style.resize === 'vertical') {
 778                  ta.style.resize = 'none';
 779              } else if (style.resize === 'both') {
 780                  ta.style.resize = 'horizontal';
 781              }
 782  
 783              if (style.boxSizing === 'content-box') {
 784                  heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
 785              } else {
 786                  heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
 787              }
 788              // Fix when a textarea is not on document body and heightOffset is Not a Number
 789              if (isNaN(heightOffset)) {
 790                  heightOffset = 0;
 791              }
 792  
 793              update();
 794          }
 795  
 796  		function changeOverflow(value) {
 797              {
 798                  // Chrome/Safari-specific fix:
 799                  // When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
 800                  // made available by removing the scrollbar. The following forces the necessary text reflow.
 801                  var width = ta.style.width;
 802                  ta.style.width = '0px';
 803                  // Force reflow:
 804                  /* jshint ignore:start */
 805                  ta.offsetWidth;
 806                  /* jshint ignore:end */
 807                  ta.style.width = width;
 808              }
 809  
 810              ta.style.overflowY = value;
 811          }
 812  
 813  		function getParentOverflows(el) {
 814              var arr = [];
 815  
 816              while (el && el.parentNode && el.parentNode instanceof Element) {
 817                  if (el.parentNode.scrollTop) {
 818                      arr.push({
 819                          node: el.parentNode,
 820                          scrollTop: el.parentNode.scrollTop
 821                      });
 822                  }
 823                  el = el.parentNode;
 824              }
 825  
 826              return arr;
 827          }
 828  
 829  		function resize() {
 830              if (ta.scrollHeight === 0) {
 831                  // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
 832                  return;
 833              }
 834  
 835              var overflows = getParentOverflows(ta);
 836              var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
 837  
 838              ta.style.height = '';
 839              ta.style.height = ta.scrollHeight + heightOffset + 'px';
 840  
 841              // used to check if an update is actually necessary on window.resize
 842              clientWidth = ta.clientWidth;
 843  
 844              // prevents scroll-position jumping
 845              overflows.forEach(function (el) {
 846                  el.node.scrollTop = el.scrollTop;
 847              });
 848  
 849              if (docTop) {
 850                  document.documentElement.scrollTop = docTop;
 851              }
 852          }
 853  
 854  		function update() {
 855              resize();
 856  
 857              var styleHeight = Math.round(parseFloat(ta.style.height));
 858              var computed = window.getComputedStyle(ta, null);
 859  
 860              // Using offsetHeight as a replacement for computed.height in IE, because IE does not account use of border-box
 861              var actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(computed.height)) : ta.offsetHeight;
 862  
 863              // The actual height not matching the style height (set via the resize method) indicates that 
 864              // the max-height has been exceeded, in which case the overflow should be allowed.
 865              if (actualHeight < styleHeight) {
 866                  if (computed.overflowY === 'hidden') {
 867                      changeOverflow('scroll');
 868                      resize();
 869                      actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
 870                  }
 871              } else {
 872                  // Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
 873                  if (computed.overflowY !== 'hidden') {
 874                      changeOverflow('hidden');
 875                      resize();
 876                      actualHeight = computed.boxSizing === 'content-box' ? Math.round(parseFloat(window.getComputedStyle(ta, null).height)) : ta.offsetHeight;
 877                  }
 878              }
 879  
 880              if (cachedHeight !== actualHeight) {
 881                  cachedHeight = actualHeight;
 882                  var evt = createEvent('autosize:resized');
 883                  try {
 884                      ta.dispatchEvent(evt);
 885                  } catch (err) {
 886                      // Firefox will throw an error on dispatchEvent for a detached element
 887                      // https://bugzilla.mozilla.org/show_bug.cgi?id=889376
 888                  }
 889              }
 890          }
 891  
 892          var pageResize = function pageResize() {
 893              if (ta.clientWidth !== clientWidth) {
 894                  update();
 895              }
 896          };
 897  
 898          var destroy = function (style) {
 899              window.removeEventListener('resize', pageResize, false);
 900              ta.removeEventListener('input', update, false);
 901              ta.removeEventListener('keyup', update, false);
 902              ta.removeEventListener('autosize:destroy', destroy, false);
 903              ta.removeEventListener('autosize:update', update, false);
 904  
 905              Object.keys(style).forEach(function (key) {
 906                  ta.style[key] = style[key];
 907              });
 908  
 909              map.delete(ta);
 910          }.bind(ta, {
 911              height: ta.style.height,
 912              resize: ta.style.resize,
 913              overflowY: ta.style.overflowY,
 914              overflowX: ta.style.overflowX,
 915              wordWrap: ta.style.wordWrap
 916          });
 917  
 918          ta.addEventListener('autosize:destroy', destroy, false);
 919  
 920          // IE9 does not fire onpropertychange or oninput for deletions,
 921          // so binding to onkeyup to catch most of those events.
 922          // There is no way that I know of to detect something like 'cut' in IE9.
 923          if ('onpropertychange' in ta && 'oninput' in ta) {
 924              ta.addEventListener('keyup', update, false);
 925          }
 926  
 927          window.addEventListener('resize', pageResize, false);
 928          ta.addEventListener('input', update, false);
 929          ta.addEventListener('autosize:update', update, false);
 930          ta.style.overflowX = 'hidden';
 931          ta.style.wordWrap = 'break-word';
 932  
 933          map.set(ta, {
 934              destroy: destroy,
 935              update: update
 936          });
 937  
 938          init();
 939      }
 940  
 941  	function destroy(ta) {
 942          var methods = map.get(ta);
 943          if (methods) {
 944              methods.destroy();
 945          }
 946      }
 947  
 948  	function update(ta) {
 949          var methods = map.get(ta);
 950          if (methods) {
 951              methods.update();
 952          }
 953      }
 954  
 955      var autosize = null;
 956  
 957      // Do nothing in Node.js environment and IE8 (or lower)
 958      if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
 959          autosize = function autosize(el) {
 960              return el;
 961          };
 962          autosize.destroy = function (el) {
 963              return el;
 964          };
 965          autosize.update = function (el) {
 966              return el;
 967          };
 968      } else {
 969          autosize = function autosize(el, options) {
 970              if (el) {
 971                  Array.prototype.forEach.call(el.length ? el : [el], function (x) {
 972                      return assign(x, options);
 973                  });
 974              }
 975              return el;
 976          };
 977          autosize.destroy = function (el) {
 978              if (el) {
 979                  Array.prototype.forEach.call(el.length ? el : [el], destroy);
 980              }
 981              return el;
 982          };
 983          autosize.update = function (el) {
 984              if (el) {
 985                  Array.prototype.forEach.call(el.length ? el : [el], update);
 986              }
 987              return el;
 988          };
 989      }
 990  
 991      exports.default = autosize;
 992      module.exports = exports['default'];
 993  });
 994  
 995  /***/ }),
 996  
 997  /***/ 194:
 998  /***/ (function(module, exports, __webpack_require__) {
 999  
1000  // Load in dependencies
1001  var computedStyle = __webpack_require__(195);
1002  
1003  /**
1004   * Calculate the `line-height` of a given node
1005   * @param {HTMLElement} node Element to calculate line height of. Must be in the DOM.
1006   * @returns {Number} `line-height` of the element in pixels
1007   */
1008  function lineHeight(node) {
1009    // Grab the line-height via style
1010    var lnHeightStr = computedStyle(node, 'line-height');
1011    var lnHeight = parseFloat(lnHeightStr, 10);
1012  
1013    // If the lineHeight did not contain a unit (i.e. it was numeric), convert it to ems (e.g. '2.3' === '2.3em')
1014    if (lnHeightStr === lnHeight + '') {
1015      // Save the old lineHeight style and update the em unit to the element
1016      var _lnHeightStyle = node.style.lineHeight;
1017      node.style.lineHeight = lnHeightStr + 'em';
1018  
1019      // Calculate the em based height
1020      lnHeightStr = computedStyle(node, 'line-height');
1021      lnHeight = parseFloat(lnHeightStr, 10);
1022  
1023      // Revert the lineHeight style
1024      if (_lnHeightStyle) {
1025        node.style.lineHeight = _lnHeightStyle;
1026      } else {
1027        delete node.style.lineHeight;
1028      }
1029    }
1030  
1031    // If the lineHeight is in `pt`, convert it to pixels (4px for 3pt)
1032    // DEV: `em` units are converted to `pt` in IE6
1033    // Conversion ratio from https://developer.mozilla.org/en-US/docs/Web/CSS/length
1034    if (lnHeightStr.indexOf('pt') !== -1) {
1035      lnHeight *= 4;
1036      lnHeight /= 3;
1037    // Otherwise, if the lineHeight is in `mm`, convert it to pixels (96px for 25.4mm)
1038    } else if (lnHeightStr.indexOf('mm') !== -1) {
1039      lnHeight *= 96;
1040      lnHeight /= 25.4;
1041    // Otherwise, if the lineHeight is in `cm`, convert it to pixels (96px for 2.54cm)
1042    } else if (lnHeightStr.indexOf('cm') !== -1) {
1043      lnHeight *= 96;
1044      lnHeight /= 2.54;
1045    // Otherwise, if the lineHeight is in `in`, convert it to pixels (96px for 1in)
1046    } else if (lnHeightStr.indexOf('in') !== -1) {
1047      lnHeight *= 96;
1048    // Otherwise, if the lineHeight is in `pc`, convert it to pixels (12pt for 1pc)
1049    } else if (lnHeightStr.indexOf('pc') !== -1) {
1050      lnHeight *= 16;
1051    }
1052  
1053    // Continue our computation
1054    lnHeight = Math.round(lnHeight);
1055  
1056    // If the line-height is "normal", calculate by font-size
1057    if (lnHeightStr === 'normal') {
1058      // Create a temporary node
1059      var nodeName = node.nodeName;
1060      var _node = document.createElement(nodeName);
1061      _node.innerHTML = '&nbsp;';
1062  
1063      // If we have a text area, reset it to only 1 row
1064      // https://github.com/twolfson/line-height/issues/4
1065      if (nodeName.toUpperCase() === 'TEXTAREA') {
1066        _node.setAttribute('rows', '1');
1067      }
1068  
1069      // Set the font-size of the element
1070      var fontSizeStr = computedStyle(node, 'font-size');
1071      _node.style.fontSize = fontSizeStr;
1072  
1073      // Remove default padding/border which can affect offset height
1074      // https://github.com/twolfson/line-height/issues/4
1075      // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight
1076      _node.style.padding = '0px';
1077      _node.style.border = '0px';
1078  
1079      // Append it to the body
1080      var body = document.body;
1081      body.appendChild(_node);
1082  
1083      // Assume the line height of the element is the height
1084      var height = _node.offsetHeight;
1085      lnHeight = height;
1086  
1087      // Remove our child from the DOM
1088      body.removeChild(_node);
1089    }
1090  
1091    // Return the calculated height
1092    return lnHeight;
1093  }
1094  
1095  // Export lineHeight
1096  module.exports = lineHeight;
1097  
1098  
1099  /***/ }),
1100  
1101  /***/ 195:
1102  /***/ (function(module, exports) {
1103  
1104  // This code has been refactored for 140 bytes
1105  // You can see the original here: https://github.com/twolfson/computedStyle/blob/04cd1da2e30fa45844f95f5cb1ac898e9b9ef050/lib/computedStyle.js
1106  var computedStyle = function (el, prop, getComputedStyle) {
1107    getComputedStyle = window.getComputedStyle;
1108  
1109    // In one fell swoop
1110    return (
1111      // If we have getComputedStyle
1112      getComputedStyle ?
1113        // Query it
1114        // TODO: From CSS-Query notes, we might need (node, null) for FF
1115        getComputedStyle(el) :
1116  
1117      // Otherwise, we are in IE and use currentStyle
1118        el.currentStyle
1119    )[
1120      // Switch to camelCase for CSSOM
1121      // DEV: Grabbed from jQuery
1122      // https://github.com/jquery/jquery/blob/1.9-stable/src/css.js#L191-L194
1123      // https://github.com/jquery/jquery/blob/1.9-stable/src/core.js#L593-L597
1124      prop.replace(/-(\w)/gi, function (word, letter) {
1125        return letter.toUpperCase();
1126      })
1127    ];
1128  };
1129  
1130  module.exports = computedStyle;
1131  
1132  
1133  /***/ }),
1134  
1135  /***/ 2:
1136  /***/ (function(module, exports) {
1137  
1138  (function() { module.exports = window["lodash"]; }());
1139  
1140  /***/ }),
1141  
1142  /***/ 22:
1143  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1144  
1145  "use strict";
1146  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _getPrototypeOf; });
1147  function _getPrototypeOf(o) {
1148    _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
1149      return o.__proto__ || Object.getPrototypeOf(o);
1150    };
1151    return _getPrototypeOf(o);
1152  }
1153  
1154  /***/ }),
1155  
1156  /***/ 24:
1157  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1158  
1159  "use strict";
1160  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayLikeToArray; });
1161  function _arrayLikeToArray(arr, len) {
1162    if (len == null || len > arr.length) len = arr.length;
1163  
1164    for (var i = 0, arr2 = new Array(len); i < len; i++) {
1165      arr2[i] = arr[i];
1166    }
1167  
1168    return arr2;
1169  }
1170  
1171  /***/ }),
1172  
1173  /***/ 25:
1174  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1175  
1176  "use strict";
1177  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _classCallCheck; });
1178  function _classCallCheck(instance, Constructor) {
1179    if (!(instance instanceof Constructor)) {
1180      throw new TypeError("Cannot call a class as a function");
1181    }
1182  }
1183  
1184  /***/ }),
1185  
1186  /***/ 26:
1187  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1188  
1189  "use strict";
1190  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _createClass; });
1191  function _defineProperties(target, props) {
1192    for (var i = 0; i < props.length; i++) {
1193      var descriptor = props[i];
1194      descriptor.enumerable = descriptor.enumerable || false;
1195      descriptor.configurable = true;
1196      if ("value" in descriptor) descriptor.writable = true;
1197      Object.defineProperty(target, descriptor.key, descriptor);
1198    }
1199  }
1200  
1201  function _createClass(Constructor, protoProps, staticProps) {
1202    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
1203    if (staticProps) _defineProperties(Constructor, staticProps);
1204    return Constructor;
1205  }
1206  
1207  /***/ }),
1208  
1209  /***/ 28:
1210  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1211  
1212  "use strict";
1213  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; });
1214  /* harmony import */ var _arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(24);
1215  
1216  function _unsupportedIterableToArray(o, minLen) {
1217    if (!o) return;
1218    if (typeof o === "string") return Object(_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
1219    var n = Object.prototype.toString.call(o).slice(8, -1);
1220    if (n === "Object" && o.constructor) n = o.constructor.name;
1221    if (n === "Map" || n === "Set") return Array.from(o);
1222    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen);
1223  }
1224  
1225  /***/ }),
1226  
1227  /***/ 29:
1228  /***/ (function(module, exports) {
1229  
1230  (function() { module.exports = window["wp"]["url"]; }());
1231  
1232  /***/ }),
1233  
1234  /***/ 3:
1235  /***/ (function(module, exports) {
1236  
1237  (function() { module.exports = window["wp"]["components"]; }());
1238  
1239  /***/ }),
1240  
1241  /***/ 308:
1242  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1243  
1244  "use strict";
1245  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1246  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
1247  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
1248  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
1249  
1250  
1251  /**
1252   * WordPress dependencies
1253   */
1254  
1255  var layout = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
1256    xmlns: "http://www.w3.org/2000/svg",
1257    viewBox: "0 0 24 24"
1258  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
1259    d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z"
1260  }));
1261  /* harmony default export */ __webpack_exports__["a"] = (layout);
1262  
1263  
1264  /***/ }),
1265  
1266  /***/ 31:
1267  /***/ (function(module, exports, __webpack_require__) {
1268  
1269  /**
1270   * Copyright (c) 2013-present, Facebook, Inc.
1271   *
1272   * This source code is licensed under the MIT license found in the
1273   * LICENSE file in the root directory of this source tree.
1274   */
1275  
1276  if (false) { var throwOnDirectAccess, ReactIs; } else {
1277    // By explicitly using `prop-types` you are opting into new production behavior.
1278    // http://fb.me/prop-types-in-prod
1279    module.exports = __webpack_require__(137)();
1280  }
1281  
1282  
1283  /***/ }),
1284  
1285  /***/ 32:
1286  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1287  
1288  "use strict";
1289  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _inherits; });
1290  /* harmony import */ var _setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(55);
1291  
1292  function _inherits(subClass, superClass) {
1293    if (typeof superClass !== "function" && superClass !== null) {
1294      throw new TypeError("Super expression must either be null or a function");
1295    }
1296  
1297    subClass.prototype = Object.create(superClass && superClass.prototype, {
1298      constructor: {
1299        value: subClass,
1300        writable: true,
1301        configurable: true
1302      }
1303    });
1304    if (superClass) Object(_setPrototypeOf_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(subClass, superClass);
1305  }
1306  
1307  /***/ }),
1308  
1309  /***/ 33:
1310  /***/ (function(module, exports) {
1311  
1312  (function() { module.exports = window["wp"]["hooks"]; }());
1313  
1314  /***/ }),
1315  
1316  /***/ 34:
1317  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1318  
1319  "use strict";
1320  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _possibleConstructorReturn; });
1321  /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(59);
1322  /* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);
1323  /* harmony import */ var _assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(18);
1324  
1325  
1326  function _possibleConstructorReturn(self, call) {
1327    if (call && (_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(call) === "object" || typeof call === "function")) {
1328      return call;
1329    }
1330  
1331    return Object(_assertThisInitialized_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(self);
1332  }
1333  
1334  /***/ }),
1335  
1336  /***/ 35:
1337  /***/ (function(module, exports) {
1338  
1339  (function() { module.exports = window["wp"]["deprecated"]; }());
1340  
1341  /***/ }),
1342  
1343  /***/ 37:
1344  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1345  
1346  "use strict";
1347  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _arrayWithHoles; });
1348  function _arrayWithHoles(arr) {
1349    if (Array.isArray(arr)) return arr;
1350  }
1351  
1352  /***/ }),
1353  
1354  /***/ 38:
1355  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1356  
1357  "use strict";
1358  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _nonIterableRest; });
1359  function _nonIterableRest() {
1360    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1361  }
1362  
1363  /***/ }),
1364  
1365  /***/ 39:
1366  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1367  
1368  "use strict";
1369  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; });
1370  function _iterableToArray(iter) {
1371    if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
1372  }
1373  
1374  /***/ }),
1375  
1376  /***/ 4:
1377  /***/ (function(module, exports) {
1378  
1379  (function() { module.exports = window["wp"]["data"]; }());
1380  
1381  /***/ }),
1382  
1383  /***/ 40:
1384  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1385  
1386  "use strict";
1387  
1388  
1389  var LEAF_KEY, hasWeakMap;
1390  
1391  /**
1392   * Arbitrary value used as key for referencing cache object in WeakMap tree.
1393   *
1394   * @type {Object}
1395   */
1396  LEAF_KEY = {};
1397  
1398  /**
1399   * Whether environment supports WeakMap.
1400   *
1401   * @type {boolean}
1402   */
1403  hasWeakMap = typeof WeakMap !== 'undefined';
1404  
1405  /**
1406   * Returns the first argument as the sole entry in an array.
1407   *
1408   * @param {*} value Value to return.
1409   *
1410   * @return {Array} Value returned as entry in array.
1411   */
1412  function arrayOf( value ) {
1413      return [ value ];
1414  }
1415  
1416  /**
1417   * Returns true if the value passed is object-like, or false otherwise. A value
1418   * is object-like if it can support property assignment, e.g. object or array.
1419   *
1420   * @param {*} value Value to test.
1421   *
1422   * @return {boolean} Whether value is object-like.
1423   */
1424  function isObjectLike( value ) {
1425      return !! value && 'object' === typeof value;
1426  }
1427  
1428  /**
1429   * Creates and returns a new cache object.
1430   *
1431   * @return {Object} Cache object.
1432   */
1433  function createCache() {
1434      var cache = {
1435          clear: function() {
1436              cache.head = null;
1437          },
1438      };
1439  
1440      return cache;
1441  }
1442  
1443  /**
1444   * Returns true if entries within the two arrays are strictly equal by
1445   * reference from a starting index.
1446   *
1447   * @param {Array}  a         First array.
1448   * @param {Array}  b         Second array.
1449   * @param {number} fromIndex Index from which to start comparison.
1450   *
1451   * @return {boolean} Whether arrays are shallowly equal.
1452   */
1453  function isShallowEqual( a, b, fromIndex ) {
1454      var i;
1455  
1456      if ( a.length !== b.length ) {
1457          return false;
1458      }
1459  
1460      for ( i = fromIndex; i < a.length; i++ ) {
1461          if ( a[ i ] !== b[ i ] ) {
1462              return false;
1463          }
1464      }
1465  
1466      return true;
1467  }
1468  
1469  /**
1470   * Returns a memoized selector function. The getDependants function argument is
1471   * called before the memoized selector and is expected to return an immutable
1472   * reference or array of references on which the selector depends for computing
1473   * its own return value. The memoize cache is preserved only as long as those
1474   * dependant references remain the same. If getDependants returns a different
1475   * reference(s), the cache is cleared and the selector value regenerated.
1476   *
1477   * @param {Function} selector      Selector function.
1478   * @param {Function} getDependants Dependant getter returning an immutable
1479   *                                 reference or array of reference used in
1480   *                                 cache bust consideration.
1481   *
1482   * @return {Function} Memoized selector.
1483   */
1484  /* harmony default export */ __webpack_exports__["a"] = (function( selector, getDependants ) {
1485      var rootCache, getCache;
1486  
1487      // Use object source as dependant if getter not provided
1488      if ( ! getDependants ) {
1489          getDependants = arrayOf;
1490      }
1491  
1492      /**
1493       * Returns the root cache. If WeakMap is supported, this is assigned to the
1494       * root WeakMap cache set, otherwise it is a shared instance of the default
1495       * cache object.
1496       *
1497       * @return {(WeakMap|Object)} Root cache object.
1498       */
1499  	function getRootCache() {
1500          return rootCache;
1501      }
1502  
1503      /**
1504       * Returns the cache for a given dependants array. When possible, a WeakMap
1505       * will be used to create a unique cache for each set of dependants. This
1506       * is feasible due to the nature of WeakMap in allowing garbage collection
1507       * to occur on entries where the key object is no longer referenced. Since
1508       * WeakMap requires the key to be an object, this is only possible when the
1509       * dependant is object-like. The root cache is created as a hierarchy where
1510       * each top-level key is the first entry in a dependants set, the value a
1511       * WeakMap where each key is the next dependant, and so on. This continues
1512       * so long as the dependants are object-like. If no dependants are object-
1513       * like, then the cache is shared across all invocations.
1514       *
1515       * @see isObjectLike
1516       *
1517       * @param {Array} dependants Selector dependants.
1518       *
1519       * @return {Object} Cache object.
1520       */
1521  	function getWeakMapCache( dependants ) {
1522          var caches = rootCache,
1523              isUniqueByDependants = true,
1524              i, dependant, map, cache;
1525  
1526          for ( i = 0; i < dependants.length; i++ ) {
1527              dependant = dependants[ i ];
1528  
1529              // Can only compose WeakMap from object-like key.
1530              if ( ! isObjectLike( dependant ) ) {
1531                  isUniqueByDependants = false;
1532                  break;
1533              }
1534  
1535              // Does current segment of cache already have a WeakMap?
1536              if ( caches.has( dependant ) ) {
1537                  // Traverse into nested WeakMap.
1538                  caches = caches.get( dependant );
1539              } else {
1540                  // Create, set, and traverse into a new one.
1541                  map = new WeakMap();
1542                  caches.set( dependant, map );
1543                  caches = map;
1544              }
1545          }
1546  
1547          // We use an arbitrary (but consistent) object as key for the last item
1548          // in the WeakMap to serve as our running cache.
1549          if ( ! caches.has( LEAF_KEY ) ) {
1550              cache = createCache();
1551              cache.isUniqueByDependants = isUniqueByDependants;
1552              caches.set( LEAF_KEY, cache );
1553          }
1554  
1555          return caches.get( LEAF_KEY );
1556      }
1557  
1558      // Assign cache handler by availability of WeakMap
1559      getCache = hasWeakMap ? getWeakMapCache : getRootCache;
1560  
1561      /**
1562       * Resets root memoization cache.
1563       */
1564  	function clear() {
1565          rootCache = hasWeakMap ? new WeakMap() : createCache();
1566      }
1567  
1568      // eslint-disable-next-line jsdoc/check-param-names
1569      /**
1570       * The augmented selector call, considering first whether dependants have
1571       * changed before passing it to underlying memoize function.
1572       *
1573       * @param {Object} source    Source object for derivation.
1574       * @param {...*}   extraArgs Additional arguments to pass to selector.
1575       *
1576       * @return {*} Selector result.
1577       */
1578  	function callSelector( /* source, ...extraArgs */ ) {
1579          var len = arguments.length,
1580              cache, node, i, args, dependants;
1581  
1582          // Create copy of arguments (avoid leaking deoptimization).
1583          args = new Array( len );
1584          for ( i = 0; i < len; i++ ) {
1585              args[ i ] = arguments[ i ];
1586          }
1587  
1588          dependants = getDependants.apply( null, args );
1589          cache = getCache( dependants );
1590  
1591          // If not guaranteed uniqueness by dependants (primitive type or lack
1592          // of WeakMap support), shallow compare against last dependants and, if
1593          // references have changed, destroy cache to recalculate result.
1594          if ( ! cache.isUniqueByDependants ) {
1595              if ( cache.lastDependants && ! isShallowEqual( dependants, cache.lastDependants, 0 ) ) {
1596                  cache.clear();
1597              }
1598  
1599              cache.lastDependants = dependants;
1600          }
1601  
1602          node = cache.head;
1603          while ( node ) {
1604              // Check whether node arguments match arguments
1605              if ( ! isShallowEqual( node.args, args, 1 ) ) {
1606                  node = node.next;
1607                  continue;
1608              }
1609  
1610              // At this point we can assume we've found a match
1611  
1612              // Surface matched node to head if not already
1613              if ( node !== cache.head ) {
1614                  // Adjust siblings to point to each other.
1615                  node.prev.next = node.next;
1616                  if ( node.next ) {
1617                      node.next.prev = node.prev;
1618                  }
1619  
1620                  node.next = cache.head;
1621                  node.prev = null;
1622                  cache.head.prev = node;
1623                  cache.head = node;
1624              }
1625  
1626              // Return immediately
1627              return node.val;
1628          }
1629  
1630          // No cached value found. Continue to insertion phase:
1631  
1632          node = {
1633              // Generate the result from original function
1634              val: selector.apply( null, args ),
1635          };
1636  
1637          // Avoid including the source object in the cache.
1638          args[ 0 ] = null;
1639          node.args = args;
1640  
1641          // Don't need to check whether node is already head, since it would
1642          // have been returned above already if it was
1643  
1644          // Shift existing head down list
1645          if ( cache.head ) {
1646              cache.head.prev = node;
1647              node.next = cache.head;
1648          }
1649  
1650          cache.head = node;
1651  
1652          return node.val;
1653      }
1654  
1655      callSelector.getDependants = getDependants;
1656      callSelector.clear = clear;
1657      clear();
1658  
1659      return callSelector;
1660  });
1661  
1662  
1663  /***/ }),
1664  
1665  /***/ 42:
1666  /***/ (function(module, exports) {
1667  
1668  (function() { module.exports = window["wp"]["coreData"]; }());
1669  
1670  /***/ }),
1671  
1672  /***/ 437:
1673  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1674  
1675  "use strict";
1676  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
1677  /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
1678  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);
1679  /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
1680  
1681  
1682  /**
1683   * WordPress dependencies
1684   */
1685  
1686  var wordpress = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], {
1687    xmlns: "http://www.w3.org/2000/svg",
1688    viewBox: "-2 -2 24 24"
1689  }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], {
1690    d: "M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"
1691  }));
1692  /* harmony default export */ __webpack_exports__["a"] = (wordpress);
1693  
1694  
1695  /***/ }),
1696  
1697  /***/ 44:
1698  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1699  
1700  "use strict";
1701  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _objectWithoutPropertiesLoose; });
1702  function _objectWithoutPropertiesLoose(source, excluded) {
1703    if (source == null) return {};
1704    var target = {};
1705    var sourceKeys = Object.keys(source);
1706    var key, i;
1707  
1708    for (i = 0; i < sourceKeys.length; i++) {
1709      key = sourceKeys[i];
1710      if (excluded.indexOf(key) >= 0) continue;
1711      target[key] = source[key];
1712    }
1713  
1714    return target;
1715  }
1716  
1717  /***/ }),
1718  
1719  /***/ 449:
1720  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1721  
1722  "use strict";
1723  // ESM COMPAT FLAG
1724  __webpack_require__.r(__webpack_exports__);
1725  
1726  // EXPORTS
1727  __webpack_require__.d(__webpack_exports__, "storeConfig", function() { return /* reexport */ storeConfig; });
1728  __webpack_require__.d(__webpack_exports__, "store", function() { return /* reexport */ store; });
1729  __webpack_require__.d(__webpack_exports__, "userAutocompleter", function() { return /* reexport */ autocompleters_user; });
1730  __webpack_require__.d(__webpack_exports__, "AutosaveMonitor", function() { return /* reexport */ autosave_monitor; });
1731  __webpack_require__.d(__webpack_exports__, "DocumentOutline", function() { return /* reexport */ document_outline; });
1732  __webpack_require__.d(__webpack_exports__, "DocumentOutlineCheck", function() { return /* reexport */ check; });
1733  __webpack_require__.d(__webpack_exports__, "VisualEditorGlobalKeyboardShortcuts", function() { return /* reexport */ visual_editor_shortcuts; });
1734  __webpack_require__.d(__webpack_exports__, "TextEditorGlobalKeyboardShortcuts", function() { return /* reexport */ TextEditorGlobalKeyboardShortcuts; });
1735  __webpack_require__.d(__webpack_exports__, "EditorKeyboardShortcutsRegister", function() { return /* reexport */ register_shortcuts; });
1736  __webpack_require__.d(__webpack_exports__, "EditorHistoryRedo", function() { return /* reexport */ editor_history_redo; });
1737  __webpack_require__.d(__webpack_exports__, "EditorHistoryUndo", function() { return /* reexport */ editor_history_undo; });
1738  __webpack_require__.d(__webpack_exports__, "EditorNotices", function() { return /* reexport */ editor_notices; });
1739  __webpack_require__.d(__webpack_exports__, "EntitiesSavedStates", function() { return /* reexport */ entities_saved_states; });
1740  __webpack_require__.d(__webpack_exports__, "ErrorBoundary", function() { return /* reexport */ error_boundary; });
1741  __webpack_require__.d(__webpack_exports__, "LocalAutosaveMonitor", function() { return /* reexport */ local_autosave_monitor; });
1742  __webpack_require__.d(__webpack_exports__, "PageAttributesCheck", function() { return /* reexport */ page_attributes_check; });
1743  __webpack_require__.d(__webpack_exports__, "PageAttributesOrder", function() { return /* reexport */ page_attributes_order; });
1744  __webpack_require__.d(__webpack_exports__, "PageAttributesParent", function() { return /* reexport */ page_attributes_parent; });
1745  __webpack_require__.d(__webpack_exports__, "PageTemplate", function() { return /* reexport */ page_attributes_template; });
1746  __webpack_require__.d(__webpack_exports__, "PostAuthor", function() { return /* reexport */ post_author; });
1747  __webpack_require__.d(__webpack_exports__, "PostAuthorCheck", function() { return /* reexport */ post_author_check; });
1748  __webpack_require__.d(__webpack_exports__, "PostComments", function() { return /* reexport */ post_comments; });
1749  __webpack_require__.d(__webpack_exports__, "PostExcerpt", function() { return /* reexport */ post_excerpt; });
1750  __webpack_require__.d(__webpack_exports__, "PostExcerptCheck", function() { return /* reexport */ post_excerpt_check; });
1751  __webpack_require__.d(__webpack_exports__, "PostFeaturedImage", function() { return /* reexport */ post_featured_image; });
1752  __webpack_require__.d(__webpack_exports__, "PostFeaturedImageCheck", function() { return /* reexport */ post_featured_image_check; });
1753  __webpack_require__.d(__webpack_exports__, "PostFormat", function() { return /* reexport */ PostFormat; });
1754  __webpack_require__.d(__webpack_exports__, "PostFormatCheck", function() { return /* reexport */ post_format_check; });
1755  __webpack_require__.d(__webpack_exports__, "PostLastRevision", function() { return /* reexport */ post_last_revision; });
1756  __webpack_require__.d(__webpack_exports__, "PostLastRevisionCheck", function() { return /* reexport */ post_last_revision_check; });
1757  __webpack_require__.d(__webpack_exports__, "PostLockedModal", function() { return /* reexport */ PostLockedModal; });
1758  __webpack_require__.d(__webpack_exports__, "PostPendingStatus", function() { return /* reexport */ post_pending_status; });
1759  __webpack_require__.d(__webpack_exports__, "PostPendingStatusCheck", function() { return /* reexport */ post_pending_status_check; });
1760  __webpack_require__.d(__webpack_exports__, "PostPingbacks", function() { return /* reexport */ post_pingbacks; });
1761  __webpack_require__.d(__webpack_exports__, "PostPreviewButton", function() { return /* reexport */ post_preview_button; });
1762  __webpack_require__.d(__webpack_exports__, "PostPublishButton", function() { return /* reexport */ post_publish_button; });
1763  __webpack_require__.d(__webpack_exports__, "PostPublishButtonLabel", function() { return /* reexport */ post_publish_button_label; });
1764  __webpack_require__.d(__webpack_exports__, "PostPublishPanel", function() { return /* reexport */ post_publish_panel; });
1765  __webpack_require__.d(__webpack_exports__, "PostSavedState", function() { return /* reexport */ PostSavedState; });
1766  __webpack_require__.d(__webpack_exports__, "PostSchedule", function() { return /* reexport */ post_schedule; });
1767  __webpack_require__.d(__webpack_exports__, "PostScheduleCheck", function() { return /* reexport */ post_schedule_check; });
1768  __webpack_require__.d(__webpack_exports__, "PostScheduleLabel", function() { return /* reexport */ post_schedule_label; });
1769  __webpack_require__.d(__webpack_exports__, "PostSlug", function() { return /* reexport */ post_slug; });
1770  __webpack_require__.d(__webpack_exports__, "PostSlugCheck", function() { return /* reexport */ PostSlugCheck; });
1771  __webpack_require__.d(__webpack_exports__, "PostSticky", function() { return /* reexport */ post_sticky; });
1772  __webpack_require__.d(__webpack_exports__, "PostStickyCheck", function() { return /* reexport */ post_sticky_check; });
1773  __webpack_require__.d(__webpack_exports__, "PostSwitchToDraftButton", function() { return /* reexport */ post_switch_to_draft_button; });
1774  __webpack_require__.d(__webpack_exports__, "PostTaxonomies", function() { return /* reexport */ post_taxonomies; });
1775  __webpack_require__.d(__webpack_exports__, "PostTaxonomiesCheck", function() { return /* reexport */ post_taxonomies_check; });
1776  __webpack_require__.d(__webpack_exports__, "PostTextEditor", function() { return /* reexport */ PostTextEditor; });
1777  __webpack_require__.d(__webpack_exports__, "PostTitle", function() { return /* reexport */ PostTitle; });
1778  __webpack_require__.d(__webpack_exports__, "PostTrash", function() { return /* reexport */ post_trash; });
1779  __webpack_require__.d(__webpack_exports__, "PostTrashCheck", function() { return /* reexport */ post_trash_check; });
1780  __webpack_require__.d(__webpack_exports__, "PostTypeSupportCheck", function() { return /* reexport */ post_type_support_check; });
1781  __webpack_require__.d(__webpack_exports__, "PostVisibility", function() { return /* reexport */ post_visibility; });
1782  __webpack_require__.d(__webpack_exports__, "PostVisibilityLabel", function() { return /* reexport */ post_visibility_label; });
1783  __webpack_require__.d(__webpack_exports__, "PostVisibilityCheck", function() { return /* reexport */ post_visibility_check; });
1784  __webpack_require__.d(__webpack_exports__, "TableOfContents", function() { return /* reexport */ table_of_contents; });
1785  __webpack_require__.d(__webpack_exports__, "UnsavedChangesWarning", function() { return /* reexport */ UnsavedChangesWarning; });
1786  __webpack_require__.d(__webpack_exports__, "WordCount", function() { return /* reexport */ WordCount; });
1787  __webpack_require__.d(__webpack_exports__, "EditorProvider", function() { return /* reexport */ provider; });
1788  __webpack_require__.d(__webpack_exports__, "ServerSideRender", function() { return /* reexport */ external_wp_serverSideRender_default.a; });
1789  __webpack_require__.d(__webpack_exports__, "RichText", function() { return /* reexport */ RichText; });
1790  __webpack_require__.d(__webpack_exports__, "Autocomplete", function() { return /* reexport */ Autocomplete; });
1791  __webpack_require__.d(__webpack_exports__, "AlignmentToolbar", function() { return /* reexport */ AlignmentToolbar; });
1792  __webpack_require__.d(__webpack_exports__, "BlockAlignmentToolbar", function() { return /* reexport */ BlockAlignmentToolbar; });
1793  __webpack_require__.d(__webpack_exports__, "BlockControls", function() { return /* reexport */ BlockControls; });
1794  __webpack_require__.d(__webpack_exports__, "BlockEdit", function() { return /* reexport */ deprecated_BlockEdit; });
1795  __webpack_require__.d(__webpack_exports__, "BlockEditorKeyboardShortcuts", function() { return /* reexport */ BlockEditorKeyboardShortcuts; });
1796  __webpack_require__.d(__webpack_exports__, "BlockFormatControls", function() { return /* reexport */ BlockFormatControls; });
1797  __webpack_require__.d(__webpack_exports__, "BlockIcon", function() { return /* reexport */ BlockIcon; });
1798  __webpack_require__.d(__webpack_exports__, "BlockInspector", function() { return /* reexport */ BlockInspector; });
1799  __webpack_require__.d(__webpack_exports__, "BlockList", function() { return /* reexport */ BlockList; });
1800  __webpack_require__.d(__webpack_exports__, "BlockMover", function() { return /* reexport */ BlockMover; });
1801  __webpack_require__.d(__webpack_exports__, "BlockNavigationDropdown", function() { return /* reexport */ BlockNavigationDropdown; });
1802  __webpack_require__.d(__webpack_exports__, "BlockSelectionClearer", function() { return /* reexport */ BlockSelectionClearer; });
1803  __webpack_require__.d(__webpack_exports__, "BlockSettingsMenu", function() { return /* reexport */ BlockSettingsMenu; });
1804  __webpack_require__.d(__webpack_exports__, "BlockTitle", function() { return /* reexport */ BlockTitle; });
1805  __webpack_require__.d(__webpack_exports__, "BlockToolbar", function() { return /* reexport */ BlockToolbar; });
1806  __webpack_require__.d(__webpack_exports__, "ColorPalette", function() { return /* reexport */ ColorPalette; });
1807  __webpack_require__.d(__webpack_exports__, "ContrastChecker", function() { return /* reexport */ ContrastChecker; });
1808  __webpack_require__.d(__webpack_exports__, "CopyHandler", function() { return /* reexport */ CopyHandler; });
1809  __webpack_require__.d(__webpack_exports__, "DefaultBlockAppender", function() { return /* reexport */ DefaultBlockAppender; });
1810  __webpack_require__.d(__webpack_exports__, "FontSizePicker", function() { return /* reexport */ FontSizePicker; });
1811  __webpack_require__.d(__webpack_exports__, "Inserter", function() { return /* reexport */ Inserter; });
1812  __webpack_require__.d(__webpack_exports__, "InnerBlocks", function() { return /* reexport */ InnerBlocks; });
1813  __webpack_require__.d(__webpack_exports__, "InspectorAdvancedControls", function() { return /* reexport */ InspectorAdvancedControls; });
1814  __webpack_require__.d(__webpack_exports__, "InspectorControls", function() { return /* reexport */ InspectorControls; });
1815  __webpack_require__.d(__webpack_exports__, "PanelColorSettings", function() { return /* reexport */ PanelColorSettings; });
1816  __webpack_require__.d(__webpack_exports__, "PlainText", function() { return /* reexport */ PlainText; });
1817  __webpack_require__.d(__webpack_exports__, "RichTextShortcut", function() { return /* reexport */ RichTextShortcut; });
1818  __webpack_require__.d(__webpack_exports__, "RichTextToolbarButton", function() { return /* reexport */ RichTextToolbarButton; });
1819  __webpack_require__.d(__webpack_exports__, "__unstableRichTextInputEvent", function() { return /* reexport */ __unstableRichTextInputEvent; });
1820  __webpack_require__.d(__webpack_exports__, "MediaPlaceholder", function() { return /* reexport */ MediaPlaceholder; });
1821  __webpack_require__.d(__webpack_exports__, "MediaUpload", function() { return /* reexport */ MediaUpload; });
1822  __webpack_require__.d(__webpack_exports__, "MediaUploadCheck", function() { return /* reexport */ MediaUploadCheck; });
1823  __webpack_require__.d(__webpack_exports__, "MultiSelectScrollIntoView", function() { return /* reexport */ MultiSelectScrollIntoView; });
1824  __webpack_require__.d(__webpack_exports__, "NavigableToolbar", function() { return /* reexport */ NavigableToolbar; });
1825  __webpack_require__.d(__webpack_exports__, "ObserveTyping", function() { return /* reexport */ ObserveTyping; });
1826  __webpack_require__.d(__webpack_exports__, "PreserveScrollInReorder", function() { return /* reexport */ PreserveScrollInReorder; });
1827  __webpack_require__.d(__webpack_exports__, "SkipToSelectedBlock", function() { return /* reexport */ SkipToSelectedBlock; });
1828  __webpack_require__.d(__webpack_exports__, "URLInput", function() { return /* reexport */ URLInput; });
1829  __webpack_require__.d(__webpack_exports__, "URLInputButton", function() { return /* reexport */ URLInputButton; });
1830  __webpack_require__.d(__webpack_exports__, "URLPopover", function() { return /* reexport */ URLPopover; });
1831  __webpack_require__.d(__webpack_exports__, "Warning", function() { return /* reexport */ Warning; });
1832  __webpack_require__.d(__webpack_exports__, "WritingFlow", function() { return /* reexport */ WritingFlow; });
1833  __webpack_require__.d(__webpack_exports__, "createCustomColorsHOC", function() { return /* reexport */ createCustomColorsHOC; });
1834  __webpack_require__.d(__webpack_exports__, "getColorClassName", function() { return /* reexport */ getColorClassName; });
1835  __webpack_require__.d(__webpack_exports__, "getColorObjectByAttributeValues", function() { return /* reexport */ getColorObjectByAttributeValues; });
1836  __webpack_require__.d(__webpack_exports__, "getColorObjectByColorValue", function() { return /* reexport */ getColorObjectByColorValue; });
1837  __webpack_require__.d(__webpack_exports__, "getFontSize", function() { return /* reexport */ getFontSize; });
1838  __webpack_require__.d(__webpack_exports__, "getFontSizeClass", function() { return /* reexport */ getFontSizeClass; });
1839  __webpack_require__.d(__webpack_exports__, "withColorContext", function() { return /* reexport */ withColorContext; });
1840  __webpack_require__.d(__webpack_exports__, "withColors", function() { return /* reexport */ withColors; });
1841  __webpack_require__.d(__webpack_exports__, "withFontSizes", function() { return /* reexport */ withFontSizes; });
1842  __webpack_require__.d(__webpack_exports__, "mediaUpload", function() { return /* reexport */ mediaUpload; });
1843  __webpack_require__.d(__webpack_exports__, "cleanForSlug", function() { return /* reexport */ cleanForSlug; });
1844  __webpack_require__.d(__webpack_exports__, "transformStyles", function() { return /* reexport */ external_wp_blockEditor_["transformStyles"]; });
1845  
1846  // NAMESPACE OBJECT: ./node_modules/@wordpress/editor/build-module/store/selectors.js
1847  var selectors_namespaceObject = {};
1848  __webpack_require__.r(selectors_namespaceObject);
1849  __webpack_require__.d(selectors_namespaceObject, "hasEditorUndo", function() { return hasEditorUndo; });
1850  __webpack_require__.d(selectors_namespaceObject, "hasEditorRedo", function() { return hasEditorRedo; });
1851  __webpack_require__.d(selectors_namespaceObject, "isEditedPostNew", function() { return selectors_isEditedPostNew; });
1852  __webpack_require__.d(selectors_namespaceObject, "hasChangedContent", function() { return hasChangedContent; });
1853  __webpack_require__.d(selectors_namespaceObject, "isEditedPostDirty", function() { return selectors_isEditedPostDirty; });
1854  __webpack_require__.d(selectors_namespaceObject, "hasNonPostEntityChanges", function() { return selectors_hasNonPostEntityChanges; });
1855  __webpack_require__.d(selectors_namespaceObject, "isCleanNewPost", function() { return selectors_isCleanNewPost; });
1856  __webpack_require__.d(selectors_namespaceObject, "getCurrentPost", function() { return selectors_getCurrentPost; });
1857  __webpack_require__.d(selectors_namespaceObject, "getCurrentPostType", function() { return selectors_getCurrentPostType; });
1858  __webpack_require__.d(selectors_namespaceObject, "getCurrentPostId", function() { return selectors_getCurrentPostId; });
1859  __webpack_require__.d(selectors_namespaceObject, "getCurrentPostRevisionsCount", function() { return getCurrentPostRevisionsCount; });
1860  __webpack_require__.d(selectors_namespaceObject, "getCurrentPostLastRevisionId", function() { return getCurrentPostLastRevisionId; });
1861  __webpack_require__.d(selectors_namespaceObject, "getPostEdits", function() { return selectors_getPostEdits; });
1862  __webpack_require__.d(selectors_namespaceObject, "getReferenceByDistinctEdits", function() { return getReferenceByDistinctEdits; });
1863  __webpack_require__.d(selectors_namespaceObject, "getCurrentPostAttribute", function() { return selectors_getCurrentPostAttribute; });
1864  __webpack_require__.d(selectors_namespaceObject, "getEditedPostAttribute", function() { return selectors_getEditedPostAttribute; });
1865  __webpack_require__.d(selectors_namespaceObject, "getAutosaveAttribute", function() { return getAutosaveAttribute; });
1866  __webpack_require__.d(selectors_namespaceObject, "getEditedPostVisibility", function() { return selectors_getEditedPostVisibility; });
1867  __webpack_require__.d(selectors_namespaceObject, "isCurrentPostPending", function() { return isCurrentPostPending; });
1868  __webpack_require__.d(selectors_namespaceObject, "isCurrentPostPublished", function() { return selectors_isCurrentPostPublished; });
1869  __webpack_require__.d(selectors_namespaceObject, "isCurrentPostScheduled", function() { return selectors_isCurrentPostScheduled; });
1870  __webpack_require__.d(selectors_namespaceObject, "isEditedPostPublishable", function() { return selectors_isEditedPostPublishable; });
1871  __webpack_require__.d(selectors_namespaceObject, "isEditedPostSaveable", function() { return selectors_isEditedPostSaveable; });
1872  __webpack_require__.d(selectors_namespaceObject, "isEditedPostEmpty", function() { return isEditedPostEmpty; });
1873  __webpack_require__.d(selectors_namespaceObject, "isEditedPostAutosaveable", function() { return selectors_isEditedPostAutosaveable; });
1874  __webpack_require__.d(selectors_namespaceObject, "getAutosave", function() { return getAutosave; });
1875  __webpack_require__.d(selectors_namespaceObject, "hasAutosave", function() { return hasAutosave; });
1876  __webpack_require__.d(selectors_namespaceObject, "isEditedPostBeingScheduled", function() { return selectors_isEditedPostBeingScheduled; });
1877  __webpack_require__.d(selectors_namespaceObject, "isEditedPostDateFloating", function() { return isEditedPostDateFloating; });
1878  __webpack_require__.d(selectors_namespaceObject, "isSavingPost", function() { return selectors_isSavingPost; });
1879  __webpack_require__.d(selectors_namespaceObject, "didPostSaveRequestSucceed", function() { return didPostSaveRequestSucceed; });
1880  __webpack_require__.d(selectors_namespaceObject, "didPostSaveRequestFail", function() { return didPostSaveRequestFail; });
1881  __webpack_require__.d(selectors_namespaceObject, "isAutosavingPost", function() { return selectors_isAutosavingPost; });
1882  __webpack_require__.d(selectors_namespaceObject, "isPreviewingPost", function() { return isPreviewingPost; });
1883  __webpack_require__.d(selectors_namespaceObject, "getEditedPostPreviewLink", function() { return selectors_getEditedPostPreviewLink; });
1884  __webpack_require__.d(selectors_namespaceObject, "getSuggestedPostFormat", function() { return selectors_getSuggestedPostFormat; });
1885  __webpack_require__.d(selectors_namespaceObject, "getBlocksForSerialization", function() { return getBlocksForSerialization; });
1886  __webpack_require__.d(selectors_namespaceObject, "getEditedPostContent", function() { return getEditedPostContent; });
1887  __webpack_require__.d(selectors_namespaceObject, "isPublishingPost", function() { return selectors_isPublishingPost; });
1888  __webpack_require__.d(selectors_namespaceObject, "isPermalinkEditable", function() { return isPermalinkEditable; });
1889  __webpack_require__.d(selectors_namespaceObject, "getPermalink", function() { return getPermalink; });
1890  __webpack_require__.d(selectors_namespaceObject, "getEditedPostSlug", function() { return getEditedPostSlug; });
1891  __webpack_require__.d(selectors_namespaceObject, "getPermalinkParts", function() { return getPermalinkParts; });
1892  __webpack_require__.d(selectors_namespaceObject, "isPostLocked", function() { return isPostLocked; });
1893  __webpack_require__.d(selectors_namespaceObject, "isPostSavingLocked", function() { return selectors_isPostSavingLocked; });
1894  __webpack_require__.d(selectors_namespaceObject, "isPostAutosavingLocked", function() { return isPostAutosavingLocked; });
1895  __webpack_require__.d(selectors_namespaceObject, "isPostLockTakeover", function() { return isPostLockTakeover; });
1896  __webpack_require__.d(selectors_namespaceObject, "getPostLockUser", function() { return getPostLockUser; });
1897  __webpack_require__.d(selectors_namespaceObject, "getActivePostLock", function() { return getActivePostLock; });
1898  __webpack_require__.d(selectors_namespaceObject, "canUserUseUnfilteredHTML", function() { return selectors_canUserUseUnfilteredHTML; });
1899  __webpack_require__.d(selectors_namespaceObject, "isPublishSidebarEnabled", function() { return selectors_isPublishSidebarEnabled; });
1900  __webpack_require__.d(selectors_namespaceObject, "getEditorBlocks", function() { return getEditorBlocks; });
1901  __webpack_require__.d(selectors_namespaceObject, "getEditorSelectionStart", function() { return getEditorSelectionStart; });
1902  __webpack_require__.d(selectors_namespaceObject, "getEditorSelectionEnd", function() { return getEditorSelectionEnd; });
1903  __webpack_require__.d(selectors_namespaceObject, "getEditorSelection", function() { return selectors_getEditorSelection; });
1904  __webpack_require__.d(selectors_namespaceObject, "__unstableIsEditorReady", function() { return selectors_unstableIsEditorReady; });
1905  __webpack_require__.d(selectors_namespaceObject, "getEditorSettings", function() { return selectors_getEditorSettings; });
1906  __webpack_require__.d(selectors_namespaceObject, "getStateBeforeOptimisticTransaction", function() { return getStateBeforeOptimisticTransaction; });
1907  __webpack_require__.d(selectors_namespaceObject, "inSomeHistory", function() { return inSomeHistory; });
1908  __webpack_require__.d(selectors_namespaceObject, "getBlockName", function() { return getBlockName; });
1909  __webpack_require__.d(selectors_namespaceObject, "isBlockValid", function() { return isBlockValid; });
1910  __webpack_require__.d(selectors_namespaceObject, "getBlockAttributes", function() { return getBlockAttributes; });
1911  __webpack_require__.d(selectors_namespaceObject, "getBlock", function() { return getBlock; });
1912  __webpack_require__.d(selectors_namespaceObject, "getBlocks", function() { return selectors_getBlocks; });
1913  __webpack_require__.d(selectors_namespaceObject, "__unstableGetBlockWithoutInnerBlocks", function() { return __unstableGetBlockWithoutInnerBlocks; });
1914  __webpack_require__.d(selectors_namespaceObject, "getClientIdsOfDescendants", function() { return getClientIdsOfDescendants; });
1915  __webpack_require__.d(selectors_namespaceObject, "getClientIdsWithDescendants", function() { return getClientIdsWithDescendants; });
1916  __webpack_require__.d(selectors_namespaceObject, "getGlobalBlockCount", function() { return getGlobalBlockCount; });
1917  __webpack_require__.d(selectors_namespaceObject, "getBlocksByClientId", function() { return getBlocksByClientId; });
1918  __webpack_require__.d(selectors_namespaceObject, "getBlockCount", function() { return getBlockCount; });
1919  __webpack_require__.d(selectors_namespaceObject, "getBlockSelectionStart", function() { return getBlockSelectionStart; });
1920  __webpack_require__.d(selectors_namespaceObject, "getBlockSelectionEnd", function() { return getBlockSelectionEnd; });
1921  __webpack_require__.d(selectors_namespaceObject, "getSelectedBlockCount", function() { return getSelectedBlockCount; });
1922  __webpack_require__.d(selectors_namespaceObject, "hasSelectedBlock", function() { return hasSelectedBlock; });
1923  __webpack_require__.d(selectors_namespaceObject, "getSelectedBlockClientId", function() { return getSelectedBlockClientId; });
1924  __webpack_require__.d(selectors_namespaceObject, "getSelectedBlock", function() { return getSelectedBlock; });
1925  __webpack_require__.d(selectors_namespaceObject, "getBlockRootClientId", function() { return getBlockRootClientId; });
1926  __webpack_require__.d(selectors_namespaceObject, "getBlockHierarchyRootClientId", function() { return getBlockHierarchyRootClientId; });
1927  __webpack_require__.d(selectors_namespaceObject, "getAdjacentBlockClientId", function() { return getAdjacentBlockClientId; });
1928  __webpack_require__.d(selectors_namespaceObject, "getPreviousBlockClientId", function() { return getPreviousBlockClientId; });
1929  __webpack_require__.d(selectors_namespaceObject, "getNextBlockClientId", function() { return getNextBlockClientId; });
1930  __webpack_require__.d(selectors_namespaceObject, "getSelectedBlocksInitialCaretPosition", function() { return getSelectedBlocksInitialCaretPosition; });
1931  __webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlockClientIds", function() { return getMultiSelectedBlockClientIds; });
1932  __webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocks", function() { return getMultiSelectedBlocks; });
1933  __webpack_require__.d(selectors_namespaceObject, "getFirstMultiSelectedBlockClientId", function() { return getFirstMultiSelectedBlockClientId; });
1934  __webpack_require__.d(selectors_namespaceObject, "getLastMultiSelectedBlockClientId", function() { return getLastMultiSelectedBlockClientId; });
1935  __webpack_require__.d(selectors_namespaceObject, "isFirstMultiSelectedBlock", function() { return isFirstMultiSelectedBlock; });
1936  __webpack_require__.d(selectors_namespaceObject, "isBlockMultiSelected", function() { return isBlockMultiSelected; });
1937  __webpack_require__.d(selectors_namespaceObject, "isAncestorMultiSelected", function() { return isAncestorMultiSelected; });
1938  __webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksStartClientId", function() { return getMultiSelectedBlocksStartClientId; });
1939  __webpack_require__.d(selectors_namespaceObject, "getMultiSelectedBlocksEndClientId", function() { return getMultiSelectedBlocksEndClientId; });
1940  __webpack_require__.d(selectors_namespaceObject, "getBlockOrder", function() { return getBlockOrder; });
1941  __webpack_require__.d(selectors_namespaceObject, "getBlockIndex", function() { return getBlockIndex; });
1942  __webpack_require__.d(selectors_namespaceObject, "isBlockSelected", function() { return isBlockSelected; });
1943  __webpack_require__.d(selectors_namespaceObject, "hasSelectedInnerBlock", function() { return hasSelectedInnerBlock; });
1944  __webpack_require__.d(selectors_namespaceObject, "isBlockWithinSelection", function() { return isBlockWithinSelection; });
1945  __webpack_require__.d(selectors_namespaceObject, "hasMultiSelection", function() { return hasMultiSelection; });
1946  __webpack_require__.d(selectors_namespaceObject, "isMultiSelecting", function() { return isMultiSelecting; });
1947  __webpack_require__.d(selectors_namespaceObject, "isSelectionEnabled", function() { return isSelectionEnabled; });
1948  __webpack_require__.d(selectors_namespaceObject, "getBlockMode", function() { return getBlockMode; });
1949  __webpack_require__.d(selectors_namespaceObject, "isTyping", function() { return isTyping; });
1950  __webpack_require__.d(selectors_namespaceObject, "isCaretWithinFormattedText", function() { return isCaretWithinFormattedText; });
1951  __webpack_require__.d(selectors_namespaceObject, "getBlockInsertionPoint", function() { return getBlockInsertionPoint; });
1952  __webpack_require__.d(selectors_namespaceObject, "isBlockInsertionPointVisible", function() { return isBlockInsertionPointVisible; });
1953  __webpack_require__.d(selectors_namespaceObject, "isValidTemplate", function() { return isValidTemplate; });
1954  __webpack_require__.d(selectors_namespaceObject, "getTemplate", function() { return getTemplate; });
1955  __webpack_require__.d(selectors_namespaceObject, "getTemplateLock", function() { return getTemplateLock; });
1956  __webpack_require__.d(selectors_namespaceObject, "canInsertBlockType", function() { return canInsertBlockType; });
1957  __webpack_require__.d(selectors_namespaceObject, "getInserterItems", function() { return getInserterItems; });
1958  __webpack_require__.d(selectors_namespaceObject, "hasInserterItems", function() { return hasInserterItems; });
1959  __webpack_require__.d(selectors_namespaceObject, "getBlockListSettings", function() { return getBlockListSettings; });
1960  __webpack_require__.d(selectors_namespaceObject, "__experimentalGetDefaultTemplateTypes", function() { return __experimentalGetDefaultTemplateTypes; });
1961  __webpack_require__.d(selectors_namespaceObject, "__experimentalGetDefaultTemplateType", function() { return __experimentalGetDefaultTemplateType; });
1962  __webpack_require__.d(selectors_namespaceObject, "__experimentalGetTemplateInfo", function() { return __experimentalGetTemplateInfo; });
1963  
1964  // NAMESPACE OBJECT: ./node_modules/@wordpress/editor/build-module/store/actions.js
1965  var actions_namespaceObject = {};
1966  __webpack_require__.r(actions_namespaceObject);
1967  __webpack_require__.d(actions_namespaceObject, "setupEditor", function() { return actions_setupEditor; });
1968  __webpack_require__.d(actions_namespaceObject, "__experimentalTearDownEditor", function() { return actions_experimentalTearDownEditor; });
1969  __webpack_require__.d(actions_namespaceObject, "resetPost", function() { return resetPost; });
1970  __webpack_require__.d(actions_namespaceObject, "resetAutosave", function() { return resetAutosave; });
1971  __webpack_require__.d(actions_namespaceObject, "__experimentalRequestPostUpdateStart", function() { return __experimentalRequestPostUpdateStart; });
1972  __webpack_require__.d(actions_namespaceObject, "__experimentalRequestPostUpdateFinish", function() { return __experimentalRequestPostUpdateFinish; });
1973  __webpack_require__.d(actions_namespaceObject, "updatePost", function() { return updatePost; });
1974  __webpack_require__.d(actions_namespaceObject, "setupEditorState", function() { return setupEditorState; });
1975  __webpack_require__.d(actions_namespaceObject, "editPost", function() { return actions_editPost; });
1976  __webpack_require__.d(actions_namespaceObject, "savePost", function() { return actions_savePost; });
1977  __webpack_require__.d(actions_namespaceObject, "refreshPost", function() { return refreshPost; });
1978  __webpack_require__.d(actions_namespaceObject, "trashPost", function() { return trashPost; });
1979  __webpack_require__.d(actions_namespaceObject, "autosave", function() { return actions_autosave; });
1980  __webpack_require__.d(actions_namespaceObject, "redo", function() { return actions_redo; });
1981  __webpack_require__.d(actions_namespaceObject, "undo", function() { return actions_undo; });
1982  __webpack_require__.d(actions_namespaceObject, "createUndoLevel", function() { return createUndoLevel; });
1983  __webpack_require__.d(actions_namespaceObject, "updatePostLock", function() { return actions_updatePostLock; });
1984  __webpack_require__.d(actions_namespaceObject, "enablePublishSidebar", function() { return enablePublishSidebar; });
1985  __webpack_require__.d(actions_namespaceObject, "disablePublishSidebar", function() { return disablePublishSidebar; });
1986  __webpack_require__.d(actions_namespaceObject, "lockPostSaving", function() { return lockPostSaving; });
1987  __webpack_require__.d(actions_namespaceObject, "unlockPostSaving", function() { return unlockPostSaving; });
1988  __webpack_require__.d(actions_namespaceObject, "lockPostAutosaving", function() { return lockPostAutosaving; });
1989  __webpack_require__.d(actions_namespaceObject, "unlockPostAutosaving", function() { return unlockPostAutosaving; });
1990  __webpack_require__.d(actions_namespaceObject, "resetEditorBlocks", function() { return actions_resetEditorBlocks; });
1991  __webpack_require__.d(actions_namespaceObject, "updateEditorSettings", function() { return actions_updateEditorSettings; });
1992  __webpack_require__.d(actions_namespaceObject, "resetBlocks", function() { return resetBlocks; });
1993  __webpack_require__.d(actions_namespaceObject, "receiveBlocks", function() { return receiveBlocks; });
1994  __webpack_require__.d(actions_namespaceObject, "updateBlock", function() { return updateBlock; });
1995  __webpack_require__.d(actions_namespaceObject, "updateBlockAttributes", function() { return updateBlockAttributes; });
1996  __webpack_require__.d(actions_namespaceObject, "selectBlock", function() { return actions_selectBlock; });
1997  __webpack_require__.d(actions_namespaceObject, "startMultiSelect", function() { return startMultiSelect; });
1998  __webpack_require__.d(actions_namespaceObject, "stopMultiSelect", function() { return stopMultiSelect; });
1999  __webpack_require__.d(actions_namespaceObject, "multiSelect", function() { return multiSelect; });
2000  __webpack_require__.d(actions_namespaceObject, "clearSelectedBlock", function() { return actions_clearSelectedBlock; });
2001  __webpack_require__.d(actions_namespaceObject, "toggleSelection", function() { return toggleSelection; });
2002  __webpack_require__.d(actions_namespaceObject, "replaceBlocks", function() { return replaceBlocks; });
2003  __webpack_require__.d(actions_namespaceObject, "replaceBlock", function() { return replaceBlock; });
2004  __webpack_require__.d(actions_namespaceObject, "moveBlocksDown", function() { return moveBlocksDown; });
2005  __webpack_require__.d(actions_namespaceObject, "moveBlocksUp", function() { return moveBlocksUp; });
2006  __webpack_require__.d(actions_namespaceObject, "moveBlockToPosition", function() { return moveBlockToPosition; });
2007  __webpack_require__.d(actions_namespaceObject, "insertBlock", function() { return insertBlock; });
2008  __webpack_require__.d(actions_namespaceObject, "insertBlocks", function() { return actions_insertBlocks; });
2009  __webpack_require__.d(actions_namespaceObject, "showInsertionPoint", function() { return showInsertionPoint; });
2010  __webpack_require__.d(actions_namespaceObject, "hideInsertionPoint", function() { return hideInsertionPoint; });
2011  __webpack_require__.d(actions_namespaceObject, "setTemplateValidity", function() { return setTemplateValidity; });
2012  __webpack_require__.d(actions_namespaceObject, "synchronizeTemplate", function() { return synchronizeTemplate; });
2013  __webpack_require__.d(actions_namespaceObject, "mergeBlocks", function() { return mergeBlocks; });
2014  __webpack_require__.d(actions_namespaceObject, "removeBlocks", function() { return removeBlocks; });
2015  __webpack_require__.d(actions_namespaceObject, "removeBlock", function() { return removeBlock; });
2016  __webpack_require__.d(actions_namespaceObject, "toggleBlockMode", function() { return toggleBlockMode; });
2017  __webpack_require__.d(actions_namespaceObject, "startTyping", function() { return startTyping; });
2018  __webpack_require__.d(actions_namespaceObject, "stopTyping", function() { return stopTyping; });
2019  __webpack_require__.d(actions_namespaceObject, "enterFormattedText", function() { return enterFormattedText; });
2020  __webpack_require__.d(actions_namespaceObject, "exitFormattedText", function() { return exitFormattedText; });
2021  __webpack_require__.d(actions_namespaceObject, "insertDefaultBlock", function() { return actions_insertDefaultBlock; });
2022  __webpack_require__.d(actions_namespaceObject, "updateBlockListSettings", function() { return updateBlockListSettings; });
2023  
2024  // EXTERNAL MODULE: external ["wp","blockEditor"]
2025  var external_wp_blockEditor_ = __webpack_require__(6);
2026  
2027  // EXTERNAL MODULE: external ["wp","coreData"]
2028  var external_wp_coreData_ = __webpack_require__(42);
2029  
2030  // EXTERNAL MODULE: external ["wp","richText"]
2031  var external_wp_richText_ = __webpack_require__(19);
2032  
2033  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
2034  var esm_extends = __webpack_require__(8);
2035  
2036  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
2037  var defineProperty = __webpack_require__(5);
2038  
2039  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 1 modules
2040  var slicedToArray = __webpack_require__(12);
2041  
2042  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
2043  var objectWithoutProperties = __webpack_require__(13);
2044  
2045  // EXTERNAL MODULE: external ["wp","element"]
2046  var external_wp_element_ = __webpack_require__(0);
2047  
2048  // EXTERNAL MODULE: external "lodash"
2049  var external_lodash_ = __webpack_require__(2);
2050  
2051  // EXTERNAL MODULE: external ["wp","blocks"]
2052  var external_wp_blocks_ = __webpack_require__(9);
2053  
2054  // EXTERNAL MODULE: external ["wp","data"]
2055  var external_wp_data_ = __webpack_require__(4);
2056  
2057  // EXTERNAL MODULE: external ["wp","compose"]
2058  var external_wp_compose_ = __webpack_require__(11);
2059  
2060  // EXTERNAL MODULE: external ["wp","hooks"]
2061  var external_wp_hooks_ = __webpack_require__(33);
2062  
2063  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/hooks/custom-sources-backwards-compatibility.js
2064  
2065  
2066  
2067  
2068  
2069  
2070  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2071  
2072  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2073  
2074  /**
2075   * External dependencies
2076   */
2077  
2078  /**
2079   * WordPress dependencies
2080   */
2081  
2082  
2083  
2084  
2085  
2086  
2087  
2088  /** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */
2089  
2090  /** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */
2091  
2092  /**
2093   * Object whose keys are the names of block attributes, where each value
2094   * represents the meta key to which the block attribute is intended to save.
2095   *
2096   * @see https://developer.wordpress.org/reference/functions/register_meta/
2097   *
2098   * @typedef {Object<string,string>} WPMetaAttributeMapping
2099   */
2100  
2101  /**
2102   * Given a mapping of attribute names (meta source attributes) to their
2103   * associated meta key, returns a higher order component that overrides its
2104   * `attributes` and `setAttributes` props to sync any changes with the edited
2105   * post's meta keys.
2106   *
2107   * @param {WPMetaAttributeMapping} metaAttributes Meta attribute mapping.
2108   *
2109   * @return {WPHigherOrderComponent} Higher-order component.
2110   */
2111  
2112  var custom_sources_backwards_compatibility_createWithMetaAttributeSource = function createWithMetaAttributeSource(metaAttributes) {
2113    return Object(external_wp_compose_["createHigherOrderComponent"])(function (BlockEdit) {
2114      return function (_ref) {
2115        var attributes = _ref.attributes,
2116            _setAttributes = _ref.setAttributes,
2117            props = Object(objectWithoutProperties["a" /* default */])(_ref, ["attributes", "setAttributes"]);
2118  
2119        var postType = Object(external_wp_data_["useSelect"])(function (select) {
2120          return select('core/editor').getCurrentPostType();
2121        }, []);
2122  
2123        var _useEntityProp = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'meta'),
2124            _useEntityProp2 = Object(slicedToArray["a" /* default */])(_useEntityProp, 2),
2125            meta = _useEntityProp2[0],
2126            setMeta = _useEntityProp2[1];
2127  
2128        var mergedAttributes = Object(external_wp_element_["useMemo"])(function () {
2129          return _objectSpread(_objectSpread({}, attributes), Object(external_lodash_["mapValues"])(metaAttributes, function (metaKey) {
2130            return meta[metaKey];
2131          }));
2132        }, [attributes, meta]);
2133        return Object(external_wp_element_["createElement"])(BlockEdit, Object(esm_extends["a" /* default */])({
2134          attributes: mergedAttributes,
2135          setAttributes: function setAttributes(nextAttributes) {
2136            var nextMeta = Object(external_lodash_["mapKeys"])( // Filter to intersection of keys between the updated
2137            // attributes and those with an associated meta key.
2138            Object(external_lodash_["pickBy"])(nextAttributes, function (value, key) {
2139              return metaAttributes[key];
2140            }), // Rename the keys to the expected meta key name.
2141            function (value, attributeKey) {
2142              return metaAttributes[attributeKey];
2143            });
2144  
2145            if (!Object(external_lodash_["isEmpty"])(nextMeta)) {
2146              setMeta(nextMeta);
2147            }
2148  
2149            _setAttributes(nextAttributes);
2150          }
2151        }, props));
2152      };
2153    }, 'withMetaAttributeSource');
2154  };
2155  /**
2156   * Filters a registered block's settings to enhance a block's `edit` component
2157   * to upgrade meta-sourced attributes to use the post's meta entity property.
2158   *
2159   * @param {WPBlockSettings} settings Registered block settings.
2160   *
2161   * @return {WPBlockSettings} Filtered block settings.
2162   */
2163  
2164  
2165  function shimAttributeSource(settings) {
2166    /** @type {WPMetaAttributeMapping} */
2167    var metaAttributes = Object(external_lodash_["mapValues"])(Object(external_lodash_["pickBy"])(settings.attributes, {
2168      source: 'meta'
2169    }), 'meta');
2170  
2171    if (!Object(external_lodash_["isEmpty"])(metaAttributes)) {
2172      settings.edit = custom_sources_backwards_compatibility_createWithMetaAttributeSource(metaAttributes)(settings.edit);
2173    }
2174  
2175    return settings;
2176  }
2177  
2178  Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/editor/custom-sources-backwards-compatibility/shim-attribute-source', shimAttributeSource); // The above filter will only capture blocks registered after the filter was
2179  // added. There may already be blocks registered by this point, and those must
2180  // be updated to apply the shim.
2181  //
2182  // The following implementation achieves this, albeit with a couple caveats:
2183  // - Only blocks registered on the global store will be modified.
2184  // - The block settings are directly mutated, since there is currently no
2185  //   mechanism to update an existing block registration. This is the reason for
2186  //   `getBlockType` separate from `getBlockTypes`, since the latter returns a
2187  //   _copy_ of the block registration (i.e. the mutation would not affect the
2188  //   actual registered block settings).
2189  //
2190  // `getBlockTypes` or `getBlockType` implementation could change in the future
2191  // in regards to creating settings clones, but the corresponding end-to-end
2192  // tests for meta blocks should cover against any potential regressions.
2193  //
2194  // In the future, we could support updating block settings, at which point this
2195  // implementation could use that mechanism instead.
2196  
2197  Object(external_wp_data_["select"])(external_wp_blocks_["store"]).getBlockTypes().map(function (_ref2) {
2198    var name = _ref2.name;
2199    return Object(external_wp_data_["select"])(external_wp_blocks_["store"]).getBlockType(name);
2200  }).forEach(shimAttributeSource);
2201  
2202  // EXTERNAL MODULE: external ["wp","apiFetch"]
2203  var external_wp_apiFetch_ = __webpack_require__(50);
2204  var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_);
2205  
2206  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/autocompleters/user.js
2207  
2208  
2209  /**
2210   * WordPress dependencies
2211   */
2212  
2213  /** @typedef {import('@wordpress/components').WPCompleter} WPCompleter */
2214  
2215  /**
2216   * A user mentions completer.
2217   *
2218   * @type {WPCompleter}
2219   */
2220  
2221  /* harmony default export */ var autocompleters_user = ({
2222    name: 'users',
2223    className: 'editor-autocompleters__user',
2224    triggerPrefix: '@',
2225    options: function options(search) {
2226      var payload = '';
2227  
2228      if (search) {
2229        payload = '?search=' + encodeURIComponent(search);
2230      }
2231  
2232      return external_wp_apiFetch_default()({
2233        path: '/wp/v2/users' + payload
2234      });
2235    },
2236    isDebounced: true,
2237    getOptionKeywords: function getOptionKeywords(user) {
2238      return [user.slug, user.name];
2239    },
2240    getOptionLabel: function getOptionLabel(user) {
2241      var avatar = user.avatar_urls && user.avatar_urls[24] ? Object(external_wp_element_["createElement"])("img", {
2242        key: "avatar",
2243        className: "editor-autocompleters__user-avatar",
2244        alt: "",
2245        src: user.avatar_urls[24]
2246      }) : Object(external_wp_element_["createElement"])("span", {
2247        className: "editor-autocompleters__no-avatar"
2248      });
2249      return [avatar, Object(external_wp_element_["createElement"])("span", {
2250        key: "name",
2251        className: "editor-autocompleters__user-name"
2252      }, user.name), Object(external_wp_element_["createElement"])("span", {
2253        key: "slug",
2254        className: "editor-autocompleters__user-slug"
2255      }, user.slug)];
2256    },
2257    getOptionCompletion: function getOptionCompletion(user) {
2258      return "@".concat(user.slug);
2259    }
2260  });
2261  
2262  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/hooks/default-autocompleters.js
2263  /**
2264   * External dependencies
2265   */
2266  
2267  /**
2268   * WordPress dependencies
2269   */
2270  
2271  
2272  /**
2273   * Internal dependencies
2274   */
2275  
2276  
2277  
2278  function setDefaultCompleters() {
2279    var completers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
2280    // Provide copies so filters may directly modify them.
2281    completers.push(Object(external_lodash_["clone"])(autocompleters_user));
2282    return completers;
2283  }
2284  
2285  Object(external_wp_hooks_["addFilter"])('editor.Autocomplete.completers', 'editor/autocompleters/set-default-completers', setDefaultCompleters);
2286  
2287  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/hooks/index.js
2288  /**
2289   * Internal dependencies
2290   */
2291  
2292  
2293  
2294  // EXTERNAL MODULE: external ["wp","dataControls"]
2295  var external_wp_dataControls_ = __webpack_require__(49);
2296  
2297  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
2298  var esm_typeof = __webpack_require__(56);
2299  
2300  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/defaults.js
2301  
2302  
2303  function defaults_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2304  
2305  function defaults_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { defaults_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { defaults_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2306  
2307  /**
2308   * WordPress dependencies
2309   */
2310  
2311  var PREFERENCES_DEFAULTS = {
2312    insertUsage: {},
2313    // Should be kept for backward compatibility, see: https://github.com/WordPress/gutenberg/issues/14580.
2314    isPublishSidebarEnabled: true
2315  };
2316  /**
2317   * The default post editor settings
2318   *
2319   *  allowedBlockTypes  boolean|Array Allowed block types
2320   *  richEditingEnabled boolean       Whether rich editing is enabled or not
2321   *  codeEditingEnabled boolean       Whether code editing is enabled or not
2322   *  enableCustomFields boolean       Whether the WordPress custom fields are enabled or not
2323   *  autosaveInterval   number        Autosave Interval
2324   *  availableTemplates array?        The available post templates
2325   *  disablePostFormats boolean       Whether or not the post formats are disabled
2326   *  allowedMimeTypes   array?        List of allowed mime types and file extensions
2327   *  maxUploadFileSize  number        Maximum upload file size
2328   *  supportsLayout     boolean      Whether the editor supports layouts.
2329   */
2330  
2331  var EDITOR_SETTINGS_DEFAULTS = defaults_objectSpread(defaults_objectSpread({}, external_wp_blockEditor_["SETTINGS_DEFAULTS"]), {}, {
2332    richEditingEnabled: true,
2333    codeEditingEnabled: true,
2334    enableCustomFields: false,
2335    supportsLayout: true
2336  });
2337  
2338  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/reducer.js
2339  
2340  
2341  
2342  function reducer_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2343  
2344  function reducer_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { reducer_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { reducer_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2345  
2346  /**
2347   * External dependencies
2348   */
2349  
2350  /**
2351   * WordPress dependencies
2352   */
2353  
2354  
2355  /**
2356   * Internal dependencies
2357   */
2358  
2359  
2360  /**
2361   * Returns a post attribute value, flattening nested rendered content using its
2362   * raw value in place of its original object form.
2363   *
2364   * @param {*} value Original value.
2365   *
2366   * @return {*} Raw value.
2367   */
2368  
2369  function getPostRawValue(value) {
2370    if (value && 'object' === Object(esm_typeof["a" /* default */])(value) && 'raw' in value) {
2371      return value.raw;
2372    }
2373  
2374    return value;
2375  }
2376  /**
2377   * Returns true if the two object arguments have the same keys, or false
2378   * otherwise.
2379   *
2380   * @param {Object} a First object.
2381   * @param {Object} b Second object.
2382   *
2383   * @return {boolean} Whether the two objects have the same keys.
2384   */
2385  
2386  function hasSameKeys(a, b) {
2387    return Object(external_lodash_["isEqual"])(Object(external_lodash_["keys"])(a), Object(external_lodash_["keys"])(b));
2388  }
2389  /**
2390   * Returns true if, given the currently dispatching action and the previously
2391   * dispatched action, the two actions are editing the same post property, or
2392   * false otherwise.
2393   *
2394   * @param {Object} action         Currently dispatching action.
2395   * @param {Object} previousAction Previously dispatched action.
2396   *
2397   * @return {boolean} Whether actions are updating the same post property.
2398   */
2399  
2400  function isUpdatingSamePostProperty(action, previousAction) {
2401    return action.type === 'EDIT_POST' && hasSameKeys(action.edits, previousAction.edits);
2402  }
2403  /**
2404   * Returns true if, given the currently dispatching action and the previously
2405   * dispatched action, the two actions are modifying the same property such that
2406   * undo history should be batched.
2407   *
2408   * @param {Object} action         Currently dispatching action.
2409   * @param {Object} previousAction Previously dispatched action.
2410   *
2411   * @return {boolean} Whether to overwrite present state.
2412   */
2413  
2414  function shouldOverwriteState(action, previousAction) {
2415    if (action.type === 'RESET_EDITOR_BLOCKS') {
2416      return !action.shouldCreateUndoLevel;
2417    }
2418  
2419    if (!previousAction || action.type !== previousAction.type) {
2420      return false;
2421    }
2422  
2423    return isUpdatingSamePostProperty(action, previousAction);
2424  }
2425  function reducer_postId() {
2426    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2427    var action = arguments.length > 1 ? arguments[1] : undefined;
2428  
2429    switch (action.type) {
2430      case 'SETUP_EDITOR_STATE':
2431      case 'RESET_POST':
2432        return action.post.id;
2433    }
2434  
2435    return state;
2436  }
2437  function reducer_postType() {
2438    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
2439    var action = arguments.length > 1 ? arguments[1] : undefined;
2440  
2441    switch (action.type) {
2442      case 'SETUP_EDITOR_STATE':
2443      case 'RESET_POST':
2444        return action.post.type;
2445    }
2446  
2447    return state;
2448  }
2449  /**
2450   * Reducer returning whether the post blocks match the defined template or not.
2451   *
2452   * @param {Object} state  Current state.
2453   * @param {Object} action Dispatched action.
2454   *
2455   * @return {boolean} Updated state.
2456   */
2457  
2458  function reducer_template() {
2459    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
2460      isValid: true
2461    };
2462    var action = arguments.length > 1 ? arguments[1] : undefined;
2463  
2464    switch (action.type) {
2465      case 'SET_TEMPLATE_VALIDITY':
2466        return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
2467          isValid: action.isValid
2468        });
2469    }
2470  
2471    return state;
2472  }
2473  /**
2474   * Reducer returning the user preferences.
2475   *
2476   * @param {Object}  state                 Current state.
2477   * @param {Object}  action                Dispatched action.
2478   *
2479   * @return {string} Updated state.
2480   */
2481  
2482  function preferences() {
2483    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : PREFERENCES_DEFAULTS;
2484    var action = arguments.length > 1 ? arguments[1] : undefined;
2485  
2486    switch (action.type) {
2487      case 'ENABLE_PUBLISH_SIDEBAR':
2488        return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
2489          isPublishSidebarEnabled: true
2490        });
2491  
2492      case 'DISABLE_PUBLISH_SIDEBAR':
2493        return reducer_objectSpread(reducer_objectSpread({}, state), {}, {
2494          isPublishSidebarEnabled: false
2495        });
2496    }
2497  
2498    return state;
2499  }
2500  /**
2501   * Reducer returning current network request state (whether a request to
2502   * the WP REST API is in progress, successful, or failed).
2503   *
2504   * @param {Object} state  Current state.
2505   * @param {Object} action Dispatched action.
2506   *
2507   * @return {Object} Updated state.
2508   */
2509  
2510  function saving() {
2511    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2512    var action = arguments.length > 1 ? arguments[1] : undefined;
2513  
2514    switch (action.type) {
2515      case 'REQUEST_POST_UPDATE_START':
2516      case 'REQUEST_POST_UPDATE_FINISH':
2517        return {
2518          pending: action.type === 'REQUEST_POST_UPDATE_START',
2519          options: action.options || {}
2520        };
2521    }
2522  
2523    return state;
2524  }
2525  /**
2526   * Post Lock State.
2527   *
2528   * @typedef {Object} PostLockState
2529   *
2530   * @property {boolean} isLocked       Whether the post is locked.
2531   * @property {?boolean} isTakeover     Whether the post editing has been taken over.
2532   * @property {?boolean} activePostLock Active post lock value.
2533   * @property {?Object}  user           User that took over the post.
2534   */
2535  
2536  /**
2537   * Reducer returning the post lock status.
2538   *
2539   * @param {PostLockState} state  Current state.
2540   * @param {Object} action Dispatched action.
2541   *
2542   * @return {PostLockState} Updated state.
2543   */
2544  
2545  function postLock() {
2546    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
2547      isLocked: false
2548    };
2549    var action = arguments.length > 1 ? arguments[1] : undefined;
2550  
2551    switch (action.type) {
2552      case 'UPDATE_POST_LOCK':
2553        return action.lock;
2554    }
2555  
2556    return state;
2557  }
2558  /**
2559   * Post saving lock.
2560   *
2561   * When post saving is locked, the post cannot be published or updated.
2562   *
2563   * @param {PostLockState} state  Current state.
2564   * @param {Object}        action Dispatched action.
2565   *
2566   * @return {PostLockState} Updated state.
2567   */
2568  
2569  function postSavingLock() {
2570    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2571    var action = arguments.length > 1 ? arguments[1] : undefined;
2572  
2573    switch (action.type) {
2574      case 'LOCK_POST_SAVING':
2575        return reducer_objectSpread(reducer_objectSpread({}, state), {}, Object(defineProperty["a" /* default */])({}, action.lockName, true));
2576  
2577      case 'UNLOCK_POST_SAVING':
2578        return Object(external_lodash_["omit"])(state, action.lockName);
2579    }
2580  
2581    return state;
2582  }
2583  /**
2584   * Post autosaving lock.
2585   *
2586   * When post autosaving is locked, the post will not autosave.
2587   *
2588   * @param {PostLockState} state  Current state.
2589   * @param {Object}        action Dispatched action.
2590   *
2591   * @return {PostLockState} Updated state.
2592   */
2593  
2594  function postAutosavingLock() {
2595    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2596    var action = arguments.length > 1 ? arguments[1] : undefined;
2597  
2598    switch (action.type) {
2599      case 'LOCK_POST_AUTOSAVING':
2600        return reducer_objectSpread(reducer_objectSpread({}, state), {}, Object(defineProperty["a" /* default */])({}, action.lockName, true));
2601  
2602      case 'UNLOCK_POST_AUTOSAVING':
2603        return Object(external_lodash_["omit"])(state, action.lockName);
2604    }
2605  
2606    return state;
2607  }
2608  /**
2609   * Reducer returning whether the editor is ready to be rendered.
2610   * The editor is considered ready to be rendered once
2611   * the post object is loaded properly and the initial blocks parsed.
2612   *
2613   * @param {boolean} state
2614   * @param {Object} action
2615   *
2616   * @return {boolean} Updated state.
2617   */
2618  
2619  function reducer_isReady() {
2620    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
2621    var action = arguments.length > 1 ? arguments[1] : undefined;
2622  
2623    switch (action.type) {
2624      case 'SETUP_EDITOR_STATE':
2625        return true;
2626  
2627      case 'TEAR_DOWN_EDITOR':
2628        return false;
2629    }
2630  
2631    return state;
2632  }
2633  /**
2634   * Reducer returning the post editor setting.
2635   *
2636   * @param {Object} state  Current state.
2637   * @param {Object} action Dispatched action.
2638   *
2639   * @return {Object} Updated state.
2640   */
2641  
2642  function reducer_editorSettings() {
2643    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EDITOR_SETTINGS_DEFAULTS;
2644    var action = arguments.length > 1 ? arguments[1] : undefined;
2645  
2646    switch (action.type) {
2647      case 'UPDATE_EDITOR_SETTINGS':
2648        return reducer_objectSpread(reducer_objectSpread({}, state), action.settings);
2649    }
2650  
2651    return state;
2652  }
2653  /* harmony default export */ var reducer = (Object(external_wp_data_["combineReducers"])({
2654    postId: reducer_postId,
2655    postType: reducer_postType,
2656    preferences: preferences,
2657    saving: saving,
2658    postLock: postLock,
2659    template: reducer_template,
2660    postSavingLock: postSavingLock,
2661    isReady: reducer_isReady,
2662    editorSettings: reducer_editorSettings,
2663    postAutosavingLock: postAutosavingLock
2664  }));
2665  
2666  // EXTERNAL MODULE: ./node_modules/rememo/es/rememo.js
2667  var rememo = __webpack_require__(40);
2668  
2669  // EXTERNAL MODULE: external ["wp","date"]
2670  var external_wp_date_ = __webpack_require__(70);
2671  
2672  // EXTERNAL MODULE: external ["wp","url"]
2673  var external_wp_url_ = __webpack_require__(29);
2674  
2675  // EXTERNAL MODULE: external ["wp","deprecated"]
2676  var external_wp_deprecated_ = __webpack_require__(35);
2677  var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_);
2678  
2679  // EXTERNAL MODULE: external ["wp","primitives"]
2680  var external_wp_primitives_ = __webpack_require__(7);
2681  
2682  // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/footer.js
2683  
2684  
2685  /**
2686   * WordPress dependencies
2687   */
2688  
2689  var footer = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
2690    xmlns: "http://www.w3.org/2000/svg",
2691    viewBox: "0 0 24 24"
2692  }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
2693    fillRule: "evenodd",
2694    d: "M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z"
2695  }));
2696  /* harmony default export */ var library_footer = (footer);
2697  
2698  // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/header.js
2699  
2700  
2701  /**
2702   * WordPress dependencies
2703   */
2704  
2705  var header = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
2706    xmlns: "http://www.w3.org/2000/svg",
2707    viewBox: "0 0 24 24"
2708  }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
2709    d: "M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z"
2710  }));
2711  /* harmony default export */ var library_header = (header);
2712  
2713  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/layout.js
2714  var layout = __webpack_require__(308);
2715  
2716  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/constants.js
2717  /**
2718   * Set of post properties for which edits should assume a merging behavior,
2719   * assuming an object value.
2720   *
2721   * @type {Set}
2722   */
2723  var EDIT_MERGE_PROPERTIES = new Set(['meta']);
2724  /**
2725   * Constant for the store module (or reducer) key.
2726   *
2727   * @type {string}
2728   */
2729  
2730  var STORE_NAME = 'core/editor';
2731  var SAVE_POST_NOTICE_ID = 'SAVE_POST_NOTICE_ID';
2732  var TRASH_POST_NOTICE_ID = 'TRASH_POST_NOTICE_ID';
2733  var PERMALINK_POSTNAME_REGEX = /%(?:postname|pagename)%/;
2734  var ONE_MINUTE_IN_MS = 60 * 1000;
2735  var AUTOSAVE_PROPERTIES = ['title', 'excerpt', 'content'];
2736  
2737  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/utils/url.js
2738  /**
2739   * External dependencies
2740   */
2741  
2742  /**
2743   * WordPress dependencies
2744   */
2745  
2746  
2747  /**
2748   * Returns the URL of a WPAdmin Page.
2749   *
2750   * TODO: This should be moved to a module less specific to the editor.
2751   *
2752   * @param {string} page  Page to navigate to.
2753   * @param {Object} query Query Args.
2754   *
2755   * @return {string} WPAdmin URL.
2756   */
2757  
2758  function getWPAdminURL(page, query) {
2759    return Object(external_wp_url_["addQueryArgs"])(page, query);
2760  }
2761  /**
2762   * Performs some basic cleanup of a string for use as a post slug
2763   *
2764   * This replicates some of what sanitize_title() does in WordPress core, but
2765   * is only designed to approximate what the slug will be.
2766   *
2767   * Converts Latin-1 Supplement and Latin Extended-A letters to basic Latin
2768   * letters. Removes combining diacritical marks. Converts whitespace, periods,
2769   * and forward slashes to hyphens. Removes any remaining non-word characters
2770   * except hyphens. Converts remaining string to lowercase. It does not account
2771   * for octets, HTML entities, or other encoded characters.
2772   *
2773   * @param {string} string Title or slug to be processed
2774   *
2775   * @return {string} Processed string
2776   */
2777  
2778  function cleanForSlug(string) {
2779    if (!string) {
2780      return '';
2781    }
2782  
2783    return Object(external_lodash_["trim"])(Object(external_lodash_["deburr"])(string).replace(/[\s\./]+/g, '-').replace(/[^\w-]+/g, '').toLowerCase(), '-');
2784  }
2785  
2786  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/selectors.js
2787  
2788  
2789  
2790  function selectors_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2791  
2792  function selectors_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { selectors_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { selectors_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2793  
2794  /**
2795   * External dependencies
2796   */
2797  
2798  
2799  /**
2800   * WordPress dependencies
2801   */
2802  
2803  
2804  
2805  
2806  
2807  
2808  
2809  
2810  /**
2811   * Internal dependencies
2812   */
2813  
2814  
2815  
2816  
2817  
2818  /**
2819   * Shared reference to an empty object for cases where it is important to avoid
2820   * returning a new object reference on every invocation, as in a connected or
2821   * other pure component which performs `shouldComponentUpdate` check on props.
2822   * This should be used as a last resort, since the normalized data should be
2823   * maintained by the reducer result in state.
2824   */
2825  
2826  var EMPTY_OBJECT = {};
2827  /**
2828   * Shared reference to an empty array for cases where it is important to avoid
2829   * returning a new array reference on every invocation, as in a connected or
2830   * other pure component which performs `shouldComponentUpdate` check on props.
2831   * This should be used as a last resort, since the normalized data should be
2832   * maintained by the reducer result in state.
2833   */
2834  
2835  var EMPTY_ARRAY = [];
2836  /**
2837   * Returns true if any past editor history snapshots exist, or false otherwise.
2838   *
2839   * @param {Object} state Global application state.
2840   *
2841   * @return {boolean} Whether undo history exists.
2842   */
2843  
2844  var hasEditorUndo = Object(external_wp_data_["createRegistrySelector"])(function (select) {
2845    return function () {
2846      return select('core').hasUndo();
2847    };
2848  });
2849  /**
2850   * Returns true if any future editor history snapshots exist, or false
2851   * otherwise.
2852   *
2853   * @param {Object} state Global application state.
2854   *
2855   * @return {boolean} Whether redo history exists.
2856   */
2857  
2858  var hasEditorRedo = Object(external_wp_data_["createRegistrySelector"])(function (select) {
2859    return function () {
2860      return select('core').hasRedo();
2861    };
2862  });
2863  /**
2864   * Returns true if the currently edited post is yet to be saved, or false if
2865   * the post has been saved.
2866   *
2867   * @param {Object} state Global application state.
2868   *
2869   * @return {boolean} Whether the post is new.
2870   */
2871  
2872  function selectors_isEditedPostNew(state) {
2873    return selectors_getCurrentPost(state).status === 'auto-draft';
2874  }
2875  /**
2876   * Returns true if content includes unsaved changes, or false otherwise.
2877   *
2878   * @param {Object} state Editor state.
2879   *
2880   * @return {boolean} Whether content includes unsaved changes.
2881   */
2882  
2883  function hasChangedContent(state) {
2884    var edits = selectors_getPostEdits(state);
2885    return 'blocks' in edits || // `edits` is intended to contain only values which are different from
2886    // the saved post, so the mere presence of a property is an indicator
2887    // that the value is different than what is known to be saved. While
2888    // content in Visual mode is represented by the blocks state, in Text
2889    // mode it is tracked by `edits.content`.
2890    'content' in edits;
2891  }
2892  /**
2893   * Returns true if there are unsaved values for the current edit session, or
2894   * false if the editing state matches the saved or new post.
2895   *
2896   * @param {Object} state Global application state.
2897   *
2898   * @return {boolean} Whether unsaved values exist.
2899   */
2900  
2901  var selectors_isEditedPostDirty = Object(external_wp_data_["createRegistrySelector"])(function (select) {
2902    return function (state) {
2903      // Edits should contain only fields which differ from the saved post (reset
2904      // at initial load and save complete). Thus, a non-empty edits state can be
2905      // inferred to contain unsaved values.
2906      var postType = selectors_getCurrentPostType(state);
2907      var postId = selectors_getCurrentPostId(state);
2908  
2909      if (select('core').hasEditsForEntityRecord('postType', postType, postId)) {
2910        return true;
2911      }
2912  
2913      return false;
2914    };
2915  });
2916  /**
2917   * Returns true if there are unsaved edits for entities other than
2918   * the editor's post, and false otherwise.
2919   *
2920   * @param {Object} state Global application state.
2921   *
2922   * @return {boolean} Whether there are edits or not.
2923   */
2924  
2925  var selectors_hasNonPostEntityChanges = Object(external_wp_data_["createRegistrySelector"])(function (select) {
2926    return function (state) {
2927      var dirtyEntityRecords = select('core').__experimentalGetDirtyEntityRecords();
2928  
2929      var _getCurrentPost = selectors_getCurrentPost(state),
2930          type = _getCurrentPost.type,
2931          id = _getCurrentPost.id;
2932  
2933      return Object(external_lodash_["some"])(dirtyEntityRecords, function (entityRecord) {
2934        return entityRecord.kind !== 'postType' || entityRecord.name !== type || entityRecord.key !== id;
2935      });
2936    };
2937  });
2938  /**
2939   * Returns true if there are no unsaved values for the current edit session and
2940   * if the currently edited post is new (has never been saved before).
2941   *
2942   * @param {Object} state Global application state.
2943   *
2944   * @return {boolean} Whether new post and unsaved values exist.
2945   */
2946  
2947  function selectors_isCleanNewPost(state) {
2948    return !selectors_isEditedPostDirty(state) && selectors_isEditedPostNew(state);
2949  }
2950  /**
2951   * Returns the post currently being edited in its last known saved state, not
2952   * including unsaved edits. Returns an object containing relevant default post
2953   * values if the post has not yet been saved.
2954   *
2955   * @param {Object} state Global application state.
2956   *
2957   * @return {Object} Post object.
2958   */
2959  
2960  var selectors_getCurrentPost = Object(external_wp_data_["createRegistrySelector"])(function (select) {
2961    return function (state) {
2962      var postId = selectors_getCurrentPostId(state);
2963      var postType = selectors_getCurrentPostType(state);
2964      var post = select('core').getRawEntityRecord('postType', postType, postId);
2965  
2966      if (post) {
2967        return post;
2968      } // This exists for compatibility with the previous selector behavior
2969      // which would guarantee an object return based on the editor reducer's
2970      // default empty object state.
2971  
2972  
2973      return EMPTY_OBJECT;
2974    };
2975  });
2976  /**
2977   * Returns the post type of the post currently being edited.
2978   *
2979   * @param {Object} state Global application state.
2980   *
2981   * @return {string} Post type.
2982   */
2983  
2984  function selectors_getCurrentPostType(state) {
2985    return state.postType;
2986  }
2987  /**
2988   * Returns the ID of the post currently being edited, or null if the post has
2989   * not yet been saved.
2990   *
2991   * @param {Object} state Global application state.
2992   *
2993   * @return {?number} ID of current post.
2994   */
2995  
2996  function selectors_getCurrentPostId(state) {
2997    return state.postId;
2998  }
2999  /**
3000   * Returns the number of revisions of the post currently being edited.
3001   *
3002   * @param {Object} state Global application state.
3003   *
3004   * @return {number} Number of revisions.
3005   */
3006  
3007  function getCurrentPostRevisionsCount(state) {
3008    return Object(external_lodash_["get"])(selectors_getCurrentPost(state), ['_links', 'version-history', 0, 'count'], 0);
3009  }
3010  /**
3011   * Returns the last revision ID of the post currently being edited,
3012   * or null if the post has no revisions.
3013   *
3014   * @param {Object} state Global application state.
3015   *
3016   * @return {?number} ID of the last revision.
3017   */
3018  
3019  function getCurrentPostLastRevisionId(state) {
3020    return Object(external_lodash_["get"])(selectors_getCurrentPost(state), ['_links', 'predecessor-version', 0, 'id'], null);
3021  }
3022  /**
3023   * Returns any post values which have been changed in the editor but not yet
3024   * been saved.
3025   *
3026   * @param {Object} state Global application state.
3027   *
3028   * @return {Object} Object of key value pairs comprising unsaved edits.
3029   */
3030  
3031  var selectors_getPostEdits = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3032    return function (state) {
3033      var postType = selectors_getCurrentPostType(state);
3034      var postId = selectors_getCurrentPostId(state);
3035      return select('core').getEntityRecordEdits('postType', postType, postId) || EMPTY_OBJECT;
3036    };
3037  });
3038  /**
3039   * Returns a new reference when edited values have changed. This is useful in
3040   * inferring where an edit has been made between states by comparison of the
3041   * return values using strict equality.
3042   *
3043   * @deprecated since Gutenberg 6.5.0.
3044   *
3045   * @example
3046   *
3047   * ```
3048   * const hasEditOccurred = (
3049   *    getReferenceByDistinctEdits( beforeState ) !==
3050   *    getReferenceByDistinctEdits( afterState )
3051   * );
3052   * ```
3053   *
3054   * @param {Object} state Editor state.
3055   *
3056   * @return {*} A value whose reference will change only when an edit occurs.
3057   */
3058  
3059  var getReferenceByDistinctEdits = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3060    return function ()
3061    /* state */
3062    {
3063      external_wp_deprecated_default()("`wp.data.select( 'core/editor' ).getReferenceByDistinctEdits`", {
3064        since: '5.4',
3065        alternative: "`wp.data.select( 'core' ).getReferenceByDistinctEdits`"
3066      });
3067      return select('core').getReferenceByDistinctEdits();
3068    };
3069  });
3070  /**
3071   * Returns an attribute value of the saved post.
3072   *
3073   * @param {Object} state         Global application state.
3074   * @param {string} attributeName Post attribute name.
3075   *
3076   * @return {*} Post attribute value.
3077   */
3078  
3079  function selectors_getCurrentPostAttribute(state, attributeName) {
3080    switch (attributeName) {
3081      case 'type':
3082        return selectors_getCurrentPostType(state);
3083  
3084      case 'id':
3085        return selectors_getCurrentPostId(state);
3086  
3087      default:
3088        var post = selectors_getCurrentPost(state);
3089  
3090        if (!post.hasOwnProperty(attributeName)) {
3091          break;
3092        }
3093  
3094        return getPostRawValue(post[attributeName]);
3095    }
3096  }
3097  /**
3098   * Returns a single attribute of the post being edited, preferring the unsaved
3099   * edit if one exists, but merging with the attribute value for the last known
3100   * saved state of the post (this is needed for some nested attributes like meta).
3101   *
3102   * @param {Object} state         Global application state.
3103   * @param {string} attributeName Post attribute name.
3104   *
3105   * @return {*} Post attribute value.
3106   */
3107  
3108  var getNestedEditedPostProperty = function getNestedEditedPostProperty(state, attributeName) {
3109    var edits = selectors_getPostEdits(state);
3110  
3111    if (!edits.hasOwnProperty(attributeName)) {
3112      return selectors_getCurrentPostAttribute(state, attributeName);
3113    }
3114  
3115    return selectors_objectSpread(selectors_objectSpread({}, selectors_getCurrentPostAttribute(state, attributeName)), edits[attributeName]);
3116  };
3117  /**
3118   * Returns a single attribute of the post being edited, preferring the unsaved
3119   * edit if one exists, but falling back to the attribute for the last known
3120   * saved state of the post.
3121   *
3122   * @param {Object} state         Global application state.
3123   * @param {string} attributeName Post attribute name.
3124   *
3125   * @return {*} Post attribute value.
3126   */
3127  
3128  
3129  function selectors_getEditedPostAttribute(state, attributeName) {
3130    // Special cases
3131    switch (attributeName) {
3132      case 'content':
3133        return getEditedPostContent(state);
3134    } // Fall back to saved post value if not edited.
3135  
3136  
3137    var edits = selectors_getPostEdits(state);
3138  
3139    if (!edits.hasOwnProperty(attributeName)) {
3140      return selectors_getCurrentPostAttribute(state, attributeName);
3141    } // Merge properties are objects which contain only the patch edit in state,
3142    // and thus must be merged with the current post attribute.
3143  
3144  
3145    if (EDIT_MERGE_PROPERTIES.has(attributeName)) {
3146      return getNestedEditedPostProperty(state, attributeName);
3147    }
3148  
3149    return edits[attributeName];
3150  }
3151  /**
3152   * Returns an attribute value of the current autosave revision for a post, or
3153   * null if there is no autosave for the post.
3154   *
3155   * @deprecated since 5.6. Callers should use the `getAutosave( postType, postId, userId )` selector
3156   *                from the '@wordpress/core-data' package and access properties on the returned
3157   *                autosave object using getPostRawValue.
3158   *
3159   * @param {Object} state         Global application state.
3160   * @param {string} attributeName Autosave attribute name.
3161   *
3162   * @return {*} Autosave attribute value.
3163   */
3164  
3165  var getAutosaveAttribute = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3166    return function (state, attributeName) {
3167      if (!Object(external_lodash_["includes"])(AUTOSAVE_PROPERTIES, attributeName) && attributeName !== 'preview_link') {
3168        return;
3169      }
3170  
3171      var postType = selectors_getCurrentPostType(state);
3172      var postId = selectors_getCurrentPostId(state);
3173      var currentUserId = Object(external_lodash_["get"])(select('core').getCurrentUser(), ['id']);
3174      var autosave = select('core').getAutosave(postType, postId, currentUserId);
3175  
3176      if (autosave) {
3177        return getPostRawValue(autosave[attributeName]);
3178      }
3179    };
3180  });
3181  /**
3182   * Returns the current visibility of the post being edited, preferring the
3183   * unsaved value if different than the saved post. The return value is one of
3184   * "private", "password", or "public".
3185   *
3186   * @param {Object} state Global application state.
3187   *
3188   * @return {string} Post visibility.
3189   */
3190  
3191  function selectors_getEditedPostVisibility(state) {
3192    var status = selectors_getEditedPostAttribute(state, 'status');
3193  
3194    if (status === 'private') {
3195      return 'private';
3196    }
3197  
3198    var password = selectors_getEditedPostAttribute(state, 'password');
3199  
3200    if (password) {
3201      return 'password';
3202    }
3203  
3204    return 'public';
3205  }
3206  /**
3207   * Returns true if post is pending review.
3208   *
3209   * @param {Object} state Global application state.
3210   *
3211   * @return {boolean} Whether current post is pending review.
3212   */
3213  
3214  function isCurrentPostPending(state) {
3215    return selectors_getCurrentPost(state).status === 'pending';
3216  }
3217  /**
3218   * Return true if the current post has already been published.
3219   *
3220   * @param {Object}  state       Global application state.
3221   * @param {Object?} currentPost Explicit current post for bypassing registry selector.
3222   *
3223   * @return {boolean} Whether the post has been published.
3224   */
3225  
3226  function selectors_isCurrentPostPublished(state, currentPost) {
3227    var post = currentPost || selectors_getCurrentPost(state);
3228    return ['publish', 'private'].indexOf(post.status) !== -1 || post.status === 'future' && !Object(external_wp_date_["isInTheFuture"])(new Date(Number(Object(external_wp_date_["getDate"])(post.date)) - ONE_MINUTE_IN_MS));
3229  }
3230  /**
3231   * Returns true if post is already scheduled.
3232   *
3233   * @param {Object} state Global application state.
3234   *
3235   * @return {boolean} Whether current post is scheduled to be posted.
3236   */
3237  
3238  function selectors_isCurrentPostScheduled(state) {
3239    return selectors_getCurrentPost(state).status === 'future' && !selectors_isCurrentPostPublished(state);
3240  }
3241  /**
3242   * Return true if the post being edited can be published.
3243   *
3244   * @param {Object} state Global application state.
3245   *
3246   * @return {boolean} Whether the post can been published.
3247   */
3248  
3249  function selectors_isEditedPostPublishable(state) {
3250    var post = selectors_getCurrentPost(state); // TODO: Post being publishable should be superset of condition of post
3251    // being saveable. Currently this restriction is imposed at UI.
3252    //
3253    //  See: <PostPublishButton /> (`isButtonEnabled` assigned by `isSaveable`)
3254  
3255    return selectors_isEditedPostDirty(state) || ['publish', 'private', 'future'].indexOf(post.status) === -1;
3256  }
3257  /**
3258   * Returns true if the post can be saved, or false otherwise. A post must
3259   * contain a title, an excerpt, or non-empty content to be valid for save.
3260   *
3261   * @param {Object} state Global application state.
3262   *
3263   * @return {boolean} Whether the post can be saved.
3264   */
3265  
3266  function selectors_isEditedPostSaveable(state) {
3267    if (selectors_isSavingPost(state)) {
3268      return false;
3269    } // TODO: Post should not be saveable if not dirty. Cannot be added here at
3270    // this time since posts where meta boxes are present can be saved even if
3271    // the post is not dirty. Currently this restriction is imposed at UI, but
3272    // should be moved here.
3273    //
3274    //  See: `isEditedPostPublishable` (includes `isEditedPostDirty` condition)
3275    //  See: <PostSavedState /> (`forceIsDirty` prop)
3276    //  See: <PostPublishButton /> (`forceIsDirty` prop)
3277    //  See: https://github.com/WordPress/gutenberg/pull/4184
3278  
3279  
3280    return !!selectors_getEditedPostAttribute(state, 'title') || !!selectors_getEditedPostAttribute(state, 'excerpt') || !isEditedPostEmpty(state) || external_wp_element_["Platform"].OS === 'native';
3281  }
3282  /**
3283   * Returns true if the edited post has content. A post has content if it has at
3284   * least one saveable block or otherwise has a non-empty content property
3285   * assigned.
3286   *
3287   * @param {Object} state Global application state.
3288   *
3289   * @return {boolean} Whether post has content.
3290   */
3291  
3292  function isEditedPostEmpty(state) {
3293    // While the condition of truthy content string is sufficient to determine
3294    // emptiness, testing saveable blocks length is a trivial operation. Since
3295    // this function can be called frequently, optimize for the fast case as a
3296    // condition of the mere existence of blocks. Note that the value of edited
3297    // content takes precedent over block content, and must fall through to the
3298    // default logic.
3299    var blocks = getEditorBlocks(state);
3300  
3301    if (blocks.length) {
3302      // Pierce the abstraction of the serializer in knowing that blocks are
3303      // joined with with newlines such that even if every individual block
3304      // produces an empty save result, the serialized content is non-empty.
3305      if (blocks.length > 1) {
3306        return false;
3307      } // There are two conditions under which the optimization cannot be
3308      // assumed, and a fallthrough to getEditedPostContent must occur:
3309      //
3310      // 1. getBlocksForSerialization has special treatment in omitting a
3311      //    single unmodified default block.
3312      // 2. Comment delimiters are omitted for a freeform or unregistered
3313      //    block in its serialization. The freeform block specifically may
3314      //    produce an empty string in its saved output.
3315      //
3316      // For all other content, the single block is assumed to make a post
3317      // non-empty, if only by virtue of its own comment delimiters.
3318  
3319  
3320      var blockName = blocks[0].name;
3321  
3322      if (blockName !== Object(external_wp_blocks_["getDefaultBlockName"])() && blockName !== Object(external_wp_blocks_["getFreeformContentHandlerName"])()) {
3323        return false;
3324      }
3325    }
3326  
3327    return !getEditedPostContent(state);
3328  }
3329  /**
3330   * Returns true if the post can be autosaved, or false otherwise.
3331   *
3332   * @param {Object} state    Global application state.
3333   * @param {Object} autosave A raw autosave object from the REST API.
3334   *
3335   * @return {boolean} Whether the post can be autosaved.
3336   */
3337  
3338  var selectors_isEditedPostAutosaveable = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3339    return function (state) {
3340      // A post must contain a title, an excerpt, or non-empty content to be valid for autosaving.
3341      if (!selectors_isEditedPostSaveable(state)) {
3342        return false;
3343      } // A post is not autosavable when there is a post autosave lock.
3344  
3345  
3346      if (isPostAutosavingLocked(state)) {
3347        return false;
3348      }
3349  
3350      var postType = selectors_getCurrentPostType(state);
3351      var postId = selectors_getCurrentPostId(state);
3352      var hasFetchedAutosave = select('core').hasFetchedAutosaves(postType, postId);
3353      var currentUserId = Object(external_lodash_["get"])(select('core').getCurrentUser(), ['id']); // Disable reason - this line causes the side-effect of fetching the autosave
3354      // via a resolver, moving below the return would result in the autosave never
3355      // being fetched.
3356      // eslint-disable-next-line @wordpress/no-unused-vars-before-return
3357  
3358      var autosave = select('core').getAutosave(postType, postId, currentUserId); // If any existing autosaves have not yet been fetched, this function is
3359      // unable to determine if the post is autosaveable, so return false.
3360  
3361      if (!hasFetchedAutosave) {
3362        return false;
3363      } // If we don't already have an autosave, the post is autosaveable.
3364  
3365  
3366      if (!autosave) {
3367        return true;
3368      } // To avoid an expensive content serialization, use the content dirtiness
3369      // flag in place of content field comparison against the known autosave.
3370      // This is not strictly accurate, and relies on a tolerance toward autosave
3371      // request failures for unnecessary saves.
3372  
3373  
3374      if (hasChangedContent(state)) {
3375        return true;
3376      } // If the title or excerpt has changed, the post is autosaveable.
3377  
3378  
3379      return ['title', 'excerpt'].some(function (field) {
3380        return getPostRawValue(autosave[field]) !== selectors_getEditedPostAttribute(state, field);
3381      });
3382    };
3383  });
3384  /**
3385   * Returns the current autosave, or null if one is not set (i.e. if the post
3386   * has yet to be autosaved, or has been saved or published since the last
3387   * autosave).
3388   *
3389   * @deprecated since 5.6. Callers should use the `getAutosave( postType, postId, userId )`
3390   *                selector from the '@wordpress/core-data' package.
3391   *
3392   * @param {Object} state Editor state.
3393   *
3394   * @return {?Object} Current autosave, if exists.
3395   */
3396  
3397  var getAutosave = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3398    return function (state) {
3399      external_wp_deprecated_default()("`wp.data.select( 'core/editor' ).getAutosave()`", {
3400        since: '5.3',
3401        alternative: "`wp.data.select( 'core' ).getAutosave( postType, postId, userId )`"
3402      });
3403      var postType = selectors_getCurrentPostType(state);
3404      var postId = selectors_getCurrentPostId(state);
3405      var currentUserId = Object(external_lodash_["get"])(select('core').getCurrentUser(), ['id']);
3406      var autosave = select('core').getAutosave(postType, postId, currentUserId);
3407      return Object(external_lodash_["mapValues"])(Object(external_lodash_["pick"])(autosave, AUTOSAVE_PROPERTIES), getPostRawValue);
3408    };
3409  });
3410  /**
3411   * Returns the true if there is an existing autosave, otherwise false.
3412   *
3413   * @deprecated since 5.6. Callers should use the `getAutosave( postType, postId, userId )` selector
3414   *             from the '@wordpress/core-data' package and check for a truthy value.
3415   *
3416   * @param {Object} state Global application state.
3417   *
3418   * @return {boolean} Whether there is an existing autosave.
3419   */
3420  
3421  var hasAutosave = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3422    return function (state) {
3423      external_wp_deprecated_default()("`wp.data.select( 'core/editor' ).hasAutosave()`", {
3424        since: '5.3',
3425        alternative: "`!! wp.data.select( 'core' ).getAutosave( postType, postId, userId )`"
3426      });
3427      var postType = selectors_getCurrentPostType(state);
3428      var postId = selectors_getCurrentPostId(state);
3429      var currentUserId = Object(external_lodash_["get"])(select('core').getCurrentUser(), ['id']);
3430      return !!select('core').getAutosave(postType, postId, currentUserId);
3431    };
3432  });
3433  /**
3434   * Return true if the post being edited is being scheduled. Preferring the
3435   * unsaved status values.
3436   *
3437   * @param {Object} state Global application state.
3438   *
3439   * @return {boolean} Whether the post has been published.
3440   */
3441  
3442  function selectors_isEditedPostBeingScheduled(state) {
3443    var date = selectors_getEditedPostAttribute(state, 'date'); // Offset the date by one minute (network latency)
3444  
3445    var checkedDate = new Date(Number(Object(external_wp_date_["getDate"])(date)) - ONE_MINUTE_IN_MS);
3446    return Object(external_wp_date_["isInTheFuture"])(checkedDate);
3447  }
3448  /**
3449   * Returns whether the current post should be considered to have a "floating"
3450   * date (i.e. that it would publish "Immediately" rather than at a set time).
3451   *
3452   * Unlike in the PHP backend, the REST API returns a full date string for posts
3453   * where the 0000-00-00T00:00:00 placeholder is present in the database. To
3454   * infer that a post is set to publish "Immediately" we check whether the date
3455   * and modified date are the same.
3456   *
3457   * @param {Object} state Editor state.
3458   *
3459   * @return {boolean} Whether the edited post has a floating date value.
3460   */
3461  
3462  function isEditedPostDateFloating(state) {
3463    var date = selectors_getEditedPostAttribute(state, 'date');
3464    var modified = selectors_getEditedPostAttribute(state, 'modified'); // This should be the status of the persisted post
3465    // It shouldn't use the "edited" status otherwise it breaks the
3466    // infered post data floating status
3467    // See https://github.com/WordPress/gutenberg/issues/28083
3468  
3469    var status = selectors_getCurrentPost(state).status;
3470  
3471    if (status === 'draft' || status === 'auto-draft' || status === 'pending') {
3472      return date === modified || date === null;
3473    }
3474  
3475    return false;
3476  }
3477  /**
3478   * Returns true if the post is currently being saved, or false otherwise.
3479   *
3480   * @param {Object} state Global application state.
3481   *
3482   * @return {boolean} Whether post is being saved.
3483   */
3484  
3485  var selectors_isSavingPost = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3486    return function (state) {
3487      var postType = selectors_getCurrentPostType(state);
3488      var postId = selectors_getCurrentPostId(state);
3489      return select('core').isSavingEntityRecord('postType', postType, postId);
3490    };
3491  });
3492  /**
3493   * Returns true if a previous post save was attempted successfully, or false
3494   * otherwise.
3495   *
3496   * @param {Object} state Global application state.
3497   *
3498   * @return {boolean} Whether the post was saved successfully.
3499   */
3500  
3501  var didPostSaveRequestSucceed = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3502    return function (state) {
3503      var postType = selectors_getCurrentPostType(state);
3504      var postId = selectors_getCurrentPostId(state);
3505      return !select('core').getLastEntitySaveError('postType', postType, postId);
3506    };
3507  });
3508  /**
3509   * Returns true if a previous post save was attempted but failed, or false
3510   * otherwise.
3511   *
3512   * @param {Object} state Global application state.
3513   *
3514   * @return {boolean} Whether the post save failed.
3515   */
3516  
3517  var didPostSaveRequestFail = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3518    return function (state) {
3519      var postType = selectors_getCurrentPostType(state);
3520      var postId = selectors_getCurrentPostId(state);
3521      return !!select('core').getLastEntitySaveError('postType', postType, postId);
3522    };
3523  });
3524  /**
3525   * Returns true if the post is autosaving, or false otherwise.
3526   *
3527   * @param {Object} state Global application state.
3528   *
3529   * @return {boolean} Whether the post is autosaving.
3530   */
3531  
3532  function selectors_isAutosavingPost(state) {
3533    if (!selectors_isSavingPost(state)) {
3534      return false;
3535    }
3536  
3537    return !!Object(external_lodash_["get"])(state.saving, ['options', 'isAutosave']);
3538  }
3539  /**
3540   * Returns true if the post is being previewed, or false otherwise.
3541   *
3542   * @param {Object} state Global application state.
3543   *
3544   * @return {boolean} Whether the post is being previewed.
3545   */
3546  
3547  function isPreviewingPost(state) {
3548    if (!selectors_isSavingPost(state)) {
3549      return false;
3550    }
3551  
3552    return !!state.saving.options.isPreview;
3553  }
3554  /**
3555   * Returns the post preview link
3556   *
3557   * @param {Object} state Global application state.
3558   *
3559   * @return {string?} Preview Link.
3560   */
3561  
3562  function selectors_getEditedPostPreviewLink(state) {
3563    if (state.saving.pending || selectors_isSavingPost(state)) {
3564      return;
3565    }
3566  
3567    var previewLink = getAutosaveAttribute(state, 'preview_link');
3568  
3569    if (!previewLink) {
3570      previewLink = selectors_getEditedPostAttribute(state, 'link');
3571  
3572      if (previewLink) {
3573        previewLink = Object(external_wp_url_["addQueryArgs"])(previewLink, {
3574          preview: true
3575        });
3576      }
3577    }
3578  
3579    var featuredImageId = selectors_getEditedPostAttribute(state, 'featured_media');
3580  
3581    if (previewLink && featuredImageId) {
3582      return Object(external_wp_url_["addQueryArgs"])(previewLink, {
3583        _thumbnail_id: featuredImageId
3584      });
3585    }
3586  
3587    return previewLink;
3588  }
3589  /**
3590   * Returns a suggested post format for the current post, inferred only if there
3591   * is a single block within the post and it is of a type known to match a
3592   * default post format. Returns null if the format cannot be determined.
3593   *
3594   * @param {Object} state Global application state.
3595   *
3596   * @return {?string} Suggested post format.
3597   */
3598  
3599  function selectors_getSuggestedPostFormat(state) {
3600    var blocks = getEditorBlocks(state);
3601    if (blocks.length > 2) return null;
3602    var name; // If there is only one block in the content of the post grab its name
3603    // so we can derive a suitable post format from it.
3604  
3605    if (blocks.length === 1) {
3606      name = blocks[0].name; // check for core/embed `video` and `audio` eligible suggestions
3607  
3608      if (name === 'core/embed') {
3609        var _blocks$0$attributes;
3610  
3611        var provider = (_blocks$0$attributes = blocks[0].attributes) === null || _blocks$0$attributes === void 0 ? void 0 : _blocks$0$attributes.providerNameSlug;
3612  
3613        if (['youtube', 'vimeo'].includes(provider)) {
3614          name = 'core/video';
3615        } else if (['spotify', 'soundcloud'].includes(provider)) {
3616          name = 'core/audio';
3617        }
3618      }
3619    } // If there are two blocks in the content and the last one is a text blocks
3620    // grab the name of the first one to also suggest a post format from it.
3621  
3622  
3623    if (blocks.length === 2 && blocks[1].name === 'core/paragraph') {
3624      name = blocks[0].name;
3625    } // We only convert to default post formats in core.
3626  
3627  
3628    switch (name) {
3629      case 'core/image':
3630        return 'image';
3631  
3632      case 'core/quote':
3633      case 'core/pullquote':
3634        return 'quote';
3635  
3636      case 'core/gallery':
3637        return 'gallery';
3638  
3639      case 'core/video':
3640        return 'video';
3641  
3642      case 'core/audio':
3643        return 'audio';
3644  
3645      default:
3646        return null;
3647    }
3648  }
3649  /**
3650   * Returns a set of blocks which are to be used in consideration of the post's
3651   * generated save content.
3652   *
3653   * @deprecated since Gutenberg 6.2.0.
3654   *
3655   * @param {Object} state Editor state.
3656   *
3657   * @return {WPBlock[]} Filtered set of blocks for save.
3658   */
3659  
3660  function getBlocksForSerialization(state) {
3661    external_wp_deprecated_default()('`core/editor` getBlocksForSerialization selector', {
3662      since: '5.3',
3663      alternative: 'getEditorBlocks',
3664      hint: 'Blocks serialization pre-processing occurs at save time'
3665    });
3666    var blocks = state.editor.present.blocks.value; // WARNING: Any changes to the logic of this function should be verified
3667    // against the implementation of isEditedPostEmpty, which bypasses this
3668    // function for performance' sake, in an assumption of this current logic
3669    // being irrelevant to the optimized condition of emptiness.
3670    // A single unmodified default block is assumed to be equivalent to an
3671    // empty post.
3672  
3673    var isSingleUnmodifiedDefaultBlock = blocks.length === 1 && Object(external_wp_blocks_["isUnmodifiedDefaultBlock"])(blocks[0]);
3674  
3675    if (isSingleUnmodifiedDefaultBlock) {
3676      return [];
3677    }
3678  
3679    return blocks;
3680  }
3681  /**
3682   * Returns the content of the post being edited.
3683   *
3684   * @param {Object} state Global application state.
3685   *
3686   * @return {string} Post content.
3687   */
3688  
3689  var getEditedPostContent = Object(external_wp_data_["createRegistrySelector"])(function (select) {
3690    return function (state) {
3691      var postId = selectors_getCurrentPostId(state);
3692      var postType = selectors_getCurrentPostType(state);
3693      var record = select('core').getEditedEntityRecord('postType', postType, postId);
3694  
3695      if (record) {
3696        if (typeof record.content === 'function') {
3697          return record.content(record);
3698        } else if (record.blocks) {
3699          return Object(external_wp_blocks_["__unstableSerializeAndClean"])(record.blocks);
3700        } else if (record.content) {
3701          return record.content;
3702        }
3703      }
3704  
3705      return '';
3706    };
3707  });
3708  /**
3709   * Returns true if the post is being published, or false otherwise.
3710   *
3711   * @param {Object} state Global application state.
3712   *
3713   * @return {boolean} Whether post is being published.
3714   */
3715  
3716  function selectors_isPublishingPost(state) {
3717    return selectors_isSavingPost(state) && !selectors_isCurrentPostPublished(state) && selectors_getEditedPostAttribute(state, 'status') === 'publish';
3718  }
3719  /**
3720   * Returns whether the permalink is editable or not.
3721   *
3722   * @param {Object} state Editor state.
3723   *
3724   * @return {boolean} Whether or not the permalink is editable.
3725   */
3726  
3727  function isPermalinkEditable(state) {
3728    var permalinkTemplate = selectors_getEditedPostAttribute(state, 'permalink_template');
3729    return PERMALINK_POSTNAME_REGEX.test(permalinkTemplate);
3730  }
3731  /**
3732   * Returns the permalink for the post.
3733   *
3734   * @param {Object} state Editor state.
3735   *
3736   * @return {?string} The permalink, or null if the post is not viewable.
3737   */
3738  
3739  function getPermalink(state) {
3740    var permalinkParts = getPermalinkParts(state);
3741  
3742    if (!permalinkParts) {
3743      return null;
3744    }
3745  
3746    var prefix = permalinkParts.prefix,
3747        postName = permalinkParts.postName,
3748        suffix = permalinkParts.suffix;
3749  
3750    if (isPermalinkEditable(state)) {
3751      return prefix + postName + suffix;
3752    }
3753  
3754    return prefix;
3755  }
3756  /**
3757   * Returns the slug for the post being edited, preferring a manually edited
3758   * value if one exists, then a sanitized version of the current post title, and
3759   * finally the post ID.
3760   *
3761   * @param {Object} state Editor state.
3762   *
3763   * @return {string} The current slug to be displayed in the editor
3764   */
3765  
3766  function getEditedPostSlug(state) {
3767    return selectors_getEditedPostAttribute(state, 'slug') || cleanForSlug(selectors_getEditedPostAttribute(state, 'title')) || selectors_getCurrentPostId(state);
3768  }
3769  /**
3770   * Returns the permalink for a post, split into it's three parts: the prefix,
3771   * the postName, and the suffix.
3772   *
3773   * @param {Object} state Editor state.
3774   *
3775   * @return {Object} An object containing the prefix, postName, and suffix for
3776   *                  the permalink, or null if the post is not viewable.
3777   */
3778  
3779  function getPermalinkParts(state) {
3780    var permalinkTemplate = selectors_getEditedPostAttribute(state, 'permalink_template');
3781  
3782    if (!permalinkTemplate) {
3783      return null;
3784    }
3785  
3786    var postName = selectors_getEditedPostAttribute(state, 'slug') || selectors_getEditedPostAttribute(state, 'generated_slug');
3787  
3788    var _permalinkTemplate$sp = permalinkTemplate.split(PERMALINK_POSTNAME_REGEX),
3789        _permalinkTemplate$sp2 = Object(slicedToArray["a" /* default */])(_permalinkTemplate$sp, 2),
3790        prefix = _permalinkTemplate$sp2[0],
3791        suffix = _permalinkTemplate$sp2[1];
3792  
3793    return {
3794      prefix: prefix,
3795      postName: postName,
3796      suffix: suffix
3797    };
3798  }
3799  /**
3800   * Returns whether the post is locked.
3801   *
3802   * @param {Object} state Global application state.
3803   *
3804   * @return {boolean} Is locked.
3805   */
3806  
3807  function isPostLocked(state) {
3808    return state.postLock.isLocked;
3809  }
3810  /**
3811   * Returns whether post saving is locked.
3812   *
3813   * @param {Object} state Global application state.
3814   *
3815   * @return {boolean} Is locked.
3816   */
3817  
3818  function selectors_isPostSavingLocked(state) {
3819    return Object.keys(state.postSavingLock).length > 0;
3820  }
3821  /**
3822   * Returns whether post autosaving is locked.
3823   *
3824   * @param {Object} state Global application state.
3825   *
3826   * @return {boolean} Is locked.
3827   */
3828  
3829  function isPostAutosavingLocked(state) {
3830    return Object.keys(state.postAutosavingLock).length > 0;
3831  }
3832  /**
3833   * Returns whether the edition of the post has been taken over.
3834   *
3835   * @param {Object} state Global application state.
3836   *
3837   * @return {boolean} Is post lock takeover.
3838   */
3839  
3840  function isPostLockTakeover(state) {
3841    return state.postLock.isTakeover;
3842  }
3843  /**
3844   * Returns details about the post lock user.
3845   *
3846   * @param {Object} state Global application state.
3847   *
3848   * @return {Object} A user object.
3849   */
3850  
3851  function getPostLockUser(state) {
3852    return state.postLock.user;
3853  }
3854  /**
3855   * Returns the active post lock.
3856   *
3857   * @param {Object} state Global application state.
3858   *
3859   * @return {Object} The lock object.
3860   */
3861  
3862  function getActivePostLock(state) {
3863    return state.postLock.activePostLock;
3864  }
3865  /**
3866   * Returns whether or not the user has the unfiltered_html capability.
3867   *
3868   * @param {Object} state Editor state.
3869   *
3870   * @return {boolean} Whether the user can or can't post unfiltered HTML.
3871   */
3872  
3873  function selectors_canUserUseUnfilteredHTML(state) {
3874    return Object(external_lodash_["has"])(selectors_getCurrentPost(state), ['_links', 'wp:action-unfiltered-html']);
3875  }
3876  /**
3877   * Returns whether the pre-publish panel should be shown
3878   * or skipped when the user clicks the "publish" button.
3879   *
3880   * @param {Object} state Global application state.
3881   *
3882   * @return {boolean} Whether the pre-publish panel should be shown or not.
3883   */
3884  
3885  function selectors_isPublishSidebarEnabled(state) {
3886    if (state.preferences.hasOwnProperty('isPublishSidebarEnabled')) {
3887      return state.preferences.isPublishSidebarEnabled;
3888    }
3889  
3890    return PREFERENCES_DEFAULTS.isPublishSidebarEnabled;
3891  }
3892  /**
3893   * Return the current block list.
3894   *
3895   * @param {Object} state
3896   * @return {Array} Block list.
3897   */
3898  
3899  function getEditorBlocks(state) {
3900    return selectors_getEditedPostAttribute(state, 'blocks') || EMPTY_ARRAY;
3901  }
3902  /**
3903   * A block selection object.
3904   *
3905   * @typedef {Object} WPBlockSelection
3906   *
3907   * @property {string} clientId     A block client ID.
3908   * @property {string} attributeKey A block attribute key.
3909   * @property {number} offset       An attribute value offset, based on the rich
3910   *                                 text value. See `wp.richText.create`.
3911   */
3912  
3913  /**
3914   * Returns the current selection start.
3915   *
3916   * @param {Object} state
3917   * @return {WPBlockSelection} The selection start.
3918   *
3919   * @deprecated since Gutenberg 10.0.0.
3920   */
3921  
3922  function getEditorSelectionStart(state) {
3923    var _getEditedPostAttribu;
3924  
3925    external_wp_deprecated_default()("select('core/editor').getEditorSelectionStart", {
3926      since: '10.0',
3927      plugin: 'Gutenberg',
3928      alternative: "select('core/editor').getEditorSelection"
3929    });
3930    return (_getEditedPostAttribu = selectors_getEditedPostAttribute(state, 'selection')) === null || _getEditedPostAttribu === void 0 ? void 0 : _getEditedPostAttribu.selectionStart;
3931  }
3932  /**
3933   * Returns the current selection end.
3934   *
3935   * @param {Object} state
3936   * @return {WPBlockSelection} The selection end.
3937   *
3938   * @deprecated since Gutenberg 10.0.0.
3939   */
3940  
3941  function getEditorSelectionEnd(state) {
3942    var _getEditedPostAttribu2;
3943  
3944    external_wp_deprecated_default()("select('core/editor').getEditorSelectionStart", {
3945      since: '10.0',
3946      plugin: 'Gutenberg',
3947      alternative: "select('core/editor').getEditorSelection"
3948    });
3949    return (_getEditedPostAttribu2 = selectors_getEditedPostAttribute(state, 'selection')) === null || _getEditedPostAttribu2 === void 0 ? void 0 : _getEditedPostAttribu2.selectionEnd;
3950  }
3951  /**
3952   * Returns the current selection.
3953   *
3954   * @param {Object} state
3955   * @return {WPBlockSelection} The selection end.
3956   */
3957  
3958  function selectors_getEditorSelection(state) {
3959    return selectors_getEditedPostAttribute(state, 'selection');
3960  }
3961  /**
3962   * Is the editor ready
3963   *
3964   * @param {Object} state
3965   * @return {boolean} is Ready.
3966   */
3967  
3968  function selectors_unstableIsEditorReady(state) {
3969    return state.isReady;
3970  }
3971  /**
3972   * Returns the post editor settings.
3973   *
3974   * @param {Object} state Editor state.
3975   *
3976   * @return {Object} The editor settings object.
3977   */
3978  
3979  function selectors_getEditorSettings(state) {
3980    return state.editorSettings;
3981  }
3982  /*
3983   * Backward compatibility
3984   */
3985  
3986  /**
3987   * Returns state object prior to a specified optimist transaction ID, or `null`
3988   * if the transaction corresponding to the given ID cannot be found.
3989   *
3990   * @deprecated since Gutenberg 9.7.0.
3991   */
3992  
3993  function getStateBeforeOptimisticTransaction() {
3994    external_wp_deprecated_default()("select('core/editor').getStateBeforeOptimisticTransaction", {
3995      since: '5.7',
3996      hint: 'No state history is kept on this store anymore'
3997    });
3998    return null;
3999  }
4000  /**
4001   * Returns true if an optimistic transaction is pending commit, for which the
4002   * before state satisfies the given predicate function.
4003   *
4004   * @deprecated since Gutenberg 9.7.0.
4005   */
4006  
4007  function inSomeHistory() {
4008    external_wp_deprecated_default()("select('core/editor').inSomeHistory", {
4009      since: '5.7',
4010      hint: 'No state history is kept on this store anymore'
4011    });
4012    return false;
4013  }
4014  
4015  function getBlockEditorSelector(name) {
4016    return Object(external_wp_data_["createRegistrySelector"])(function (select) {
4017      return function (state) {
4018        var _select;
4019  
4020        external_wp_deprecated_default()("`wp.data.select( 'core/editor' )." + name + '`', {
4021          since: '5.3',
4022          alternative: "`wp.data.select( 'core/block-editor' )." + name + '`'
4023        });
4024  
4025        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4026          args[_key - 1] = arguments[_key];
4027        }
4028  
4029        return (_select = select('core/block-editor'))[name].apply(_select, args);
4030      };
4031    });
4032  }
4033  /**
4034   * @see getBlockName in core/block-editor store.
4035   */
4036  
4037  
4038  var getBlockName = getBlockEditorSelector('getBlockName');
4039  /**
4040   * @see isBlockValid in core/block-editor store.
4041   */
4042  
4043  var isBlockValid = getBlockEditorSelector('isBlockValid');
4044  /**
4045   * @see getBlockAttributes in core/block-editor store.
4046   */
4047  
4048  var getBlockAttributes = getBlockEditorSelector('getBlockAttributes');
4049  /**
4050   * @see getBlock in core/block-editor store.
4051   */
4052  
4053  var getBlock = getBlockEditorSelector('getBlock');
4054  /**
4055   * @see getBlocks in core/block-editor store.
4056   */
4057  
4058  var selectors_getBlocks = getBlockEditorSelector('getBlocks');
4059  /**
4060   * @see __unstableGetBlockWithoutInnerBlocks in core/block-editor store.
4061   */
4062  
4063  var __unstableGetBlockWithoutInnerBlocks = getBlockEditorSelector('__unstableGetBlockWithoutInnerBlocks');
4064  /**
4065   * @see getClientIdsOfDescendants in core/block-editor store.
4066   */
4067  
4068  var getClientIdsOfDescendants = getBlockEditorSelector('getClientIdsOfDescendants');
4069  /**
4070   * @see getClientIdsWithDescendants in core/block-editor store.
4071   */
4072  
4073  var getClientIdsWithDescendants = getBlockEditorSelector('getClientIdsWithDescendants');
4074  /**
4075   * @see getGlobalBlockCount in core/block-editor store.
4076   */
4077  
4078  var getGlobalBlockCount = getBlockEditorSelector('getGlobalBlockCount');
4079  /**
4080   * @see getBlocksByClientId in core/block-editor store.
4081   */
4082  
4083  var getBlocksByClientId = getBlockEditorSelector('getBlocksByClientId');
4084  /**
4085   * @see getBlockCount in core/block-editor store.
4086   */
4087  
4088  var getBlockCount = getBlockEditorSelector('getBlockCount');
4089  /**
4090   * @see getBlockSelectionStart in core/block-editor store.
4091   */
4092  
4093  var getBlockSelectionStart = getBlockEditorSelector('getBlockSelectionStart');
4094  /**
4095   * @see getBlockSelectionEnd in core/block-editor store.
4096   */
4097  
4098  var getBlockSelectionEnd = getBlockEditorSelector('getBlockSelectionEnd');
4099  /**
4100   * @see getSelectedBlockCount in core/block-editor store.
4101   */
4102  
4103  var getSelectedBlockCount = getBlockEditorSelector('getSelectedBlockCount');
4104  /**
4105   * @see hasSelectedBlock in core/block-editor store.
4106   */
4107  
4108  var hasSelectedBlock = getBlockEditorSelector('hasSelectedBlock');
4109  /**
4110   * @see getSelectedBlockClientId in core/block-editor store.
4111   */
4112  
4113  var getSelectedBlockClientId = getBlockEditorSelector('getSelectedBlockClientId');
4114  /**
4115   * @see getSelectedBlock in core/block-editor store.
4116   */
4117  
4118  var getSelectedBlock = getBlockEditorSelector('getSelectedBlock');
4119  /**
4120   * @see getBlockRootClientId in core/block-editor store.
4121   */
4122  
4123  var getBlockRootClientId = getBlockEditorSelector('getBlockRootClientId');
4124  /**
4125   * @see getBlockHierarchyRootClientId in core/block-editor store.
4126   */
4127  
4128  var getBlockHierarchyRootClientId = getBlockEditorSelector('getBlockHierarchyRootClientId');
4129  /**
4130   * @see getAdjacentBlockClientId in core/block-editor store.
4131   */
4132  
4133  var getAdjacentBlockClientId = getBlockEditorSelector('getAdjacentBlockClientId');
4134  /**
4135   * @see getPreviousBlockClientId in core/block-editor store.
4136   */
4137  
4138  var getPreviousBlockClientId = getBlockEditorSelector('getPreviousBlockClientId');
4139  /**
4140   * @see getNextBlockClientId in core/block-editor store.
4141   */
4142  
4143  var getNextBlockClientId = getBlockEditorSelector('getNextBlockClientId');
4144  /**
4145   * @see getSelectedBlocksInitialCaretPosition in core/block-editor store.
4146   */
4147  
4148  var getSelectedBlocksInitialCaretPosition = getBlockEditorSelector('getSelectedBlocksInitialCaretPosition');
4149  /**
4150   * @see getMultiSelectedBlockClientIds in core/block-editor store.
4151   */
4152  
4153  var getMultiSelectedBlockClientIds = getBlockEditorSelector('getMultiSelectedBlockClientIds');
4154  /**
4155   * @see getMultiSelectedBlocks in core/block-editor store.
4156   */
4157  
4158  var getMultiSelectedBlocks = getBlockEditorSelector('getMultiSelectedBlocks');
4159  /**
4160   * @see getFirstMultiSelectedBlockClientId in core/block-editor store.
4161   */
4162  
4163  var getFirstMultiSelectedBlockClientId = getBlockEditorSelector('getFirstMultiSelectedBlockClientId');
4164  /**
4165   * @see getLastMultiSelectedBlockClientId in core/block-editor store.
4166   */
4167  
4168  var getLastMultiSelectedBlockClientId = getBlockEditorSelector('getLastMultiSelectedBlockClientId');
4169  /**
4170   * @see isFirstMultiSelectedBlock in core/block-editor store.
4171   */
4172  
4173  var isFirstMultiSelectedBlock = getBlockEditorSelector('isFirstMultiSelectedBlock');
4174  /**
4175   * @see isBlockMultiSelected in core/block-editor store.
4176   */
4177  
4178  var isBlockMultiSelected = getBlockEditorSelector('isBlockMultiSelected');
4179  /**
4180   * @see isAncestorMultiSelected in core/block-editor store.
4181   */
4182  
4183  var isAncestorMultiSelected = getBlockEditorSelector('isAncestorMultiSelected');
4184  /**
4185   * @see getMultiSelectedBlocksStartClientId in core/block-editor store.
4186   */
4187  
4188  var getMultiSelectedBlocksStartClientId = getBlockEditorSelector('getMultiSelectedBlocksStartClientId');
4189  /**
4190   * @see getMultiSelectedBlocksEndClientId in core/block-editor store.
4191   */
4192  
4193  var getMultiSelectedBlocksEndClientId = getBlockEditorSelector('getMultiSelectedBlocksEndClientId');
4194  /**
4195   * @see getBlockOrder in core/block-editor store.
4196   */
4197  
4198  var getBlockOrder = getBlockEditorSelector('getBlockOrder');
4199  /**
4200   * @see getBlockIndex in core/block-editor store.
4201   */
4202  
4203  var getBlockIndex = getBlockEditorSelector('getBlockIndex');
4204  /**
4205   * @see isBlockSelected in core/block-editor store.
4206   */
4207  
4208  var isBlockSelected = getBlockEditorSelector('isBlockSelected');
4209  /**
4210   * @see hasSelectedInnerBlock in core/block-editor store.
4211   */
4212  
4213  var hasSelectedInnerBlock = getBlockEditorSelector('hasSelectedInnerBlock');
4214  /**
4215   * @see isBlockWithinSelection in core/block-editor store.
4216   */
4217  
4218  var isBlockWithinSelection = getBlockEditorSelector('isBlockWithinSelection');
4219  /**
4220   * @see hasMultiSelection in core/block-editor store.
4221   */
4222  
4223  var hasMultiSelection = getBlockEditorSelector('hasMultiSelection');
4224  /**
4225   * @see isMultiSelecting in core/block-editor store.
4226   */
4227  
4228  var isMultiSelecting = getBlockEditorSelector('isMultiSelecting');
4229  /**
4230   * @see isSelectionEnabled in core/block-editor store.
4231   */
4232  
4233  var isSelectionEnabled = getBlockEditorSelector('isSelectionEnabled');
4234  /**
4235   * @see getBlockMode in core/block-editor store.
4236   */
4237  
4238  var getBlockMode = getBlockEditorSelector('getBlockMode');
4239  /**
4240   * @see isTyping in core/block-editor store.
4241   */
4242  
4243  var isTyping = getBlockEditorSelector('isTyping');
4244  /**
4245   * @see isCaretWithinFormattedText in core/block-editor store.
4246   */
4247  
4248  var isCaretWithinFormattedText = getBlockEditorSelector('isCaretWithinFormattedText');
4249  /**
4250   * @see getBlockInsertionPoint in core/block-editor store.
4251   */
4252  
4253  var getBlockInsertionPoint = getBlockEditorSelector('getBlockInsertionPoint');
4254  /**
4255   * @see isBlockInsertionPointVisible in core/block-editor store.
4256   */
4257  
4258  var isBlockInsertionPointVisible = getBlockEditorSelector('isBlockInsertionPointVisible');
4259  /**
4260   * @see isValidTemplate in core/block-editor store.
4261   */
4262  
4263  var isValidTemplate = getBlockEditorSelector('isValidTemplate');
4264  /**
4265   * @see getTemplate in core/block-editor store.
4266   */
4267  
4268  var getTemplate = getBlockEditorSelector('getTemplate');
4269  /**
4270   * @see getTemplateLock in core/block-editor store.
4271   */
4272  
4273  var getTemplateLock = getBlockEditorSelector('getTemplateLock');
4274  /**
4275   * @see canInsertBlockType in core/block-editor store.
4276   */
4277  
4278  var canInsertBlockType = getBlockEditorSelector('canInsertBlockType');
4279  /**
4280   * @see getInserterItems in core/block-editor store.
4281   */
4282  
4283  var getInserterItems = getBlockEditorSelector('getInserterItems');
4284  /**
4285   * @see hasInserterItems in core/block-editor store.
4286   */
4287  
4288  var hasInserterItems = getBlockEditorSelector('hasInserterItems');
4289  /**
4290   * @see getBlockListSettings in core/block-editor store.
4291   */
4292  
4293  var getBlockListSettings = getBlockEditorSelector('getBlockListSettings');
4294  /**
4295   * Returns the default template types.
4296   *
4297   * @param {Object} state Global application state.
4298   *
4299   * @return {Object} The template types.
4300   */
4301  
4302  function __experimentalGetDefaultTemplateTypes(state) {
4303    var _getEditorSettings;
4304  
4305    return (_getEditorSettings = selectors_getEditorSettings(state)) === null || _getEditorSettings === void 0 ? void 0 : _getEditorSettings.defaultTemplateTypes;
4306  }
4307  /**
4308   * Returns a default template type searched by slug.
4309   *
4310   * @param {Object} state Global application state.
4311   * @param {string} slug The template type slug.
4312   *
4313   * @return {Object} The template type.
4314   */
4315  
4316  var __experimentalGetDefaultTemplateType = Object(rememo["a" /* default */])(function (state, slug) {
4317    return Object(external_lodash_["find"])(__experimentalGetDefaultTemplateTypes(state), {
4318      slug: slug
4319    }) || {};
4320  }, function (state, slug) {
4321    return [__experimentalGetDefaultTemplateTypes(state), slug];
4322  });
4323  /**
4324   * Given a template entity, return information about it which is ready to be
4325   * rendered, such as the title, description, and icon.
4326   *
4327   * @param {Object} state Global application state.
4328   * @param {Object} template The template for which we need information.
4329   * @return {Object} Information about the template, including title, description, and icon.
4330   */
4331  
4332  function __experimentalGetTemplateInfo(state, template) {
4333    if (!template) {
4334      return {};
4335    }
4336  
4337    var excerpt = template.excerpt,
4338        slug = template.slug,
4339        title = template.title,
4340        area = template.area;
4341  
4342    var _experimentalGetDefa = __experimentalGetDefaultTemplateType(state, slug),
4343        defaultTitle = _experimentalGetDefa.title,
4344        defaultDescription = _experimentalGetDefa.description;
4345  
4346    var templateTitle = Object(external_lodash_["isString"])(title) ? title : title === null || title === void 0 ? void 0 : title.rendered;
4347    var templateDescription = Object(external_lodash_["isString"])(excerpt) ? excerpt : excerpt === null || excerpt === void 0 ? void 0 : excerpt.raw;
4348    var iconsByArea = {
4349      footer: library_footer,
4350      header: library_header
4351    };
4352    var templateIcon = iconsByArea[area] || layout["a" /* default */];
4353    return {
4354      title: templateTitle && templateTitle !== slug ? templateTitle : defaultTitle || slug,
4355      description: templateDescription || defaultDescription,
4356      icon: templateIcon
4357    };
4358  }
4359  
4360  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
4361  var toConsumableArray = __webpack_require__(15);
4362  
4363  // EXTERNAL MODULE: external "regeneratorRuntime"
4364  var external_regeneratorRuntime_ = __webpack_require__(16);
4365  var external_regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(external_regeneratorRuntime_);
4366  
4367  // EXTERNAL MODULE: external ["wp","notices"]
4368  var external_wp_notices_ = __webpack_require__(51);
4369  
4370  // EXTERNAL MODULE: external ["wp","i18n"]
4371  var external_wp_i18n_ = __webpack_require__(1);
4372  
4373  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/utils/notice-builder.js
4374  /**
4375   * WordPress dependencies
4376   */
4377  
4378  /**
4379   * Internal dependencies
4380   */
4381  
4382  
4383  /**
4384   * External dependencies
4385   */
4386  
4387  
4388  /**
4389   * Builds the arguments for a success notification dispatch.
4390   *
4391   * @param {Object} data Incoming data to build the arguments from.
4392   *
4393   * @return {Array} Arguments for dispatch. An empty array signals no
4394   *                 notification should be sent.
4395   */
4396  
4397  function getNotificationArgumentsForSaveSuccess(data) {
4398    var previousPost = data.previousPost,
4399        post = data.post,
4400        postType = data.postType; // Autosaves are neither shown a notice nor redirected.
4401  
4402    if (Object(external_lodash_["get"])(data.options, ['isAutosave'])) {
4403      return [];
4404    }
4405  
4406    var publishStatus = ['publish', 'private', 'future'];
4407    var isPublished = Object(external_lodash_["includes"])(publishStatus, previousPost.status);
4408    var willPublish = Object(external_lodash_["includes"])(publishStatus, post.status);
4409    var noticeMessage;
4410    var shouldShowLink = Object(external_lodash_["get"])(postType, ['viewable'], false);
4411  
4412    if (!isPublished && !willPublish) {
4413      // If saving a non-published post, don't show notice.
4414      noticeMessage = null;
4415    } else if (isPublished && !willPublish) {
4416      // If undoing publish status, show specific notice
4417      noticeMessage = postType.labels.item_reverted_to_draft;
4418      shouldShowLink = false;
4419    } else if (!isPublished && willPublish) {
4420      // If publishing or scheduling a post, show the corresponding
4421      // publish message
4422      noticeMessage = {
4423        publish: postType.labels.item_published,
4424        private: postType.labels.item_published_privately,
4425        future: postType.labels.item_scheduled
4426      }[post.status];
4427    } else {
4428      // Generic fallback notice
4429      noticeMessage = postType.labels.item_updated;
4430    }
4431  
4432    if (noticeMessage) {
4433      var actions = [];
4434  
4435      if (shouldShowLink) {
4436        actions.push({
4437          label: postType.labels.view_item,
4438          url: post.link
4439        });
4440      }
4441  
4442      return [noticeMessage, {
4443        id: SAVE_POST_NOTICE_ID,
4444        type: 'snackbar',
4445        actions: actions
4446      }];
4447    }
4448  
4449    return [];
4450  }
4451  /**
4452   * Builds the fail notification arguments for dispatch.
4453   *
4454   * @param {Object} data Incoming data to build the arguments with.
4455   *
4456   * @return {Array} Arguments for dispatch. An empty array signals no
4457   *                 notification should be sent.
4458   */
4459  
4460  function getNotificationArgumentsForSaveFail(data) {
4461    var post = data.post,
4462        edits = data.edits,
4463        error = data.error;
4464  
4465    if (error && 'rest_autosave_no_changes' === error.code) {
4466      // Autosave requested a new autosave, but there were no changes. This shouldn't
4467      // result in an error notice for the user.
4468      return [];
4469    }
4470  
4471    var publishStatus = ['publish', 'private', 'future'];
4472    var isPublished = publishStatus.indexOf(post.status) !== -1; // If the post was being published, we show the corresponding publish error message
4473    // Unless we publish an "updating failed" message
4474  
4475    var messages = {
4476      publish: Object(external_wp_i18n_["__"])('Publishing failed.'),
4477      private: Object(external_wp_i18n_["__"])('Publishing failed.'),
4478      future: Object(external_wp_i18n_["__"])('Scheduling failed.')
4479    };
4480    var noticeMessage = !isPublished && publishStatus.indexOf(edits.status) !== -1 ? messages[edits.status] : Object(external_wp_i18n_["__"])('Updating failed.'); // Check if message string contains HTML. Notice text is currently only
4481    // supported as plaintext, and stripping the tags may muddle the meaning.
4482  
4483    if (error.message && !/<\/?[^>]*>/.test(error.message)) {
4484      noticeMessage = [noticeMessage, error.message].join(' ');
4485    }
4486  
4487    return [noticeMessage, {
4488      id: SAVE_POST_NOTICE_ID
4489    }];
4490  }
4491  /**
4492   * Builds the trash fail notification arguments for dispatch.
4493   *
4494   * @param {Object} data
4495   *
4496   * @return {Array} Arguments for dispatch.
4497   */
4498  
4499  function getNotificationArgumentsForTrashFail(data) {
4500    return [data.error.message && data.error.code !== 'unknown_error' ? data.error.message : Object(external_wp_i18n_["__"])('Trashing failed'), {
4501      id: TRASH_POST_NOTICE_ID
4502    }];
4503  }
4504  
4505  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/actions.js
4506  
4507  
4508  
4509  
4510  function actions_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
4511  
4512  function actions_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { actions_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { actions_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
4513  
4514  
4515  
4516  var _marked = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_setupEditor),
4517      _marked2 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(resetAutosave),
4518      _marked3 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_editPost),
4519      _marked4 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_savePost),
4520      _marked5 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(refreshPost),
4521      _marked6 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(trashPost),
4522      _marked7 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_autosave),
4523      _marked8 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_redo),
4524      _marked9 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_undo),
4525      _marked10 = /*#__PURE__*/external_regeneratorRuntime_default.a.mark(actions_resetEditorBlocks);
4526  
4527  /**
4528   * External dependencies
4529   */
4530  
4531  /**
4532   * WordPress dependencies
4533   */
4534  
4535  
4536  
4537  
4538  
4539  
4540  /**
4541   * Internal dependencies
4542   */
4543  
4544  
4545  
4546  /**
4547   * Returns an action generator used in signalling that editor has initialized with
4548   * the specified post object and editor settings.
4549   *
4550   * @param {Object} post      Post object.
4551   * @param {Object} edits     Initial edited attributes object.
4552   * @param {Array?} template  Block Template.
4553   */
4554  
4555  function actions_setupEditor(post, edits, template) {
4556    var content, blocks, isNewPost;
4557    return external_regeneratorRuntime_default.a.wrap(function setupEditor$(_context) {
4558      while (1) {
4559        switch (_context.prev = _context.next) {
4560          case 0:
4561            // In order to ensure maximum of a single parse during setup, edits are
4562            // included as part of editor setup action. Assume edited content as
4563            // canonical if provided, falling back to post.
4564            if (Object(external_lodash_["has"])(edits, ['content'])) {
4565              content = edits.content;
4566            } else {
4567              content = post.content.raw;
4568            }
4569  
4570            blocks = Object(external_wp_blocks_["parse"])(content); // Apply a template for new posts only, if exists.
4571  
4572            isNewPost = post.status === 'auto-draft';
4573  
4574            if (isNewPost && template) {
4575              blocks = Object(external_wp_blocks_["synchronizeBlocksWithTemplate"])(blocks, template);
4576            }
4577  
4578            _context.next = 6;
4579            return resetPost(post);
4580  
4581          case 6:
4582            _context.next = 8;
4583            return {
4584              type: 'SETUP_EDITOR',
4585              post: post,
4586              edits: edits,
4587              template: template
4588            };
4589  
4590          case 8:
4591            _context.next = 10;
4592            return actions_resetEditorBlocks(blocks, {
4593              __unstableShouldCreateUndoLevel: false
4594            });
4595  
4596          case 10:
4597            _context.next = 12;
4598            return setupEditorState(post);
4599  
4600          case 12:
4601            if (!(edits && Object.keys(edits).some(function (key) {
4602              return edits[key] !== (Object(external_lodash_["has"])(post, [key, 'raw']) ? post[key].raw : post[key]);
4603            }))) {
4604              _context.next = 15;
4605              break;
4606            }
4607  
4608            _context.next = 15;
4609            return actions_editPost(edits);
4610  
4611          case 15:
4612          case "end":
4613            return _context.stop();
4614        }
4615      }
4616    }, _marked);
4617  }
4618  /**
4619   * Returns an action object signalling that the editor is being destroyed and
4620   * that any necessary state or side-effect cleanup should occur.
4621   *
4622   * @return {Object} Action object.
4623   */
4624  
4625  function actions_experimentalTearDownEditor() {
4626    return {
4627      type: 'TEAR_DOWN_EDITOR'
4628    };
4629  }
4630  /**
4631   * Returns an action object used in signalling that the latest version of the
4632   * post has been received, either by initialization or save.
4633   *
4634   * @param {Object} post Post object.
4635   *
4636   * @return {Object} Action object.
4637   */
4638  
4639  function resetPost(post) {
4640    return {
4641      type: 'RESET_POST',
4642      post: post
4643    };
4644  }
4645  /**
4646   * Returns an action object used in signalling that the latest autosave of the
4647   * post has been received, by initialization or autosave.
4648   *
4649   * @deprecated since 5.6. Callers should use the `receiveAutosaves( postId, autosave )`
4650   *                selector from the '@wordpress/core-data' package.
4651   *
4652   * @param {Object} newAutosave Autosave post object.
4653   *
4654   * @return {Object} Action object.
4655   */
4656  
4657  function resetAutosave(newAutosave) {
4658    var postId;
4659    return external_regeneratorRuntime_default.a.wrap(function resetAutosave$(_context2) {
4660      while (1) {
4661        switch (_context2.prev = _context2.next) {
4662          case 0:
4663            external_wp_deprecated_default()('resetAutosave action (`core/editor` store)', {
4664              since: '5.3',
4665              alternative: 'receiveAutosaves action (`core` store)'
4666            });
4667            _context2.next = 3;
4668            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPostId');
4669  
4670          case 3:
4671            postId = _context2.sent;
4672            _context2.next = 6;
4673            return external_wp_data_["controls"].dispatch('core', 'receiveAutosaves', postId, newAutosave);
4674  
4675          case 6:
4676            return _context2.abrupt("return", {
4677              type: '__INERT__'
4678            });
4679  
4680          case 7:
4681          case "end":
4682            return _context2.stop();
4683        }
4684      }
4685    }, _marked2);
4686  }
4687  /**
4688   * Action for dispatching that a post update request has started.
4689   *
4690   * @param {Object} options
4691   *
4692   * @return {Object} An action object
4693   */
4694  
4695  function __experimentalRequestPostUpdateStart() {
4696    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4697    return {
4698      type: 'REQUEST_POST_UPDATE_START',
4699      options: options
4700    };
4701  }
4702  /**
4703   * Action for dispatching that a post update request has finished.
4704   *
4705   * @param {Object} options
4706   *
4707   * @return {Object} An action object
4708   */
4709  
4710  function __experimentalRequestPostUpdateFinish() {
4711    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4712    return {
4713      type: 'REQUEST_POST_UPDATE_FINISH',
4714      options: options
4715    };
4716  }
4717  /**
4718   * Returns an action object used in signalling that a patch of updates for the
4719   * latest version of the post have been received.
4720   *
4721   * @return {Object} Action object.
4722   * @deprecated since Gutenberg 9.7.0.
4723   */
4724  
4725  function updatePost() {
4726    external_wp_deprecated_default()("wp.data.dispatch( 'core/editor' ).updatePost", {
4727      since: '5.7',
4728      alternative: 'User the core entitires store instead'
4729    });
4730    return {
4731      type: 'DO_NOTHING'
4732    };
4733  }
4734  /**
4735   * Returns an action object used to setup the editor state when first opening
4736   * an editor.
4737   *
4738   * @param {Object} post   Post object.
4739   *
4740   * @return {Object} Action object.
4741   */
4742  
4743  function setupEditorState(post) {
4744    return {
4745      type: 'SETUP_EDITOR_STATE',
4746      post: post
4747    };
4748  }
4749  /**
4750   * Returns an action object used in signalling that attributes of the post have
4751   * been edited.
4752   *
4753   * @param {Object} edits   Post attributes to edit.
4754   * @param {Object} options Options for the edit.
4755   *
4756   * @yield {Object} Action object or control.
4757   */
4758  
4759  function actions_editPost(edits, options) {
4760    var _yield$controls$selec, id, type;
4761  
4762    return external_regeneratorRuntime_default.a.wrap(function editPost$(_context3) {
4763      while (1) {
4764        switch (_context3.prev = _context3.next) {
4765          case 0:
4766            _context3.next = 2;
4767            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
4768  
4769          case 2:
4770            _yield$controls$selec = _context3.sent;
4771            id = _yield$controls$selec.id;
4772            type = _yield$controls$selec.type;
4773            _context3.next = 7;
4774            return external_wp_data_["controls"].dispatch('core', 'editEntityRecord', 'postType', type, id, edits, options);
4775  
4776          case 7:
4777          case "end":
4778            return _context3.stop();
4779        }
4780      }
4781    }, _marked3);
4782  }
4783  /**
4784   * Action generator for saving the current post in the editor.
4785   *
4786   * @param {Object} options
4787   */
4788  
4789  function actions_savePost() {
4790    var options,
4791        edits,
4792        previousRecord,
4793        error,
4794        args,
4795        updatedRecord,
4796        _args4,
4797        _args5 = arguments;
4798  
4799    return external_regeneratorRuntime_default.a.wrap(function savePost$(_context4) {
4800      while (1) {
4801        switch (_context4.prev = _context4.next) {
4802          case 0:
4803            options = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
4804            _context4.next = 3;
4805            return external_wp_data_["controls"].select(STORE_NAME, 'isEditedPostSaveable');
4806  
4807          case 3:
4808            if (_context4.sent) {
4809              _context4.next = 5;
4810              break;
4811            }
4812  
4813            return _context4.abrupt("return");
4814  
4815          case 5:
4816            _context4.next = 7;
4817            return external_wp_data_["controls"].select(STORE_NAME, 'getEditedPostContent');
4818  
4819          case 7:
4820            _context4.t0 = _context4.sent;
4821            edits = {
4822              content: _context4.t0
4823            };
4824  
4825            if (options.isAutosave) {
4826              _context4.next = 12;
4827              break;
4828            }
4829  
4830            _context4.next = 12;
4831            return external_wp_data_["controls"].dispatch(STORE_NAME, 'editPost', edits, {
4832              undoIgnore: true
4833            });
4834  
4835          case 12:
4836            _context4.next = 14;
4837            return __experimentalRequestPostUpdateStart(options);
4838  
4839          case 14:
4840            _context4.next = 16;
4841            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
4842  
4843          case 16:
4844            previousRecord = _context4.sent;
4845            _context4.t1 = actions_objectSpread;
4846            _context4.t2 = actions_objectSpread;
4847            _context4.t3 = {
4848              id: previousRecord.id
4849            };
4850            _context4.next = 22;
4851            return external_wp_data_["controls"].select('core', 'getEntityRecordNonTransientEdits', 'postType', previousRecord.type, previousRecord.id);
4852  
4853          case 22:
4854            _context4.t4 = _context4.sent;
4855            _context4.t5 = (0, _context4.t2)(_context4.t3, _context4.t4);
4856            _context4.t6 = edits;
4857            edits = (0, _context4.t1)(_context4.t5, _context4.t6);
4858            _context4.next = 28;
4859            return external_wp_data_["controls"].dispatch('core', 'saveEntityRecord', 'postType', previousRecord.type, edits, options);
4860  
4861          case 28:
4862            _context4.next = 30;
4863            return __experimentalRequestPostUpdateFinish(options);
4864  
4865          case 30:
4866            _context4.next = 32;
4867            return external_wp_data_["controls"].select('core', 'getLastEntitySaveError', 'postType', previousRecord.type, previousRecord.id);
4868  
4869          case 32:
4870            error = _context4.sent;
4871  
4872            if (!error) {
4873              _context4.next = 40;
4874              break;
4875            }
4876  
4877            args = getNotificationArgumentsForSaveFail({
4878              post: previousRecord,
4879              edits: edits,
4880              error: error
4881            });
4882  
4883            if (!args.length) {
4884              _context4.next = 38;
4885              break;
4886            }
4887  
4888            _context4.next = 38;
4889            return external_wp_data_["controls"].dispatch.apply(external_wp_data_["controls"], [external_wp_notices_["store"], 'createErrorNotice'].concat(Object(toConsumableArray["a" /* default */])(args)));
4890  
4891          case 38:
4892            _context4.next = 58;
4893            break;
4894  
4895          case 40:
4896            _context4.next = 42;
4897            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
4898  
4899          case 42:
4900            updatedRecord = _context4.sent;
4901            _context4.t7 = getNotificationArgumentsForSaveSuccess;
4902            _context4.t8 = previousRecord;
4903            _context4.t9 = updatedRecord;
4904            _context4.next = 48;
4905            return external_wp_data_["controls"].resolveSelect('core', 'getPostType', updatedRecord.type);
4906  
4907          case 48:
4908            _context4.t10 = _context4.sent;
4909            _context4.t11 = options;
4910            _context4.t12 = {
4911              previousPost: _context4.t8,
4912              post: _context4.t9,
4913              postType: _context4.t10,
4914              options: _context4.t11
4915            };
4916            _args4 = (0, _context4.t7)(_context4.t12);
4917  
4918            if (!_args4.length) {
4919              _context4.next = 55;
4920              break;
4921            }
4922  
4923            _context4.next = 55;
4924            return external_wp_data_["controls"].dispatch.apply(external_wp_data_["controls"], [external_wp_notices_["store"], 'createSuccessNotice'].concat(Object(toConsumableArray["a" /* default */])(_args4)));
4925  
4926          case 55:
4927            if (options.isAutosave) {
4928              _context4.next = 58;
4929              break;
4930            }
4931  
4932            _context4.next = 58;
4933            return external_wp_data_["controls"].dispatch('core/block-editor', '__unstableMarkLastChangeAsPersistent');
4934  
4935          case 58:
4936          case "end":
4937            return _context4.stop();
4938        }
4939      }
4940    }, _marked4);
4941  }
4942  /**
4943   * Action generator for handling refreshing the current post.
4944   */
4945  
4946  function refreshPost() {
4947    var post, postTypeSlug, postType, newPost;
4948    return external_regeneratorRuntime_default.a.wrap(function refreshPost$(_context5) {
4949      while (1) {
4950        switch (_context5.prev = _context5.next) {
4951          case 0:
4952            _context5.next = 2;
4953            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
4954  
4955          case 2:
4956            post = _context5.sent;
4957            _context5.next = 5;
4958            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPostType');
4959  
4960          case 5:
4961            postTypeSlug = _context5.sent;
4962            _context5.next = 8;
4963            return external_wp_data_["controls"].resolveSelect('core', 'getPostType', postTypeSlug);
4964  
4965          case 8:
4966            postType = _context5.sent;
4967            _context5.next = 11;
4968            return Object(external_wp_dataControls_["apiFetch"])({
4969              // Timestamp arg allows caller to bypass browser caching, which is
4970              // expected for this specific function.
4971              path: "/wp/v2/".concat(postType.rest_base, "/").concat(post.id) + "?context=edit&_timestamp=".concat(Date.now())
4972            });
4973  
4974          case 11:
4975            newPost = _context5.sent;
4976            _context5.next = 14;
4977            return external_wp_data_["controls"].dispatch(STORE_NAME, 'resetPost', newPost);
4978  
4979          case 14:
4980          case "end":
4981            return _context5.stop();
4982        }
4983      }
4984    }, _marked5);
4985  }
4986  /**
4987   * Action generator for trashing the current post in the editor.
4988   */
4989  
4990  function trashPost() {
4991    var postTypeSlug, postType, post;
4992    return external_regeneratorRuntime_default.a.wrap(function trashPost$(_context6) {
4993      while (1) {
4994        switch (_context6.prev = _context6.next) {
4995          case 0:
4996            _context6.next = 2;
4997            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPostType');
4998  
4999          case 2:
5000            postTypeSlug = _context6.sent;
5001            _context6.next = 5;
5002            return external_wp_data_["controls"].resolveSelect('core', 'getPostType', postTypeSlug);
5003  
5004          case 5:
5005            postType = _context6.sent;
5006            _context6.next = 8;
5007            return external_wp_data_["controls"].dispatch(external_wp_notices_["store"], 'removeNotice', TRASH_POST_NOTICE_ID);
5008  
5009          case 8:
5010            _context6.prev = 8;
5011            _context6.next = 11;
5012            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
5013  
5014          case 11:
5015            post = _context6.sent;
5016            _context6.next = 14;
5017            return Object(external_wp_dataControls_["apiFetch"])({
5018              path: "/wp/v2/".concat(postType.rest_base, "/").concat(post.id),
5019              method: 'DELETE'
5020            });
5021  
5022          case 14:
5023            _context6.next = 16;
5024            return external_wp_data_["controls"].dispatch(STORE_NAME, 'savePost');
5025  
5026          case 16:
5027            _context6.next = 22;
5028            break;
5029  
5030          case 18:
5031            _context6.prev = 18;
5032            _context6.t0 = _context6["catch"](8);
5033            _context6.next = 22;
5034            return external_wp_data_["controls"].dispatch.apply(external_wp_data_["controls"], [external_wp_notices_["store"], 'createErrorNotice'].concat(Object(toConsumableArray["a" /* default */])(getNotificationArgumentsForTrashFail({
5035              error: _context6.t0
5036            }))));
5037  
5038          case 22:
5039          case "end":
5040            return _context6.stop();
5041        }
5042      }
5043    }, _marked6, null, [[8, 18]]);
5044  }
5045  /**
5046   * Action generator used in signalling that the post should autosave.  This
5047   * includes server-side autosaving (default) and client-side (a.k.a. local)
5048   * autosaving (e.g. on the Web, the post might be committed to Session
5049   * Storage).
5050   *
5051   * @param {Object?} options Extra flags to identify the autosave.
5052   */
5053  
5054  function actions_autosave() {
5055    var _ref,
5056        _ref$local,
5057        local,
5058        options,
5059        post,
5060        isPostNew,
5061        title,
5062        content,
5063        excerpt,
5064        _args8 = arguments;
5065  
5066    return external_regeneratorRuntime_default.a.wrap(function autosave$(_context7) {
5067      while (1) {
5068        switch (_context7.prev = _context7.next) {
5069          case 0:
5070            _ref = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {}, _ref$local = _ref.local, local = _ref$local === void 0 ? false : _ref$local, options = Object(objectWithoutProperties["a" /* default */])(_ref, ["local"]);
5071  
5072            if (!local) {
5073              _context7.next = 21;
5074              break;
5075            }
5076  
5077            _context7.next = 4;
5078            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
5079  
5080          case 4:
5081            post = _context7.sent;
5082            _context7.next = 7;
5083            return external_wp_data_["controls"].select(STORE_NAME, 'isEditedPostNew');
5084  
5085          case 7:
5086            isPostNew = _context7.sent;
5087            _context7.next = 10;
5088            return external_wp_data_["controls"].select(STORE_NAME, 'getEditedPostAttribute', 'title');
5089  
5090          case 10:
5091            title = _context7.sent;
5092            _context7.next = 13;
5093            return external_wp_data_["controls"].select(STORE_NAME, 'getEditedPostAttribute', 'content');
5094  
5095          case 13:
5096            content = _context7.sent;
5097            _context7.next = 16;
5098            return external_wp_data_["controls"].select(STORE_NAME, 'getEditedPostAttribute', 'excerpt');
5099  
5100          case 16:
5101            excerpt = _context7.sent;
5102            _context7.next = 19;
5103            return {
5104              type: 'LOCAL_AUTOSAVE_SET',
5105              postId: post.id,
5106              isPostNew: isPostNew,
5107              title: title,
5108              content: content,
5109              excerpt: excerpt
5110            };
5111  
5112          case 19:
5113            _context7.next = 23;
5114            break;
5115  
5116          case 21:
5117            _context7.next = 23;
5118            return external_wp_data_["controls"].dispatch(STORE_NAME, 'savePost', actions_objectSpread({
5119              isAutosave: true
5120            }, options));
5121  
5122          case 23:
5123          case "end":
5124            return _context7.stop();
5125        }
5126      }
5127    }, _marked7);
5128  }
5129  /**
5130   * Returns an action object used in signalling that undo history should
5131   * restore last popped state.
5132   *
5133   * @yield {Object} Action object.
5134   */
5135  
5136  function actions_redo() {
5137    return external_regeneratorRuntime_default.a.wrap(function redo$(_context8) {
5138      while (1) {
5139        switch (_context8.prev = _context8.next) {
5140          case 0:
5141            _context8.next = 2;
5142            return external_wp_data_["controls"].dispatch('core', 'redo');
5143  
5144          case 2:
5145          case "end":
5146            return _context8.stop();
5147        }
5148      }
5149    }, _marked8);
5150  }
5151  /**
5152   * Returns an action object used in signalling that undo history should pop.
5153   *
5154   * @yield {Object} Action object.
5155   */
5156  
5157  function actions_undo() {
5158    return external_regeneratorRuntime_default.a.wrap(function undo$(_context9) {
5159      while (1) {
5160        switch (_context9.prev = _context9.next) {
5161          case 0:
5162            _context9.next = 2;
5163            return external_wp_data_["controls"].dispatch('core', 'undo');
5164  
5165          case 2:
5166          case "end":
5167            return _context9.stop();
5168        }
5169      }
5170    }, _marked9);
5171  }
5172  /**
5173   * Returns an action object used in signalling that undo history record should
5174   * be created.
5175   *
5176   * @return {Object} Action object.
5177   */
5178  
5179  function createUndoLevel() {
5180    return {
5181      type: 'CREATE_UNDO_LEVEL'
5182    };
5183  }
5184  /**
5185   * Returns an action object used to lock the editor.
5186   *
5187   * @param {Object}  lock Details about the post lock status, user, and nonce.
5188   *
5189   * @return {Object} Action object.
5190   */
5191  
5192  function actions_updatePostLock(lock) {
5193    return {
5194      type: 'UPDATE_POST_LOCK',
5195      lock: lock
5196    };
5197  }
5198  /**
5199   * Returns an action object used in signalling that the user has enabled the
5200   * publish sidebar.
5201   *
5202   * @return {Object} Action object
5203   */
5204  
5205  function enablePublishSidebar() {
5206    return {
5207      type: 'ENABLE_PUBLISH_SIDEBAR'
5208    };
5209  }
5210  /**
5211   * Returns an action object used in signalling that the user has disabled the
5212   * publish sidebar.
5213   *
5214   * @return {Object} Action object
5215   */
5216  
5217  function disablePublishSidebar() {
5218    return {
5219      type: 'DISABLE_PUBLISH_SIDEBAR'
5220    };
5221  }
5222  /**
5223   * Returns an action object used to signal that post saving is locked.
5224   *
5225   * @param  {string} lockName The lock name.
5226   *
5227   * @example
5228   * ```
5229   * const { subscribe } = wp.data;
5230   *
5231   * const initialPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );
5232   *
5233   * // Only allow publishing posts that are set to a future date.
5234   * if ( 'publish' !== initialPostStatus ) {
5235   *
5236   *     // Track locking.
5237   *     let locked = false;
5238   *
5239   *     // Watch for the publish event.
5240   *     let unssubscribe = subscribe( () => {
5241   *         const currentPostStatus = wp.data.select( 'core/editor' ).getEditedPostAttribute( 'status' );
5242   *         if ( 'publish' !== currentPostStatus ) {
5243   *
5244   *             // Compare the post date to the current date, lock the post if the date isn't in the future.
5245   *             const postDate = new Date( wp.data.select( 'core/editor' ).getEditedPostAttribute( 'date' ) );
5246   *             const currentDate = new Date();
5247   *             if ( postDate.getTime() <= currentDate.getTime() ) {
5248   *                 if ( ! locked ) {
5249   *                     locked = true;
5250   *                     wp.data.dispatch( 'core/editor' ).lockPostSaving( 'futurelock' );
5251   *                 }
5252   *             } else {
5253   *                 if ( locked ) {
5254   *                     locked = false;
5255   *                     wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'futurelock' );
5256   *                 }
5257   *             }
5258   *         }
5259   *     } );
5260   * }
5261   * ```
5262   *
5263   * @return {Object} Action object
5264   */
5265  
5266  function lockPostSaving(lockName) {
5267    return {
5268      type: 'LOCK_POST_SAVING',
5269      lockName: lockName
5270    };
5271  }
5272  /**
5273   * Returns an action object used to signal that post saving is unlocked.
5274   *
5275   * @param  {string} lockName The lock name.
5276   *
5277   * @example
5278   * ```
5279   * // Unlock post saving with the lock key `mylock`:
5280   * wp.data.dispatch( 'core/editor' ).unlockPostSaving( 'mylock' );
5281   * ```
5282   *
5283   * @return {Object} Action object
5284   */
5285  
5286  function unlockPostSaving(lockName) {
5287    return {
5288      type: 'UNLOCK_POST_SAVING',
5289      lockName: lockName
5290    };
5291  }
5292  /**
5293   * Returns an action object used to signal that post autosaving is locked.
5294   *
5295   * @param  {string} lockName The lock name.
5296   *
5297   * @example
5298   * ```
5299   * // Lock post autosaving with the lock key `mylock`:
5300   * wp.data.dispatch( 'core/editor' ).lockPostAutosaving( 'mylock' );
5301   * ```
5302   *
5303   * @return {Object} Action object
5304   */
5305  
5306  function lockPostAutosaving(lockName) {
5307    return {
5308      type: 'LOCK_POST_AUTOSAVING',
5309      lockName: lockName
5310    };
5311  }
5312  /**
5313   * Returns an action object used to signal that post autosaving is unlocked.
5314   *
5315   * @param  {string} lockName The lock name.
5316   *
5317   * @example
5318   * ```
5319   * // Unlock post saving with the lock key `mylock`:
5320   * wp.data.dispatch( 'core/editor' ).unlockPostAutosaving( 'mylock' );
5321   * ```
5322   *
5323   * @return {Object} Action object
5324   */
5325  
5326  function unlockPostAutosaving(lockName) {
5327    return {
5328      type: 'UNLOCK_POST_AUTOSAVING',
5329      lockName: lockName
5330    };
5331  }
5332  /**
5333   * Returns an action object used to signal that the blocks have been updated.
5334   *
5335   * @param {Array}   blocks  Block Array.
5336   * @param {?Object} options Optional options.
5337   *
5338   * @yield {Object} Action object
5339   */
5340  
5341  function actions_resetEditorBlocks(blocks) {
5342    var options,
5343        __unstableShouldCreateUndoLevel,
5344        selection,
5345        edits,
5346        _yield$controls$selec2,
5347        id,
5348        type,
5349        noChange,
5350        _args11 = arguments;
5351  
5352    return external_regeneratorRuntime_default.a.wrap(function resetEditorBlocks$(_context10) {
5353      while (1) {
5354        switch (_context10.prev = _context10.next) {
5355          case 0:
5356            options = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : {};
5357            __unstableShouldCreateUndoLevel = options.__unstableShouldCreateUndoLevel, selection = options.selection;
5358            edits = {
5359              blocks: blocks,
5360              selection: selection
5361            };
5362  
5363            if (!(__unstableShouldCreateUndoLevel !== false)) {
5364              _context10.next = 19;
5365              break;
5366            }
5367  
5368            _context10.next = 6;
5369            return external_wp_data_["controls"].select(STORE_NAME, 'getCurrentPost');
5370  
5371          case 6:
5372            _yield$controls$selec2 = _context10.sent;
5373            id = _yield$controls$selec2.id;
5374            type = _yield$controls$selec2.type;
5375            _context10.next = 11;
5376            return external_wp_data_["controls"].select('core', 'getEditedEntityRecord', 'postType', type, id);
5377  
5378          case 11:
5379            _context10.t0 = _context10.sent.blocks;
5380            _context10.t1 = edits.blocks;
5381            noChange = _context10.t0 === _context10.t1;
5382  
5383            if (!noChange) {
5384              _context10.next = 18;
5385              break;
5386            }
5387  
5388            _context10.next = 17;
5389            return external_wp_data_["controls"].dispatch('core', '__unstableCreateUndoLevel', 'postType', type, id);
5390  
5391          case 17:
5392            return _context10.abrupt("return", _context10.sent);
5393  
5394          case 18:
5395            // We create a new function here on every persistent edit
5396            // to make sure the edit makes the post dirty and creates
5397            // a new undo level.
5398            edits.content = function (_ref2) {
5399              var _ref2$blocks = _ref2.blocks,
5400                  blocksForSerialization = _ref2$blocks === void 0 ? [] : _ref2$blocks;
5401              return Object(external_wp_blocks_["__unstableSerializeAndClean"])(blocksForSerialization);
5402            };
5403  
5404          case 19:
5405            return _context10.delegateYield(actions_editPost(edits), "t2", 20);
5406  
5407          case 20:
5408          case "end":
5409            return _context10.stop();
5410        }
5411      }
5412    }, _marked10);
5413  }
5414  /*
5415   * Returns an action object used in signalling that the post editor settings have been updated.
5416   *
5417   * @param {Object} settings Updated settings
5418   *
5419   * @return {Object} Action object
5420   */
5421  
5422  function actions_updateEditorSettings(settings) {
5423    return {
5424      type: 'UPDATE_EDITOR_SETTINGS',
5425      settings: settings
5426    };
5427  }
5428  /**
5429   * Backward compatibility
5430   */
5431  
5432  var actions_getBlockEditorAction = function getBlockEditorAction(name) {
5433    return /*#__PURE__*/external_regeneratorRuntime_default.a.mark(function _callee() {
5434      var _len,
5435          args,
5436          _key,
5437          _args12 = arguments;
5438  
5439      return external_regeneratorRuntime_default.a.wrap(function _callee$(_context11) {
5440        while (1) {
5441          switch (_context11.prev = _context11.next) {
5442            case 0:
5443              external_wp_deprecated_default()("`wp.data.dispatch( 'core/editor' )." + name + '`', {
5444                since: '5.3',
5445                alternative: "`wp.data.dispatch( 'core/block-editor' )." + name + '`'
5446              });
5447  
5448              for (_len = _args12.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
5449                args[_key] = _args12[_key];
5450              }
5451  
5452              _context11.next = 4;
5453              return external_wp_data_["controls"].dispatch.apply(external_wp_data_["controls"], ['core/block-editor', name].concat(args));
5454  
5455            case 4:
5456            case "end":
5457              return _context11.stop();
5458          }
5459        }
5460      }, _callee);
5461    });
5462  };
5463  /**
5464   * @see resetBlocks in core/block-editor store.
5465   */
5466  
5467  
5468  var resetBlocks = actions_getBlockEditorAction('resetBlocks');
5469  /**
5470   * @see receiveBlocks in core/block-editor store.
5471   */
5472  
5473  var receiveBlocks = actions_getBlockEditorAction('receiveBlocks');
5474  /**
5475   * @see updateBlock in core/block-editor store.
5476   */
5477  
5478  var updateBlock = actions_getBlockEditorAction('updateBlock');
5479  /**
5480   * @see updateBlockAttributes in core/block-editor store.
5481   */
5482  
5483  var updateBlockAttributes = actions_getBlockEditorAction('updateBlockAttributes');
5484  /**
5485   * @see selectBlock in core/block-editor store.
5486   */
5487  
5488  var actions_selectBlock = actions_getBlockEditorAction('selectBlock');
5489  /**
5490   * @see startMultiSelect in core/block-editor store.
5491   */
5492  
5493  var startMultiSelect = actions_getBlockEditorAction('startMultiSelect');
5494  /**
5495   * @see stopMultiSelect in core/block-editor store.
5496   */
5497  
5498  var stopMultiSelect = actions_getBlockEditorAction('stopMultiSelect');
5499  /**
5500   * @see multiSelect in core/block-editor store.
5501   */
5502  
5503  var multiSelect = actions_getBlockEditorAction('multiSelect');
5504  /**
5505   * @see clearSelectedBlock in core/block-editor store.
5506   */
5507  
5508  var actions_clearSelectedBlock = actions_getBlockEditorAction('clearSelectedBlock');
5509  /**
5510   * @see toggleSelection in core/block-editor store.
5511   */
5512  
5513  var toggleSelection = actions_getBlockEditorAction('toggleSelection');
5514  /**
5515   * @see replaceBlocks in core/block-editor store.
5516   */
5517  
5518  var replaceBlocks = actions_getBlockEditorAction('replaceBlocks');
5519  /**
5520   * @see replaceBlock in core/block-editor store.
5521   */
5522  
5523  var replaceBlock = actions_getBlockEditorAction('replaceBlock');
5524  /**
5525   * @see moveBlocksDown in core/block-editor store.
5526   */
5527  
5528  var moveBlocksDown = actions_getBlockEditorAction('moveBlocksDown');
5529  /**
5530   * @see moveBlocksUp in core/block-editor store.
5531   */
5532  
5533  var moveBlocksUp = actions_getBlockEditorAction('moveBlocksUp');
5534  /**
5535   * @see moveBlockToPosition in core/block-editor store.
5536   */
5537  
5538  var moveBlockToPosition = actions_getBlockEditorAction('moveBlockToPosition');
5539  /**
5540   * @see insertBlock in core/block-editor store.
5541   */
5542  
5543  var insertBlock = actions_getBlockEditorAction('insertBlock');
5544  /**
5545   * @see insertBlocks in core/block-editor store.
5546   */
5547  
5548  var actions_insertBlocks = actions_getBlockEditorAction('insertBlocks');
5549  /**
5550   * @see showInsertionPoint in core/block-editor store.
5551   */
5552  
5553  var showInsertionPoint = actions_getBlockEditorAction('showInsertionPoint');
5554  /**
5555   * @see hideInsertionPoint in core/block-editor store.
5556   */
5557  
5558  var hideInsertionPoint = actions_getBlockEditorAction('hideInsertionPoint');
5559  /**
5560   * @see setTemplateValidity in core/block-editor store.
5561   */
5562  
5563  var setTemplateValidity = actions_getBlockEditorAction('setTemplateValidity');
5564  /**
5565   * @see synchronizeTemplate in core/block-editor store.
5566   */
5567  
5568  var synchronizeTemplate = actions_getBlockEditorAction('synchronizeTemplate');
5569  /**
5570   * @see mergeBlocks in core/block-editor store.
5571   */
5572  
5573  var mergeBlocks = actions_getBlockEditorAction('mergeBlocks');
5574  /**
5575   * @see removeBlocks in core/block-editor store.
5576   */
5577  
5578  var removeBlocks = actions_getBlockEditorAction('removeBlocks');
5579  /**
5580   * @see removeBlock in core/block-editor store.
5581   */
5582  
5583  var removeBlock = actions_getBlockEditorAction('removeBlock');
5584  /**
5585   * @see toggleBlockMode in core/block-editor store.
5586   */
5587  
5588  var toggleBlockMode = actions_getBlockEditorAction('toggleBlockMode');
5589  /**
5590   * @see startTyping in core/block-editor store.
5591   */
5592  
5593  var startTyping = actions_getBlockEditorAction('startTyping');
5594  /**
5595   * @see stopTyping in core/block-editor store.
5596   */
5597  
5598  var stopTyping = actions_getBlockEditorAction('stopTyping');
5599  /**
5600   * @see enterFormattedText in core/block-editor store.
5601   */
5602  
5603  var enterFormattedText = actions_getBlockEditorAction('enterFormattedText');
5604  /**
5605   * @see exitFormattedText in core/block-editor store.
5606   */
5607  
5608  var exitFormattedText = actions_getBlockEditorAction('exitFormattedText');
5609  /**
5610   * @see insertDefaultBlock in core/block-editor store.
5611   */
5612  
5613  var actions_insertDefaultBlock = actions_getBlockEditorAction('insertDefaultBlock');
5614  /**
5615   * @see updateBlockListSettings in core/block-editor store.
5616   */
5617  
5618  var updateBlockListSettings = actions_getBlockEditorAction('updateBlockListSettings');
5619  
5620  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/controls.js
5621  /**
5622   * Function returning a sessionStorage key to set or retrieve a given post's
5623   * automatic session backup.
5624   *
5625   * Keys are crucially prefixed with 'wp-autosave-' so that wp-login.php's
5626   * `loggedout` handler can clear sessionStorage of any user-private content.
5627   *
5628   * @see https://github.com/WordPress/wordpress-develop/blob/6dad32d2aed47e6c0cf2aee8410645f6d7aba6bd/src/wp-login.php#L103
5629   *
5630   * @param {string}  postId     Post ID.
5631   * @param {boolean} isPostNew  Whether post new.
5632   * @return {string}            sessionStorage key
5633   */
5634  function postKey(postId, isPostNew) {
5635    return "wp-autosave-block-editor-post-".concat(isPostNew ? 'auto-draft' : postId);
5636  }
5637  
5638  function localAutosaveGet(postId, isPostNew) {
5639    return window.sessionStorage.getItem(postKey(postId, isPostNew));
5640  }
5641  function localAutosaveSet(postId, isPostNew, title, content, excerpt) {
5642    window.sessionStorage.setItem(postKey(postId, isPostNew), JSON.stringify({
5643      post_title: title,
5644      content: content,
5645      excerpt: excerpt
5646    }));
5647  }
5648  function localAutosaveClear(postId, isPostNew) {
5649    window.sessionStorage.removeItem(postKey(postId, isPostNew));
5650  }
5651  var controls = {
5652    LOCAL_AUTOSAVE_SET: function LOCAL_AUTOSAVE_SET(_ref) {
5653      var postId = _ref.postId,
5654          isPostNew = _ref.isPostNew,
5655          title = _ref.title,
5656          content = _ref.content,
5657          excerpt = _ref.excerpt;
5658      localAutosaveSet(postId, isPostNew, title, content, excerpt);
5659    }
5660  };
5661  /* harmony default export */ var store_controls = (controls);
5662  
5663  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/store/index.js
5664  
5665  
5666  function store_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
5667  
5668  function store_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { store_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { store_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5669  
5670  /**
5671   * WordPress dependencies
5672   */
5673  
5674  
5675  /**
5676   * Internal dependencies
5677   */
5678  
5679  
5680  
5681  
5682  
5683  
5684  /**
5685   * Post editor data store configuration.
5686   *
5687   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#registerStore
5688   *
5689   * @type {Object}
5690   */
5691  
5692  var storeConfig = {
5693    reducer: reducer,
5694    selectors: selectors_namespaceObject,
5695    actions: actions_namespaceObject,
5696    controls: store_objectSpread(store_objectSpread({}, external_wp_dataControls_["controls"]), store_controls)
5697  };
5698  /**
5699   * Store definition for the editor namespace.
5700   *
5701   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
5702   *
5703   * @type {Object}
5704   */
5705  
5706  var store = Object(external_wp_data_["createReduxStore"])(STORE_NAME, store_objectSpread(store_objectSpread({}, storeConfig), {}, {
5707    persist: ['preferences']
5708  })); // Once we build a more generic persistence plugin that works across types of stores
5709  // we'd be able to replace this with a register call.
5710  
5711  Object(external_wp_data_["registerStore"])(STORE_NAME, store_objectSpread(store_objectSpread({}, storeConfig), {}, {
5712    persist: ['preferences']
5713  }));
5714  
5715  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/autocompleters/index.js
5716  
5717  
5718  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
5719  var classCallCheck = __webpack_require__(25);
5720  
5721  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
5722  var createClass = __webpack_require__(26);
5723  
5724  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
5725  var inherits = __webpack_require__(32);
5726  
5727  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js
5728  var possibleConstructorReturn = __webpack_require__(34);
5729  
5730  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
5731  var getPrototypeOf = __webpack_require__(22);
5732  
5733  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/autosave-monitor/index.js
5734  
5735  
5736  
5737  
5738  
5739  
5740  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
5741  
5742  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
5743  
5744  /**
5745   * WordPress dependencies
5746   */
5747  
5748  
5749  
5750  /**
5751   * AutosaveMonitor invokes `props.autosave()` within at most `interval` seconds after an unsaved change is detected.
5752   *
5753   * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.
5754   * The time between the change and the autosave varies but is no larger than `props.interval` seconds. Refer to the code below for more details, such as
5755   * the specific way of detecting changes.
5756   *
5757   * There are two caveats:
5758   * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
5759   * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
5760   */
5761  
5762  var autosave_monitor_AutosaveMonitor = /*#__PURE__*/function (_Component) {
5763    Object(inherits["a" /* default */])(AutosaveMonitor, _Component);
5764  
5765    var _super = _createSuper(AutosaveMonitor);
5766  
5767    function AutosaveMonitor(props) {
5768      var _this;
5769  
5770      Object(classCallCheck["a" /* default */])(this, AutosaveMonitor);
5771  
5772      _this = _super.call(this, props);
5773      _this.needsAutosave = !!(props.isDirty && props.isAutosaveable);
5774      return _this;
5775    }
5776  
5777    Object(createClass["a" /* default */])(AutosaveMonitor, [{
5778      key: "componentDidMount",
5779      value: function componentDidMount() {
5780        if (!this.props.disableIntervalChecks) {
5781          this.setAutosaveTimer();
5782        }
5783      }
5784    }, {
5785      key: "componentDidUpdate",
5786      value: function componentDidUpdate(prevProps) {
5787        if (this.props.disableIntervalChecks) {
5788          if (this.props.editsReference !== prevProps.editsReference) {
5789            this.props.autosave();
5790          }
5791  
5792          return;
5793        }
5794  
5795        if (!this.props.isDirty) {
5796          this.needsAutosave = false;
5797          return;
5798        }
5799  
5800        if (this.props.isAutosaving && !prevProps.isAutosaving) {
5801          this.needsAutosave = false;
5802          return;
5803        }
5804  
5805        if (this.props.editsReference !== prevProps.editsReference) {
5806          this.needsAutosave = true;
5807        }
5808      }
5809    }, {
5810      key: "componentWillUnmount",
5811      value: function componentWillUnmount() {
5812        clearTimeout(this.timerId);
5813      }
5814    }, {
5815      key: "setAutosaveTimer",
5816      value: function setAutosaveTimer() {
5817        var _this2 = this;
5818  
5819        var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props.interval * 1000;
5820        this.timerId = setTimeout(function () {
5821          _this2.autosaveTimerHandler();
5822        }, timeout);
5823      }
5824    }, {
5825      key: "autosaveTimerHandler",
5826      value: function autosaveTimerHandler() {
5827        if (!this.props.isAutosaveable) {
5828          this.setAutosaveTimer(1000);
5829          return;
5830        }
5831  
5832        if (this.needsAutosave) {
5833          this.needsAutosave = false;
5834          this.props.autosave();
5835        }
5836  
5837        this.setAutosaveTimer();
5838      }
5839    }, {
5840      key: "render",
5841      value: function render() {
5842        return null;
5843      }
5844    }]);
5845  
5846    return AutosaveMonitor;
5847  }(external_wp_element_["Component"]);
5848  /* harmony default export */ var autosave_monitor = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])(function (select, ownProps) {
5849    var _select = select('core'),
5850        getReferenceByDistinctEdits = _select.getReferenceByDistinctEdits;
5851  
5852    var _select2 = select('core/editor'),
5853        isEditedPostDirty = _select2.isEditedPostDirty,
5854        isEditedPostAutosaveable = _select2.isEditedPostAutosaveable,
5855        isAutosavingPost = _select2.isAutosavingPost,
5856        getEditorSettings = _select2.getEditorSettings;
5857  
5858    var _ownProps$interval = ownProps.interval,
5859        interval = _ownProps$interval === void 0 ? getEditorSettings().autosaveInterval : _ownProps$interval;
5860    return {
5861      editsReference: getReferenceByDistinctEdits(),
5862      isDirty: isEditedPostDirty(),
5863      isAutosaveable: isEditedPostAutosaveable(),
5864      isAutosaving: isAutosavingPost(),
5865      interval: interval
5866    };
5867  }), Object(external_wp_data_["withDispatch"])(function (dispatch, ownProps) {
5868    return {
5869      autosave: function autosave() {
5870        var _ownProps$autosave = ownProps.autosave,
5871            autosave = _ownProps$autosave === void 0 ? dispatch('core/editor').autosave : _ownProps$autosave;
5872        autosave();
5873      }
5874    };
5875  })])(autosave_monitor_AutosaveMonitor));
5876  
5877  // EXTERNAL MODULE: ./node_modules/classnames/index.js
5878  var classnames = __webpack_require__(10);
5879  var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);
5880  
5881  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/document-outline/item.js
5882  
5883  
5884  /**
5885   * External dependencies
5886   */
5887  
5888  
5889  var item_TableOfContentsItem = function TableOfContentsItem(_ref) {
5890    var children = _ref.children,
5891        isValid = _ref.isValid,
5892        level = _ref.level,
5893        href = _ref.href,
5894        onSelect = _ref.onSelect;
5895    return Object(external_wp_element_["createElement"])("li", {
5896      className: classnames_default()('document-outline__item', "is-".concat(level.toLowerCase()), {
5897        'is-invalid': !isValid
5898      })
5899    }, Object(external_wp_element_["createElement"])("a", {
5900      href: href,
5901      className: "document-outline__button",
5902      onClick: onSelect
5903    }, Object(external_wp_element_["createElement"])("span", {
5904      className: "document-outline__emdash",
5905      "aria-hidden": "true"
5906    }), Object(external_wp_element_["createElement"])("strong", {
5907      className: "document-outline__level"
5908    }, level), Object(external_wp_element_["createElement"])("span", {
5909      className: "document-outline__item-content"
5910    }, children)));
5911  };
5912  
5913  /* harmony default export */ var document_outline_item = (item_TableOfContentsItem);
5914  
5915  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/document-outline/index.js
5916  
5917  
5918  
5919  function document_outline_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
5920  
5921  function document_outline_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { document_outline_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { document_outline_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
5922  
5923  /**
5924   * External dependencies
5925   */
5926  
5927  /**
5928   * WordPress dependencies
5929   */
5930  
5931  
5932  
5933  
5934  
5935  /**
5936   * Internal dependencies
5937   */
5938  
5939  
5940  /**
5941   * Module constants
5942   */
5943  
5944  var emptyHeadingContent = Object(external_wp_element_["createElement"])("em", null, Object(external_wp_i18n_["__"])('(Empty heading)'));
5945  var incorrectLevelContent = [Object(external_wp_element_["createElement"])("br", {
5946    key: "incorrect-break"
5947  }), Object(external_wp_element_["createElement"])("em", {
5948    key: "incorrect-message"
5949  }, Object(external_wp_i18n_["__"])('(Incorrect heading level)'))];
5950  var singleH1Headings = [Object(external_wp_element_["createElement"])("br", {
5951    key: "incorrect-break-h1"
5952  }), Object(external_wp_element_["createElement"])("em", {
5953    key: "incorrect-message-h1"
5954  }, Object(external_wp_i18n_["__"])('(Your theme may already use a H1 for the post title)'))];
5955  var multipleH1Headings = [Object(external_wp_element_["createElement"])("br", {
5956    key: "incorrect-break-multiple-h1"
5957  }), Object(external_wp_element_["createElement"])("em", {
5958    key: "incorrect-message-multiple-h1"
5959  }, Object(external_wp_i18n_["__"])('(Multiple H1 headings are not recommended)'))];
5960  /**
5961   * Returns an array of heading blocks enhanced with the following properties:
5962   * level   - An integer with the heading level.
5963   * isEmpty - Flag indicating if the heading has no content.
5964   *
5965   * @param {?Array} blocks An array of blocks.
5966   *
5967   * @return {Array} An array of heading blocks enhanced with the properties described above.
5968   */
5969  
5970  var document_outline_computeOutlineHeadings = function computeOutlineHeadings() {
5971    var blocks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5972    return Object(external_lodash_["flatMap"])(blocks, function () {
5973      var block = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5974  
5975      if (block.name === 'core/heading') {
5976        return document_outline_objectSpread(document_outline_objectSpread({}, block), {}, {
5977          level: block.attributes.level,
5978          isEmpty: isEmptyHeading(block)
5979        });
5980      }
5981  
5982      return computeOutlineHeadings(block.innerBlocks);
5983    });
5984  };
5985  
5986  var isEmptyHeading = function isEmptyHeading(heading) {
5987    return !heading.attributes.content || heading.attributes.content.length === 0;
5988  };
5989  
5990  var document_outline_DocumentOutline = function DocumentOutline(_ref) {
5991    var _ref$blocks = _ref.blocks,
5992        blocks = _ref$blocks === void 0 ? [] : _ref$blocks,
5993        title = _ref.title,
5994        onSelect = _ref.onSelect,
5995        isTitleSupported = _ref.isTitleSupported,
5996        hasOutlineItemsDisabled = _ref.hasOutlineItemsDisabled;
5997    var headings = document_outline_computeOutlineHeadings(blocks);
5998  
5999    if (headings.length < 1) {
6000      return null;
6001    }
6002  
6003    var prevHeadingLevel = 1; // Not great but it's the simplest way to locate the title right now.
6004  
6005    var titleNode = document.querySelector('.editor-post-title__input');
6006    var hasTitle = isTitleSupported && title && titleNode;
6007    var countByLevel = Object(external_lodash_["countBy"])(headings, 'level');
6008    var hasMultipleH1 = countByLevel[1] > 1;
6009    return Object(external_wp_element_["createElement"])("div", {
6010      className: "document-outline"
6011    }, Object(external_wp_element_["createElement"])("ul", null, hasTitle && Object(external_wp_element_["createElement"])(document_outline_item, {
6012      level: Object(external_wp_i18n_["__"])('Title'),
6013      isValid: true,
6014      onSelect: onSelect,
6015      href: "#".concat(titleNode.id),
6016      isDisabled: hasOutlineItemsDisabled
6017    }, title), headings.map(function (item, index) {
6018      // Headings remain the same, go up by one, or down by any amount.
6019      // Otherwise there are missing levels.
6020      var isIncorrectLevel = item.level > prevHeadingLevel + 1;
6021      var isValid = !item.isEmpty && !isIncorrectLevel && !!item.level && (item.level !== 1 || !hasMultipleH1 && !hasTitle);
6022      prevHeadingLevel = item.level;
6023      return Object(external_wp_element_["createElement"])(document_outline_item, {
6024        key: index,
6025        level: "H".concat(item.level),
6026        isValid: isValid,
6027        isDisabled: hasOutlineItemsDisabled,
6028        href: "#block-".concat(item.clientId),
6029        onSelect: onSelect
6030      }, item.isEmpty ? emptyHeadingContent : Object(external_wp_richText_["getTextContent"])(Object(external_wp_richText_["create"])({
6031        html: item.attributes.content
6032      })), isIncorrectLevel && incorrectLevelContent, item.level === 1 && hasMultipleH1 && multipleH1Headings, hasTitle && item.level === 1 && !hasMultipleH1 && singleH1Headings);
6033    })));
6034  };
6035  /* harmony default export */ var document_outline = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(function (select) {
6036    var _select = select('core/block-editor'),
6037        getBlocks = _select.getBlocks;
6038  
6039    var _select2 = select('core/editor'),
6040        getEditedPostAttribute = _select2.getEditedPostAttribute;
6041  
6042    var _select3 = select('core'),
6043        getPostType = _select3.getPostType;
6044  
6045    var postType = getPostType(getEditedPostAttribute('type'));
6046    return {
6047      title: getEditedPostAttribute('title'),
6048      blocks: getBlocks(),
6049      isTitleSupported: Object(external_lodash_["get"])(postType, ['supports', 'title'], false)
6050    };
6051  }))(document_outline_DocumentOutline));
6052  
6053  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/document-outline/check.js
6054  /**
6055   * External dependencies
6056   */
6057  
6058  /**
6059   * WordPress dependencies
6060   */
6061  
6062  
6063  
6064  function DocumentOutlineCheck(_ref) {
6065    var blocks = _ref.blocks,
6066        children = _ref.children;
6067    var headings = Object(external_lodash_["filter"])(blocks, function (block) {
6068      return block.name === 'core/heading';
6069    });
6070  
6071    if (headings.length < 1) {
6072      return null;
6073    }
6074  
6075    return children;
6076  }
6077  
6078  /* harmony default export */ var check = (Object(external_wp_data_["withSelect"])(function (select) {
6079    return {
6080      blocks: select('core/block-editor').getBlocks()
6081    };
6082  })(DocumentOutlineCheck));
6083  
6084  // EXTERNAL MODULE: external ["wp","keyboardShortcuts"]
6085  var external_wp_keyboardShortcuts_ = __webpack_require__(47);
6086  
6087  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/global-keyboard-shortcuts/save-shortcut.js
6088  /**
6089   * WordPress dependencies
6090   */
6091  
6092  
6093  
6094  
6095  function SaveShortcut(_ref) {
6096    var resetBlocksOnSave = _ref.resetBlocksOnSave;
6097  
6098    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
6099        resetEditorBlocks = _useDispatch.resetEditorBlocks,
6100        savePost = _useDispatch.savePost;
6101  
6102    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
6103      var _select = select('core/editor'),
6104          _isEditedPostDirty = _select.isEditedPostDirty,
6105          _getPostEdits = _select.getPostEdits;
6106  
6107      return {
6108        isEditedPostDirty: _isEditedPostDirty,
6109        getPostEdits: _getPostEdits
6110      };
6111    }, []),
6112        isEditedPostDirty = _useSelect.isEditedPostDirty,
6113        getPostEdits = _useSelect.getPostEdits;
6114  
6115    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/editor/save', function (event) {
6116      event.preventDefault(); // TODO: This should be handled in the `savePost` effect in
6117      // considering `isSaveable`. See note on `isEditedPostSaveable`
6118      // selector about dirtiness and meta-boxes.
6119      //
6120      // See: `isEditedPostSaveable`
6121  
6122      if (!isEditedPostDirty()) {
6123        return;
6124      } // The text editor requires that editor blocks are updated for a
6125      // save to work correctly. Usually this happens when the textarea
6126      // for the code editors blurs, but the shortcut can be used without
6127      // blurring the textarea.
6128  
6129  
6130      if (resetBlocksOnSave) {
6131        var postEdits = getPostEdits();
6132  
6133        if (postEdits.content && typeof postEdits.content === 'string') {
6134          var blocks = Object(external_wp_blocks_["parse"])(postEdits.content);
6135          resetEditorBlocks(blocks);
6136        }
6137      }
6138  
6139      savePost();
6140    }, {
6141      bindGlobal: true
6142    });
6143    return null;
6144  }
6145  
6146  /* harmony default export */ var save_shortcut = (SaveShortcut);
6147  
6148  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/global-keyboard-shortcuts/visual-editor-shortcuts.js
6149  
6150  
6151  /**
6152   * WordPress dependencies
6153   */
6154  
6155  
6156  
6157  /**
6158   * Internal dependencies
6159   */
6160  
6161  
6162  
6163  function VisualEditorGlobalKeyboardShortcuts() {
6164    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
6165        redo = _useDispatch.redo,
6166        undo = _useDispatch.undo;
6167  
6168    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/editor/undo', function (event) {
6169      undo();
6170      event.preventDefault();
6171    }, {
6172      bindGlobal: true
6173    });
6174    Object(external_wp_keyboardShortcuts_["useShortcut"])('core/editor/redo', function (event) {
6175      redo();
6176      event.preventDefault();
6177    }, {
6178      bindGlobal: true
6179    });
6180    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorKeyboardShortcuts"], null), Object(external_wp_element_["createElement"])(save_shortcut, null));
6181  }
6182  
6183  /* harmony default export */ var visual_editor_shortcuts = (VisualEditorGlobalKeyboardShortcuts);
6184  
6185  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/global-keyboard-shortcuts/text-editor-shortcuts.js
6186  
6187  
6188  /**
6189   * Internal dependencies
6190   */
6191  
6192  function TextEditorGlobalKeyboardShortcuts() {
6193    return Object(external_wp_element_["createElement"])(save_shortcut, {
6194      resetBlocksOnSave: true
6195    });
6196  }
6197  
6198  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/global-keyboard-shortcuts/register-shortcuts.js
6199  
6200  
6201  /**
6202   * WordPress dependencies
6203   */
6204  
6205  
6206  
6207  
6208  
6209  
6210  function EditorKeyboardShortcutsRegister() {
6211    // Registering the shortcuts
6212    var _useDispatch = Object(external_wp_data_["useDispatch"])(external_wp_keyboardShortcuts_["store"]),
6213        registerShortcut = _useDispatch.registerShortcut;
6214  
6215    Object(external_wp_element_["useEffect"])(function () {
6216      registerShortcut({
6217        name: 'core/editor/save',
6218        category: 'global',
6219        description: Object(external_wp_i18n_["__"])('Save your changes.'),
6220        keyCombination: {
6221          modifier: 'primary',
6222          character: 's'
6223        }
6224      });
6225      registerShortcut({
6226        name: 'core/editor/undo',
6227        category: 'global',
6228        description: Object(external_wp_i18n_["__"])('Undo your last changes.'),
6229        keyCombination: {
6230          modifier: 'primary',
6231          character: 'z'
6232        }
6233      });
6234      registerShortcut({
6235        name: 'core/editor/redo',
6236        category: 'global',
6237        description: Object(external_wp_i18n_["__"])('Redo your last undo.'),
6238        keyCombination: {
6239          modifier: 'primaryShift',
6240          character: 'z'
6241        }
6242      });
6243    }, [registerShortcut]);
6244    return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorKeyboardShortcuts"].Register, null);
6245  }
6246  
6247  /* harmony default export */ var register_shortcuts = (EditorKeyboardShortcutsRegister);
6248  
6249  // EXTERNAL MODULE: external ["wp","components"]
6250  var external_wp_components_ = __webpack_require__(3);
6251  
6252  // EXTERNAL MODULE: external ["wp","keycodes"]
6253  var external_wp_keycodes_ = __webpack_require__(17);
6254  
6255  // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/redo.js
6256  
6257  
6258  /**
6259   * WordPress dependencies
6260   */
6261  
6262  var redo_redo = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
6263    xmlns: "http://www.w3.org/2000/svg",
6264    viewBox: "0 0 24 24"
6265  }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
6266    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"
6267  }));
6268  /* harmony default export */ var library_redo = (redo_redo);
6269  
6270  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/editor-history/redo.js
6271  
6272  
6273  
6274  /**
6275   * WordPress dependencies
6276   */
6277  
6278  
6279  
6280  
6281  
6282  
6283  
6284  function EditorHistoryRedo(props, ref) {
6285    var hasRedo = Object(external_wp_data_["useSelect"])(function (select) {
6286      return select('core/editor').hasEditorRedo();
6287    }, []);
6288  
6289    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
6290        redo = _useDispatch.redo;
6291  
6292    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, {
6293      ref: ref,
6294      icon: library_redo
6295      /* translators: button label text should, if possible, be under 16 characters. */
6296      ,
6297      label: Object(external_wp_i18n_["__"])('Redo'),
6298      shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('z') // If there are no redo levels we don't want to actually disable this
6299      // button, because it will remove focus for keyboard users.
6300      // See: https://github.com/WordPress/gutenberg/issues/3486
6301      ,
6302      "aria-disabled": !hasRedo,
6303      onClick: hasRedo ? redo : undefined,
6304      className: "editor-history__redo"
6305    }));
6306  }
6307  
6308  /* harmony default export */ var editor_history_redo = (Object(external_wp_element_["forwardRef"])(EditorHistoryRedo));
6309  
6310  // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/undo.js
6311  
6312  
6313  /**
6314   * WordPress dependencies
6315   */
6316  
6317  var undo_undo = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
6318    xmlns: "http://www.w3.org/2000/svg",
6319    viewBox: "0 0 24 24"
6320  }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
6321    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"
6322  }));
6323  /* harmony default export */ var library_undo = (undo_undo);
6324  
6325  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/editor-history/undo.js
6326  
6327  
6328  
6329  /**
6330   * WordPress dependencies
6331   */
6332  
6333  
6334  
6335  
6336  
6337  
6338  
6339  function EditorHistoryUndo(props, ref) {
6340    var hasUndo = Object(external_wp_data_["useSelect"])(function (select) {
6341      return select('core/editor').hasEditorUndo();
6342    }, []);
6343  
6344    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
6345        undo = _useDispatch.undo;
6346  
6347    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], Object(esm_extends["a" /* default */])({}, props, {
6348      ref: ref,
6349      icon: library_undo
6350      /* translators: button label text should, if possible, be under 16 characters. */
6351      ,
6352      label: Object(external_wp_i18n_["__"])('Undo'),
6353      shortcut: external_wp_keycodes_["displayShortcut"].primary('z') // If there are no undo levels we don't want to actually disable this
6354      // button, because it will remove focus for keyboard users.
6355      // See: https://github.com/WordPress/gutenberg/issues/3486
6356      ,
6357      "aria-disabled": !hasUndo,
6358      onClick: hasUndo ? undo : undefined,
6359      className: "editor-history__undo"
6360    }));
6361  }
6362  
6363  /* harmony default export */ var editor_history_undo = (Object(external_wp_element_["forwardRef"])(EditorHistoryUndo));
6364  
6365  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/template-validation-notice/index.js
6366  
6367  
6368  
6369  /**
6370   * WordPress dependencies
6371   */
6372  
6373  
6374  
6375  
6376  
6377  function TemplateValidationNotice(_ref) {
6378    var isValid = _ref.isValid,
6379        props = Object(objectWithoutProperties["a" /* default */])(_ref, ["isValid"]);
6380  
6381    if (isValid) {
6382      return null;
6383    }
6384  
6385    var confirmSynchronization = function confirmSynchronization() {
6386      if ( // eslint-disable-next-line no-alert
6387      window.confirm(Object(external_wp_i18n_["__"])('Resetting the template may result in loss of content, do you want to continue?'))) {
6388        props.synchronizeTemplate();
6389      }
6390    };
6391  
6392    return Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], {
6393      className: "editor-template-validation-notice",
6394      isDismissible: false,
6395      status: "warning",
6396      actions: [{
6397        label: Object(external_wp_i18n_["__"])('Keep it as is'),
6398        onClick: props.resetTemplateValidity
6399      }, {
6400        label: Object(external_wp_i18n_["__"])('Reset the template'),
6401        onClick: confirmSynchronization
6402      }]
6403    }, Object(external_wp_i18n_["__"])('The content of your post doesn’t match the template assigned to your post type.'));
6404  }
6405  
6406  /* harmony default export */ var template_validation_notice = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])(function (select) {
6407    return {
6408      isValid: select('core/block-editor').isValidTemplate()
6409    };
6410  }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
6411    var _dispatch = dispatch('core/block-editor'),
6412        setTemplateValidity = _dispatch.setTemplateValidity,
6413        synchronizeTemplate = _dispatch.synchronizeTemplate;
6414  
6415    return {
6416      resetTemplateValidity: function resetTemplateValidity() {
6417        return setTemplateValidity(true);
6418      },
6419      synchronizeTemplate: synchronizeTemplate
6420    };
6421  })])(TemplateValidationNotice));
6422  
6423  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/editor-notices/index.js
6424  
6425  
6426  /**
6427   * External dependencies
6428   */
6429  
6430  /**
6431   * WordPress dependencies
6432   */
6433  
6434  
6435  
6436  
6437  
6438  /**
6439   * Internal dependencies
6440   */
6441  
6442  
6443  function EditorNotices(_ref) {
6444    var notices = _ref.notices,
6445        onRemove = _ref.onRemove;
6446    var dismissibleNotices = Object(external_lodash_["filter"])(notices, {
6447      isDismissible: true,
6448      type: 'default'
6449    });
6450    var nonDismissibleNotices = Object(external_lodash_["filter"])(notices, {
6451      isDismissible: false,
6452      type: 'default'
6453    });
6454    var snackbarNotices = Object(external_lodash_["filter"])(notices, {
6455      type: 'snackbar'
6456    });
6457    return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NoticeList"], {
6458      notices: nonDismissibleNotices,
6459      className: "components-editor-notices__pinned"
6460    }), Object(external_wp_element_["createElement"])(external_wp_components_["NoticeList"], {
6461      notices: dismissibleNotices,
6462      className: "components-editor-notices__dismissible",
6463      onRemove: onRemove
6464    }, Object(external_wp_element_["createElement"])(template_validation_notice, null)), Object(external_wp_element_["createElement"])(external_wp_components_["SnackbarList"], {
6465      notices: snackbarNotices,
6466      className: "components-editor-notices__snackbar",
6467      onRemove: onRemove
6468    }));
6469  }
6470  /* harmony default export */ var editor_notices = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])(function (select) {
6471    return {
6472      notices: select(external_wp_notices_["store"]).getNotices()
6473    };
6474  }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
6475    return {
6476      onRemove: dispatch(external_wp_notices_["store"]).removeNotice
6477    };
6478  })])(EditorNotices));
6479  
6480  // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close.js
6481  var library_close = __webpack_require__(160);
6482  
6483  // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page.js
6484  
6485  
6486  /**
6487   * WordPress dependencies
6488   */
6489  
6490  var page_page = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], {
6491    xmlns: "http://www.w3.org/2000/svg",
6492    viewBox: "0 0 24 24"
6493  }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], {
6494    d: "M7 5.5h10a.5.5 0 01.5.5v12a.5.5 0 01-.5.5H7a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM17 4H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V6a2 2 0 00-2-2zm-1 3.75H8v1.5h8v-1.5zM8 11h8v1.5H8V11zm6 3.25H8v1.5h6v-1.5z"
6495  }));
6496  /* harmony default export */ var library_page = (page_page);
6497  
6498  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/entities-saved-states/entity-record-item.js
6499  
6500  
6501  /**
6502   * WordPress dependencies
6503   */
6504  
6505  
6506  
6507  
6508  function EntityRecordItem(_ref) {
6509    var record = _ref.record,
6510        checked = _ref.checked,
6511        onChange = _ref.onChange,
6512        closePanel = _ref.closePanel;
6513    var name = record.name,
6514        kind = record.kind,
6515        title = record.title,
6516        key = record.key;
6517    var parentBlockId = Object(external_wp_data_["useSelect"])(function (select) {
6518      var _blocks$;
6519  
6520      // Get entity's blocks.
6521      var _select$getEditedEnti = select('core').getEditedEntityRecord(kind, name, key),
6522          _select$getEditedEnti2 = _select$getEditedEnti.blocks,
6523          blocks = _select$getEditedEnti2 === void 0 ? [] : _select$getEditedEnti2; // Get parents of the entity's first block.
6524  
6525  
6526      var parents = select('core/block-editor').getBlockParents((_blocks$ = blocks[0]) === null || _blocks$ === void 0 ? void 0 : _blocks$.clientId); // Return closest parent block's clientId.
6527  
6528      return parents[parents.length - 1];
6529    }, []); // Handle templates that might use default descriptive titles
6530  
6531    var entityRecordTitle = Object(external_wp_data_["useSelect"])(function (select) {
6532      if ('postType' !== kind || 'wp_template' !== name) {
6533        return title;
6534      }
6535  
6536      var template = select('core').getEditedEntityRecord(kind, name, key);
6537      return select('core/editor').__experimentalGetTemplateInfo(template).title;
6538    }, [name, kind, title, key]);
6539    var isSelected = Object(external_wp_data_["useSelect"])(function (select) {
6540      var selectedBlockId = select('core/block-editor').getSelectedBlockClientId();
6541      return selectedBlockId === parentBlockId;
6542    }, [parentBlockId]);
6543    var isSelectedText = isSelected ? Object(external_wp_i18n_["__"])('Selected') : Object(external_wp_i18n_["__"])('Select');
6544  
6545    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/block-editor'),
6546        selectBlock = _useDispatch.selectBlock;
6547  
6548    var selectParentBlock = Object(external_wp_element_["useCallback"])(function () {
6549      return selectBlock(parentBlockId);
6550    }, [parentBlockId]);
6551    var selectAndDismiss = Object(external_wp_element_["useCallback"])(function () {
6552      selectBlock(parentBlockId);
6553      closePanel();
6554    }, [parentBlockId]);
6555    return Object(external_wp_element_["createElement"])(external_wp_components_["PanelRow"], null, Object(external_wp_element_["createElement"])(external_wp_components_["CheckboxControl"], {
6556      label: Object(external_wp_element_["createElement"])("strong", null, entityRecordTitle || Object(external_wp_i18n_["__"])('Untitled')),
6557      checked: checked,
6558      onChange: onChange
6559    }), parentBlockId ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6560      onClick: selectParentBlock,
6561      className: "entities-saved-states__find-entity",
6562      disabled: isSelected
6563    }, isSelectedText), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6564      onClick: selectAndDismiss,
6565      className: "entities-saved-states__find-entity-small",
6566      disabled: isSelected
6567    }, isSelectedText)) : null);
6568  }
6569  
6570  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/entities-saved-states/entity-type-list.js
6571  
6572  
6573  /**
6574   * External dependencies
6575   */
6576  
6577  /**
6578   * WordPress dependencies
6579   */
6580  
6581  
6582  
6583  
6584  /**
6585   * Internal dependencies
6586   */
6587  
6588  
6589  var ENTITY_NAME_ICONS = {
6590    site: layout["a" /* default */],
6591    page: library_page
6592  };
6593  function EntityTypeList(_ref) {
6594    var list = _ref.list,
6595        unselectedEntities = _ref.unselectedEntities,
6596        setUnselectedEntities = _ref.setUnselectedEntities,
6597        closePanel = _ref.closePanel;
6598    var firstRecord = list[0];
6599    var entity = Object(external_wp_data_["useSelect"])(function (select) {
6600      return select('core').getEntity(firstRecord.kind, firstRecord.name);
6601    }, [firstRecord.kind, firstRecord.name]); // Set icon based on type of entity.
6602  
6603    var name = firstRecord.name;
6604    var icon = ENTITY_NAME_ICONS[name];
6605    return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], {
6606      title: entity.label,
6607      initialOpen: true,
6608      icon: icon
6609    }, list.map(function (record) {
6610      return Object(external_wp_element_["createElement"])(EntityRecordItem, {
6611        key: record.key || 'site',
6612        record: record,
6613        checked: !Object(external_lodash_["some"])(unselectedEntities, function (elt) {
6614          return elt.kind === record.kind && elt.name === record.name && elt.key === record.key;
6615        }),
6616        onChange: function onChange(value) {
6617          return setUnselectedEntities(record, value);
6618        },
6619        closePanel: closePanel
6620      });
6621    }));
6622  }
6623  
6624  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/entities-saved-states/index.js
6625  
6626  
6627  
6628  
6629  /**
6630   * External dependencies
6631   */
6632  
6633  /**
6634   * WordPress dependencies
6635   */
6636  
6637  
6638  
6639  
6640  
6641  
6642  /**
6643   * Internal dependencies
6644   */
6645  
6646  
6647  
6648  function EntitiesSavedStates(_ref) {
6649    var isOpen = _ref.isOpen,
6650        close = _ref.close;
6651  
6652    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
6653      return {
6654        dirtyEntityRecords: select('core').__experimentalGetDirtyEntityRecords()
6655      };
6656    }, []),
6657        dirtyEntityRecords = _useSelect.dirtyEntityRecords;
6658  
6659    var _useDispatch = Object(external_wp_data_["useDispatch"])('core'),
6660        saveEditedEntityRecord = _useDispatch.saveEditedEntityRecord; // To group entities by type.
6661  
6662  
6663    var partitionedSavables = Object.values(Object(external_lodash_["groupBy"])(dirtyEntityRecords, 'name')); // Unchecked entities to be ignored by save function.
6664  
6665    var _useState = Object(external_wp_element_["useState"])([]),
6666        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
6667        unselectedEntities = _useState2[0],
6668        _setUnselectedEntities = _useState2[1];
6669  
6670    var setUnselectedEntities = function setUnselectedEntities(_ref2, checked) {
6671      var kind = _ref2.kind,
6672          name = _ref2.name,
6673          key = _ref2.key;
6674  
6675      if (checked) {
6676        _setUnselectedEntities(unselectedEntities.filter(function (elt) {
6677          return elt.kind !== kind || elt.name !== name || elt.key !== key;
6678        }));
6679      } else {
6680        _setUnselectedEntities([].concat(Object(toConsumableArray["a" /* default */])(unselectedEntities), [{
6681          kind: kind,
6682          name: name,
6683          key: key
6684        }]));
6685      }
6686    };
6687  
6688    var saveCheckedEntities = function saveCheckedEntities() {
6689      var entitiesToSave = dirtyEntityRecords.filter(function (_ref3) {
6690        var kind = _ref3.kind,
6691            name = _ref3.name,
6692            key = _ref3.key;
6693        return !Object(external_lodash_["some"])(unselectedEntities, function (elt) {
6694          return elt.kind === kind && elt.name === name && elt.key === key;
6695        });
6696      });
6697      close(entitiesToSave);
6698      entitiesToSave.forEach(function (_ref4) {
6699        var kind = _ref4.kind,
6700            name = _ref4.name,
6701            key = _ref4.key;
6702        saveEditedEntityRecord(kind, name, key);
6703      });
6704    }; // Explicitly define this with no argument passed.  Using `close` on
6705    // its own will use the event object in place of the expected saved entities.
6706  
6707  
6708    var dismissPanel = Object(external_wp_element_["useCallback"])(function () {
6709      return close();
6710    }, [close]);
6711    return isOpen ? Object(external_wp_element_["createElement"])("div", {
6712      className: "entities-saved-states__panel"
6713    }, Object(external_wp_element_["createElement"])("div", {
6714      className: "entities-saved-states__panel-header"
6715    }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6716      isPrimary: true,
6717      disabled: dirtyEntityRecords.length - unselectedEntities.length === 0,
6718      onClick: saveCheckedEntities,
6719      className: "editor-entities-saved-states__save-button"
6720    }, Object(external_wp_i18n_["__"])('Save')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6721      onClick: dismissPanel,
6722      icon: library_close["a" /* default */],
6723      label: Object(external_wp_i18n_["__"])('Close panel')
6724    })), Object(external_wp_element_["createElement"])("div", {
6725      className: "entities-saved-states__text-prompt"
6726    }, Object(external_wp_element_["createElement"])("strong", null, Object(external_wp_i18n_["__"])('Select the changes you want to save')), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Some changes may affect other areas of your site.'))), partitionedSavables.map(function (list) {
6727      return Object(external_wp_element_["createElement"])(EntityTypeList, {
6728        key: list[0].name,
6729        list: list,
6730        closePanel: dismissPanel,
6731        unselectedEntities: unselectedEntities,
6732        setUnselectedEntities: setUnselectedEntities
6733      });
6734    })) : null;
6735  }
6736  
6737  /* harmony default export */ var entities_saved_states = (Object(external_wp_components_["withFocusReturn"])(EntitiesSavedStates));
6738  
6739  // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js
6740  var assertThisInitialized = __webpack_require__(18);
6741  
6742  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/error-boundary/index.js
6743  
6744  
6745  
6746  
6747  
6748  
6749  
6750  
6751  function error_boundary_createSuper(Derived) { var hasNativeReflectConstruct = error_boundary_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = Object(getPrototypeOf["a" /* default */])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = Object(getPrototypeOf["a" /* default */])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return Object(possibleConstructorReturn["a" /* default */])(this, result); }; }
6752  
6753  function error_boundary_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
6754  
6755  /**
6756   * WordPress dependencies
6757   */
6758  
6759  
6760  
6761  
6762  
6763  
6764  
6765  function CopyButton(_ref) {
6766    var text = _ref.text,
6767        children = _ref.children;
6768    var ref = Object(external_wp_compose_["useCopyToClipboard"])(text);
6769    return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6770      isSecondary: true,
6771      ref: ref
6772    }, children);
6773  }
6774  
6775  var error_boundary_ErrorBoundary = /*#__PURE__*/function (_Component) {
6776    Object(inherits["a" /* default */])(ErrorBoundary, _Component);
6777  
6778    var _super = error_boundary_createSuper(ErrorBoundary);
6779  
6780    function ErrorBoundary() {
6781      var _this;
6782  
6783      Object(classCallCheck["a" /* default */])(this, ErrorBoundary);
6784  
6785      _this = _super.apply(this, arguments);
6786      _this.reboot = _this.reboot.bind(Object(assertThisInitialized["a" /* default */])(_this));
6787      _this.getContent = _this.getContent.bind(Object(assertThisInitialized["a" /* default */])(_this));
6788      _this.state = {
6789        error: null
6790      };
6791      return _this;
6792    }
6793  
6794    Object(createClass["a" /* default */])(ErrorBoundary, [{
6795      key: "componentDidCatch",
6796      value: function componentDidCatch(error) {
6797        this.setState({
6798          error: error
6799        });
6800      }
6801    }, {
6802      key: "reboot",
6803      value: function reboot() {
6804        this.props.onError();
6805      }
6806    }, {
6807      key: "getContent",
6808      value: function getContent() {
6809        try {
6810          // While `select` in a component is generally discouraged, it is
6811          // used here because it (a) reduces the chance of data loss in the
6812          // case of additional errors by performing a direct retrieval and
6813          // (b) avoids the performance cost associated with unnecessary
6814          // content serialization throughout the lifetime of a non-erroring
6815          // application.
6816          return Object(external_wp_data_["select"])('core/editor').getEditedPostContent();
6817        } catch (error) {}
6818      }
6819    }, {
6820      key: "render",
6821      value: function render() {
6822        var error = this.state.error;
6823  
6824        if (!error) {
6825          return this.props.children;
6826        }
6827  
6828        return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], {
6829          className: "editor-error-boundary",
6830          actions: [Object(external_wp_element_["createElement"])(external_wp_components_["Button"], {
6831            key: "recovery",
6832            onClick: this.reboot,
6833            isSecondary: true
6834          }, Object(external_wp_i18n_["__"])('Attempt Recovery')), Object(external_wp_element_["createElement"])(CopyButton, {
6835            key: "copy-post",
6836            text: this.getContent
6837          }, Object(external_wp_i18n_["__"])('Copy Post Text')), Object(external_wp_element_["createElement"])(CopyButton, {
6838            key: "copy-error",
6839            text: error.stack
6840          }, Object(external_wp_i18n_["__"])('Copy Error'))]
6841        }, Object(external_wp_i18n_["__"])('The editor has encountered an unexpected error.'));
6842      }
6843    }]);
6844  
6845    return ErrorBoundary;
6846  }(external_wp_element_["Component"]);
6847  
6848  /* harmony default export */ var error_boundary = (error_boundary_ErrorBoundary);
6849  
6850  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/local-autosave-monitor/index.js
6851  
6852  
6853  /**
6854   * External dependencies
6855   */
6856  
6857  /**
6858   * WordPress dependencies
6859   */
6860  
6861  
6862  
6863  
6864  
6865  
6866  
6867  /**
6868   * Internal dependencies
6869   */
6870  
6871  
6872  
6873  var requestIdleCallback = window.requestIdleCallback ? window.requestIdleCallback : window.requestAnimationFrame;
6874  /**
6875   * Function which returns true if the current environment supports browser
6876   * sessionStorage, or false otherwise. The result of this function is cached and
6877   * reused in subsequent invocations.
6878   */
6879  
6880  var hasSessionStorageSupport = Object(external_lodash_["once"])(function () {
6881    try {
6882      // Private Browsing in Safari 10 and earlier will throw an error when
6883      // attempting to set into sessionStorage. The test here is intentional in
6884      // causing a thrown error as condition bailing from local autosave.
6885      window.sessionStorage.setItem('__wpEditorTestSessionStorage', '');
6886      window.sessionStorage.removeItem('__wpEditorTestSessionStorage');
6887      return true;
6888    } catch (error) {
6889      return false;
6890    }
6891  });
6892  /**
6893   * Custom hook which manages the creation of a notice prompting the user to
6894   * restore a local autosave, if one exists.
6895   */
6896  
6897  function useAutosaveNotice() {
6898    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
6899      return {
6900        postId: select('core/editor').getCurrentPostId(),
6901        isEditedPostNew: select('core/editor').isEditedPostNew(),
6902        getEditedPostAttribute: select('core/editor').getEditedPostAttribute,
6903        hasRemoteAutosave: !!select('core/editor').getEditorSettings().autosave
6904      };
6905    }, []),
6906        postId = _useSelect.postId,
6907        isEditedPostNew = _useSelect.isEditedPostNew,
6908        getEditedPostAttribute = _useSelect.getEditedPostAttribute,
6909        hasRemoteAutosave = _useSelect.hasRemoteAutosave;
6910  
6911    var _useDispatch = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]),
6912        createWarningNotice = _useDispatch.createWarningNotice,
6913        removeNotice = _useDispatch.removeNotice;
6914  
6915    var _useDispatch2 = Object(external_wp_data_["useDispatch"])('core/editor'),
6916        editPost = _useDispatch2.editPost,
6917        resetEditorBlocks = _useDispatch2.resetEditorBlocks;
6918  
6919    Object(external_wp_element_["useEffect"])(function () {
6920      var localAutosave = localAutosaveGet(postId, isEditedPostNew);
6921  
6922      if (!localAutosave) {
6923        return;
6924      }
6925  
6926      try {
6927        localAutosave = JSON.parse(localAutosave);
6928      } catch (error) {
6929        // Not usable if it can't be parsed.
6930        return;
6931      }
6932  
6933      var _localAutosave = localAutosave,
6934          title = _localAutosave.post_title,
6935          content = _localAutosave.content,
6936          excerpt = _localAutosave.excerpt;
6937      var edits = {
6938        title: title,
6939        content: content,
6940        excerpt: excerpt
6941      };
6942      {
6943        // Only display a notice if there is a difference between what has been
6944        // saved and that which is stored in sessionStorage.
6945        var hasDifference = Object.keys(edits).some(function (key) {
6946          return edits[key] !== getEditedPostAttribute(key);
6947        });
6948  
6949        if (!hasDifference) {
6950          // If there is no difference, it can be safely ejected from storage.
6951          localAutosaveClear(postId, isEditedPostNew);
6952          return;
6953        }
6954      }
6955  
6956      if (hasRemoteAutosave) {
6957        return;
6958      }
6959  
6960      var noticeId = Object(external_lodash_["uniqueId"])('wpEditorAutosaveRestore');
6961      createWarningNotice(Object(external_wp_i18n_["__"])('The backup of this post in your browser is different from the version below.'), {
6962        id: noticeId,
6963        actions: [{
6964          label: Object(external_wp_i18n_["__"])('Restore the backup'),
6965          onClick: function onClick() {
6966            editPost(Object(external_lodash_["omit"])(edits, ['content']));
6967            resetEditorBlocks(Object(external_wp_blocks_["parse"])(edits.content));
6968            removeNotice(noticeId);
6969          }
6970        }]
6971      });
6972    }, [isEditedPostNew, postId]);
6973  }
6974  /**
6975   * Custom hook which ejects a local autosave after a successful save occurs.
6976   */
6977  
6978  
6979  function useAutosavePurge() {
6980    var _useSelect2 = Object(external_wp_data_["useSelect"])(function (select) {
6981      return {
6982        postId: select('core/editor').getCurrentPostId(),
6983        isEditedPostNew: select('core/editor').isEditedPostNew(),
6984        isDirty: select('core/editor').isEditedPostDirty(),
6985        isAutosaving: select('core/editor').isAutosavingPost(),
6986        didError: select('core/editor').didPostSaveRequestFail()
6987      };
6988    }, []),
6989        postId = _useSelect2.postId,
6990        isEditedPostNew = _useSelect2.isEditedPostNew,
6991        isDirty = _useSelect2.isDirty,
6992        isAutosaving = _useSelect2.isAutosaving,
6993        didError = _useSelect2.didError;
6994  
6995    var lastIsDirty = Object(external_wp_element_["useRef"])(isDirty);
6996    var lastIsAutosaving = Object(external_wp_element_["useRef"])(isAutosaving);
6997    Object(external_wp_element_["useEffect"])(function () {
6998      if (!didError && (lastIsAutosaving.current && !isAutosaving || lastIsDirty.current && !isDirty)) {
6999        localAutosaveClear(postId, isEditedPostNew);
7000      }
7001  
7002      lastIsDirty.current = isDirty;
7003      lastIsAutosaving.current = isAutosaving;
7004    }, [isDirty, isAutosaving, didError]); // Once the isEditedPostNew changes from true to false, let's clear the auto-draft autosave.
7005  
7006    var wasEditedPostNew = Object(external_wp_compose_["usePrevious"])(isEditedPostNew);
7007    var prevPostId = Object(external_wp_compose_["usePrevious"])(postId);
7008    Object(external_wp_element_["useEffect"])(function () {
7009      if (prevPostId === postId && wasEditedPostNew && !isEditedPostNew) {
7010        localAutosaveClear(postId, true);
7011      }
7012    }, [isEditedPostNew, postId]);
7013  }
7014  
7015  function LocalAutosaveMonitor() {
7016    var _useDispatch3 = Object(external_wp_data_["useDispatch"])('core/editor'),
7017        autosave = _useDispatch3.autosave;
7018  
7019    var deferedAutosave = Object(external_wp_element_["useCallback"])(function () {
7020      requestIdleCallback(function () {
7021        return autosave({
7022          local: true
7023        });
7024      });
7025    }, []);
7026    useAutosaveNotice();
7027    useAutosavePurge();
7028  
7029    var _useSelect3 = Object(external_wp_data_["useSelect"])(function (select) {
7030      return {
7031        localAutosaveInterval: select('core/editor').getEditorSettings().__experimentalLocalAutosaveInterval
7032      };
7033    }, []),
7034        localAutosaveInterval = _useSelect3.localAutosaveInterval;
7035  
7036    return Object(external_wp_element_["createElement"])(autosave_monitor, {
7037      interval: localAutosaveInterval,
7038      autosave: deferedAutosave
7039    });
7040  }
7041  
7042  /* harmony default export */ var local_autosave_monitor = (Object(external_wp_compose_["ifCondition"])(hasSessionStorageSupport)(LocalAutosaveMonitor));
7043  
7044  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/page-attributes/check.js
7045  /**
7046   * External dependencies
7047   */
7048  
7049  /**
7050   * WordPress dependencies
7051   */
7052  
7053  
7054  function PageAttributesCheck(_ref) {
7055    var availableTemplates = _ref.availableTemplates,
7056        postType = _ref.postType,
7057        children = _ref.children;
7058    var supportsPageAttributes = Object(external_lodash_["get"])(postType, ['supports', 'page-attributes'], false); // Only render fields if post type supports page attributes or available templates exist.
7059  
7060    if (!supportsPageAttributes && Object(external_lodash_["isEmpty"])(availableTemplates)) {
7061      return null;
7062    }
7063  
7064    return children;
7065  }
7066  /* harmony default export */ var page_attributes_check = (Object(external_wp_data_["withSelect"])(function (select) {
7067    var _select = select('core/editor'),
7068        getEditedPostAttribute = _select.getEditedPostAttribute,
7069        getEditorSettings = _select.getEditorSettings;
7070  
7071    var _select2 = select('core'),
7072        getPostType = _select2.getPostType;
7073  
7074    var _getEditorSettings = getEditorSettings(),
7075        availableTemplates = _getEditorSettings.availableTemplates;
7076  
7077    return {
7078      postType: getPostType(getEditedPostAttribute('type')),
7079      availableTemplates: availableTemplates
7080    };
7081  })(PageAttributesCheck));
7082  
7083  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-type-support-check/index.js
7084  /**
7085   * External dependencies
7086   */
7087  
7088  /**
7089   * WordPress dependencies
7090   */
7091  
7092  
7093  /**
7094   * A component which renders its own children only if the current editor post
7095   * type supports one of the given `supportKeys` prop.
7096   *
7097   * @param {Object}    props             Props.
7098   * @param {string}    [props.postType]  Current post type.
7099   * @param {WPElement} props.children    Children to be rendered if post
7100   *                                                                   type supports.
7101   * @param {(string|string[])}                      props.supportKeys String or string array of keys
7102   *                                                                   to test.
7103   *
7104   * @return {WPComponent} The component to be rendered.
7105   */
7106  
7107  function PostTypeSupportCheck(_ref) {
7108    var postType = _ref.postType,
7109        children = _ref.children,
7110        supportKeys = _ref.supportKeys;
7111    var isSupported = true;
7112  
7113    if (postType) {
7114      isSupported = Object(external_lodash_["some"])(Object(external_lodash_["castArray"])(supportKeys), function (key) {
7115        return !!postType.supports[key];
7116      });
7117    }
7118  
7119    if (!isSupported) {
7120      return null;
7121    }
7122  
7123    return children;
7124  }
7125  /* harmony default export */ var post_type_support_check = (Object(external_wp_data_["withSelect"])(function (select) {
7126    var _select = select('core/editor'),
7127        getEditedPostAttribute = _select.getEditedPostAttribute;
7128  
7129    var _select2 = select('core'),
7130        getPostType = _select2.getPostType;
7131  
7132    return {
7133      postType: getPostType(getEditedPostAttribute('type'))
7134    };
7135  })(PostTypeSupportCheck));
7136  
7137  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/page-attributes/order.js
7138  
7139  
7140  /**
7141   * External dependencies
7142   */
7143  
7144  /**
7145   * WordPress dependencies
7146   */
7147  
7148  
7149  
7150  
7151  
7152  /**
7153   * Internal dependencies
7154   */
7155  
7156  
7157  var PageAttributesOrder = Object(external_wp_compose_["withState"])({
7158    orderInput: null
7159  })(function (_ref) {
7160    var onUpdateOrder = _ref.onUpdateOrder,
7161        _ref$order = _ref.order,
7162        order = _ref$order === void 0 ? 0 : _ref$order,
7163        orderInput = _ref.orderInput,
7164        setState = _ref.setState;
7165  
7166    var setUpdatedOrder = function setUpdatedOrder(value) {
7167      setState({
7168        orderInput: value
7169      });
7170      var newOrder = Number(value);
7171  
7172      if (Number.isInteger(newOrder) && Object(external_lodash_["invoke"])(value, ['trim']) !== '') {
7173        onUpdateOrder(Number(value));
7174      }
7175    };
7176  
7177    var value = orderInput === null ? order : orderInput;
7178    return Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], {
7179      className: "editor-page-attributes__order",
7180      type: "number",
7181      label: Object(external_wp_i18n_["__"])('Order'),
7182      value: value,
7183      onChange: setUpdatedOrder,
7184      size: 6,
7185      onBlur: function onBlur() {
7186        setState({
7187          orderInput: null
7188        });
7189      }
7190    });
7191  });
7192  
7193  function PageAttributesOrderWithChecks(props) {
7194    return Object(external_wp_element_["createElement"])(post_type_support_check, {
7195      supportKeys: "page-attributes"
7196    }, Object(external_wp_element_["createElement"])(PageAttributesOrder, props));
7197  }
7198  
7199  /* harmony default export */ var page_attributes_order = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])(function (select) {
7200    return {
7201      order: select('core/editor').getEditedPostAttribute('menu_order')
7202    };
7203  }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
7204    return {
7205      onUpdateOrder: function onUpdateOrder(order) {
7206        dispatch('core/editor').editPost({
7207          menu_order: order
7208        });
7209      }
7210    };
7211  })])(PageAttributesOrderWithChecks));
7212  
7213  // EXTERNAL MODULE: external ["wp","htmlEntities"]
7214  var external_wp_htmlEntities_ = __webpack_require__(57);
7215  
7216  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/utils/terms.js
7217  
7218  
7219  function terms_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
7220  
7221  function terms_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { terms_ownKeys(Object(source), true).forEach(function (key) { Object(defineProperty["a" /* default */])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { terms_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7222  
7223  /**
7224   * External dependencies
7225   */
7226  
7227  /**
7228   * Returns terms in a tree form.
7229   *
7230   * @param {Array} flatTerms  Array of terms in flat format.
7231   *
7232   * @return {Array} Array of terms in tree format.
7233   */
7234  
7235  function buildTermsTree(flatTerms) {
7236    var flatTermsWithParentAndChildren = flatTerms.map(function (term) {
7237      return terms_objectSpread({
7238        children: [],
7239        parent: null
7240      }, term);
7241    });
7242    var termsByParent = Object(external_lodash_["groupBy"])(flatTermsWithParentAndChildren, 'parent');
7243  
7244    if (termsByParent.null && termsByParent.null.length) {
7245      return flatTermsWithParentAndChildren;
7246    }
7247  
7248    var fillWithChildren = function fillWithChildren(terms) {
7249      return terms.map(function (term) {
7250        var children = termsByParent[term.id];
7251        return terms_objectSpread(terms_objectSpread({}, term), {}, {
7252          children: children && children.length ? fillWithChildren(children) : []
7253        });
7254      });
7255    };
7256  
7257    return fillWithChildren(termsByParent['0'] || []);
7258  }
7259  
7260  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/page-attributes/parent.js
7261  
7262  
7263  
7264  
7265  /**
7266   * External dependencies
7267   */
7268  
7269  /**
7270   * WordPress dependencies
7271   */
7272  
7273  
7274  
7275  
7276  
7277  
7278  /**
7279   * Internal dependencies
7280   */
7281  
7282  
7283  
7284  function getTitle(post) {
7285    var _post$title;
7286  
7287    return post !== null && post !== void 0 && (_post$title = post.title) !== null && _post$title !== void 0 && _post$title.rendered ? Object(external_wp_htmlEntities_["decodeEntities"])(post.title.rendered) : "#".concat(post.id, " (").concat(Object(external_wp_i18n_["__"])('no title'), ")");
7288  }
7289  
7290  var parent_getItemPriority = function getItemPriority(name, searchValue) {
7291    var normalizedName = Object(external_lodash_["deburr"])(name).toLowerCase();
7292    var normalizedSearch = Object(external_lodash_["deburr"])(searchValue).toLowerCase();
7293  
7294    if (normalizedName === normalizedSearch) {
7295      return 0;
7296    }
7297  
7298    if (normalizedName.startsWith(normalizedSearch)) {
7299      return normalizedName.length;
7300    }
7301  
7302    return Infinity;
7303  };
7304  function PageAttributesParent() {
7305    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
7306        editPost = _useDispatch.editPost;
7307  
7308    var _useState = Object(external_wp_element_["useState"])(false),
7309        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
7310        fieldValue = _useState2[0],
7311        setFieldValue = _useState2[1];
7312  
7313    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
7314      var _select = select('core'),
7315          getPostType = _select.getPostType,
7316          getEntityRecords = _select.getEntityRecords,
7317          getEntityRecord = _select.getEntityRecord;
7318  
7319      var _select2 = select('core/editor'),
7320          getCurrentPostId = _select2.getCurrentPostId,
7321          getEditedPostAttribute = _select2.getEditedPostAttribute;
7322  
7323      var postTypeSlug = getEditedPostAttribute('type');
7324      var pageId = getEditedPostAttribute('parent');
7325      var pType = getPostType(postTypeSlug);
7326      var postId = getCurrentPostId();
7327      var isHierarchical = Object(external_lodash_["get"])(pType, ['hierarchical'], false);
7328      var query = {
7329        per_page: 100,
7330        exclude: postId,
7331        parent_exclude: postId,
7332        orderby: 'menu_order',
7333        order: 'asc',
7334        _fields: 'id,title,parent'
7335      }; // Perform a search when the field is changed.
7336  
7337      if (!!fieldValue) {
7338        query.search = fieldValue;
7339      }
7340  
7341      return {
7342        parentPostId: pageId,
7343        parentPost: pageId ? getEntityRecord('postType', postTypeSlug, pageId) : null,
7344        items: isHierarchical ? getEntityRecords('postType', postTypeSlug, query) : [],
7345        postType: pType
7346      };
7347    }, [fieldValue]),
7348        parentPost = _useSelect.parentPost,
7349        parentPostId = _useSelect.parentPostId,
7350        items = _useSelect.items,
7351        postType = _useSelect.postType;
7352  
7353    var isHierarchical = Object(external_lodash_["get"])(postType, ['hierarchical'], false);
7354    var parentPageLabel = Object(external_lodash_["get"])(postType, ['labels', 'parent_item_colon']);
7355    var pageItems = items || [];
7356    var parentOptions = Object(external_wp_element_["useMemo"])(function () {
7357      var getOptionsFromTree = function getOptionsFromTree(tree) {
7358        var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
7359        var mappedNodes = tree.map(function (treeNode) {
7360          return [{
7361            value: treeNode.id,
7362            label: Object(external_lodash_["repeat"])('— ', level) + Object(external_lodash_["unescape"])(treeNode.name),
7363            rawName: treeNode.name
7364          }].concat(Object(toConsumableArray["a" /* default */])(getOptionsFromTree(treeNode.children || [], level + 1)));
7365        });
7366        var sortedNodes = mappedNodes.sort(function (_ref, _ref2) {
7367          var _ref3 = Object(slicedToArray["a" /* default */])(_ref, 1),
7368              a = _ref3[0];
7369  
7370          var _ref4 = Object(slicedToArray["a" /* default */])(_ref2, 1),
7371              b = _ref4[0];
7372  
7373          var priorityA = parent_getItemPriority(a.rawName, fieldValue);
7374          var priorityB = parent_getItemPriority(b.rawName, fieldValue);
7375          return priorityA >= priorityB ? 1 : -1;
7376        });
7377        return Object(external_lodash_["flatten"])(sortedNodes);
7378      };
7379  
7380      var tree = pageItems.map(function (item) {
7381        return {
7382          id: item.id,
7383          parent: item.parent,
7384          name: getTitle(item)
7385        };
7386      }); // Only build a hierarchical tree when not searching.
7387  
7388      if (!fieldValue) {
7389        tree = buildTermsTree(tree);
7390      }
7391  
7392      var opts = getOptionsFromTree(tree); // Ensure the current parent is in the options list.
7393  
7394      var optsHasParent = Object(external_lodash_["find"])(opts, function (item) {
7395        return item.value === parentPostId;
7396      });
7397  
7398      if (parentPost && !optsHasParent) {
7399        opts.unshift({
7400          value: parentPostId,
7401          label: getTitle(parentPost)
7402        });
7403      }
7404  
7405      return opts;
7406    }, [pageItems, fieldValue]);
7407  
7408    if (!isHierarchical || !parentPageLabel) {
7409      return null;
7410    }
7411    /**
7412     * Handle user input.
7413     *
7414     * @param {string} inputValue The current value of the input field.
7415     */
7416  
7417  
7418    var handleKeydown = function handleKeydown(inputValue) {
7419      setFieldValue(inputValue);
7420    };
7421    /**
7422     * Handle author selection.
7423     *
7424     * @param {Object} selectedPostId The selected Author.
7425     */
7426  
7427  
7428    var handleChange = function handleChange(selectedPostId) {
7429      editPost({
7430        parent: selectedPostId
7431      });
7432    };
7433  
7434    return Object(external_wp_element_["createElement"])(external_wp_components_["ComboboxControl"], {
7435      className: "editor-page-attributes__parent",
7436      label: parentPageLabel,
7437      value: parentPostId,
7438      options: parentOptions,
7439      onFilterValueChange: Object(external_lodash_["debounce"])(handleKeydown, 300),
7440      onChange: handleChange
7441    });
7442  }
7443  /* harmony default export */ var page_attributes_parent = (PageAttributesParent);
7444  
7445  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/page-attributes/template.js
7446  
7447  
7448  /**
7449   * External dependencies
7450   */
7451  
7452  /**
7453   * WordPress dependencies
7454   */
7455  
7456  
7457  
7458  
7459  
7460  function PageTemplate(_ref) {
7461    var availableTemplates = _ref.availableTemplates,
7462        selectedTemplate = _ref.selectedTemplate,
7463        onUpdate = _ref.onUpdate;
7464  
7465    if (Object(external_lodash_["isEmpty"])(availableTemplates)) {
7466      return null;
7467    }
7468  
7469    return Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], {
7470      label: Object(external_wp_i18n_["__"])('Template:'),
7471      value: selectedTemplate,
7472      onChange: onUpdate,
7473      className: "editor-page-attributes__template",
7474      options: Object(external_lodash_["map"])(availableTemplates, function (templateName, templateSlug) {
7475        return {
7476          value: templateSlug,
7477          label: templateName
7478        };
7479      })
7480    });
7481  }
7482  /* harmony default export */ var page_attributes_template = (Object(external_wp_compose_["compose"])(Object(external_wp_data_["withSelect"])(function (select) {
7483    var _select = select('core/editor'),
7484        getEditedPostAttribute = _select.getEditedPostAttribute,
7485        getEditorSettings = _select.getEditorSettings;
7486  
7487    var _getEditorSettings = getEditorSettings(),
7488        availableTemplates = _getEditorSettings.availableTemplates;
7489  
7490    return {
7491      selectedTemplate: getEditedPostAttribute('template'),
7492      availableTemplates: availableTemplates
7493    };
7494  }), Object(external_wp_data_["withDispatch"])(function (dispatch) {
7495    return {
7496      onUpdate: function onUpdate(templateSlug) {
7497        dispatch('core/editor').editPost({
7498          template: templateSlug || ''
7499        });
7500      }
7501    };
7502  }))(PageTemplate));
7503  
7504  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-author/combobox.js
7505  
7506  
7507  
7508  
7509  /**
7510   * External dependencies
7511   */
7512  
7513  /**
7514   * WordPress dependencies
7515   */
7516  
7517  
7518  
7519  
7520  
7521  
7522  function PostAuthorCombobox() {
7523    var _useState = Object(external_wp_element_["useState"])(),
7524        _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),
7525        fieldValue = _useState2[0],
7526        setFieldValue = _useState2[1];
7527  
7528    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
7529      var _select = select('core'),
7530          __unstableGetAuthor = _select.__unstableGetAuthor,
7531          getAuthors = _select.getAuthors,
7532          isResolving = _select.isResolving;
7533  
7534      var _select2 = select('core/editor'),
7535          getEditedPostAttribute = _select2.getEditedPostAttribute;
7536  
7537      var author = __unstableGetAuthor(getEditedPostAttribute('author'));
7538  
7539      var query = !fieldValue || '' === fieldValue ? {} : {
7540        search: fieldValue
7541      };
7542      return {
7543        authorId: getEditedPostAttribute('author'),
7544        postAuthor: author,
7545        authors: getAuthors(query),
7546        isLoading: isResolving('core', 'getAuthors', [query])
7547      };
7548    }, [fieldValue]),
7549        authorId = _useSelect.authorId,
7550        isLoading = _useSelect.isLoading,
7551        authors = _useSelect.authors,
7552        postAuthor = _useSelect.postAuthor;
7553  
7554    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
7555        editPost = _useDispatch.editPost;
7556  
7557    var authorOptions = Object(external_wp_element_["useMemo"])(function () {
7558      var fetchedAuthors = (authors !== null && authors !== void 0 ? authors : []).map(function (author) {
7559        return {
7560          value: author.id,
7561          label: author.name
7562        };
7563      }); // Ensure the current author is included in the dropdown list.
7564  
7565      var foundAuthor = fetchedAuthors.findIndex(function (_ref) {
7566        var value = _ref.value;
7567        return (postAuthor === null || postAuthor === void 0 ? void 0 : postAuthor.id) === value;
7568      });
7569  
7570      if (foundAuthor < 0 && postAuthor) {
7571        return [{
7572          value: postAuthor.id,
7573          label: postAuthor.name
7574        }].concat(Object(toConsumableArray["a" /* default */])(fetchedAuthors));
7575      }
7576  
7577      return fetchedAuthors;
7578    }, [authors, postAuthor]); // Initializes the post author properly
7579    // Also ensures external changes are reflected.
7580  
7581    Object(external_wp_element_["useEffect"])(function () {
7582      if (postAuthor) {
7583        setFieldValue(postAuthor.name);
7584      }
7585    }, [postAuthor]);
7586    /**
7587     * Handle author selection.
7588     *
7589     * @param {number} postAuthorId The selected Author.
7590     */
7591  
7592    var handleSelect = function handleSelect(postAuthorId) {
7593      if (!postAuthorId) {
7594        return;
7595      }
7596  
7597      editPost({
7598        author: postAuthorId
7599      });
7600    };
7601    /**
7602     * Handle user input.
7603     *
7604     * @param {string} inputValue The current value of the input field.
7605     */
7606  
7607  
7608    var handleKeydown = function handleKeydown(inputValue) {
7609      setFieldValue(inputValue);
7610    };
7611  
7612    if (!postAuthor) {
7613      return null;
7614    }
7615  
7616    return Object(external_wp_element_["createElement"])(external_wp_components_["ComboboxControl"], {
7617      label: Object(external_wp_i18n_["__"])('Author'),
7618      options: authorOptions,
7619      value: authorId,
7620      onFilterValueChange: Object(external_lodash_["debounce"])(handleKeydown, 300),
7621      onChange: handleSelect,
7622      isLoading: isLoading,
7623      allowReset: false
7624    });
7625  }
7626  
7627  /* harmony default export */ var combobox = (PostAuthorCombobox);
7628  
7629  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-author/select.js
7630  
7631  
7632  /**
7633   * WordPress dependencies
7634   */
7635  
7636  
7637  
7638  
7639  
7640  function PostAuthorSelect() {
7641    var _useDispatch = Object(external_wp_data_["useDispatch"])('core/editor'),
7642        editPost = _useDispatch.editPost;
7643  
7644    var _useSelect = Object(external_wp_data_["useSelect"])(function (select) {
7645      var authorsFromAPI = select('core').getAuthors();
7646      return {
7647        postAuthor: select('core/editor').getEditedPostAttribute('author'),
7648        authors: authorsFromAPI.map(function (author) {
7649          return {
7650            label: Object(external_wp_htmlEntities_["decodeEntities"])(author.name),
7651            value: author.id
7652          };
7653        })
7654      };
7655    }, []),
7656        postAuthor = _useSelect.postAuthor,
7657        authors = _useSelect.authors;
7658  
7659    var setAuthorId = function setAuthorId(value) {
7660      var author = Number(value);
7661      editPost({
7662        author: author
7663      });
7664    };
7665  
7666    return Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], {
7667      className: "post-author-selector",
7668      label: Object(external_wp_i18n_["__"])('Author'),
7669      options: authors,
7670      onChange: setAuthorId,
7671      value: postAuthor
7672    });
7673  }
7674  
7675  /* harmony default export */ var post_author_select = (PostAuthorSelect);
7676  
7677  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-author/index.js
7678  
7679  
7680  /**
7681   * WordPress dependencies
7682   */
7683  
7684  
7685  /**
7686   * Internal dependencies
7687   */
7688  
7689  
7690  
7691  var minimumUsersForCombobox = 25;
7692  
7693  function PostAuthor() {
7694    var showCombobox = Object(external_wp_data_["useSelect"])(function (select) {
7695      // Not using `getUsers()` because it requires `list_users` capability.
7696      var authors = select(external_wp_coreData_["store"]).getAuthors();
7697      return (authors === null || authors === void 0 ? void 0 : authors.length) >= minimumUsersForCombobox;
7698    }, []);
7699  
7700    if (showCombobox) {
7701      return Object(external_wp_element_["createElement"])(combobox, null);
7702    }
7703  
7704    return Object(external_wp_element_["createElement"])(post_author_select, null);
7705  }
7706  
7707  /* harmony default export */ var post_author = (PostAuthor);
7708  
7709  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-author/check.js
7710  
7711  
7712  /**
7713   * External dependencies
7714   */
7715  
7716  /**
7717   * WordPress dependencies
7718   */
7719  
7720  
7721  
7722  /**
7723   * Internal dependencies
7724   */
7725  
7726  
7727  function PostAuthorCheck(_ref) {
7728    var hasAssignAuthorAction = _ref.hasAssignAuthorAction,
7729        authors = _ref.authors,
7730        children = _ref.children;
7731  
7732    if (!hasAssignAuthorAction || !authors || 1 >= authors.length) {
7733      return null;
7734    }
7735  
7736    return Object(external_wp_element_["createElement"])(post_type_support_check, {
7737      supportKeys: "author"
7738    }, children);
7739  }
7740  /* harmony default export */ var post_author_check = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])(function (select) {
7741    var post = select('core/editor').getCurrentPost();
7742    return {
7743      hasAssignAuthorAction: Object(external_lodash_["get"])(post, ['_links', 'wp:action-assign-author'], false),
7744      postType: select('core/editor').getCurrentPostType(),
7745      authors: select('core').getAuthors()
7746    };
7747  }), external_wp_compose_["withInstanceId"]])(PostAuthorCheck));
7748  
7749  // CONCATENATED MODULE: ./node_modules/@wordpress/editor/build-module/components/post-comments/index.js
7750  
7751  
7752  
7753  /**
7754   * WordPress dependencies
7755   */
7756  
7757  
7758  
7759  
7760  
7761  function PostComments(_ref) {
7762    var _ref$commentStatus = _ref.commentStatus,
7763        commentStatus = _ref