[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

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

   1  /******/ (() => { // webpackBootstrap
   2  /******/     "use strict";
   3  /******/     // The require scope
   4  /******/     var __webpack_require__ = {};
   5  /******/     
   6  /************************************************************************/
   7  /******/     /* webpack/runtime/compat get default export */
   8  /******/     (() => {
   9  /******/         // getDefaultExport function for compatibility with non-harmony modules
  10  /******/         __webpack_require__.n = (module) => {
  11  /******/             var getter = module && module.__esModule ?
  12  /******/                 () => (module['default']) :
  13  /******/                 () => (module);
  14  /******/             __webpack_require__.d(getter, { a: getter });
  15  /******/             return getter;
  16  /******/         };
  17  /******/     })();
  18  /******/     
  19  /******/     /* webpack/runtime/define property getters */
  20  /******/     (() => {
  21  /******/         // define getter functions for harmony exports
  22  /******/         __webpack_require__.d = (exports, definition) => {
  23  /******/             for(var key in definition) {
  24  /******/                 if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  25  /******/                     Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  26  /******/                 }
  27  /******/             }
  28  /******/         };
  29  /******/     })();
  30  /******/     
  31  /******/     /* webpack/runtime/hasOwnProperty shorthand */
  32  /******/     (() => {
  33  /******/         __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
  34  /******/     })();
  35  /******/     
  36  /******/     /* webpack/runtime/make namespace object */
  37  /******/     (() => {
  38  /******/         // define __esModule on exports
  39  /******/         __webpack_require__.r = (exports) => {
  40  /******/             if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  41  /******/                 Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  42  /******/             }
  43  /******/             Object.defineProperty(exports, '__esModule', { value: true });
  44  /******/         };
  45  /******/     })();
  46  /******/     
  47  /************************************************************************/
  48  var __webpack_exports__ = {};
  49  // ESM COMPAT FLAG
  50  __webpack_require__.r(__webpack_exports__);
  51  
  52  // EXPORTS
  53  __webpack_require__.d(__webpack_exports__, {
  54    PluginBlockSettingsMenuItem: () => (/* reexport */ PluginBlockSettingsMenuItem),
  55    PluginDocumentSettingPanel: () => (/* reexport */ PluginDocumentSettingPanel),
  56    PluginMoreMenuItem: () => (/* reexport */ PluginMoreMenuItem),
  57    PluginPostPublishPanel: () => (/* reexport */ PluginPostPublishPanel),
  58    PluginPostStatusInfo: () => (/* reexport */ PluginPostStatusInfo),
  59    PluginPrePublishPanel: () => (/* reexport */ PluginPrePublishPanel),
  60    PluginSidebar: () => (/* reexport */ PluginSidebar),
  61    PluginSidebarMoreMenuItem: () => (/* reexport */ PluginSidebarMoreMenuItem),
  62    __experimentalFullscreenModeClose: () => (/* reexport */ fullscreen_mode_close),
  63    __experimentalMainDashboardButton: () => (/* binding */ __experimentalMainDashboardButton),
  64    __experimentalPluginPostExcerpt: () => (/* reexport */ __experimentalPluginPostExcerpt),
  65    initializeEditor: () => (/* binding */ initializeEditor),
  66    reinitializeEditor: () => (/* binding */ reinitializeEditor),
  67    store: () => (/* reexport */ store)
  68  });
  69  
  70  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-post/build-module/store/actions.js
  71  var actions_namespaceObject = {};
  72  __webpack_require__.r(actions_namespaceObject);
  73  __webpack_require__.d(actions_namespaceObject, {
  74    __experimentalSetPreviewDeviceType: () => (__experimentalSetPreviewDeviceType),
  75    __unstableCreateTemplate: () => (__unstableCreateTemplate),
  76    closeGeneralSidebar: () => (closeGeneralSidebar),
  77    closeModal: () => (closeModal),
  78    closePublishSidebar: () => (closePublishSidebar),
  79    hideBlockTypes: () => (hideBlockTypes),
  80    initializeMetaBoxes: () => (initializeMetaBoxes),
  81    metaBoxUpdatesFailure: () => (metaBoxUpdatesFailure),
  82    metaBoxUpdatesSuccess: () => (metaBoxUpdatesSuccess),
  83    openGeneralSidebar: () => (openGeneralSidebar),
  84    openModal: () => (openModal),
  85    openPublishSidebar: () => (openPublishSidebar),
  86    removeEditorPanel: () => (removeEditorPanel),
  87    requestMetaBoxUpdates: () => (requestMetaBoxUpdates),
  88    setAvailableMetaBoxesPerLocation: () => (setAvailableMetaBoxesPerLocation),
  89    setIsEditingTemplate: () => (setIsEditingTemplate),
  90    setIsInserterOpened: () => (setIsInserterOpened),
  91    setIsListViewOpened: () => (setIsListViewOpened),
  92    showBlockTypes: () => (showBlockTypes),
  93    switchEditorMode: () => (switchEditorMode),
  94    toggleDistractionFree: () => (toggleDistractionFree),
  95    toggleEditorPanelEnabled: () => (toggleEditorPanelEnabled),
  96    toggleEditorPanelOpened: () => (toggleEditorPanelOpened),
  97    toggleFeature: () => (toggleFeature),
  98    toggleFullscreenMode: () => (toggleFullscreenMode),
  99    togglePinnedPluginItem: () => (togglePinnedPluginItem),
 100    togglePublishSidebar: () => (togglePublishSidebar),
 101    updatePreferredStyleVariations: () => (updatePreferredStyleVariations)
 102  });
 103  
 104  // NAMESPACE OBJECT: ./node_modules/@wordpress/edit-post/build-module/store/selectors.js
 105  var selectors_namespaceObject = {};
 106  __webpack_require__.r(selectors_namespaceObject);
 107  __webpack_require__.d(selectors_namespaceObject, {
 108    __experimentalGetInsertionPoint: () => (__experimentalGetInsertionPoint),
 109    __experimentalGetPreviewDeviceType: () => (__experimentalGetPreviewDeviceType),
 110    areMetaBoxesInitialized: () => (areMetaBoxesInitialized),
 111    getActiveGeneralSidebarName: () => (getActiveGeneralSidebarName),
 112    getActiveMetaBoxLocations: () => (getActiveMetaBoxLocations),
 113    getAllMetaBoxes: () => (getAllMetaBoxes),
 114    getEditedPostTemplate: () => (getEditedPostTemplate),
 115    getEditorMode: () => (getEditorMode),
 116    getHiddenBlockTypes: () => (getHiddenBlockTypes),
 117    getMetaBoxesPerLocation: () => (getMetaBoxesPerLocation),
 118    getPreference: () => (getPreference),
 119    getPreferences: () => (getPreferences),
 120    hasMetaBoxes: () => (hasMetaBoxes),
 121    isEditingTemplate: () => (isEditingTemplate),
 122    isEditorPanelEnabled: () => (isEditorPanelEnabled),
 123    isEditorPanelOpened: () => (isEditorPanelOpened),
 124    isEditorPanelRemoved: () => (isEditorPanelRemoved),
 125    isEditorSidebarOpened: () => (isEditorSidebarOpened),
 126    isFeatureActive: () => (isFeatureActive),
 127    isInserterOpened: () => (isInserterOpened),
 128    isListViewOpened: () => (isListViewOpened),
 129    isMetaBoxLocationActive: () => (isMetaBoxLocationActive),
 130    isMetaBoxLocationVisible: () => (isMetaBoxLocationVisible),
 131    isModalActive: () => (isModalActive),
 132    isPluginItemPinned: () => (isPluginItemPinned),
 133    isPluginSidebarOpened: () => (isPluginSidebarOpened),
 134    isPublishSidebarOpened: () => (isPublishSidebarOpened),
 135    isSavingMetaBoxes: () => (selectors_isSavingMetaBoxes)
 136  });
 137  
 138  ;// external ["wp","blocks"]
 139  const external_wp_blocks_namespaceObject = window["wp"]["blocks"];
 140  ;// external ["wp","blockLibrary"]
 141  const external_wp_blockLibrary_namespaceObject = window["wp"]["blockLibrary"];
 142  ;// external ["wp","deprecated"]
 143  const external_wp_deprecated_namespaceObject = window["wp"]["deprecated"];
 144  var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_namespaceObject);
 145  ;// external ["wp","element"]
 146  const external_wp_element_namespaceObject = window["wp"]["element"];
 147  ;// external ["wp","data"]
 148  const external_wp_data_namespaceObject = window["wp"]["data"];
 149  ;// external ["wp","preferences"]
 150  const external_wp_preferences_namespaceObject = window["wp"]["preferences"];
 151  ;// external ["wp","widgets"]
 152  const external_wp_widgets_namespaceObject = window["wp"]["widgets"];
 153  ;// external ["wp","editor"]
 154  const external_wp_editor_namespaceObject = window["wp"]["editor"];
 155  ;// ./node_modules/clsx/dist/clsx.mjs
 156  function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const dist_clsx = (clsx);
 157  ;// external ["wp","blockEditor"]
 158  const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"];
 159  ;// external ["wp","plugins"]
 160  const external_wp_plugins_namespaceObject = window["wp"]["plugins"];
 161  ;// external ["wp","i18n"]
 162  const external_wp_i18n_namespaceObject = window["wp"]["i18n"];
 163  ;// external ["wp","primitives"]
 164  const external_wp_primitives_namespaceObject = window["wp"]["primitives"];
 165  ;// external "ReactJSXRuntime"
 166  const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"];
 167  ;// ./node_modules/@wordpress/icons/build-module/library/chevron-up.js
 168  /**
 169   * WordPress dependencies
 170   */
 171  
 172  
 173  const chevronUp = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
 174    viewBox: "0 0 24 24",
 175    xmlns: "http://www.w3.org/2000/svg",
 176    children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
 177      d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z"
 178    })
 179  });
 180  /* harmony default export */ const chevron_up = (chevronUp);
 181  
 182  ;// ./node_modules/@wordpress/icons/build-module/library/chevron-down.js
 183  /**
 184   * WordPress dependencies
 185   */
 186  
 187  
 188  const chevronDown = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
 189    viewBox: "0 0 24 24",
 190    xmlns: "http://www.w3.org/2000/svg",
 191    children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
 192      d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z"
 193    })
 194  });
 195  /* harmony default export */ const chevron_down = (chevronDown);
 196  
 197  ;// external ["wp","notices"]
 198  const external_wp_notices_namespaceObject = window["wp"]["notices"];
 199  ;// external ["wp","commands"]
 200  const external_wp_commands_namespaceObject = window["wp"]["commands"];
 201  ;// external ["wp","coreCommands"]
 202  const external_wp_coreCommands_namespaceObject = window["wp"]["coreCommands"];
 203  ;// external ["wp","url"]
 204  const external_wp_url_namespaceObject = window["wp"]["url"];
 205  ;// external ["wp","htmlEntities"]
 206  const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"];
 207  ;// external ["wp","coreData"]
 208  const external_wp_coreData_namespaceObject = window["wp"]["coreData"];
 209  ;// external ["wp","components"]
 210  const external_wp_components_namespaceObject = window["wp"]["components"];
 211  ;// external ["wp","compose"]
 212  const external_wp_compose_namespaceObject = window["wp"]["compose"];
 213  ;// ./node_modules/@wordpress/icons/build-module/library/wordpress.js
 214  /**
 215   * WordPress dependencies
 216   */
 217  
 218  
 219  const wordpress = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
 220    xmlns: "http://www.w3.org/2000/svg",
 221    viewBox: "-2 -2 24 24",
 222    children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
 223      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"
 224    })
 225  });
 226  /* harmony default export */ const library_wordpress = (wordpress);
 227  
 228  ;// ./node_modules/@wordpress/edit-post/build-module/components/back-button/fullscreen-mode-close.js
 229  /**
 230   * External dependencies
 231   */
 232  
 233  
 234  /**
 235   * WordPress dependencies
 236   */
 237  
 238  
 239  
 240  
 241  
 242  
 243  
 244  
 245  
 246  function FullscreenModeClose({
 247    showTooltip,
 248    icon,
 249    href,
 250    initialPost
 251  }) {
 252    var _postType$labels$view;
 253    const {
 254      isRequestingSiteIcon,
 255      postType,
 256      siteIconUrl
 257    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
 258      const {
 259        getCurrentPostType
 260      } = select(external_wp_editor_namespaceObject.store);
 261      const {
 262        getEntityRecord,
 263        getPostType,
 264        isResolving
 265      } = select(external_wp_coreData_namespaceObject.store);
 266      const siteData = getEntityRecord('root', '__unstableBase', undefined) || {};
 267      const _postType = initialPost?.type || getCurrentPostType();
 268      return {
 269        isRequestingSiteIcon: isResolving('getEntityRecord', ['root', '__unstableBase', undefined]),
 270        postType: getPostType(_postType),
 271        siteIconUrl: siteData.site_icon_url
 272      };
 273    }, []);
 274    const disableMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)();
 275    if (!postType) {
 276      return null;
 277    }
 278    let buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, {
 279      size: "36px",
 280      icon: library_wordpress
 281    });
 282    const effect = {
 283      expand: {
 284        scale: 1.25,
 285        transition: {
 286          type: 'tween',
 287          duration: '0.3'
 288        }
 289      }
 290    };
 291    if (siteIconUrl) {
 292      buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.img, {
 293        variants: !disableMotion && effect,
 294        alt: (0,external_wp_i18n_namespaceObject.__)('Site Icon'),
 295        className: "edit-post-fullscreen-mode-close_site-icon",
 296        src: siteIconUrl
 297      });
 298    }
 299    if (isRequestingSiteIcon) {
 300      buttonIcon = null;
 301    }
 302  
 303    // Override default icon if custom icon is provided via props.
 304    if (icon) {
 305      buttonIcon = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, {
 306        size: "36px",
 307        icon: icon
 308      });
 309    }
 310    const classes = dist_clsx('edit-post-fullscreen-mode-close', {
 311      'has-icon': siteIconUrl
 312    });
 313    const buttonHref = href !== null && href !== void 0 ? href : (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', {
 314      post_type: postType.slug
 315    });
 316    const buttonLabel = (_postType$labels$view = postType?.labels?.view_items) !== null && _postType$labels$view !== void 0 ? _postType$labels$view : (0,external_wp_i18n_namespaceObject.__)('Back');
 317    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.div, {
 318      whileHover: "expand",
 319      children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
 320        __next40pxDefaultSize: true,
 321        className: classes,
 322        href: buttonHref,
 323        label: buttonLabel,
 324        showTooltip: showTooltip,
 325        children: buttonIcon
 326      })
 327    });
 328  }
 329  /* harmony default export */ const fullscreen_mode_close = (FullscreenModeClose);
 330  
 331  ;// external ["wp","privateApis"]
 332  const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"];
 333  ;// ./node_modules/@wordpress/edit-post/build-module/lock-unlock.js
 334  /**
 335   * WordPress dependencies
 336   */
 337  
 338  const {
 339    lock,
 340    unlock
 341  } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/edit-post');
 342  
 343  ;// ./node_modules/@wordpress/edit-post/build-module/components/back-button/index.js
 344  /**
 345   * WordPress dependencies
 346   */
 347  
 348  
 349  
 350  /**
 351   * Internal dependencies
 352   */
 353  
 354  
 355  
 356  const {
 357    BackButton: BackButtonFill
 358  } = unlock(external_wp_editor_namespaceObject.privateApis);
 359  const slideX = {
 360    hidden: {
 361      x: '-100%'
 362    },
 363    distractionFreeInactive: {
 364      x: 0
 365    },
 366    hover: {
 367      x: 0,
 368      transition: {
 369        type: 'tween',
 370        delay: 0.2
 371      }
 372    }
 373  };
 374  function BackButton({
 375    initialPost
 376  }) {
 377    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(BackButtonFill, {
 378      children: ({
 379        length
 380      }) => length <= 1 && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__unstableMotion.div, {
 381        variants: slideX,
 382        transition: {
 383          type: 'tween',
 384          delay: 0.8
 385        },
 386        children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(fullscreen_mode_close, {
 387          showTooltip: true,
 388          initialPost: initialPost
 389        })
 390      })
 391    });
 392  }
 393  /* harmony default export */ const back_button = (BackButton);
 394  
 395  ;// ./node_modules/@wordpress/edit-post/build-module/store/constants.js
 396  /**
 397   * The identifier for the data store.
 398   *
 399   * @type {string}
 400   */
 401  const STORE_NAME = 'core/edit-post';
 402  
 403  /**
 404   * CSS selector string for the admin bar view post link anchor tag.
 405   *
 406   * @type {string}
 407   */
 408  const VIEW_AS_LINK_SELECTOR = '#wp-admin-bar-view a';
 409  
 410  /**
 411   * CSS selector string for the admin bar preview post link anchor tag.
 412   *
 413   * @type {string}
 414   */
 415  const VIEW_AS_PREVIEW_LINK_SELECTOR = '#wp-admin-bar-preview a';
 416  
 417  ;// ./node_modules/@wordpress/edit-post/build-module/components/editor-initialization/listener-hooks.js
 418  /**
 419   * WordPress dependencies
 420   */
 421  
 422  
 423  
 424  
 425  /**
 426   * Internal dependencies
 427   */
 428  
 429  
 430  /**
 431   * This listener hook monitors any change in permalink and updates the view
 432   * post link in the admin bar.
 433   */
 434  const useUpdatePostLinkListener = () => {
 435    const {
 436      newPermalink
 437    } = (0,external_wp_data_namespaceObject.useSelect)(select => ({
 438      newPermalink: select(external_wp_editor_namespaceObject.store).getCurrentPost().link
 439    }), []);
 440    const nodeToUpdateRef = (0,external_wp_element_namespaceObject.useRef)();
 441    (0,external_wp_element_namespaceObject.useEffect)(() => {
 442      nodeToUpdateRef.current = document.querySelector(VIEW_AS_PREVIEW_LINK_SELECTOR) || document.querySelector(VIEW_AS_LINK_SELECTOR);
 443    }, []);
 444    (0,external_wp_element_namespaceObject.useEffect)(() => {
 445      if (!newPermalink || !nodeToUpdateRef.current) {
 446        return;
 447      }
 448      nodeToUpdateRef.current.setAttribute('href', newPermalink);
 449    }, [newPermalink]);
 450  };
 451  
 452  ;// ./node_modules/@wordpress/edit-post/build-module/components/editor-initialization/index.js
 453  /**
 454   * Internal dependencies
 455   */
 456  
 457  
 458  /**
 459   * Data component used for initializing the editor and re-initializes
 460   * when postId changes or on unmount.
 461   *
 462   * @return {null} This is a data component so does not render any ui.
 463   */
 464  function EditorInitialization() {
 465    useUpdatePostLinkListener();
 466    return null;
 467  }
 468  
 469  ;// external ["wp","keyboardShortcuts"]
 470  const external_wp_keyboardShortcuts_namespaceObject = window["wp"]["keyboardShortcuts"];
 471  ;// ./node_modules/@wordpress/edit-post/build-module/store/reducer.js
 472  /**
 473   * WordPress dependencies
 474   */
 475  
 476  
 477  /**
 478   * Reducer keeping track of the meta boxes isSaving state.
 479   * A "true" value means the meta boxes saving request is in-flight.
 480   *
 481   *
 482   * @param {boolean} state  Previous state.
 483   * @param {Object}  action Action Object.
 484   *
 485   * @return {Object} Updated state.
 486   */
 487  function isSavingMetaBoxes(state = false, action) {
 488    switch (action.type) {
 489      case 'REQUEST_META_BOX_UPDATES':
 490        return true;
 491      case 'META_BOX_UPDATES_SUCCESS':
 492      case 'META_BOX_UPDATES_FAILURE':
 493        return false;
 494      default:
 495        return state;
 496    }
 497  }
 498  function mergeMetaboxes(metaboxes = [], newMetaboxes) {
 499    const mergedMetaboxes = [...metaboxes];
 500    for (const metabox of newMetaboxes) {
 501      const existing = mergedMetaboxes.findIndex(box => box.id === metabox.id);
 502      if (existing !== -1) {
 503        mergedMetaboxes[existing] = metabox;
 504      } else {
 505        mergedMetaboxes.push(metabox);
 506      }
 507    }
 508    return mergedMetaboxes;
 509  }
 510  
 511  /**
 512   * Reducer keeping track of the meta boxes per location.
 513   *
 514   * @param {boolean} state  Previous state.
 515   * @param {Object}  action Action Object.
 516   *
 517   * @return {Object} Updated state.
 518   */
 519  function metaBoxLocations(state = {}, action) {
 520    switch (action.type) {
 521      case 'SET_META_BOXES_PER_LOCATIONS':
 522        {
 523          const newState = {
 524            ...state
 525          };
 526          for (const [location, metaboxes] of Object.entries(action.metaBoxesPerLocation)) {
 527            newState[location] = mergeMetaboxes(newState[location], metaboxes);
 528          }
 529          return newState;
 530        }
 531    }
 532    return state;
 533  }
 534  
 535  /**
 536   * Reducer tracking whether meta boxes are initialized.
 537   *
 538   * @param {boolean} state
 539   * @param {Object}  action
 540   *
 541   * @return {boolean} Updated state.
 542   */
 543  function metaBoxesInitialized(state = false, action) {
 544    switch (action.type) {
 545      case 'META_BOXES_INITIALIZED':
 546        return true;
 547    }
 548    return state;
 549  }
 550  const metaBoxes = (0,external_wp_data_namespaceObject.combineReducers)({
 551    isSaving: isSavingMetaBoxes,
 552    locations: metaBoxLocations,
 553    initialized: metaBoxesInitialized
 554  });
 555  /* harmony default export */ const reducer = ((0,external_wp_data_namespaceObject.combineReducers)({
 556    metaBoxes
 557  }));
 558  
 559  ;// external ["wp","apiFetch"]
 560  const external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"];
 561  var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject);
 562  ;// external ["wp","hooks"]
 563  const external_wp_hooks_namespaceObject = window["wp"]["hooks"];
 564  ;// ./node_modules/@wordpress/edit-post/build-module/utils/meta-boxes.js
 565  /**
 566   * Function returning the current Meta Boxes DOM Node in the editor
 567   * whether the meta box area is opened or not.
 568   * If the MetaBox Area is visible returns it, and returns the original container instead.
 569   *
 570   * @param {string} location Meta Box location.
 571   *
 572   * @return {string} HTML content.
 573   */
 574  const getMetaBoxContainer = location => {
 575    const area = document.querySelector(`.edit-post-meta-boxes-area.is-$location} .metabox-location-$location}`);
 576    if (area) {
 577      return area;
 578    }
 579    return document.querySelector('#metaboxes .metabox-location-' + location);
 580  };
 581  
 582  ;// ./node_modules/@wordpress/edit-post/build-module/store/actions.js
 583  /* wp:polyfill */
 584  /**
 585   * WordPress dependencies
 586   */
 587  
 588  
 589  
 590  
 591  
 592  
 593  
 594  
 595  
 596  /**
 597   * Internal dependencies
 598   */
 599  
 600  
 601  const {
 602    interfaceStore
 603  } = unlock(external_wp_editor_namespaceObject.privateApis);
 604  
 605  /**
 606   * Returns an action object used in signalling that the user opened an editor sidebar.
 607   *
 608   * @param {?string} name Sidebar name to be opened.
 609   */
 610  const openGeneralSidebar = name => ({
 611    registry
 612  }) => {
 613    registry.dispatch(interfaceStore).enableComplementaryArea('core', name);
 614  };
 615  
 616  /**
 617   * Returns an action object signalling that the user closed the sidebar.
 618   */
 619  const closeGeneralSidebar = () => ({
 620    registry
 621  }) => registry.dispatch(interfaceStore).disableComplementaryArea('core');
 622  
 623  /**
 624   * Returns an action object used in signalling that the user opened a modal.
 625   *
 626   * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.
 627   *
 628   *
 629   * @param {string} name A string that uniquely identifies the modal.
 630   *
 631   * @return {Object} Action object.
 632   */
 633  const openModal = name => ({
 634    registry
 635  }) => {
 636    external_wp_deprecated_default()("select( 'core/edit-post' ).openModal( name )", {
 637      since: '6.3',
 638      alternative: "select( 'core/interface').openModal( name )"
 639    });
 640    return registry.dispatch(interfaceStore).openModal(name);
 641  };
 642  
 643  /**
 644   * Returns an action object signalling that the user closed a modal.
 645   *
 646   * @deprecated since WP 6.3 use `core/interface` store's action with the same name instead.
 647   *
 648   * @return {Object} Action object.
 649   */
 650  const closeModal = () => ({
 651    registry
 652  }) => {
 653    external_wp_deprecated_default()("select( 'core/edit-post' ).closeModal()", {
 654      since: '6.3',
 655      alternative: "select( 'core/interface').closeModal()"
 656    });
 657    return registry.dispatch(interfaceStore).closeModal();
 658  };
 659  
 660  /**
 661   * Returns an action object used in signalling that the user opened the publish
 662   * sidebar.
 663   * @deprecated
 664   *
 665   * @return {Object} Action object
 666   */
 667  const openPublishSidebar = () => ({
 668    registry
 669  }) => {
 670    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).openPublishSidebar", {
 671      since: '6.6',
 672      alternative: "dispatch( 'core/editor').openPublishSidebar"
 673    });
 674    registry.dispatch(external_wp_editor_namespaceObject.store).openPublishSidebar();
 675  };
 676  
 677  /**
 678   * Returns an action object used in signalling that the user closed the
 679   * publish sidebar.
 680   * @deprecated
 681   *
 682   * @return {Object} Action object.
 683   */
 684  const closePublishSidebar = () => ({
 685    registry
 686  }) => {
 687    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).closePublishSidebar", {
 688      since: '6.6',
 689      alternative: "dispatch( 'core/editor').closePublishSidebar"
 690    });
 691    registry.dispatch(external_wp_editor_namespaceObject.store).closePublishSidebar();
 692  };
 693  
 694  /**
 695   * Returns an action object used in signalling that the user toggles the publish sidebar.
 696   * @deprecated
 697   *
 698   * @return {Object} Action object
 699   */
 700  const togglePublishSidebar = () => ({
 701    registry
 702  }) => {
 703    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).togglePublishSidebar", {
 704      since: '6.6',
 705      alternative: "dispatch( 'core/editor').togglePublishSidebar"
 706    });
 707    registry.dispatch(external_wp_editor_namespaceObject.store).togglePublishSidebar();
 708  };
 709  
 710  /**
 711   * Returns an action object used to enable or disable a panel in the editor.
 712   *
 713   * @deprecated
 714   *
 715   * @param {string} panelName A string that identifies the panel to enable or disable.
 716   *
 717   * @return {Object} Action object.
 718   */
 719  const toggleEditorPanelEnabled = panelName => ({
 720    registry
 721  }) => {
 722    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).toggleEditorPanelEnabled", {
 723      since: '6.5',
 724      alternative: "dispatch( 'core/editor').toggleEditorPanelEnabled"
 725    });
 726    registry.dispatch(external_wp_editor_namespaceObject.store).toggleEditorPanelEnabled(panelName);
 727  };
 728  
 729  /**
 730   * Opens a closed panel and closes an open panel.
 731   *
 732   * @deprecated
 733   *
 734   * @param {string} panelName A string that identifies the panel to open or close.
 735   */
 736  const toggleEditorPanelOpened = panelName => ({
 737    registry
 738  }) => {
 739    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).toggleEditorPanelOpened", {
 740      since: '6.5',
 741      alternative: "dispatch( 'core/editor').toggleEditorPanelOpened"
 742    });
 743    registry.dispatch(external_wp_editor_namespaceObject.store).toggleEditorPanelOpened(panelName);
 744  };
 745  
 746  /**
 747   * Returns an action object used to remove a panel from the editor.
 748   *
 749   * @deprecated
 750   *
 751   * @param {string} panelName A string that identifies the panel to remove.
 752   *
 753   * @return {Object} Action object.
 754   */
 755  const removeEditorPanel = panelName => ({
 756    registry
 757  }) => {
 758    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).removeEditorPanel", {
 759      since: '6.5',
 760      alternative: "dispatch( 'core/editor').removeEditorPanel"
 761    });
 762    registry.dispatch(external_wp_editor_namespaceObject.store).removeEditorPanel(panelName);
 763  };
 764  
 765  /**
 766   * Triggers an action used to toggle a feature flag.
 767   *
 768   * @param {string} feature Feature name.
 769   */
 770  const toggleFeature = feature => ({
 771    registry
 772  }) => registry.dispatch(external_wp_preferences_namespaceObject.store).toggle('core/edit-post', feature);
 773  
 774  /**
 775   * Triggers an action used to switch editor mode.
 776   *
 777   * @deprecated
 778   *
 779   * @param {string} mode The editor mode.
 780   */
 781  const switchEditorMode = mode => ({
 782    registry
 783  }) => {
 784    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).switchEditorMode", {
 785      since: '6.6',
 786      alternative: "dispatch( 'core/editor').switchEditorMode"
 787    });
 788    registry.dispatch(external_wp_editor_namespaceObject.store).switchEditorMode(mode);
 789  };
 790  
 791  /**
 792   * Triggers an action object used to toggle a plugin name flag.
 793   *
 794   * @param {string} pluginName Plugin name.
 795   */
 796  const togglePinnedPluginItem = pluginName => ({
 797    registry
 798  }) => {
 799    const isPinned = registry.select(interfaceStore).isItemPinned('core', pluginName);
 800    registry.dispatch(interfaceStore)[isPinned ? 'unpinItem' : 'pinItem']('core', pluginName);
 801  };
 802  
 803  /**
 804   * Returns an action object used in signaling that a style should be auto-applied when a block is created.
 805   *
 806   * @deprecated
 807   */
 808  function updatePreferredStyleVariations() {
 809    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).updatePreferredStyleVariations", {
 810      since: '6.6',
 811      hint: 'Preferred Style Variations are not supported anymore.'
 812    });
 813    return {
 814      type: 'NOTHING'
 815    };
 816  }
 817  
 818  /**
 819   * Update the provided block types to be visible.
 820   *
 821   * @param {string[]} blockNames Names of block types to show.
 822   */
 823  const showBlockTypes = blockNames => ({
 824    registry
 825  }) => {
 826    unlock(registry.dispatch(external_wp_editor_namespaceObject.store)).showBlockTypes(blockNames);
 827  };
 828  
 829  /**
 830   * Update the provided block types to be hidden.
 831   *
 832   * @param {string[]} blockNames Names of block types to hide.
 833   */
 834  const hideBlockTypes = blockNames => ({
 835    registry
 836  }) => {
 837    unlock(registry.dispatch(external_wp_editor_namespaceObject.store)).hideBlockTypes(blockNames);
 838  };
 839  
 840  /**
 841   * Stores info about which Meta boxes are available in which location.
 842   *
 843   * @param {Object} metaBoxesPerLocation Meta boxes per location.
 844   */
 845  function setAvailableMetaBoxesPerLocation(metaBoxesPerLocation) {
 846    return {
 847      type: 'SET_META_BOXES_PER_LOCATIONS',
 848      metaBoxesPerLocation
 849    };
 850  }
 851  
 852  /**
 853   * Update a metabox.
 854   */
 855  const requestMetaBoxUpdates = () => async ({
 856    registry,
 857    select,
 858    dispatch
 859  }) => {
 860    dispatch({
 861      type: 'REQUEST_META_BOX_UPDATES'
 862    });
 863  
 864    // Saves the wp_editor fields.
 865    if (window.tinyMCE) {
 866      window.tinyMCE.triggerSave();
 867    }
 868  
 869    // We gather the base form data.
 870    const baseFormData = new window.FormData(document.querySelector('.metabox-base-form'));
 871    const postId = baseFormData.get('post_ID');
 872    const postType = baseFormData.get('post_type');
 873  
 874    // Additional data needed for backward compatibility.
 875    // If we do not provide this data, the post will be overridden with the default values.
 876    // We cannot rely on getCurrentPost because right now on the editor we may be editing a pattern or a template.
 877    // We need to retrieve the post that the base form data is referring to.
 878    const post = registry.select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord('postType', postType, postId);
 879    const additionalData = [post.comment_status ? ['comment_status', post.comment_status] : false, post.ping_status ? ['ping_status', post.ping_status] : false, post.sticky ? ['sticky', post.sticky] : false, post.author ? ['post_author', post.author] : false].filter(Boolean);
 880  
 881    // We gather all the metaboxes locations.
 882    const activeMetaBoxLocations = select.getActiveMetaBoxLocations();
 883    const formDataToMerge = [baseFormData, ...activeMetaBoxLocations.map(location => new window.FormData(getMetaBoxContainer(location)))];
 884  
 885    // Merge all form data objects into a single one.
 886    const formData = formDataToMerge.reduce((memo, currentFormData) => {
 887      for (const [key, value] of currentFormData) {
 888        memo.append(key, value);
 889      }
 890      return memo;
 891    }, new window.FormData());
 892    additionalData.forEach(([key, value]) => formData.append(key, value));
 893    try {
 894      // Save the metaboxes.
 895      await external_wp_apiFetch_default()({
 896        url: window._wpMetaBoxUrl,
 897        method: 'POST',
 898        body: formData,
 899        parse: false
 900      });
 901      dispatch.metaBoxUpdatesSuccess();
 902    } catch {
 903      dispatch.metaBoxUpdatesFailure();
 904    }
 905  };
 906  
 907  /**
 908   * Returns an action object used to signal a successful meta box update.
 909   *
 910   * @return {Object} Action object.
 911   */
 912  function metaBoxUpdatesSuccess() {
 913    return {
 914      type: 'META_BOX_UPDATES_SUCCESS'
 915    };
 916  }
 917  
 918  /**
 919   * Returns an action object used to signal a failed meta box update.
 920   *
 921   * @return {Object} Action object.
 922   */
 923  function metaBoxUpdatesFailure() {
 924    return {
 925      type: 'META_BOX_UPDATES_FAILURE'
 926    };
 927  }
 928  
 929  /**
 930   * Action that changes the width of the editing canvas.
 931   *
 932   * @deprecated
 933   *
 934   * @param {string} deviceType
 935   */
 936  const __experimentalSetPreviewDeviceType = deviceType => ({
 937    registry
 938  }) => {
 939    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).__experimentalSetPreviewDeviceType", {
 940      since: '6.5',
 941      version: '6.7',
 942      hint: 'registry.dispatch( editorStore ).setDeviceType'
 943    });
 944    registry.dispatch(external_wp_editor_namespaceObject.store).setDeviceType(deviceType);
 945  };
 946  
 947  /**
 948   * Returns an action object used to open/close the inserter.
 949   *
 950   * @deprecated
 951   *
 952   * @param {boolean|Object} value Whether the inserter should be opened (true) or closed (false).
 953   */
 954  const setIsInserterOpened = value => ({
 955    registry
 956  }) => {
 957    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).setIsInserterOpened", {
 958      since: '6.5',
 959      alternative: "dispatch( 'core/editor').setIsInserterOpened"
 960    });
 961    registry.dispatch(external_wp_editor_namespaceObject.store).setIsInserterOpened(value);
 962  };
 963  
 964  /**
 965   * Returns an action object used to open/close the list view.
 966   *
 967   * @deprecated
 968   *
 969   * @param {boolean} isOpen A boolean representing whether the list view should be opened or closed.
 970   */
 971  const setIsListViewOpened = isOpen => ({
 972    registry
 973  }) => {
 974    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).setIsListViewOpened", {
 975      since: '6.5',
 976      alternative: "dispatch( 'core/editor').setIsListViewOpened"
 977    });
 978    registry.dispatch(external_wp_editor_namespaceObject.store).setIsListViewOpened(isOpen);
 979  };
 980  
 981  /**
 982   * Returns an action object used to switch to template editing.
 983   *
 984   * @deprecated
 985   */
 986  function setIsEditingTemplate() {
 987    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).setIsEditingTemplate", {
 988      since: '6.5',
 989      alternative: "dispatch( 'core/editor').setRenderingMode"
 990    });
 991    return {
 992      type: 'NOTHING'
 993    };
 994  }
 995  
 996  /**
 997   * Create a block based template.
 998   *
 999   * @deprecated
1000   */
1001  function __unstableCreateTemplate() {
1002    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).__unstableCreateTemplate", {
1003      since: '6.5'
1004    });
1005    return {
1006      type: 'NOTHING'
1007    };
1008  }
1009  let actions_metaBoxesInitialized = false;
1010  
1011  /**
1012   * Initializes WordPress `postboxes` script and the logic for saving meta boxes.
1013   */
1014  const initializeMetaBoxes = () => ({
1015    registry,
1016    select,
1017    dispatch
1018  }) => {
1019    const isEditorReady = registry.select(external_wp_editor_namespaceObject.store).__unstableIsEditorReady();
1020    if (!isEditorReady) {
1021      return;
1022    }
1023    // Only initialize once.
1024    if (actions_metaBoxesInitialized) {
1025      return;
1026    }
1027    const postType = registry.select(external_wp_editor_namespaceObject.store).getCurrentPostType();
1028    if (window.postboxes.page !== postType) {
1029      window.postboxes.add_postbox_toggles(postType);
1030    }
1031    actions_metaBoxesInitialized = true;
1032  
1033    // Save metaboxes on save completion, except for autosaves.
1034    (0,external_wp_hooks_namespaceObject.addAction)('editor.savePost', 'core/edit-post/save-metaboxes', async (post, options) => {
1035      if (!options.isAutosave && select.hasMetaBoxes()) {
1036        await dispatch.requestMetaBoxUpdates();
1037      }
1038    });
1039    dispatch({
1040      type: 'META_BOXES_INITIALIZED'
1041    });
1042  };
1043  
1044  /**
1045   * Action that toggles Distraction free mode.
1046   * Distraction free mode expects there are no sidebars, as due to the
1047   * z-index values set, you can't close sidebars.
1048   *
1049   * @deprecated
1050   */
1051  const toggleDistractionFree = () => ({
1052    registry
1053  }) => {
1054    external_wp_deprecated_default()("dispatch( 'core/edit-post' ).toggleDistractionFree", {
1055      since: '6.6',
1056      alternative: "dispatch( 'core/editor').toggleDistractionFree"
1057    });
1058    registry.dispatch(external_wp_editor_namespaceObject.store).toggleDistractionFree();
1059  };
1060  
1061  /**
1062   * Action that toggles the Fullscreen Mode view option.
1063   */
1064  const toggleFullscreenMode = () => ({
1065    registry
1066  }) => {
1067    const isFullscreen = registry.select(external_wp_preferences_namespaceObject.store).get('core/edit-post', 'fullscreenMode');
1068    registry.dispatch(external_wp_preferences_namespaceObject.store).toggle('core/edit-post', 'fullscreenMode');
1069    registry.dispatch(external_wp_notices_namespaceObject.store).createInfoNotice(isFullscreen ? (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode activated.') : (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode deactivated.'), {
1070      id: 'core/edit-post/toggle-fullscreen-mode/notice',
1071      type: 'snackbar',
1072      actions: [{
1073        label: (0,external_wp_i18n_namespaceObject.__)('Undo'),
1074        onClick: () => {
1075          registry.dispatch(external_wp_preferences_namespaceObject.store).toggle('core/edit-post', 'fullscreenMode');
1076        }
1077      }]
1078    });
1079  };
1080  
1081  ;// ./node_modules/@wordpress/edit-post/build-module/store/selectors.js
1082  /* wp:polyfill */
1083  /**
1084   * WordPress dependencies
1085   */
1086  
1087  
1088  
1089  
1090  
1091  
1092  /**
1093   * Internal dependencies
1094   */
1095  
1096  const {
1097    interfaceStore: selectors_interfaceStore
1098  } = unlock(external_wp_editor_namespaceObject.privateApis);
1099  const EMPTY_ARRAY = [];
1100  const EMPTY_OBJECT = {};
1101  
1102  /**
1103   * Returns the current editing mode.
1104   *
1105   * @param {Object} state Global application state.
1106   *
1107   * @return {string} Editing mode.
1108   */
1109  const getEditorMode = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1110    var _select$get;
1111    return (_select$get = select(external_wp_preferences_namespaceObject.store).get('core', 'editorMode')) !== null && _select$get !== void 0 ? _select$get : 'visual';
1112  });
1113  
1114  /**
1115   * Returns true if the editor sidebar is opened.
1116   *
1117   * @param {Object} state Global application state
1118   *
1119   * @return {boolean} Whether the editor sidebar is opened.
1120   */
1121  const isEditorSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1122    const activeGeneralSidebar = select(selectors_interfaceStore).getActiveComplementaryArea('core');
1123    return ['edit-post/document', 'edit-post/block'].includes(activeGeneralSidebar);
1124  });
1125  
1126  /**
1127   * Returns true if the plugin sidebar is opened.
1128   *
1129   * @param {Object} state Global application state.
1130   *
1131   * @return {boolean} Whether the plugin sidebar is opened.
1132   */
1133  const isPluginSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1134    const activeGeneralSidebar = select(selectors_interfaceStore).getActiveComplementaryArea('core');
1135    return !!activeGeneralSidebar && !['edit-post/document', 'edit-post/block'].includes(activeGeneralSidebar);
1136  });
1137  
1138  /**
1139   * Returns the current active general sidebar name, or null if there is no
1140   * general sidebar active. The active general sidebar is a unique name to
1141   * identify either an editor or plugin sidebar.
1142   *
1143   * Examples:
1144   *
1145   *  - `edit-post/document`
1146   *  - `my-plugin/insert-image-sidebar`
1147   *
1148   * @param {Object} state Global application state.
1149   *
1150   * @return {?string} Active general sidebar name.
1151   */
1152  const getActiveGeneralSidebarName = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1153    return select(selectors_interfaceStore).getActiveComplementaryArea('core');
1154  });
1155  
1156  /**
1157   * Converts panels from the new preferences store format to the old format
1158   * that the post editor previously used.
1159   *
1160   * The resultant converted data should look like this:
1161   * {
1162   *     panelName: {
1163   *         enabled: false,
1164   *         opened: true,
1165   *     },
1166   *     anotherPanelName: {
1167   *         opened: true
1168   *     },
1169   * }
1170   *
1171   * @param {string[] | undefined} inactivePanels An array of inactive panel names.
1172   * @param {string[] | undefined} openPanels     An array of open panel names.
1173   *
1174   * @return {Object} The converted panel data.
1175   */
1176  function convertPanelsToOldFormat(inactivePanels, openPanels) {
1177    var _ref;
1178    // First reduce the inactive panels.
1179    const panelsWithEnabledState = inactivePanels?.reduce((accumulatedPanels, panelName) => ({
1180      ...accumulatedPanels,
1181      [panelName]: {
1182        enabled: false
1183      }
1184    }), {});
1185  
1186    // Then reduce the open panels, passing in the result of the previous
1187    // reduction as the initial value so that both open and inactive
1188    // panel state is combined.
1189    const panels = openPanels?.reduce((accumulatedPanels, panelName) => {
1190      const currentPanelState = accumulatedPanels?.[panelName];
1191      return {
1192        ...accumulatedPanels,
1193        [panelName]: {
1194          ...currentPanelState,
1195          opened: true
1196        }
1197      };
1198    }, panelsWithEnabledState !== null && panelsWithEnabledState !== void 0 ? panelsWithEnabledState : {});
1199  
1200    // The panels variable will only be set if openPanels wasn't `undefined`.
1201    // If it isn't set just return `panelsWithEnabledState`, and if that isn't
1202    // set return an empty object.
1203    return (_ref = panels !== null && panels !== void 0 ? panels : panelsWithEnabledState) !== null && _ref !== void 0 ? _ref : EMPTY_OBJECT;
1204  }
1205  
1206  /**
1207   * Returns the preferences (these preferences are persisted locally).
1208   *
1209   * @param {Object} state Global application state.
1210   *
1211   * @return {Object} Preferences Object.
1212   */
1213  const getPreferences = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1214    external_wp_deprecated_default()(`select( 'core/edit-post' ).getPreferences`, {
1215      since: '6.0',
1216      alternative: `select( 'core/preferences' ).get`
1217    });
1218    const corePreferences = ['editorMode', 'hiddenBlockTypes'].reduce((accumulatedPrefs, preferenceKey) => {
1219      const value = select(external_wp_preferences_namespaceObject.store).get('core', preferenceKey);
1220      return {
1221        ...accumulatedPrefs,
1222        [preferenceKey]: value
1223      };
1224    }, {});
1225  
1226    // Panels were a preference, but the data structure changed when the state
1227    // was migrated to the preferences store. They need to be converted from
1228    // the new preferences store format to old format to ensure no breaking
1229    // changes for plugins.
1230    const inactivePanels = select(external_wp_preferences_namespaceObject.store).get('core', 'inactivePanels');
1231    const openPanels = select(external_wp_preferences_namespaceObject.store).get('core', 'openPanels');
1232    const panels = convertPanelsToOldFormat(inactivePanels, openPanels);
1233    return {
1234      ...corePreferences,
1235      panels
1236    };
1237  });
1238  
1239  /**
1240   *
1241   * @param {Object} state         Global application state.
1242   * @param {string} preferenceKey Preference Key.
1243   * @param {*}      defaultValue  Default Value.
1244   *
1245   * @return {*} Preference Value.
1246   */
1247  function getPreference(state, preferenceKey, defaultValue) {
1248    external_wp_deprecated_default()(`select( 'core/edit-post' ).getPreference`, {
1249      since: '6.0',
1250      alternative: `select( 'core/preferences' ).get`
1251    });
1252  
1253    // Avoid using the `getPreferences` registry selector where possible.
1254    const preferences = getPreferences(state);
1255    const value = preferences[preferenceKey];
1256    return value === undefined ? defaultValue : value;
1257  }
1258  
1259  /**
1260   * Returns an array of blocks that are hidden.
1261   *
1262   * @return {Array} A list of the hidden block types
1263   */
1264  const getHiddenBlockTypes = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1265    var _select$get2;
1266    return (_select$get2 = select(external_wp_preferences_namespaceObject.store).get('core', 'hiddenBlockTypes')) !== null && _select$get2 !== void 0 ? _select$get2 : EMPTY_ARRAY;
1267  });
1268  
1269  /**
1270   * Returns true if the publish sidebar is opened.
1271   *
1272   * @deprecated
1273   *
1274   * @param {Object} state Global application state
1275   *
1276   * @return {boolean} Whether the publish sidebar is open.
1277   */
1278  const isPublishSidebarOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1279    external_wp_deprecated_default()(`select( 'core/edit-post' ).isPublishSidebarOpened`, {
1280      since: '6.6',
1281      alternative: `select( 'core/editor' ).isPublishSidebarOpened`
1282    });
1283    return select(external_wp_editor_namespaceObject.store).isPublishSidebarOpened();
1284  });
1285  
1286  /**
1287   * Returns true if the given panel was programmatically removed, or false otherwise.
1288   * All panels are not removed by default.
1289   *
1290   * @deprecated
1291   *
1292   * @param {Object} state     Global application state.
1293   * @param {string} panelName A string that identifies the panel.
1294   *
1295   * @return {boolean} Whether or not the panel is removed.
1296   */
1297  const isEditorPanelRemoved = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, panelName) => {
1298    external_wp_deprecated_default()(`select( 'core/edit-post' ).isEditorPanelRemoved`, {
1299      since: '6.5',
1300      alternative: `select( 'core/editor' ).isEditorPanelRemoved`
1301    });
1302    return select(external_wp_editor_namespaceObject.store).isEditorPanelRemoved(panelName);
1303  });
1304  
1305  /**
1306   * Returns true if the given panel is enabled, or false otherwise. Panels are
1307   * enabled by default.
1308   *
1309   * @deprecated
1310   *
1311   * @param {Object} state     Global application state.
1312   * @param {string} panelName A string that identifies the panel.
1313   *
1314   * @return {boolean} Whether or not the panel is enabled.
1315   */
1316  const isEditorPanelEnabled = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, panelName) => {
1317    external_wp_deprecated_default()(`select( 'core/edit-post' ).isEditorPanelEnabled`, {
1318      since: '6.5',
1319      alternative: `select( 'core/editor' ).isEditorPanelEnabled`
1320    });
1321    return select(external_wp_editor_namespaceObject.store).isEditorPanelEnabled(panelName);
1322  });
1323  
1324  /**
1325   * Returns true if the given panel is open, or false otherwise. Panels are
1326   * closed by default.
1327   *
1328   * @deprecated
1329   *
1330   * @param {Object} state     Global application state.
1331   * @param {string} panelName A string that identifies the panel.
1332   *
1333   * @return {boolean} Whether or not the panel is open.
1334   */
1335  const isEditorPanelOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, panelName) => {
1336    external_wp_deprecated_default()(`select( 'core/edit-post' ).isEditorPanelOpened`, {
1337      since: '6.5',
1338      alternative: `select( 'core/editor' ).isEditorPanelOpened`
1339    });
1340    return select(external_wp_editor_namespaceObject.store).isEditorPanelOpened(panelName);
1341  });
1342  
1343  /**
1344   * Returns true if a modal is active, or false otherwise.
1345   *
1346   * @deprecated since WP 6.3 use `core/interface` store's selector with the same name instead.
1347   *
1348   * @param {Object} state     Global application state.
1349   * @param {string} modalName A string that uniquely identifies the modal.
1350   *
1351   * @return {boolean} Whether the modal is active.
1352   */
1353  const isModalActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, modalName) => {
1354    external_wp_deprecated_default()(`select( 'core/edit-post' ).isModalActive`, {
1355      since: '6.3',
1356      alternative: `select( 'core/interface' ).isModalActive`
1357    });
1358    return !!select(selectors_interfaceStore).isModalActive(modalName);
1359  });
1360  
1361  /**
1362   * Returns whether the given feature is enabled or not.
1363   *
1364   * @param {Object} state   Global application state.
1365   * @param {string} feature Feature slug.
1366   *
1367   * @return {boolean} Is active.
1368   */
1369  const isFeatureActive = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, feature) => {
1370    return !!select(external_wp_preferences_namespaceObject.store).get('core/edit-post', feature);
1371  });
1372  
1373  /**
1374   * Returns true if the plugin item is pinned to the header.
1375   * When the value is not set it defaults to true.
1376   *
1377   * @param {Object} state      Global application state.
1378   * @param {string} pluginName Plugin item name.
1379   *
1380   * @return {boolean} Whether the plugin item is pinned.
1381   */
1382  const isPluginItemPinned = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, pluginName) => {
1383    return select(selectors_interfaceStore).isItemPinned('core', pluginName);
1384  });
1385  
1386  /**
1387   * Returns an array of active meta box locations.
1388   *
1389   * @param {Object} state Post editor state.
1390   *
1391   * @return {string[]} Active meta box locations.
1392   */
1393  const getActiveMetaBoxLocations = (0,external_wp_data_namespaceObject.createSelector)(state => {
1394    return Object.keys(state.metaBoxes.locations).filter(location => isMetaBoxLocationActive(state, location));
1395  }, state => [state.metaBoxes.locations]);
1396  
1397  /**
1398   * Returns true if a metabox location is active and visible
1399   *
1400   * @param {Object} state    Post editor state.
1401   * @param {string} location Meta box location to test.
1402   *
1403   * @return {boolean} Whether the meta box location is active and visible.
1404   */
1405  const isMetaBoxLocationVisible = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => (state, location) => {
1406    return isMetaBoxLocationActive(state, location) && getMetaBoxesPerLocation(state, location)?.some(({
1407      id
1408    }) => {
1409      return select(external_wp_editor_namespaceObject.store).isEditorPanelEnabled(`meta-box-$id}`);
1410    });
1411  });
1412  
1413  /**
1414   * Returns true if there is an active meta box in the given location, or false
1415   * otherwise.
1416   *
1417   * @param {Object} state    Post editor state.
1418   * @param {string} location Meta box location to test.
1419   *
1420   * @return {boolean} Whether the meta box location is active.
1421   */
1422  function isMetaBoxLocationActive(state, location) {
1423    const metaBoxes = getMetaBoxesPerLocation(state, location);
1424    return !!metaBoxes && metaBoxes.length !== 0;
1425  }
1426  
1427  /**
1428   * Returns the list of all the available meta boxes for a given location.
1429   *
1430   * @param {Object} state    Global application state.
1431   * @param {string} location Meta box location to test.
1432   *
1433   * @return {?Array} List of meta boxes.
1434   */
1435  function getMetaBoxesPerLocation(state, location) {
1436    return state.metaBoxes.locations[location];
1437  }
1438  
1439  /**
1440   * Returns the list of all the available meta boxes.
1441   *
1442   * @param {Object} state Global application state.
1443   *
1444   * @return {Array} List of meta boxes.
1445   */
1446  const getAllMetaBoxes = (0,external_wp_data_namespaceObject.createSelector)(state => {
1447    return Object.values(state.metaBoxes.locations).flat();
1448  }, state => [state.metaBoxes.locations]);
1449  
1450  /**
1451   * Returns true if the post is using Meta Boxes
1452   *
1453   * @param {Object} state Global application state
1454   *
1455   * @return {boolean} Whether there are metaboxes or not.
1456   */
1457  function hasMetaBoxes(state) {
1458    return getActiveMetaBoxLocations(state).length > 0;
1459  }
1460  
1461  /**
1462   * Returns true if the Meta Boxes are being saved.
1463   *
1464   * @param {Object} state Global application state.
1465   *
1466   * @return {boolean} Whether the metaboxes are being saved.
1467   */
1468  function selectors_isSavingMetaBoxes(state) {
1469    return state.metaBoxes.isSaving;
1470  }
1471  
1472  /**
1473   * Returns the current editing canvas device type.
1474   *
1475   * @deprecated
1476   *
1477   * @param {Object} state Global application state.
1478   *
1479   * @return {string} Device type.
1480   */
1481  const __experimentalGetPreviewDeviceType = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1482    external_wp_deprecated_default()(`select( 'core/edit-site' ).__experimentalGetPreviewDeviceType`, {
1483      since: '6.5',
1484      version: '6.7',
1485      alternative: `select( 'core/editor' ).getDeviceType`
1486    });
1487    return select(external_wp_editor_namespaceObject.store).getDeviceType();
1488  });
1489  
1490  /**
1491   * Returns true if the inserter is opened.
1492   *
1493   * @deprecated
1494   *
1495   * @param {Object} state Global application state.
1496   *
1497   * @return {boolean} Whether the inserter is opened.
1498   */
1499  const isInserterOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1500    external_wp_deprecated_default()(`select( 'core/edit-post' ).isInserterOpened`, {
1501      since: '6.5',
1502      alternative: `select( 'core/editor' ).isInserterOpened`
1503    });
1504    return select(external_wp_editor_namespaceObject.store).isInserterOpened();
1505  });
1506  
1507  /**
1508   * Get the insertion point for the inserter.
1509   *
1510   * @deprecated
1511   *
1512   * @param {Object} state Global application state.
1513   *
1514   * @return {Object} The root client ID, index to insert at and starting filter value.
1515   */
1516  const __experimentalGetInsertionPoint = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1517    external_wp_deprecated_default()(`select( 'core/edit-post' ).__experimentalGetInsertionPoint`, {
1518      since: '6.5',
1519      version: '6.7'
1520    });
1521    return unlock(select(external_wp_editor_namespaceObject.store)).getInserter();
1522  });
1523  
1524  /**
1525   * Returns true if the list view is opened.
1526   *
1527   * @param {Object} state Global application state.
1528   *
1529   * @return {boolean} Whether the list view is opened.
1530   */
1531  const isListViewOpened = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1532    external_wp_deprecated_default()(`select( 'core/edit-post' ).isListViewOpened`, {
1533      since: '6.5',
1534      alternative: `select( 'core/editor' ).isListViewOpened`
1535    });
1536    return select(external_wp_editor_namespaceObject.store).isListViewOpened();
1537  });
1538  
1539  /**
1540   * Returns true if the template editing mode is enabled.
1541   *
1542   * @deprecated
1543   */
1544  const isEditingTemplate = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1545    external_wp_deprecated_default()(`select( 'core/edit-post' ).isEditingTemplate`, {
1546      since: '6.5',
1547      alternative: `select( 'core/editor' ).getRenderingMode`
1548    });
1549    return select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template';
1550  });
1551  
1552  /**
1553   * Returns true if meta boxes are initialized.
1554   *
1555   * @param {Object} state Global application state.
1556   *
1557   * @return {boolean} Whether meta boxes are initialized.
1558   */
1559  function areMetaBoxesInitialized(state) {
1560    return state.metaBoxes.initialized;
1561  }
1562  
1563  /**
1564   * Retrieves the template of the currently edited post.
1565   *
1566   * @return {?Object} Post Template.
1567   */
1568  const getEditedPostTemplate = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => () => {
1569    const {
1570      id: postId,
1571      type: postType
1572    } = select(external_wp_editor_namespaceObject.store).getCurrentPost();
1573    const templateId = unlock(select(external_wp_coreData_namespaceObject.store)).getTemplateId(postType, postId);
1574    if (!templateId) {
1575      return undefined;
1576    }
1577    return select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord('postType', 'wp_template', templateId);
1578  });
1579  
1580  ;// ./node_modules/@wordpress/edit-post/build-module/store/index.js
1581  /**
1582   * WordPress dependencies
1583   */
1584  
1585  
1586  /**
1587   * Internal dependencies
1588   */
1589  
1590  
1591  
1592  
1593  
1594  /**
1595   * Store definition for the edit post namespace.
1596   *
1597   * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore
1598   *
1599   * @type {Object}
1600   */
1601  const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, {
1602    reducer: reducer,
1603    actions: actions_namespaceObject,
1604    selectors: selectors_namespaceObject
1605  });
1606  (0,external_wp_data_namespaceObject.register)(store);
1607  
1608  ;// ./node_modules/@wordpress/edit-post/build-module/components/keyboard-shortcuts/index.js
1609  /**
1610   * WordPress dependencies
1611   */
1612  
1613  
1614  
1615  
1616  
1617  /**
1618   * Internal dependencies
1619   */
1620  
1621  function KeyboardShortcuts() {
1622    const {
1623      toggleFullscreenMode
1624    } = (0,external_wp_data_namespaceObject.useDispatch)(store);
1625    const {
1626      registerShortcut
1627    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_keyboardShortcuts_namespaceObject.store);
1628    (0,external_wp_element_namespaceObject.useEffect)(() => {
1629      registerShortcut({
1630        name: 'core/edit-post/toggle-fullscreen',
1631        category: 'global',
1632        description: (0,external_wp_i18n_namespaceObject.__)('Enable or disable fullscreen mode.'),
1633        keyCombination: {
1634          modifier: 'secondary',
1635          character: 'f'
1636        }
1637      });
1638    }, []);
1639    (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)('core/edit-post/toggle-fullscreen', () => {
1640      toggleFullscreenMode();
1641    });
1642    return null;
1643  }
1644  /* harmony default export */ const keyboard_shortcuts = (KeyboardShortcuts);
1645  
1646  ;// ./node_modules/@wordpress/edit-post/build-module/components/init-pattern-modal/index.js
1647  /**
1648   * WordPress dependencies
1649   */
1650  
1651  
1652  
1653  
1654  
1655  
1656  function InitPatternModal() {
1657    const {
1658      editPost
1659    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store);
1660    const [syncType, setSyncType] = (0,external_wp_element_namespaceObject.useState)(undefined);
1661    const [title, setTitle] = (0,external_wp_element_namespaceObject.useState)('');
1662    const {
1663      postType,
1664      isNewPost
1665    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
1666      const {
1667        getEditedPostAttribute,
1668        isCleanNewPost
1669      } = select(external_wp_editor_namespaceObject.store);
1670      return {
1671        postType: getEditedPostAttribute('type'),
1672        isNewPost: isCleanNewPost()
1673      };
1674    }, []);
1675    const [isModalOpen, setIsModalOpen] = (0,external_wp_element_namespaceObject.useState)(() => isNewPost && postType === 'wp_block');
1676    if (postType !== 'wp_block' || !isNewPost) {
1677      return null;
1678    }
1679    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, {
1680      children: isModalOpen && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Modal, {
1681        title: (0,external_wp_i18n_namespaceObject.__)('Create pattern'),
1682        onRequestClose: () => {
1683          setIsModalOpen(false);
1684        },
1685        overlayClassName: "reusable-blocks-menu-items__convert-modal",
1686        children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("form", {
1687          onSubmit: event => {
1688            event.preventDefault();
1689            setIsModalOpen(false);
1690            editPost({
1691              title,
1692              meta: {
1693                wp_pattern_sync_status: syncType
1694              }
1695            });
1696          },
1697          children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, {
1698            spacing: "5",
1699            children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.TextControl, {
1700              label: (0,external_wp_i18n_namespaceObject.__)('Name'),
1701              value: title,
1702              onChange: setTitle,
1703              placeholder: (0,external_wp_i18n_namespaceObject.__)('My pattern'),
1704              className: "patterns-create-modal__name-input",
1705              __nextHasNoMarginBottom: true,
1706              __next40pxDefaultSize: true
1707            }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, {
1708              __nextHasNoMarginBottom: true,
1709              label: (0,external_wp_i18n_namespaceObject._x)('Synced', 'pattern (singular)'),
1710              help: (0,external_wp_i18n_namespaceObject.__)('Sync this pattern across multiple locations.'),
1711              checked: !syncType,
1712              onChange: () => {
1713                setSyncType(!syncType ? 'unsynced' : undefined);
1714              }
1715            }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalHStack, {
1716              justify: "right",
1717              children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
1718                __next40pxDefaultSize: true,
1719                variant: "primary",
1720                type: "submit",
1721                disabled: !title,
1722                accessibleWhenDisabled: true,
1723                children: (0,external_wp_i18n_namespaceObject.__)('Create')
1724              })
1725            })]
1726          })
1727        })
1728      })
1729    });
1730  }
1731  
1732  ;// ./node_modules/@wordpress/edit-post/build-module/components/browser-url/index.js
1733  /**
1734   * WordPress dependencies
1735   */
1736  
1737  
1738  
1739  
1740  
1741  /**
1742   * Returns the Post's Edit URL.
1743   *
1744   * @param {number} postId Post ID.
1745   *
1746   * @return {string} Post edit URL.
1747   */
1748  function getPostEditURL(postId) {
1749    return (0,external_wp_url_namespaceObject.addQueryArgs)('post.php', {
1750      post: postId,
1751      action: 'edit'
1752    });
1753  }
1754  class BrowserURL extends external_wp_element_namespaceObject.Component {
1755    constructor() {
1756      super(...arguments);
1757      this.state = {
1758        historyId: null
1759      };
1760    }
1761    componentDidUpdate(prevProps) {
1762      const {
1763        postId,
1764        postStatus
1765      } = this.props;
1766      const {
1767        historyId
1768      } = this.state;
1769      if ((postId !== prevProps.postId || postId !== historyId) && postStatus !== 'auto-draft' && postId) {
1770        this.setBrowserURL(postId);
1771      }
1772    }
1773  
1774    /**
1775     * Replaces the browser URL with a post editor link for the given post ID.
1776     *
1777     * Note it is important that, since this function may be called when the
1778     * editor first loads, the result generated `getPostEditURL` matches that
1779     * produced by the server. Otherwise, the URL will change unexpectedly.
1780     *
1781     * @param {number} postId Post ID for which to generate post editor URL.
1782     */
1783    setBrowserURL(postId) {
1784      window.history.replaceState({
1785        id: postId
1786      }, 'Post ' + postId, getPostEditURL(postId));
1787      this.setState(() => ({
1788        historyId: postId
1789      }));
1790    }
1791    render() {
1792      return null;
1793    }
1794  }
1795  /* harmony default export */ const browser_url = ((0,external_wp_data_namespaceObject.withSelect)(select => {
1796    const {
1797      getCurrentPost
1798    } = select(external_wp_editor_namespaceObject.store);
1799    const post = getCurrentPost();
1800    let {
1801      id,
1802      status,
1803      type
1804    } = post;
1805    const isTemplate = ['wp_template', 'wp_template_part'].includes(type);
1806    if (isTemplate) {
1807      id = post.wp_id;
1808    }
1809    return {
1810      postId: id,
1811      postStatus: status
1812    };
1813  })(BrowserURL));
1814  
1815  ;// ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/meta-boxes-area/index.js
1816  /**
1817   * External dependencies
1818   */
1819  
1820  
1821  /**
1822   * WordPress dependencies
1823   */
1824  
1825  
1826  
1827  
1828  /**
1829   * Internal dependencies
1830   */
1831  
1832  
1833  /**
1834   * Render metabox area.
1835   *
1836   * @param {Object} props          Component props.
1837   * @param {string} props.location metabox location.
1838   * @return {Component} The component to be rendered.
1839   */
1840  
1841  function MetaBoxesArea({
1842    location
1843  }) {
1844    const container = (0,external_wp_element_namespaceObject.useRef)(null);
1845    const formRef = (0,external_wp_element_namespaceObject.useRef)(null);
1846    (0,external_wp_element_namespaceObject.useEffect)(() => {
1847      formRef.current = document.querySelector('.metabox-location-' + location);
1848      if (formRef.current) {
1849        container.current.appendChild(formRef.current);
1850      }
1851      return () => {
1852        if (formRef.current) {
1853          document.querySelector('#metaboxes').appendChild(formRef.current);
1854        }
1855      };
1856    }, [location]);
1857    const isSaving = (0,external_wp_data_namespaceObject.useSelect)(select => {
1858      return select(store).isSavingMetaBoxes();
1859    }, []);
1860    const classes = dist_clsx('edit-post-meta-boxes-area', `is-$location}`, {
1861      'is-loading': isSaving
1862    });
1863    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
1864      className: classes,
1865      children: [isSaving && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
1866        className: "edit-post-meta-boxes-area__container",
1867        ref: container
1868      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
1869        className: "edit-post-meta-boxes-area__clear"
1870      })]
1871    });
1872  }
1873  /* harmony default export */ const meta_boxes_area = (MetaBoxesArea);
1874  
1875  ;// ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/meta-box-visibility.js
1876  /**
1877   * WordPress dependencies
1878   */
1879  
1880  
1881  
1882  function MetaBoxVisibility({
1883    id
1884  }) {
1885    const isVisible = (0,external_wp_data_namespaceObject.useSelect)(select => {
1886      return select(external_wp_editor_namespaceObject.store).isEditorPanelEnabled(`meta-box-$id}`);
1887    }, [id]);
1888    (0,external_wp_element_namespaceObject.useEffect)(() => {
1889      const element = document.getElementById(id);
1890      if (!element) {
1891        return;
1892      }
1893      if (isVisible) {
1894        element.classList.remove('is-hidden');
1895      } else {
1896        element.classList.add('is-hidden');
1897      }
1898    }, [id, isVisible]);
1899    return null;
1900  }
1901  
1902  ;// ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/index.js
1903  /* wp:polyfill */
1904  /**
1905   * WordPress dependencies
1906   */
1907  
1908  
1909  /**
1910   * Internal dependencies
1911   */
1912  
1913  
1914  
1915  
1916  function MetaBoxes({
1917    location
1918  }) {
1919    const metaBoxes = (0,external_wp_data_namespaceObject.useSelect)(select => select(store).getMetaBoxesPerLocation(location), [location]);
1920    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
1921      children: [(metaBoxes !== null && metaBoxes !== void 0 ? metaBoxes : []).map(({
1922        id
1923      }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxVisibility, {
1924        id: id
1925      }, id)), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(meta_boxes_area, {
1926        location: location
1927      })]
1928    });
1929  }
1930  
1931  ;// external ["wp","keycodes"]
1932  const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"];
1933  ;// ./node_modules/@wordpress/edit-post/build-module/components/more-menu/manage-patterns-menu-item.js
1934  /**
1935   * WordPress dependencies
1936   */
1937  
1938  
1939  
1940  
1941  
1942  
1943  function ManagePatternsMenuItem() {
1944    const url = (0,external_wp_data_namespaceObject.useSelect)(select => {
1945      const {
1946        canUser
1947      } = select(external_wp_coreData_namespaceObject.store);
1948      const defaultUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', {
1949        post_type: 'wp_block'
1950      });
1951      const patternsUrl = (0,external_wp_url_namespaceObject.addQueryArgs)('site-editor.php', {
1952        path: '/patterns'
1953      });
1954  
1955      // The site editor and templates both check whether the user has
1956      // edit_theme_options capabilities. We can leverage that here and not
1957      // display the manage patterns link if the user can't access it.
1958      return canUser('create', {
1959        kind: 'postType',
1960        name: 'wp_template'
1961      }) ? patternsUrl : defaultUrl;
1962    }, []);
1963    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuItem, {
1964      role: "menuitem",
1965      href: url,
1966      children: (0,external_wp_i18n_namespaceObject.__)('Manage patterns')
1967    });
1968  }
1969  /* harmony default export */ const manage_patterns_menu_item = (ManagePatternsMenuItem);
1970  
1971  ;// ./node_modules/@wordpress/edit-post/build-module/components/more-menu/welcome-guide-menu-item.js
1972  /**
1973   * WordPress dependencies
1974   */
1975  
1976  
1977  
1978  
1979  
1980  function WelcomeGuideMenuItem() {
1981    const isEditingTemplate = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_editor_namespaceObject.store).getCurrentPostType() === 'wp_template', []);
1982    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, {
1983      scope: "core/edit-post",
1984      name: isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide',
1985      label: (0,external_wp_i18n_namespaceObject.__)('Welcome Guide')
1986    });
1987  }
1988  
1989  ;// ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-custom-fields.js
1990  /**
1991   * WordPress dependencies
1992   */
1993  
1994  
1995  
1996  
1997  
1998  
1999  
2000  
2001  /**
2002   * Internal dependencies
2003   */
2004  
2005  
2006  const {
2007    PreferenceBaseOption
2008  } = unlock(external_wp_preferences_namespaceObject.privateApis);
2009  function submitCustomFieldsForm() {
2010    const customFieldsForm = document.getElementById('toggle-custom-fields-form');
2011  
2012    // Ensure the referrer values is up to update with any
2013    customFieldsForm.querySelector('[name="_wp_http_referer"]').setAttribute('value', (0,external_wp_url_namespaceObject.getPathAndQueryString)(window.location.href));
2014    customFieldsForm.submit();
2015  }
2016  function CustomFieldsConfirmation({
2017    willEnable
2018  }) {
2019    const [isReloading, setIsReloading] = (0,external_wp_element_namespaceObject.useState)(false);
2020    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2021      children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2022        className: "edit-post-preferences-modal__custom-fields-confirmation-message",
2023        children: (0,external_wp_i18n_namespaceObject.__)('A page reload is required for this change. Make sure your content is saved before reloading.')
2024      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
2025        __next40pxDefaultSize: true,
2026        variant: "secondary",
2027        isBusy: isReloading,
2028        accessibleWhenDisabled: true,
2029        disabled: isReloading,
2030        onClick: () => {
2031          setIsReloading(true);
2032          submitCustomFieldsForm();
2033        },
2034        children: willEnable ? (0,external_wp_i18n_namespaceObject.__)('Show & Reload Page') : (0,external_wp_i18n_namespaceObject.__)('Hide & Reload Page')
2035      })]
2036    });
2037  }
2038  function EnableCustomFieldsOption({
2039    label
2040  }) {
2041    const areCustomFieldsEnabled = (0,external_wp_data_namespaceObject.useSelect)(select => {
2042      return !!select(external_wp_editor_namespaceObject.store).getEditorSettings().enableCustomFields;
2043    }, []);
2044    const [isChecked, setIsChecked] = (0,external_wp_element_namespaceObject.useState)(areCustomFieldsEnabled);
2045    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferenceBaseOption, {
2046      label: label,
2047      isChecked: isChecked,
2048      onChange: setIsChecked,
2049      children: isChecked !== areCustomFieldsEnabled && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CustomFieldsConfirmation, {
2050        willEnable: isChecked
2051      })
2052    });
2053  }
2054  
2055  ;// ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/enable-panel.js
2056  /**
2057   * WordPress dependencies
2058   */
2059  
2060  
2061  
2062  
2063  /**
2064   * Internal dependencies
2065   */
2066  
2067  
2068  const {
2069    PreferenceBaseOption: enable_panel_PreferenceBaseOption
2070  } = unlock(external_wp_preferences_namespaceObject.privateApis);
2071  function EnablePanelOption(props) {
2072    const {
2073      toggleEditorPanelEnabled
2074    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store);
2075    const {
2076      isChecked,
2077      isRemoved
2078    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
2079      const {
2080        isEditorPanelEnabled,
2081        isEditorPanelRemoved
2082      } = select(external_wp_editor_namespaceObject.store);
2083      return {
2084        isChecked: isEditorPanelEnabled(props.panelName),
2085        isRemoved: isEditorPanelRemoved(props.panelName)
2086      };
2087    }, [props.panelName]);
2088    if (isRemoved) {
2089      return null;
2090    }
2091    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(enable_panel_PreferenceBaseOption, {
2092      isChecked: isChecked,
2093      onChange: () => toggleEditorPanelEnabled(props.panelName),
2094      ...props
2095    });
2096  }
2097  
2098  ;// ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/meta-boxes-section.js
2099  /* wp:polyfill */
2100  /**
2101   * WordPress dependencies
2102   */
2103  
2104  
2105  
2106  
2107  
2108  /**
2109   * Internal dependencies
2110   */
2111  
2112  
2113  
2114  
2115  
2116  const {
2117    PreferencesModalSection
2118  } = unlock(external_wp_preferences_namespaceObject.privateApis);
2119  function MetaBoxesSection({
2120    areCustomFieldsRegistered,
2121    metaBoxes,
2122    ...sectionProps
2123  }) {
2124    // The 'Custom Fields' meta box is a special case that we handle separately.
2125    const thirdPartyMetaBoxes = metaBoxes.filter(({
2126      id
2127    }) => id !== 'postcustom');
2128    if (!areCustomFieldsRegistered && thirdPartyMetaBoxes.length === 0) {
2129      return null;
2130    }
2131    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(PreferencesModalSection, {
2132      ...sectionProps,
2133      children: [areCustomFieldsRegistered && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EnableCustomFieldsOption, {
2134        label: (0,external_wp_i18n_namespaceObject.__)('Custom fields')
2135      }), thirdPartyMetaBoxes.map(({
2136        id,
2137        title
2138      }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EnablePanelOption, {
2139        label: title,
2140        panelName: `meta-box-$id}`
2141      }, id))]
2142    });
2143  }
2144  /* harmony default export */ const meta_boxes_section = ((0,external_wp_data_namespaceObject.withSelect)(select => {
2145    const {
2146      getEditorSettings
2147    } = select(external_wp_editor_namespaceObject.store);
2148    const {
2149      getAllMetaBoxes
2150    } = select(store);
2151    return {
2152      // This setting should not live in the block editor's store.
2153      areCustomFieldsRegistered: getEditorSettings().enableCustomFields !== undefined,
2154      metaBoxes: getAllMetaBoxes()
2155    };
2156  })(MetaBoxesSection));
2157  
2158  ;// ./node_modules/@wordpress/edit-post/build-module/components/preferences-modal/index.js
2159  /**
2160   * WordPress dependencies
2161   */
2162  
2163  
2164  
2165  
2166  
2167  /**
2168   * Internal dependencies
2169   */
2170  
2171  
2172  
2173  const {
2174    PreferenceToggleControl
2175  } = unlock(external_wp_preferences_namespaceObject.privateApis);
2176  const {
2177    PreferencesModal
2178  } = unlock(external_wp_editor_namespaceObject.privateApis);
2179  function EditPostPreferencesModal() {
2180    const extraSections = {
2181      general: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(meta_boxes_section, {
2182        title: (0,external_wp_i18n_namespaceObject.__)('Advanced')
2183      }),
2184      appearance: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferenceToggleControl, {
2185        scope: "core/edit-post",
2186        featureName: "themeStyles",
2187        help: (0,external_wp_i18n_namespaceObject.__)('Make the editor look like your theme.'),
2188        label: (0,external_wp_i18n_namespaceObject.__)('Use theme styles')
2189      })
2190    };
2191    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PreferencesModal, {
2192      extraSections: extraSections
2193    });
2194  }
2195  
2196  ;// ./node_modules/@wordpress/edit-post/build-module/components/more-menu/index.js
2197  /**
2198   * WordPress dependencies
2199   */
2200  
2201  
2202  
2203  
2204  
2205  
2206  /**
2207   * Internal dependencies
2208   */
2209  
2210  
2211  
2212  
2213  
2214  const {
2215    ToolsMoreMenuGroup,
2216    ViewMoreMenuGroup
2217  } = unlock(external_wp_editor_namespaceObject.privateApis);
2218  const MoreMenu = () => {
2219    const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('large');
2220    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2221      children: [isLargeViewport && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ViewMoreMenuGroup, {
2222        children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_preferences_namespaceObject.PreferenceToggleMenuItem, {
2223          scope: "core/edit-post",
2224          name: "fullscreenMode",
2225          label: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode'),
2226          info: (0,external_wp_i18n_namespaceObject.__)('Show and hide the admin user interface'),
2227          messageActivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode activated.'),
2228          messageDeactivated: (0,external_wp_i18n_namespaceObject.__)('Fullscreen mode deactivated.'),
2229          shortcut: external_wp_keycodes_namespaceObject.displayShortcut.secondary('f')
2230        })
2231      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(ToolsMoreMenuGroup, {
2232        children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(manage_patterns_menu_item, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideMenuItem, {})]
2233      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EditPostPreferencesModal, {})]
2234    });
2235  };
2236  /* harmony default export */ const more_menu = (MoreMenu);
2237  
2238  ;// ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/image.js
2239  
2240  function WelcomeGuideImage({
2241    nonAnimatedSrc,
2242    animatedSrc
2243  }) {
2244    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("picture", {
2245      className: "edit-post-welcome-guide__image",
2246      children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("source", {
2247        srcSet: nonAnimatedSrc,
2248        media: "(prefers-reduced-motion: reduce)"
2249      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", {
2250        src: animatedSrc,
2251        width: "312",
2252        height: "240",
2253        alt: ""
2254      })]
2255    });
2256  }
2257  
2258  ;// ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/default.js
2259  /**
2260   * WordPress dependencies
2261   */
2262  
2263  
2264  
2265  
2266  
2267  /**
2268   * Internal dependencies
2269   */
2270  
2271  
2272  
2273  function WelcomeGuideDefault() {
2274    const {
2275      toggleFeature
2276    } = (0,external_wp_data_namespaceObject.useDispatch)(store);
2277    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Guide, {
2278      className: "edit-post-welcome-guide",
2279      contentLabel: (0,external_wp_i18n_namespaceObject.__)('Welcome to the editor'),
2280      finishButtonText: (0,external_wp_i18n_namespaceObject.__)('Get started'),
2281      onFinish: () => toggleFeature('welcomeGuide'),
2282      pages: [{
2283        image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, {
2284          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.svg",
2285          animatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.gif"
2286        }),
2287        content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2288          children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", {
2289            className: "edit-post-welcome-guide__heading",
2290            children: (0,external_wp_i18n_namespaceObject.__)('Welcome to the editor')
2291          }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2292            className: "edit-post-welcome-guide__text",
2293            children: (0,external_wp_i18n_namespaceObject.__)('In the WordPress editor, each paragraph, image, or video is presented as a distinct “block” of content.')
2294          })]
2295        })
2296      }, {
2297        image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, {
2298          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-editor.svg",
2299          animatedSrc: "https://s.w.org/images/block-editor/welcome-editor.gif"
2300        }),
2301        content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2302          children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", {
2303            className: "edit-post-welcome-guide__heading",
2304            children: (0,external_wp_i18n_namespaceObject.__)('Customize each block')
2305          }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2306            className: "edit-post-welcome-guide__text",
2307            children: (0,external_wp_i18n_namespaceObject.__)('Each block comes with its own set of controls for changing things like color, width, and alignment. These will show and hide automatically when you have a block selected.')
2308          })]
2309        })
2310      }, {
2311        image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, {
2312          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-library.svg",
2313          animatedSrc: "https://s.w.org/images/block-editor/welcome-library.gif"
2314        }),
2315        content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2316          children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", {
2317            className: "edit-post-welcome-guide__heading",
2318            children: (0,external_wp_i18n_namespaceObject.__)('Explore all blocks')
2319          }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2320            className: "edit-post-welcome-guide__text",
2321            children: (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('All of the blocks available to you live in the block library. You’ll find it wherever you see the <InserterIconImage /> icon.'), {
2322              InserterIconImage: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", {
2323                alt: (0,external_wp_i18n_namespaceObject.__)('inserter'),
2324                src: "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='18' height='18' rx='2' fill='%231E1E1E'/%3E%3Cpath d='M9.22727 4V14M4 8.77273H14' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E%0A"
2325              })
2326            })
2327          })]
2328        })
2329      }, {
2330        image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, {
2331          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.svg",
2332          animatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.gif"
2333        }),
2334        content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2335          children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", {
2336            className: "edit-post-welcome-guide__heading",
2337            children: (0,external_wp_i18n_namespaceObject.__)('Learn more')
2338          }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2339            className: "edit-post-welcome-guide__text",
2340            children: (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)("New to the block editor? Want to learn more about using it? <a>Here's a detailed guide.</a>"), {
2341              a: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, {
2342                href: (0,external_wp_i18n_namespaceObject.__)('https://wordpress.org/documentation/article/wordpress-block-editor/')
2343              })
2344            })
2345          })]
2346        })
2347      }]
2348    });
2349  }
2350  
2351  ;// ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/template.js
2352  /**
2353   * WordPress dependencies
2354   */
2355  
2356  
2357  
2358  
2359  /**
2360   * Internal dependencies
2361   */
2362  
2363  
2364  
2365  function WelcomeGuideTemplate() {
2366    const {
2367      toggleFeature
2368    } = (0,external_wp_data_namespaceObject.useDispatch)(store);
2369    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Guide, {
2370      className: "edit-template-welcome-guide",
2371      contentLabel: (0,external_wp_i18n_namespaceObject.__)('Welcome to the template editor'),
2372      finishButtonText: (0,external_wp_i18n_namespaceObject.__)('Get started'),
2373      onFinish: () => toggleFeature('welcomeGuideTemplate'),
2374      pages: [{
2375        image: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideImage, {
2376          nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.svg",
2377          animatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.gif"
2378        }),
2379        content: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2380          children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h1", {
2381            className: "edit-post-welcome-guide__heading",
2382            children: (0,external_wp_i18n_namespaceObject.__)('Welcome to the template editor')
2383          }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", {
2384            className: "edit-post-welcome-guide__text",
2385            children: (0,external_wp_i18n_namespaceObject.__)('Templates help define the layout of the site. You can customize all aspects of your posts and pages using blocks and patterns in this editor.')
2386          })]
2387        })
2388      }]
2389    });
2390  }
2391  
2392  ;// ./node_modules/@wordpress/edit-post/build-module/components/welcome-guide/index.js
2393  /**
2394   * WordPress dependencies
2395   */
2396  
2397  
2398  /**
2399   * Internal dependencies
2400   */
2401  
2402  
2403  
2404  
2405  function WelcomeGuide({
2406    postType
2407  }) {
2408    const {
2409      isActive,
2410      isEditingTemplate
2411    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
2412      const {
2413        isFeatureActive
2414      } = select(store);
2415      const _isEditingTemplate = postType === 'wp_template';
2416      const feature = _isEditingTemplate ? 'welcomeGuideTemplate' : 'welcomeGuide';
2417      return {
2418        isActive: isFeatureActive(feature),
2419        isEditingTemplate: _isEditingTemplate
2420      };
2421    }, [postType]);
2422    if (!isActive) {
2423      return null;
2424    }
2425    return isEditingTemplate ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideTemplate, {}) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuideDefault, {});
2426  }
2427  
2428  ;// ./node_modules/@wordpress/icons/build-module/library/fullscreen.js
2429  /**
2430   * WordPress dependencies
2431   */
2432  
2433  
2434  const fullscreen = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, {
2435    xmlns: "http://www.w3.org/2000/svg",
2436    viewBox: "0 0 24 24",
2437    children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, {
2438      d: "M6 4a2 2 0 0 0-2 2v3h1.5V6a.5.5 0 0 1 .5-.5h3V4H6Zm3 14.5H6a.5.5 0 0 1-.5-.5v-3H4v3a2 2 0 0 0 2 2h3v-1.5Zm6 1.5v-1.5h3a.5.5 0 0 0 .5-.5v-3H20v3a2 2 0 0 1-2 2h-3Zm3-16a2 2 0 0 1 2 2v3h-1.5V6a.5.5 0 0 0-.5-.5h-3V4h3Z"
2439    })
2440  });
2441  /* harmony default export */ const library_fullscreen = (fullscreen);
2442  
2443  ;// ./node_modules/@wordpress/edit-post/build-module/commands/use-commands.js
2444  /**
2445   * WordPress dependencies
2446   */
2447  
2448  
2449  
2450  
2451  
2452  
2453  function useCommands() {
2454    const {
2455      isFullscreen
2456    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
2457      const {
2458        get
2459      } = select(external_wp_preferences_namespaceObject.store);
2460      return {
2461        isFullscreen: get('core/edit-post', 'fullscreenMode')
2462      };
2463    }, []);
2464    const {
2465      toggle
2466    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store);
2467    const {
2468      createInfoNotice
2469    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
2470    (0,external_wp_commands_namespaceObject.useCommand)({
2471      name: 'core/toggle-fullscreen-mode',
2472      label: isFullscreen ? (0,external_wp_i18n_namespaceObject.__)('Exit fullscreen') : (0,external_wp_i18n_namespaceObject.__)('Enter fullscreen'),
2473      icon: library_fullscreen,
2474      callback: ({
2475        close
2476      }) => {
2477        toggle('core/edit-post', 'fullscreenMode');
2478        close();
2479        createInfoNotice(isFullscreen ? (0,external_wp_i18n_namespaceObject.__)('Fullscreen off.') : (0,external_wp_i18n_namespaceObject.__)('Fullscreen on.'), {
2480          id: 'core/edit-post/toggle-fullscreen-mode/notice',
2481          type: 'snackbar',
2482          actions: [{
2483            label: (0,external_wp_i18n_namespaceObject.__)('Undo'),
2484            onClick: () => {
2485              toggle('core/edit-post', 'fullscreenMode');
2486            }
2487          }]
2488        });
2489      }
2490    });
2491  }
2492  
2493  ;// ./node_modules/@wordpress/edit-post/build-module/components/layout/use-padding-appender.js
2494  /**
2495   * WordPress dependencies
2496   */
2497  
2498  
2499  
2500  
2501  
2502  // Ruleset to add space for the typewriter effect. When typing in the last
2503  // block, there needs to be room to scroll up.
2504  const CSS = ':root :where(.editor-styles-wrapper)::after {content: ""; display: block; height: 40vh;}';
2505  function usePaddingAppender(enabled) {
2506    const registry = (0,external_wp_data_namespaceObject.useRegistry)();
2507    const effect = (0,external_wp_compose_namespaceObject.useRefEffect)(node => {
2508      function onMouseDown(event) {
2509        if (event.target !== node &&
2510        // Tests for the parent element because in the iframed editor if the click is
2511        // below the padding the target will be the parent element (html) and should
2512        // still be treated as intent to append.
2513        event.target !== node.parentElement) {
2514          return;
2515        }
2516  
2517        // Only handle clicks under the last child.
2518        const lastChild = node.lastElementChild;
2519        if (!lastChild) {
2520          return;
2521        }
2522        const lastChildRect = lastChild.getBoundingClientRect();
2523        if (event.clientY < lastChildRect.bottom) {
2524          return;
2525        }
2526        event.preventDefault();
2527        const blockOrder = registry.select(external_wp_blockEditor_namespaceObject.store).getBlockOrder('');
2528        const lastBlockClientId = blockOrder[blockOrder.length - 1];
2529        const lastBlock = registry.select(external_wp_blockEditor_namespaceObject.store).getBlock(lastBlockClientId);
2530        const {
2531          selectBlock,
2532          insertDefaultBlock
2533        } = registry.dispatch(external_wp_blockEditor_namespaceObject.store);
2534        if (lastBlock && (0,external_wp_blocks_namespaceObject.isUnmodifiedDefaultBlock)(lastBlock)) {
2535          selectBlock(lastBlockClientId);
2536        } else {
2537          insertDefaultBlock();
2538        }
2539      }
2540      const {
2541        ownerDocument
2542      } = node;
2543      // Adds the listener on the document so that in the iframed editor clicks below the
2544      // padding can be handled as they too should be treated as intent to append.
2545      ownerDocument.addEventListener('mousedown', onMouseDown);
2546      return () => {
2547        ownerDocument.removeEventListener('mousedown', onMouseDown);
2548      };
2549    }, [registry]);
2550    return enabled ? [effect, CSS] : [];
2551  }
2552  
2553  ;// ./node_modules/@wordpress/edit-post/build-module/components/layout/use-should-iframe.js
2554  /* wp:polyfill */
2555  /**
2556   * WordPress dependencies
2557   */
2558  
2559  
2560  
2561  
2562  
2563  /**
2564   * Internal dependencies
2565   */
2566  
2567  function useShouldIframe() {
2568    return (0,external_wp_data_namespaceObject.useSelect)(select => {
2569      const {
2570        getEditorSettings,
2571        getCurrentPostType,
2572        getDeviceType
2573      } = select(external_wp_editor_namespaceObject.store);
2574      return (
2575        // If the theme is block based, we ALWAYS use the iframe for
2576        // consistency across the post and site editor. The iframe was
2577        // introduced long before the sited editor and block themes, so
2578        // these themes are expecting it.
2579        getEditorSettings().__unstableIsBlockBasedTheme ||
2580        // For classic themes, we also still want to iframe all the special
2581        // editor features and modes such as device previews, zoom out, and
2582        // template/pattern editing.
2583        getDeviceType() !== 'Desktop' || ['wp_template', 'wp_block'].includes(getCurrentPostType()) || unlock(select(external_wp_blockEditor_namespaceObject.store)).isZoomOut() ||
2584        // Finally, still iframe the editor for classic themes if all blocks
2585        // are v3 (which means they are marked as iframe-compatible).
2586        select(external_wp_blocks_namespaceObject.store).getBlockTypes().every(type => type.apiVersion >= 3)
2587      );
2588    }, []);
2589  }
2590  
2591  ;// ./node_modules/@wordpress/edit-post/build-module/hooks/use-navigate-to-entity-record.js
2592  /**
2593   * WordPress dependencies
2594   */
2595  
2596  
2597  
2598  
2599  /**
2600   * A hook that records the 'entity' history in the post editor as a user
2601   * navigates between editing a post and editing the post template or patterns.
2602   *
2603   * Implemented as a stack, so a little similar to the browser history API.
2604   *
2605   * Used to control displaying UI elements like the back button.
2606   *
2607   * @param {number} initialPostId        The post id of the post when the editor loaded.
2608   * @param {string} initialPostType      The post type of the post when the editor loaded.
2609   * @param {string} defaultRenderingMode The rendering mode to switch to when navigating.
2610   *
2611   * @return {Object} An object containing the `currentPost` variable and
2612   *                 `onNavigateToEntityRecord` and `onNavigateToPreviousEntityRecord` functions.
2613   */
2614  function useNavigateToEntityRecord(initialPostId, initialPostType, defaultRenderingMode) {
2615    const [postHistory, dispatch] = (0,external_wp_element_namespaceObject.useReducer)((historyState, {
2616      type,
2617      post,
2618      previousRenderingMode
2619    }) => {
2620      if (type === 'push') {
2621        return [...historyState, {
2622          post,
2623          previousRenderingMode
2624        }];
2625      }
2626      if (type === 'pop') {
2627        // Try to leave one item in the history.
2628        if (historyState.length > 1) {
2629          return historyState.slice(0, -1);
2630        }
2631      }
2632      return historyState;
2633    }, [{
2634      post: {
2635        postId: initialPostId,
2636        postType: initialPostType
2637      }
2638    }]);
2639    const {
2640      post,
2641      previousRenderingMode
2642    } = postHistory[postHistory.length - 1];
2643    const {
2644      getRenderingMode
2645    } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_editor_namespaceObject.store);
2646    const {
2647      setRenderingMode
2648    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_editor_namespaceObject.store);
2649    const onNavigateToEntityRecord = (0,external_wp_element_namespaceObject.useCallback)(params => {
2650      dispatch({
2651        type: 'push',
2652        post: {
2653          postId: params.postId,
2654          postType: params.postType
2655        },
2656        // Save the current rendering mode so we can restore it when navigating back.
2657        previousRenderingMode: getRenderingMode()
2658      });
2659      setRenderingMode(defaultRenderingMode);
2660    }, [getRenderingMode, setRenderingMode, defaultRenderingMode]);
2661    const onNavigateToPreviousEntityRecord = (0,external_wp_element_namespaceObject.useCallback)(() => {
2662      dispatch({
2663        type: 'pop'
2664      });
2665      if (previousRenderingMode) {
2666        setRenderingMode(previousRenderingMode);
2667      }
2668    }, [setRenderingMode, previousRenderingMode]);
2669    return {
2670      currentPost: post,
2671      onNavigateToEntityRecord,
2672      onNavigateToPreviousEntityRecord: postHistory.length > 1 ? onNavigateToPreviousEntityRecord : undefined
2673    };
2674  }
2675  
2676  ;// ./node_modules/@wordpress/edit-post/build-module/components/meta-boxes/use-meta-box-initialization.js
2677  /**
2678   * WordPress dependencies
2679   */
2680  
2681  
2682  
2683  
2684  /**
2685   * Internal dependencies
2686   */
2687  
2688  
2689  /**
2690   * Initializes WordPress `postboxes` script and the logic for saving meta boxes.
2691   *
2692   * @param { boolean } enabled
2693   */
2694  const useMetaBoxInitialization = enabled => {
2695    const isEnabledAndEditorReady = (0,external_wp_data_namespaceObject.useSelect)(select => enabled && select(external_wp_editor_namespaceObject.store).__unstableIsEditorReady(), [enabled]);
2696    const {
2697      initializeMetaBoxes
2698    } = (0,external_wp_data_namespaceObject.useDispatch)(store);
2699    // The effect has to rerun when the editor is ready because initializeMetaBoxes
2700    // will noop until then.
2701    (0,external_wp_element_namespaceObject.useEffect)(() => {
2702      if (isEnabledAndEditorReady) {
2703        initializeMetaBoxes();
2704      }
2705    }, [isEnabledAndEditorReady, initializeMetaBoxes]);
2706  };
2707  
2708  ;// ./node_modules/@wordpress/edit-post/build-module/components/layout/index.js
2709  /**
2710   * External dependencies
2711   */
2712  
2713  
2714  /**
2715   * WordPress dependencies
2716   */
2717  
2718  
2719  
2720  
2721  
2722  
2723  
2724  
2725  
2726  
2727  
2728  
2729  
2730  
2731  
2732  
2733  
2734  
2735  /**
2736   * Internal dependencies
2737   */
2738  
2739  
2740  
2741  
2742  
2743  
2744  
2745  
2746  
2747  
2748  
2749  
2750  
2751  
2752  
2753  
2754  const {
2755    getLayoutStyles
2756  } = unlock(external_wp_blockEditor_namespaceObject.privateApis);
2757  const {
2758    useCommands: layout_useCommands
2759  } = unlock(external_wp_coreCommands_namespaceObject.privateApis);
2760  const {
2761    useCommandContext
2762  } = unlock(external_wp_commands_namespaceObject.privateApis);
2763  const {
2764    Editor,
2765    FullscreenMode,
2766    NavigableRegion
2767  } = unlock(external_wp_editor_namespaceObject.privateApis);
2768  const {
2769    BlockKeyboardShortcuts
2770  } = unlock(external_wp_blockLibrary_namespaceObject.privateApis);
2771  const DESIGN_POST_TYPES = ['wp_template', 'wp_template_part', 'wp_block', 'wp_navigation'];
2772  function useEditorStyles(...additionalStyles) {
2773    const {
2774      hasThemeStyleSupport,
2775      editorSettings
2776    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
2777      return {
2778        hasThemeStyleSupport: select(store).isFeatureActive('themeStyles'),
2779        editorSettings: select(external_wp_editor_namespaceObject.store).getEditorSettings()
2780      };
2781    }, []);
2782    const addedStyles = additionalStyles.join('\n');
2783  
2784    // Compute the default styles.
2785    return (0,external_wp_element_namespaceObject.useMemo)(() => {
2786      var _editorSettings$style, _editorSettings$defau, _editorSettings$style2, _editorSettings$style3;
2787      const presetStyles = (_editorSettings$style = editorSettings.styles?.filter(style => style.__unstableType && style.__unstableType !== 'theme')) !== null && _editorSettings$style !== void 0 ? _editorSettings$style : [];
2788      const defaultEditorStyles = [...((_editorSettings$defau = editorSettings?.defaultEditorStyles) !== null && _editorSettings$defau !== void 0 ? _editorSettings$defau : []), ...presetStyles];
2789  
2790      // Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).
2791      const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== ((_editorSettings$style2 = editorSettings.styles?.length) !== null && _editorSettings$style2 !== void 0 ? _editorSettings$style2 : 0);
2792  
2793      // If theme styles are not present or displayed, ensure that
2794      // base layout styles are still present in the editor.
2795      if (!editorSettings.disableLayoutStyles && !hasThemeStyles) {
2796        defaultEditorStyles.push({
2797          css: getLayoutStyles({
2798            style: {},
2799            selector: 'body',
2800            hasBlockGapSupport: false,
2801            hasFallbackGapSupport: true,
2802            fallbackGapValue: '0.5em'
2803          })
2804        });
2805      }
2806      const baseStyles = hasThemeStyles ? (_editorSettings$style3 = editorSettings.styles) !== null && _editorSettings$style3 !== void 0 ? _editorSettings$style3 : [] : defaultEditorStyles;
2807      if (addedStyles) {
2808        return [...baseStyles, {
2809          css: addedStyles
2810        }];
2811      }
2812      return baseStyles;
2813    }, [editorSettings.defaultEditorStyles, editorSettings.disableLayoutStyles, editorSettings.styles, hasThemeStyleSupport, addedStyles]);
2814  }
2815  function MetaBoxesMain() {
2816    const [isOpen, openHeight, hasAnyVisible] = (0,external_wp_data_namespaceObject.useSelect)(select => {
2817      const {
2818        get
2819      } = select(external_wp_preferences_namespaceObject.store);
2820      const {
2821        isMetaBoxLocationVisible
2822      } = select(store);
2823      return [get('core/edit-post', 'metaBoxesMainIsOpen'), get('core/edit-post', 'metaBoxesMainOpenHeight'), isMetaBoxLocationVisible('normal') || isMetaBoxLocationVisible('advanced') || isMetaBoxLocationVisible('side')];
2824    }, []);
2825    const {
2826      set: setPreference
2827    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_preferences_namespaceObject.store);
2828    const metaBoxesMainRef = (0,external_wp_element_namespaceObject.useRef)();
2829    const isShort = (0,external_wp_compose_namespaceObject.useMediaQuery)('(max-height: 549px)');
2830    const [{
2831      min,
2832      max
2833    }, setHeightConstraints] = (0,external_wp_element_namespaceObject.useState)(() => ({}));
2834    // Keeps the resizable area’s size constraints updated taking into account
2835    // editor notices. The constraints are also used to derive the value for the
2836    // aria-valuenow attribute on the separator.
2837    const effectSizeConstraints = (0,external_wp_compose_namespaceObject.useRefEffect)(node => {
2838      const container = node.closest('.interface-interface-skeleton__content');
2839      const noticeLists = container.querySelectorAll(':scope > .components-notice-list');
2840      const resizeHandle = container.querySelector('.edit-post-meta-boxes-main__presenter');
2841      const deriveConstraints = () => {
2842        const fullHeight = container.offsetHeight;
2843        let nextMax = fullHeight;
2844        for (const element of noticeLists) {
2845          nextMax -= element.offsetHeight;
2846        }
2847        const nextMin = resizeHandle.offsetHeight;
2848        setHeightConstraints({
2849          min: nextMin,
2850          max: nextMax
2851        });
2852      };
2853      const observer = new window.ResizeObserver(deriveConstraints);
2854      observer.observe(container);
2855      for (const element of noticeLists) {
2856        observer.observe(element);
2857      }
2858      return () => observer.disconnect();
2859    }, []);
2860    const separatorRef = (0,external_wp_element_namespaceObject.useRef)();
2861    const separatorHelpId = (0,external_wp_element_namespaceObject.useId)();
2862    const [isUntouched, setIsUntouched] = (0,external_wp_element_namespaceObject.useState)(true);
2863    const applyHeight = (candidateHeight, isPersistent, isInstant) => {
2864      const nextHeight = Math.min(max, Math.max(min, candidateHeight));
2865      if (isPersistent) {
2866        setPreference('core/edit-post', 'metaBoxesMainOpenHeight', nextHeight);
2867      } else {
2868        separatorRef.current.ariaValueNow = getAriaValueNow(nextHeight);
2869      }
2870      if (isInstant) {
2871        metaBoxesMainRef.current.updateSize({
2872          height: nextHeight,
2873          // Oddly, when the event that triggered this was not from the mouse (e.g. keydown),
2874          // if `width` is left unspecified a subsequent drag gesture applies a fixed
2875          // width and the pane fails to widen/narrow with parent width changes from
2876          // sidebars opening/closing or window resizes.
2877          width: 'auto'
2878        });
2879      }
2880    };
2881    if (!hasAnyVisible) {
2882      return;
2883    }
2884    const contents = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
2885      // The class name 'edit-post-layout__metaboxes' is retained because some plugins use it.
2886      className: "edit-post-layout__metaboxes edit-post-meta-boxes-main__liner",
2887      hidden: isShort && !isOpen,
2888      children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, {
2889        location: "normal"
2890      }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, {
2891        location: "advanced"
2892      })]
2893    });
2894    const isAutoHeight = openHeight === undefined;
2895    let usedMax = '50%'; // Approximation before max has a value.
2896    if (max !== undefined) {
2897      // Halves the available max height until a user height is set.
2898      usedMax = isAutoHeight && isUntouched ? max / 2 : max;
2899    }
2900    const getAriaValueNow = height => Math.round((height - min) / (max - min) * 100);
2901    const usedAriaValueNow = max === undefined || isAutoHeight ? 50 : getAriaValueNow(openHeight);
2902    const toggle = () => setPreference('core/edit-post', 'metaBoxesMainIsOpen', !isOpen);
2903  
2904    // TODO: Support more/all keyboard interactions from the window splitter pattern:
2905    // https://www.w3.org/WAI/ARIA/apg/patterns/windowsplitter/
2906    const onSeparatorKeyDown = event => {
2907      const delta = {
2908        ArrowUp: 20,
2909        ArrowDown: -20
2910      }[event.key];
2911      if (delta) {
2912        const pane = metaBoxesMainRef.current.resizable;
2913        const fromHeight = isAutoHeight ? pane.offsetHeight : openHeight;
2914        const nextHeight = delta + fromHeight;
2915        applyHeight(nextHeight, true, true);
2916        event.preventDefault();
2917      }
2918    };
2919    const className = 'edit-post-meta-boxes-main';
2920    const paneLabel = (0,external_wp_i18n_namespaceObject.__)('Meta Boxes');
2921    let Pane, paneProps;
2922    if (isShort) {
2923      Pane = NavigableRegion;
2924      paneProps = {
2925        className: dist_clsx(className, 'is-toggle-only')
2926      };
2927    } else {
2928      Pane = external_wp_components_namespaceObject.ResizableBox;
2929      paneProps = /** @type {Parameters<typeof ResizableBox>[0]} */{
2930        as: NavigableRegion,
2931        ref: metaBoxesMainRef,
2932        className: dist_clsx(className, 'is-resizable'),
2933        defaultSize: {
2934          height: openHeight
2935        },
2936        minHeight: min,
2937        maxHeight: usedMax,
2938        enable: {
2939          top: true,
2940          right: false,
2941          bottom: false,
2942          left: false,
2943          topLeft: false,
2944          topRight: false,
2945          bottomRight: false,
2946          bottomLeft: false
2947        },
2948        handleClasses: {
2949          top: 'edit-post-meta-boxes-main__presenter'
2950        },
2951        handleComponent: {
2952          top: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
2953            children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Tooltip, {
2954              text: (0,external_wp_i18n_namespaceObject.__)('Drag to resize'),
2955              children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("button", {
2956                // eslint-disable-line jsx-a11y/role-supports-aria-props
2957                ref: separatorRef,
2958                role: "separator" // eslint-disable-line jsx-a11y/no-interactive-element-to-noninteractive-role
2959                ,
2960                "aria-valuenow": usedAriaValueNow,
2961                "aria-label": (0,external_wp_i18n_namespaceObject.__)('Drag to resize'),
2962                "aria-describedby": separatorHelpId,
2963                onKeyDown: onSeparatorKeyDown
2964              })
2965            }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, {
2966              id: separatorHelpId,
2967              children: (0,external_wp_i18n_namespaceObject.__)('Use up and down arrow keys to resize the meta box panel.')
2968            })]
2969          })
2970        },
2971        // Avoids hiccups while dragging over objects like iframes and ensures that
2972        // the event to end the drag is captured by the target (resize handle)
2973        // whether or not it’s under the pointer.
2974        onPointerDown: ({
2975          pointerId,
2976          target
2977        }) => {
2978          if (separatorRef.current.parentElement.contains(target)) {
2979            target.setPointerCapture(pointerId);
2980          }
2981        },
2982        onResizeStart: (event, direction, elementRef) => {
2983          if (isAutoHeight) {
2984            // Sets the starting height to avoid visual jumps in height and
2985            // aria-valuenow being `NaN` for the first (few) resize events.
2986            applyHeight(elementRef.offsetHeight, false, true);
2987            setIsUntouched(false);
2988          }
2989        },
2990        onResize: () => applyHeight(metaBoxesMainRef.current.state.height),
2991        onResizeStop: () => applyHeight(metaBoxesMainRef.current.state.height, true)
2992      };
2993    }
2994    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(Pane, {
2995      "aria-label": paneLabel,
2996      ...paneProps,
2997      children: [isShort ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("button", {
2998        "aria-expanded": isOpen,
2999        className: "edit-post-meta-boxes-main__presenter",
3000        onClick: toggle,
3001        children: [paneLabel, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, {
3002          icon: isOpen ? chevron_up : chevron_down
3003        })]
3004      }) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("meta", {
3005        ref: effectSizeConstraints
3006      }), contents]
3007    });
3008  }
3009  function Layout({
3010    postId: initialPostId,
3011    postType: initialPostType,
3012    settings,
3013    initialEdits
3014  }) {
3015    layout_useCommands();
3016    useCommands();
3017    const shouldIframe = useShouldIframe();
3018    const {
3019      createErrorNotice
3020    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
3021    const {
3022      currentPost: {
3023        postId: currentPostId,
3024        postType: currentPostType
3025      },
3026      onNavigateToEntityRecord,
3027      onNavigateToPreviousEntityRecord
3028    } = useNavigateToEntityRecord(initialPostId, initialPostType, 'post-only');
3029    const isEditingTemplate = currentPostType === 'wp_template';
3030    const {
3031      mode,
3032      isFullscreenActive,
3033      hasActiveMetaboxes,
3034      hasBlockSelected,
3035      showIconLabels,
3036      isDistractionFree,
3037      showMetaBoxes,
3038      isWelcomeGuideVisible,
3039      templateId,
3040      enablePaddingAppender
3041    } = (0,external_wp_data_namespaceObject.useSelect)(select => {
3042      var _getPostType$viewable;
3043      const {
3044        get
3045      } = select(external_wp_preferences_namespaceObject.store);
3046      const {
3047        isFeatureActive
3048      } = select(store);
3049      const {
3050        canUser,
3051        getPostType,
3052        getTemplateId
3053      } = unlock(select(external_wp_coreData_namespaceObject.store));
3054      const supportsTemplateMode = settings.supportsTemplateMode;
3055      const isViewable = (_getPostType$viewable = getPostType(currentPostType)?.viewable) !== null && _getPostType$viewable !== void 0 ? _getPostType$viewable : false;
3056      const canViewTemplate = canUser('read', {
3057        kind: 'postType',
3058        name: 'wp_template'
3059      });
3060      const {
3061        isZoomOut
3062      } = unlock(select(external_wp_blockEditor_namespaceObject.store));
3063      const {
3064        getEditorMode,
3065        getRenderingMode
3066      } = select(external_wp_editor_namespaceObject.store);
3067      const isRenderingPostOnly = getRenderingMode() === 'post-only';
3068      const isNotDesignPostType = !DESIGN_POST_TYPES.includes(currentPostType);
3069      const isDirectlyEditingPattern = currentPostType === 'wp_block' && !onNavigateToPreviousEntityRecord;
3070      return {
3071        mode: getEditorMode(),
3072        isFullscreenActive: select(store).isFeatureActive('fullscreenMode'),
3073        hasActiveMetaboxes: select(store).hasMetaBoxes(),
3074        hasBlockSelected: !!select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(),
3075        showIconLabels: get('core', 'showIconLabels'),
3076        isDistractionFree: get('core', 'distractionFree'),
3077        showMetaBoxes: isNotDesignPostType && !isZoomOut() || isDirectlyEditingPattern,
3078        isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
3079        templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate ? getTemplateId(currentPostType, currentPostId) : null,
3080        enablePaddingAppender: !isZoomOut() && isRenderingPostOnly && isNotDesignPostType
3081      };
3082    }, [currentPostType, currentPostId, isEditingTemplate, settings.supportsTemplateMode, onNavigateToPreviousEntityRecord]);
3083    useMetaBoxInitialization(hasActiveMetaboxes);
3084    const [paddingAppenderRef, paddingStyle] = usePaddingAppender(enablePaddingAppender);
3085  
3086    // Set the right context for the command palette
3087    const commandContext = hasBlockSelected ? 'block-selection-edit' : 'entity-edit';
3088    useCommandContext(commandContext);
3089    const editorSettings = (0,external_wp_element_namespaceObject.useMemo)(() => ({
3090      ...settings,
3091      onNavigateToEntityRecord,
3092      onNavigateToPreviousEntityRecord,
3093      defaultRenderingMode: 'post-only'
3094    }), [settings, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
3095    const styles = useEditorStyles(paddingStyle);
3096  
3097    // We need to add the show-icon-labels class to the body element so it is applied to modals.
3098    if (showIconLabels) {
3099      document.body.classList.add('show-icon-labels');
3100    } else {
3101      document.body.classList.remove('show-icon-labels');
3102    }
3103    const navigateRegionsProps = (0,external_wp_components_namespaceObject.__unstableUseNavigateRegions)();
3104    const className = dist_clsx('edit-post-layout', 'is-mode-' + mode, {
3105      'has-metaboxes': hasActiveMetaboxes
3106    });
3107    function onPluginAreaError(name) {
3108      createErrorNotice((0,external_wp_i18n_namespaceObject.sprintf)(/* translators: %s: plugin name */
3109      (0,external_wp_i18n_namespaceObject.__)('The "%s" plugin has encountered an error and cannot be rendered.'), name));
3110    }
3111    const {
3112      createSuccessNotice
3113    } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
3114    const onActionPerformed = (0,external_wp_element_namespaceObject.useCallback)((actionId, items) => {
3115      switch (actionId) {
3116        case 'move-to-trash':
3117          {
3118            document.location.href = (0,external_wp_url_namespaceObject.addQueryArgs)('edit.php', {
3119              trashed: 1,
3120              post_type: items[0].type,
3121              ids: items[0].id
3122            });
3123          }
3124          break;
3125        case 'duplicate-post':
3126          {
3127            const newItem = items[0];
3128            const title = typeof newItem.title === 'string' ? newItem.title : newItem.title?.rendered;
3129            createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)(
3130            // translators: %s: Title of the created post or template, e.g: "Hello world".
3131            (0,external_wp_i18n_namespaceObject.__)('"%s" successfully created.'), (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title)), {
3132              type: 'snackbar',
3133              id: 'duplicate-post-action',
3134              actions: [{
3135                label: (0,external_wp_i18n_namespaceObject.__)('Edit'),
3136                onClick: () => {
3137                  const postId = newItem.id;
3138                  document.location.href = (0,external_wp_url_namespaceObject.addQueryArgs)('post.php', {
3139                    post: postId,
3140                    action: 'edit'
3141                  });
3142                }
3143              }]
3144            });
3145          }
3146          break;
3147      }
3148    }, [createSuccessNotice]);
3149    const initialPost = (0,external_wp_element_namespaceObject.useMemo)(() => {
3150      return {
3151        type: initialPostType,
3152        id: initialPostId
3153      };
3154    }, [initialPostType, initialPostId]);
3155    const backButton = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium') && isFullscreenActive ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(back_button, {
3156      initialPost: initialPost
3157    }) : null;
3158    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SlotFillProvider, {
3159      children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_editor_namespaceObject.ErrorBoundary, {
3160        canCopyContent: true,
3161        children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_commands_namespaceObject.CommandMenu, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WelcomeGuide, {
3162          postType: currentPostType
3163        }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
3164          className: navigateRegionsProps.className,
3165          ...navigateRegionsProps,
3166          ref: navigateRegionsProps.ref,
3167          children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(Editor, {
3168            settings: editorSettings,
3169            initialEdits: initialEdits,
3170            postType: currentPostType,
3171            postId: currentPostId,
3172            templateId: templateId,
3173            className: className,
3174            styles: styles,
3175            forceIsDirty: hasActiveMetaboxes,
3176            contentRef: paddingAppenderRef,
3177            disableIframe: !shouldIframe
3178            // We should auto-focus the canvas (title) on load.
3179            // eslint-disable-next-line jsx-a11y/no-autofocus
3180            ,
3181            autoFocus: !isWelcomeGuideVisible,
3182            onActionPerformed: onActionPerformed,
3183            extraSidebarPanels: showMetaBoxes && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxes, {
3184              location: "side"
3185            }),
3186            extraContent: !isDistractionFree && showMetaBoxes && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(MetaBoxesMain, {}),
3187            children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PostLockedModal, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(EditorInitialization, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(FullscreenMode, {
3188              isActive: isFullscreenActive
3189            }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(browser_url, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.UnsavedChangesWarning, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.AutosaveMonitor, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.LocalAutosaveMonitor, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(keyboard_shortcuts, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.EditorKeyboardShortcutsRegister, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockKeyboardShortcuts, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(InitPatternModal, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_plugins_namespaceObject.PluginArea, {
3190              onError: onPluginAreaError
3191            }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(more_menu, {}), backButton, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.EditorSnackbars, {})]
3192          })
3193        })]
3194      })
3195    });
3196  }
3197  /* harmony default export */ const layout = (Layout);
3198  
3199  ;// ./node_modules/@wordpress/edit-post/build-module/deprecated.js
3200  /**
3201   * WordPress dependencies
3202   */
3203  
3204  
3205  
3206  
3207  /**
3208   * Internal dependencies
3209   */
3210  
3211  
3212  const {
3213    PluginPostExcerpt
3214  } = unlock(external_wp_editor_namespaceObject.privateApis);
3215  const isSiteEditor = (0,external_wp_url_namespaceObject.getPath)(window.location.href)?.includes('site-editor.php');
3216  const deprecateSlot = name => {
3217    external_wp_deprecated_default()(`wp.editPost.$name}`, {
3218      since: '6.6',
3219      alternative: `wp.editor.$name}`
3220    });
3221  };
3222  
3223  /* eslint-disable jsdoc/require-param */
3224  /**
3225   * @see PluginBlockSettingsMenuItem in @wordpress/editor package.
3226   */
3227  function PluginBlockSettingsMenuItem(props) {
3228    if (isSiteEditor) {
3229      return null;
3230    }
3231    deprecateSlot('PluginBlockSettingsMenuItem');
3232    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginBlockSettingsMenuItem, {
3233      ...props
3234    });
3235  }
3236  
3237  /**
3238   * @see PluginDocumentSettingPanel in @wordpress/editor package.
3239   */
3240  function PluginDocumentSettingPanel(props) {
3241    if (isSiteEditor) {
3242      return null;
3243    }
3244    deprecateSlot('PluginDocumentSettingPanel');
3245    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginDocumentSettingPanel, {
3246      ...props
3247    });
3248  }
3249  
3250  /**
3251   * @see PluginMoreMenuItem in @wordpress/editor package.
3252   */
3253  function PluginMoreMenuItem(props) {
3254    if (isSiteEditor) {
3255      return null;
3256    }
3257    deprecateSlot('PluginMoreMenuItem');
3258    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginMoreMenuItem, {
3259      ...props
3260    });
3261  }
3262  
3263  /**
3264   * @see PluginPrePublishPanel in @wordpress/editor package.
3265   */
3266  function PluginPrePublishPanel(props) {
3267    if (isSiteEditor) {
3268      return null;
3269    }
3270    deprecateSlot('PluginPrePublishPanel');
3271    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPrePublishPanel, {
3272      ...props
3273    });
3274  }
3275  
3276  /**
3277   * @see PluginPostPublishPanel in @wordpress/editor package.
3278   */
3279  function PluginPostPublishPanel(props) {
3280    if (isSiteEditor) {
3281      return null;
3282    }
3283    deprecateSlot('PluginPostPublishPanel');
3284    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPostPublishPanel, {
3285      ...props
3286    });
3287  }
3288  
3289  /**
3290   * @see PluginPostStatusInfo in @wordpress/editor package.
3291   */
3292  function PluginPostStatusInfo(props) {
3293    if (isSiteEditor) {
3294      return null;
3295    }
3296    deprecateSlot('PluginPostStatusInfo');
3297    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginPostStatusInfo, {
3298      ...props
3299    });
3300  }
3301  
3302  /**
3303   * @see PluginSidebar in @wordpress/editor package.
3304   */
3305  function PluginSidebar(props) {
3306    if (isSiteEditor) {
3307      return null;
3308    }
3309    deprecateSlot('PluginSidebar');
3310    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginSidebar, {
3311      ...props
3312    });
3313  }
3314  
3315  /**
3316   * @see PluginSidebarMoreMenuItem in @wordpress/editor package.
3317   */
3318  function PluginSidebarMoreMenuItem(props) {
3319    if (isSiteEditor) {
3320      return null;
3321    }
3322    deprecateSlot('PluginSidebarMoreMenuItem');
3323    return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_editor_namespaceObject.PluginSidebarMoreMenuItem, {
3324      ...props
3325    });
3326  }
3327  
3328  /**
3329   * @see PluginPostExcerpt in @wordpress/editor package.
3330   */
3331  function __experimentalPluginPostExcerpt() {
3332    if (isSiteEditor) {
3333      return null;
3334    }
3335    external_wp_deprecated_default()('wp.editPost.__experimentalPluginPostExcerpt', {
3336      since: '6.6',
3337      hint: 'Core and custom panels can be access programmatically using their panel name.',
3338      link: 'https://developer.wordpress.org/block-editor/reference-guides/slotfills/plugin-document-setting-panel/#accessing-a-panel-programmatically'
3339    });
3340    return PluginPostExcerpt;
3341  }
3342  
3343  /* eslint-enable jsdoc/require-param */
3344  
3345  ;// ./node_modules/@wordpress/edit-post/build-module/index.js
3346  /**
3347   * WordPress dependencies
3348   */
3349  
3350  
3351  
3352  
3353  
3354  
3355  
3356  
3357  
3358  /**
3359   * Internal dependencies
3360   */
3361  
3362  
3363  
3364  const {
3365    BackButton: __experimentalMainDashboardButton,
3366    registerCoreBlockBindingsSources
3367  } = unlock(external_wp_editor_namespaceObject.privateApis);
3368  
3369  /**
3370   * Initializes and returns an instance of Editor.
3371   *
3372   * @param {string}  id           Unique identifier for editor instance.
3373   * @param {string}  postType     Post type of the post to edit.
3374   * @param {Object}  postId       ID of the post to edit.
3375   * @param {?Object} settings     Editor settings object.
3376   * @param {Object}  initialEdits Programmatic edits to apply initially, to be
3377   *                               considered as non-user-initiated (bypass for
3378   *                               unsaved changes prompt).
3379   */
3380  function initializeEditor(id, postType, postId, settings, initialEdits) {
3381    const isMediumOrBigger = window.matchMedia('(min-width: 782px)').matches;
3382    const target = document.getElementById(id);
3383    const root = (0,external_wp_element_namespaceObject.createRoot)(target);
3384    (0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults('core/edit-post', {
3385      fullscreenMode: true,
3386      themeStyles: true,
3387      welcomeGuide: true,
3388      welcomeGuideTemplate: true
3389    });
3390    (0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults('core', {
3391      allowRightClickOverrides: true,
3392      editorMode: 'visual',
3393      editorTool: 'edit',
3394      fixedToolbar: false,
3395      hiddenBlockTypes: [],
3396      inactivePanels: [],
3397      openPanels: ['post-status'],
3398      showBlockBreadcrumbs: true,
3399      showIconLabels: false,
3400      showListViewByDefault: false,
3401      enableChoosePatternModal: true,
3402      isPublishSidebarEnabled: true
3403    });
3404    if (window.__experimentalMediaProcessing) {
3405      (0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults('core/media', {
3406        requireApproval: true,
3407        optimizeOnUpload: true
3408      });
3409    }
3410    (0,external_wp_data_namespaceObject.dispatch)(external_wp_blocks_namespaceObject.store).reapplyBlockTypeFilters();
3411  
3412    // Check if the block list view should be open by default.
3413    // If `distractionFree` mode is enabled, the block list view should not be open.
3414    // This behavior is disabled for small viewports.
3415    if (isMediumOrBigger && (0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'showListViewByDefault') && !(0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) {
3416      (0,external_wp_data_namespaceObject.dispatch)(external_wp_editor_namespaceObject.store).setIsListViewOpened(true);
3417    }
3418    (0,external_wp_blockLibrary_namespaceObject.registerCoreBlocks)();
3419    registerCoreBlockBindingsSources();
3420    (0,external_wp_widgets_namespaceObject.registerLegacyWidgetBlock)({
3421      inserter: false
3422    });
3423    (0,external_wp_widgets_namespaceObject.registerWidgetGroupBlock)({
3424      inserter: false
3425    });
3426    if (false) {}
3427  
3428    // Show a console log warning if the browser is not in Standards rendering mode.
3429    const documentMode = document.compatMode === 'CSS1Compat' ? 'Standards' : 'Quirks';
3430    if (documentMode !== 'Standards') {
3431      // eslint-disable-next-line no-console
3432      console.warn("Your browser is using Quirks Mode. \nThis can cause rendering issues such as blocks overlaying meta boxes in the editor. Quirks Mode can be triggered by PHP errors or HTML code appearing before the opening <!DOCTYPE html>. Try checking the raw page source or your site's PHP error log and resolving errors there, removing any HTML before the doctype, or disabling plugins.");
3433    }
3434  
3435    // This is a temporary fix for a couple of issues specific to Webkit on iOS.
3436    // Without this hack the browser scrolls the mobile toolbar off-screen.
3437    // Once supported in Safari we can replace this in favor of preventScroll.
3438    // For details see issue #18632 and PR #18686
3439    // Specifically, we scroll `interface-interface-skeleton__body` to enable a fixed top toolbar.
3440    // But Mobile Safari forces the `html` element to scroll upwards, hiding the toolbar.
3441  
3442    const isIphone = window.navigator.userAgent.indexOf('iPhone') !== -1;
3443    if (isIphone) {
3444      window.addEventListener('scroll', event => {
3445        const editorScrollContainer = document.getElementsByClassName('interface-interface-skeleton__body')[0];
3446        if (event.target === document) {
3447          // Scroll element into view by scrolling the editor container by the same amount
3448          // that Mobile Safari tried to scroll the html element upwards.
3449          if (window.scrollY > 100) {
3450            editorScrollContainer.scrollTop = editorScrollContainer.scrollTop + window.scrollY;
3451          }
3452          // Undo unwanted scroll on html element, but only in the visual editor.
3453          if (document.getElementsByClassName('is-mode-visual')[0]) {
3454            window.scrollTo(0, 0);
3455          }
3456        }
3457      });
3458    }
3459  
3460    // Prevent the default browser action for files dropped outside of dropzones.
3461    window.addEventListener('dragover', e => e.preventDefault(), false);
3462    window.addEventListener('drop', e => e.preventDefault(), false);
3463    root.render(/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.StrictMode, {
3464      children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(layout, {
3465        settings: settings,
3466        postId: postId,
3467        postType: postType,
3468        initialEdits: initialEdits
3469      })
3470    }));
3471    return root;
3472  }
3473  
3474  /**
3475   * Used to reinitialize the editor after an error. Now it's a deprecated noop function.
3476   */
3477  function reinitializeEditor() {
3478    external_wp_deprecated_default()('wp.editPost.reinitializeEditor', {
3479      since: '6.2',
3480      version: '6.3'
3481    });
3482  }
3483  
3484  
3485  
3486  
3487  
3488  (window.wp = window.wp || {}).editPost = __webpack_exports__;
3489  /******/ })()
3490  ;


Generated : Sat Feb 22 08:20:01 2025 Cross-referenced by PHPXref