[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

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

   1  var wp;
   2  (wp ||= {}).editPost = (() => {
   3    var __create = Object.create;
   4    var __defProp = Object.defineProperty;
   5    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   6    var __getOwnPropNames = Object.getOwnPropertyNames;
   7    var __getProtoOf = Object.getPrototypeOf;
   8    var __hasOwnProp = Object.prototype.hasOwnProperty;
   9    var __commonJS = (cb, mod) => function __require() {
  10      return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  11    };
  12    var __export = (target, all) => {
  13      for (var name in all)
  14        __defProp(target, name, { get: all[name], enumerable: true });
  15    };
  16    var __copyProps = (to, from, except, desc) => {
  17      if (from && typeof from === "object" || typeof from === "function") {
  18        for (let key of __getOwnPropNames(from))
  19          if (!__hasOwnProp.call(to, key) && key !== except)
  20            __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  21      }
  22      return to;
  23    };
  24    var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  25      // If the importer is in node compatibility mode or this is not an ESM
  26      // file that has been converted to a CommonJS file using a Babel-
  27      // compatible transform (i.e. "__esModule" has not been set), then set
  28      // "default" to the CommonJS "module.exports" for node compatibility.
  29      isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  30      mod
  31    ));
  32    var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  33  
  34    // package-external:@wordpress/blocks
  35    var require_blocks = __commonJS({
  36      "package-external:@wordpress/blocks"(exports, module) {
  37        module.exports = window.wp.blocks;
  38      }
  39    });
  40  
  41    // package-external:@wordpress/block-library
  42    var require_block_library = __commonJS({
  43      "package-external:@wordpress/block-library"(exports, module) {
  44        module.exports = window.wp.blockLibrary;
  45      }
  46    });
  47  
  48    // package-external:@wordpress/deprecated
  49    var require_deprecated = __commonJS({
  50      "package-external:@wordpress/deprecated"(exports, module) {
  51        module.exports = window.wp.deprecated;
  52      }
  53    });
  54  
  55    // package-external:@wordpress/element
  56    var require_element = __commonJS({
  57      "package-external:@wordpress/element"(exports, module) {
  58        module.exports = window.wp.element;
  59      }
  60    });
  61  
  62    // package-external:@wordpress/data
  63    var require_data = __commonJS({
  64      "package-external:@wordpress/data"(exports, module) {
  65        module.exports = window.wp.data;
  66      }
  67    });
  68  
  69    // package-external:@wordpress/preferences
  70    var require_preferences = __commonJS({
  71      "package-external:@wordpress/preferences"(exports, module) {
  72        module.exports = window.wp.preferences;
  73      }
  74    });
  75  
  76    // package-external:@wordpress/widgets
  77    var require_widgets = __commonJS({
  78      "package-external:@wordpress/widgets"(exports, module) {
  79        module.exports = window.wp.widgets;
  80      }
  81    });
  82  
  83    // package-external:@wordpress/editor
  84    var require_editor = __commonJS({
  85      "package-external:@wordpress/editor"(exports, module) {
  86        module.exports = window.wp.editor;
  87      }
  88    });
  89  
  90    // package-external:@wordpress/i18n
  91    var require_i18n = __commonJS({
  92      "package-external:@wordpress/i18n"(exports, module) {
  93        module.exports = window.wp.i18n;
  94      }
  95    });
  96  
  97    // package-external:@wordpress/components
  98    var require_components = __commonJS({
  99      "package-external:@wordpress/components"(exports, module) {
 100        module.exports = window.wp.components;
 101      }
 102    });
 103  
 104    // vendor-external:react/jsx-runtime
 105    var require_jsx_runtime = __commonJS({
 106      "vendor-external:react/jsx-runtime"(exports, module) {
 107        module.exports = window.ReactJSXRuntime;
 108      }
 109    });
 110  
 111    // package-external:@wordpress/primitives
 112    var require_primitives = __commonJS({
 113      "package-external:@wordpress/primitives"(exports, module) {
 114        module.exports = window.wp.primitives;
 115      }
 116    });
 117  
 118    // package-external:@wordpress/private-apis
 119    var require_private_apis = __commonJS({
 120      "package-external:@wordpress/private-apis"(exports, module) {
 121        module.exports = window.wp.privateApis;
 122      }
 123    });
 124  
 125    // package-external:@wordpress/compose
 126    var require_compose = __commonJS({
 127      "package-external:@wordpress/compose"(exports, module) {
 128        module.exports = window.wp.compose;
 129      }
 130    });
 131  
 132    // package-external:@wordpress/block-editor
 133    var require_block_editor = __commonJS({
 134      "package-external:@wordpress/block-editor"(exports, module) {
 135        module.exports = window.wp.blockEditor;
 136      }
 137    });
 138  
 139    // package-external:@wordpress/style-engine
 140    var require_style_engine = __commonJS({
 141      "package-external:@wordpress/style-engine"(exports, module) {
 142        module.exports = window.wp.styleEngine;
 143      }
 144    });
 145  
 146    // package-external:@wordpress/plugins
 147    var require_plugins = __commonJS({
 148      "package-external:@wordpress/plugins"(exports, module) {
 149        module.exports = window.wp.plugins;
 150      }
 151    });
 152  
 153    // package-external:@wordpress/notices
 154    var require_notices = __commonJS({
 155      "package-external:@wordpress/notices"(exports, module) {
 156        module.exports = window.wp.notices;
 157      }
 158    });
 159  
 160    // package-external:@wordpress/commands
 161    var require_commands = __commonJS({
 162      "package-external:@wordpress/commands"(exports, module) {
 163        module.exports = window.wp.commands;
 164      }
 165    });
 166  
 167    // package-external:@wordpress/url
 168    var require_url = __commonJS({
 169      "package-external:@wordpress/url"(exports, module) {
 170        module.exports = window.wp.url;
 171      }
 172    });
 173  
 174    // package-external:@wordpress/html-entities
 175    var require_html_entities = __commonJS({
 176      "package-external:@wordpress/html-entities"(exports, module) {
 177        module.exports = window.wp.htmlEntities;
 178      }
 179    });
 180  
 181    // package-external:@wordpress/core-data
 182    var require_core_data = __commonJS({
 183      "package-external:@wordpress/core-data"(exports, module) {
 184        module.exports = window.wp.coreData;
 185      }
 186    });
 187  
 188    // package-external:@wordpress/keyboard-shortcuts
 189    var require_keyboard_shortcuts = __commonJS({
 190      "package-external:@wordpress/keyboard-shortcuts"(exports, module) {
 191        module.exports = window.wp.keyboardShortcuts;
 192      }
 193    });
 194  
 195    // package-external:@wordpress/api-fetch
 196    var require_api_fetch = __commonJS({
 197      "package-external:@wordpress/api-fetch"(exports, module) {
 198        module.exports = window.wp.apiFetch;
 199      }
 200    });
 201  
 202    // package-external:@wordpress/hooks
 203    var require_hooks = __commonJS({
 204      "package-external:@wordpress/hooks"(exports, module) {
 205        module.exports = window.wp.hooks;
 206      }
 207    });
 208  
 209    // package-external:@wordpress/keycodes
 210    var require_keycodes = __commonJS({
 211      "package-external:@wordpress/keycodes"(exports, module) {
 212        module.exports = window.wp.keycodes;
 213      }
 214    });
 215  
 216    // packages/edit-post/build-module/index.mjs
 217    var index_exports = {};
 218    __export(index_exports, {
 219      PluginBlockSettingsMenuItem: () => PluginBlockSettingsMenuItem,
 220      PluginDocumentSettingPanel: () => PluginDocumentSettingPanel,
 221      PluginMoreMenuItem: () => PluginMoreMenuItem,
 222      PluginPostPublishPanel: () => PluginPostPublishPanel,
 223      PluginPostStatusInfo: () => PluginPostStatusInfo,
 224      PluginPrePublishPanel: () => PluginPrePublishPanel,
 225      PluginSidebar: () => PluginSidebar,
 226      PluginSidebarMoreMenuItem: () => PluginSidebarMoreMenuItem,
 227      __experimentalFullscreenModeClose: () => fullscreen_mode_close_default,
 228      __experimentalMainDashboardButton: () => __experimentalMainDashboardButton,
 229      __experimentalPluginPostExcerpt: () => __experimentalPluginPostExcerpt,
 230      initializeEditor: () => initializeEditor,
 231      reinitializeEditor: () => reinitializeEditor,
 232      store: () => store
 233    });
 234    var import_blocks3 = __toESM(require_blocks(), 1);
 235    var import_block_library2 = __toESM(require_block_library(), 1);
 236    var import_deprecated4 = __toESM(require_deprecated(), 1);
 237    var import_element13 = __toESM(require_element(), 1);
 238    var import_data26 = __toESM(require_data(), 1);
 239    var import_preferences11 = __toESM(require_preferences(), 1);
 240    var import_widgets = __toESM(require_widgets(), 1);
 241    var import_editor20 = __toESM(require_editor(), 1);
 242  
 243    // node_modules/clsx/dist/clsx.mjs
 244    function r(e) {
 245      var t, f, n = "";
 246      if ("string" == typeof e || "number" == typeof e) n += e;
 247      else if ("object" == typeof e) if (Array.isArray(e)) {
 248        var o = e.length;
 249        for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
 250      } else for (f in e) e[f] && (n && (n += " "), n += f);
 251      return n;
 252    }
 253    function clsx() {
 254      for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
 255      return n;
 256    }
 257    var clsx_default = clsx;
 258  
 259    // packages/admin-ui/build-module/navigable-region/index.mjs
 260    var import_element = __toESM(require_element(), 1);
 261    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
 262    var NavigableRegion = (0, import_element.forwardRef)(
 263      ({ children, className, ariaLabel, as: Tag = "div", ...props }, ref) => {
 264        return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
 265          Tag,
 266          {
 267            ref,
 268            className: clsx_default("admin-ui-navigable-region", className),
 269            "aria-label": ariaLabel,
 270            role: "region",
 271            tabIndex: "-1",
 272            ...props,
 273            children
 274          }
 275        );
 276      }
 277    );
 278    NavigableRegion.displayName = "NavigableRegion";
 279    var navigable_region_default = NavigableRegion;
 280  
 281    // packages/icons/build-module/library/arrow-up-left.mjs
 282    var import_primitives = __toESM(require_primitives(), 1);
 283    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
 284    var arrow_up_left_default = /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_primitives.Path, { d: "M14 6H6v8h1.5V8.5L17 18l1-1-9.5-9.5H14V6Z" }) });
 285  
 286    // packages/icons/build-module/library/chevron-down.mjs
 287    var import_primitives2 = __toESM(require_primitives(), 1);
 288    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
 289    var chevron_down_default = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_primitives2.Path, { d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z" }) });
 290  
 291    // packages/icons/build-module/library/chevron-up.mjs
 292    var import_primitives3 = __toESM(require_primitives(), 1);
 293    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
 294    var chevron_up_default = /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_primitives3.Path, { d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z" }) });
 295  
 296    // packages/icons/build-module/library/fullscreen.mjs
 297    var import_primitives4 = __toESM(require_primitives(), 1);
 298    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
 299    var fullscreen_default = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_primitives4.Path, { 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" }) });
 300  
 301    // packages/icons/build-module/library/wordpress.mjs
 302    var import_primitives5 = __toESM(require_primitives(), 1);
 303    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
 304    var wordpress_default = /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "-2 -2 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_primitives5.Path, { 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" }) });
 305  
 306    // packages/edit-post/build-module/components/layout/index.mjs
 307    var import_editor18 = __toESM(require_editor(), 1);
 308    var import_data25 = __toESM(require_data(), 1);
 309    var import_block_editor2 = __toESM(require_block_editor(), 1);
 310  
 311    // packages/global-styles-engine/build-module/utils/common.mjs
 312    var import_style_engine = __toESM(require_style_engine(), 1);
 313    var ROOT_BLOCK_SELECTOR = "body";
 314    var ROOT_CSS_PROPERTIES_SELECTOR = ":root";
 315  
 316    // packages/global-styles-engine/build-module/core/render.mjs
 317    var import_blocks = __toESM(require_blocks(), 1);
 318    var import_style_engine2 = __toESM(require_style_engine(), 1);
 319    var import_data = __toESM(require_data(), 1);
 320  
 321    // packages/global-styles-engine/build-module/utils/spacing.mjs
 322    function getSpacingPresetCssVar(value) {
 323      if (!value) {
 324        return;
 325      }
 326      const slug = value.match(/var:preset\|spacing\|(.+)/);
 327      if (!slug) {
 328        return value;
 329      }
 330      return `var(--wp--preset--spacing--$slug[1]})`;
 331    }
 332  
 333    // packages/global-styles-engine/build-module/utils/gap.mjs
 334    function getGapBoxControlValueFromStyle(blockGapValue) {
 335      if (!blockGapValue) {
 336        return null;
 337      }
 338      const isValueString = typeof blockGapValue === "string";
 339      return {
 340        top: isValueString ? blockGapValue : blockGapValue?.top,
 341        left: isValueString ? blockGapValue : blockGapValue?.left
 342      };
 343    }
 344    function getGapCSSValue(blockGapValue, defaultValue = "0") {
 345      const blockGapBoxControlValue = getGapBoxControlValueFromStyle(blockGapValue);
 346      if (!blockGapBoxControlValue) {
 347        return null;
 348      }
 349      const row = getSpacingPresetCssVar(blockGapBoxControlValue?.top) || defaultValue;
 350      const column = getSpacingPresetCssVar(blockGapBoxControlValue?.left) || defaultValue;
 351      return row === column ? row : `$row} $column}`;
 352    }
 353  
 354    // packages/global-styles-engine/build-module/utils/layout.mjs
 355    var LAYOUT_DEFINITIONS = {
 356      default: {
 357        name: "default",
 358        slug: "flow",
 359        className: "is-layout-flow",
 360        baseStyles: [
 361          {
 362            selector: " > .alignleft",
 363            rules: {
 364              float: "left",
 365              "margin-inline-start": "0",
 366              "margin-inline-end": "2em"
 367            }
 368          },
 369          {
 370            selector: " > .alignright",
 371            rules: {
 372              float: "right",
 373              "margin-inline-start": "2em",
 374              "margin-inline-end": "0"
 375            }
 376          },
 377          {
 378            selector: " > .aligncenter",
 379            rules: {
 380              "margin-left": "auto !important",
 381              "margin-right": "auto !important"
 382            }
 383          }
 384        ],
 385        spacingStyles: [
 386          {
 387            selector: " > :first-child",
 388            rules: {
 389              "margin-block-start": "0"
 390            }
 391          },
 392          {
 393            selector: " > :last-child",
 394            rules: {
 395              "margin-block-end": "0"
 396            }
 397          },
 398          {
 399            selector: " > *",
 400            rules: {
 401              "margin-block-start": null,
 402              "margin-block-end": "0"
 403            }
 404          }
 405        ]
 406      },
 407      constrained: {
 408        name: "constrained",
 409        slug: "constrained",
 410        className: "is-layout-constrained",
 411        baseStyles: [
 412          {
 413            selector: " > .alignleft",
 414            rules: {
 415              float: "left",
 416              "margin-inline-start": "0",
 417              "margin-inline-end": "2em"
 418            }
 419          },
 420          {
 421            selector: " > .alignright",
 422            rules: {
 423              float: "right",
 424              "margin-inline-start": "2em",
 425              "margin-inline-end": "0"
 426            }
 427          },
 428          {
 429            selector: " > .aligncenter",
 430            rules: {
 431              "margin-left": "auto !important",
 432              "margin-right": "auto !important"
 433            }
 434          },
 435          {
 436            selector: " > :where(:not(.alignleft):not(.alignright):not(.alignfull))",
 437            rules: {
 438              "max-width": "var(--wp--style--global--content-size)",
 439              "margin-left": "auto !important",
 440              "margin-right": "auto !important"
 441            }
 442          },
 443          {
 444            selector: " > .alignwide",
 445            rules: {
 446              "max-width": "var(--wp--style--global--wide-size)"
 447            }
 448          }
 449        ],
 450        spacingStyles: [
 451          {
 452            selector: " > :first-child",
 453            rules: {
 454              "margin-block-start": "0"
 455            }
 456          },
 457          {
 458            selector: " > :last-child",
 459            rules: {
 460              "margin-block-end": "0"
 461            }
 462          },
 463          {
 464            selector: " > *",
 465            rules: {
 466              "margin-block-start": null,
 467              "margin-block-end": "0"
 468            }
 469          }
 470        ]
 471      },
 472      flex: {
 473        name: "flex",
 474        slug: "flex",
 475        className: "is-layout-flex",
 476        displayMode: "flex",
 477        baseStyles: [
 478          {
 479            selector: "",
 480            rules: {
 481              "flex-wrap": "wrap",
 482              "align-items": "center"
 483            }
 484          },
 485          {
 486            selector: " > :is(*, div)",
 487            // :is(*, div) instead of just * increases the specificity by 001.
 488            rules: {
 489              margin: "0"
 490            }
 491          }
 492        ],
 493        spacingStyles: [
 494          {
 495            selector: "",
 496            rules: {
 497              gap: null
 498            }
 499          }
 500        ]
 501      },
 502      grid: {
 503        name: "grid",
 504        slug: "grid",
 505        className: "is-layout-grid",
 506        displayMode: "grid",
 507        baseStyles: [
 508          {
 509            selector: " > :is(*, div)",
 510            // :is(*, div) instead of just * increases the specificity by 001.
 511            rules: {
 512              margin: "0"
 513            }
 514          }
 515        ],
 516        spacingStyles: [
 517          {
 518            selector: "",
 519            rules: {
 520              gap: null
 521            }
 522          }
 523        ]
 524      }
 525    };
 526  
 527    // packages/global-styles-engine/build-module/core/render.mjs
 528    function getLayoutStyles({
 529      layoutDefinitions = LAYOUT_DEFINITIONS,
 530      style,
 531      selector,
 532      hasBlockGapSupport,
 533      hasFallbackGapSupport,
 534      fallbackGapValue
 535    }) {
 536      let ruleset = "";
 537      let gapValue = hasBlockGapSupport ? getGapCSSValue(style?.spacing?.blockGap) : "";
 538      if (hasFallbackGapSupport) {
 539        if (selector === ROOT_BLOCK_SELECTOR) {
 540          gapValue = !gapValue ? "0.5em" : gapValue;
 541        } else if (!hasBlockGapSupport && fallbackGapValue) {
 542          gapValue = fallbackGapValue;
 543        }
 544      }
 545      if (gapValue && layoutDefinitions) {
 546        Object.values(layoutDefinitions).forEach(
 547          ({ className, name, spacingStyles }) => {
 548            if (!hasBlockGapSupport && "flex" !== name && "grid" !== name) {
 549              return;
 550            }
 551            if (spacingStyles?.length) {
 552              spacingStyles.forEach((spacingStyle) => {
 553                const declarations = [];
 554                if (spacingStyle.rules) {
 555                  Object.entries(spacingStyle.rules).forEach(
 556                    ([cssProperty, cssValue]) => {
 557                      declarations.push(
 558                        `$cssProperty}: $cssValue ? cssValue : gapValue}`
 559                      );
 560                    }
 561                  );
 562                }
 563                if (declarations.length) {
 564                  let combinedSelector = "";
 565                  if (!hasBlockGapSupport) {
 566                    combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:where(.$className}$spacingStyle?.selector || ""})` : `:where($selector}.$className}$spacingStyle?.selector || ""})`;
 567                  } else {
 568                    combinedSelector = selector === ROOT_BLOCK_SELECTOR ? `:root :where(.$className})$spacingStyle?.selector || ""}` : `:root :where($selector}-$className})$spacingStyle?.selector || ""}`;
 569                  }
 570                  ruleset += `$combinedSelector} { $declarations.join(
 571                    "; "
 572                  )}; }`;
 573                }
 574              });
 575            }
 576          }
 577        );
 578        if (selector === ROOT_BLOCK_SELECTOR && hasBlockGapSupport) {
 579          ruleset += `$ROOT_CSS_PROPERTIES_SELECTOR} { --wp--style--block-gap: $gapValue}; }`;
 580        }
 581      }
 582      if (selector === ROOT_BLOCK_SELECTOR && layoutDefinitions) {
 583        const validDisplayModes = ["block", "flex", "grid"];
 584        Object.values(layoutDefinitions).forEach(
 585          ({ className, displayMode, baseStyles }) => {
 586            if (displayMode && validDisplayModes.includes(displayMode)) {
 587              ruleset += `$selector} .$className} { display:$displayMode}; }`;
 588            }
 589            if (baseStyles?.length) {
 590              baseStyles.forEach((baseStyle) => {
 591                const declarations = [];
 592                if (baseStyle.rules) {
 593                  Object.entries(baseStyle.rules).forEach(
 594                    ([cssProperty, cssValue]) => {
 595                      declarations.push(
 596                        `$cssProperty}: $cssValue}`
 597                      );
 598                    }
 599                  );
 600                }
 601                if (declarations.length) {
 602                  const combinedSelector = `.$className}$baseStyle?.selector || ""}`;
 603                  ruleset += `$combinedSelector} { $declarations.join(
 604                    "; "
 605                  )}; }`;
 606                }
 607              });
 608            }
 609          }
 610        );
 611      }
 612      return ruleset;
 613    }
 614  
 615    // packages/edit-post/build-module/components/layout/index.mjs
 616    var import_plugins = __toESM(require_plugins(), 1);
 617    var import_i18n14 = __toESM(require_i18n(), 1);
 618    var import_element12 = __toESM(require_element(), 1);
 619    var import_notices3 = __toESM(require_notices(), 1);
 620    var import_preferences10 = __toESM(require_preferences(), 1);
 621    var import_commands2 = __toESM(require_commands(), 1);
 622    var import_block_library = __toESM(require_block_library(), 1);
 623    var import_url5 = __toESM(require_url(), 1);
 624    var import_html_entities = __toESM(require_html_entities(), 1);
 625    var import_core_data8 = __toESM(require_core_data(), 1);
 626    var import_components9 = __toESM(require_components(), 1);
 627    var import_compose3 = __toESM(require_compose(), 1);
 628  
 629    // packages/edit-post/build-module/components/back-button/index.mjs
 630    var import_editor2 = __toESM(require_editor(), 1);
 631    var import_components2 = __toESM(require_components(), 1);
 632  
 633    // packages/edit-post/build-module/components/back-button/fullscreen-mode-close.mjs
 634    var import_data2 = __toESM(require_data(), 1);
 635    var import_components = __toESM(require_components(), 1);
 636    var import_i18n = __toESM(require_i18n(), 1);
 637    var import_url = __toESM(require_url(), 1);
 638    var import_editor = __toESM(require_editor(), 1);
 639    var import_core_data = __toESM(require_core_data(), 1);
 640    var import_compose = __toESM(require_compose(), 1);
 641    var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
 642    var siteIconVariants = {
 643      edit: {
 644        clipPath: "inset(0% round 0px)"
 645      },
 646      hover: {
 647        clipPath: "inset( 22% round 2px )"
 648      },
 649      tap: {
 650        clipPath: "inset(0% round 0px)"
 651      }
 652    };
 653    var toggleHomeIconVariants = {
 654      edit: {
 655        opacity: 0,
 656        scale: 0.2
 657      },
 658      hover: {
 659        opacity: 1,
 660        scale: 1,
 661        clipPath: "inset( 22% round 2px )"
 662      }
 663    };
 664    function FullscreenModeClose({ showTooltip, icon, href, initialPost }) {
 665      const { isRequestingSiteIcon, postType, siteIconUrl } = (0, import_data2.useSelect)(
 666        (select3) => {
 667          const { getCurrentPostType } = select3(import_editor.store);
 668          const { getEntityRecord, getPostType, isResolving } = select3(import_core_data.store);
 669          const siteData = getEntityRecord("root", "__unstableBase", void 0) || {};
 670          const _postType = initialPost?.type || getCurrentPostType();
 671          return {
 672            isRequestingSiteIcon: isResolving("getEntityRecord", [
 673              "root",
 674              "__unstableBase",
 675              void 0
 676            ]),
 677            postType: getPostType(_postType),
 678            siteIconUrl: siteData.site_icon_url
 679          };
 680        },
 681        [initialPost?.type]
 682      );
 683      const disableMotion = (0, import_compose.useReducedMotion)();
 684      const transition = {
 685        duration: disableMotion ? 0 : 0.2
 686      };
 687      if (!postType) {
 688        return null;
 689      }
 690      let siteIconContent;
 691      if (isRequestingSiteIcon && !siteIconUrl) {
 692        siteIconContent = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "edit-post-fullscreen-mode-close-site-icon__image" });
 693      } else if (siteIconUrl) {
 694        siteIconContent = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
 695          "img",
 696          {
 697            className: "edit-post-fullscreen-mode-close-site-icon__image",
 698            alt: (0, import_i18n.__)("Site Icon"),
 699            src: siteIconUrl
 700          }
 701        );
 702      } else {
 703        siteIconContent = /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
 704          import_components.Icon,
 705          {
 706            className: "edit-post-fullscreen-mode-close-site-icon__icon",
 707            icon: wordpress_default,
 708            size: 48
 709          }
 710        );
 711      }
 712      const buttonIcon = icon ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_components.Icon, { size: "36px", icon }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "edit-post-fullscreen-mode-close-site-icon", children: siteIconContent });
 713      const classes = clsx_default("edit-post-fullscreen-mode-close", {
 714        "has-icon": siteIconUrl
 715      });
 716      const buttonHref = href ?? (0, import_url.addQueryArgs)("edit.php", {
 717        post_type: postType.slug
 718      });
 719      const buttonLabel = postType?.labels?.view_items ?? (0, import_i18n.__)("Back");
 720      return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
 721        import_components.__unstableMotion.div,
 722        {
 723          className: "edit-post-fullscreen-mode-close__view-mode-toggle",
 724          animate: "edit",
 725          initial: "edit",
 726          whileHover: "hover",
 727          whileTap: "tap",
 728          transition,
 729          children: [
 730            /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
 731              import_components.Button,
 732              {
 733                __next40pxDefaultSize: true,
 734                className: classes,
 735                href: buttonHref,
 736                label: buttonLabel,
 737                showTooltip,
 738                tooltipPosition: "middle right",
 739                children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_components.__unstableMotion.div, { variants: !disableMotion && siteIconVariants, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "edit-post-fullscreen-mode-close__view-mode-toggle-icon", children: buttonIcon }) })
 740              }
 741            ),
 742            /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
 743              import_components.__unstableMotion.div,
 744              {
 745                className: clsx_default(
 746                  "edit-post-fullscreen-mode-close__back-icon",
 747                  {
 748                    "has-site-icon": siteIconUrl
 749                  }
 750                ),
 751                variants: !disableMotion && toggleHomeIconVariants,
 752                children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_components.Icon, { icon: arrow_up_left_default })
 753              }
 754            )
 755          ]
 756        }
 757      );
 758    }
 759    var fullscreen_mode_close_default = FullscreenModeClose;
 760  
 761    // packages/edit-post/build-module/lock-unlock.mjs
 762    var import_private_apis = __toESM(require_private_apis(), 1);
 763    var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
 764      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
 765      "@wordpress/edit-post"
 766    );
 767  
 768    // packages/edit-post/build-module/components/back-button/index.mjs
 769    var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
 770    var { BackButton: BackButtonFill } = unlock(import_editor2.privateApis);
 771    var slideX = {
 772      hidden: { x: "-100%" },
 773      distractionFreeInactive: { x: 0 },
 774      hover: { x: 0, transition: { type: "tween", delay: 0.2 } }
 775    };
 776    function BackButton({ initialPost }) {
 777      return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(BackButtonFill, { children: ({ length }) => length <= 1 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
 778        import_components2.__unstableMotion.div,
 779        {
 780          variants: slideX,
 781          transition: { type: "tween", delay: 0.8 },
 782          children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
 783            fullscreen_mode_close_default,
 784            {
 785              showTooltip: true,
 786              initialPost
 787            }
 788          )
 789        }
 790      ) });
 791    }
 792    var back_button_default = BackButton;
 793  
 794    // packages/edit-post/build-module/components/editor-initialization/listener-hooks.mjs
 795    var import_data3 = __toESM(require_data(), 1);
 796    var import_element2 = __toESM(require_element(), 1);
 797    var import_editor3 = __toESM(require_editor(), 1);
 798    var import_core_data2 = __toESM(require_core_data(), 1);
 799  
 800    // packages/edit-post/build-module/store/constants.mjs
 801    var STORE_NAME = "core/edit-post";
 802    var VIEW_AS_LINK_SELECTOR = "#wp-admin-bar-view a";
 803    var VIEW_AS_PREVIEW_LINK_SELECTOR = "#wp-admin-bar-preview a";
 804  
 805    // packages/edit-post/build-module/components/editor-initialization/listener-hooks.mjs
 806    var useUpdatePostLinkListener = () => {
 807      const { isViewable, newPermalink } = (0, import_data3.useSelect)((select3) => {
 808        const { getPostType } = select3(import_core_data2.store);
 809        const { getCurrentPost, getEditedPostAttribute } = select3(import_editor3.store);
 810        const postType = getPostType(getEditedPostAttribute("type"));
 811        return {
 812          isViewable: postType?.viewable,
 813          newPermalink: getCurrentPost().link
 814        };
 815      }, []);
 816      const nodeToUpdateRef = (0, import_element2.useRef)();
 817      (0, import_element2.useEffect)(() => {
 818        nodeToUpdateRef.current = document.querySelector(VIEW_AS_PREVIEW_LINK_SELECTOR) || document.querySelector(VIEW_AS_LINK_SELECTOR);
 819      }, []);
 820      (0, import_element2.useEffect)(() => {
 821        if (!newPermalink || !nodeToUpdateRef.current) {
 822          return;
 823        }
 824        if (!isViewable) {
 825          nodeToUpdateRef.current.style.display = "none";
 826          return;
 827        }
 828        nodeToUpdateRef.current.style.display = "";
 829        nodeToUpdateRef.current.setAttribute("href", newPermalink);
 830      }, [newPermalink, isViewable]);
 831    };
 832  
 833    // packages/edit-post/build-module/components/editor-initialization/index.mjs
 834    function EditorInitialization() {
 835      useUpdatePostLinkListener();
 836      return null;
 837    }
 838  
 839    // packages/edit-post/build-module/components/keyboard-shortcuts/index.mjs
 840    var import_element3 = __toESM(require_element(), 1);
 841    var import_data7 = __toESM(require_data(), 1);
 842    var import_keyboard_shortcuts = __toESM(require_keyboard_shortcuts(), 1);
 843    var import_i18n3 = __toESM(require_i18n(), 1);
 844  
 845    // packages/edit-post/build-module/store/index.mjs
 846    var import_data6 = __toESM(require_data(), 1);
 847  
 848    // packages/edit-post/build-module/store/reducer.mjs
 849    var import_data4 = __toESM(require_data(), 1);
 850    function isSavingMetaBoxes(state = false, action) {
 851      switch (action.type) {
 852        case "REQUEST_META_BOX_UPDATES":
 853          return true;
 854        case "META_BOX_UPDATES_SUCCESS":
 855        case "META_BOX_UPDATES_FAILURE":
 856          return false;
 857        default:
 858          return state;
 859      }
 860    }
 861    function mergeMetaboxes(metaboxes = [], newMetaboxes) {
 862      const mergedMetaboxes = [...metaboxes];
 863      for (const metabox of newMetaboxes) {
 864        const existing = mergedMetaboxes.findIndex(
 865          (box) => box.id === metabox.id
 866        );
 867        if (existing !== -1) {
 868          mergedMetaboxes[existing] = {
 869            ...mergedMetaboxes[existing],
 870            ...metabox
 871          };
 872        } else {
 873          mergedMetaboxes.push(metabox);
 874        }
 875      }
 876      return mergedMetaboxes;
 877    }
 878    function metaBoxLocations(state = {}, action) {
 879      switch (action.type) {
 880        case "SET_META_BOXES_PER_LOCATIONS": {
 881          const newState = { ...state };
 882          for (const [location, metaboxes] of Object.entries(
 883            action.metaBoxesPerLocation
 884          )) {
 885            newState[location] = mergeMetaboxes(
 886              newState[location],
 887              metaboxes
 888            );
 889          }
 890          return newState;
 891        }
 892      }
 893      return state;
 894    }
 895    function metaBoxesInitialized(state = false, action) {
 896      switch (action.type) {
 897        case "META_BOXES_INITIALIZED":
 898          return true;
 899      }
 900      return state;
 901    }
 902    var metaBoxes = (0, import_data4.combineReducers)({
 903      isSaving: isSavingMetaBoxes,
 904      locations: metaBoxLocations,
 905      initialized: metaBoxesInitialized
 906    });
 907    var reducer_default = (0, import_data4.combineReducers)({
 908      metaBoxes
 909    });
 910  
 911    // packages/edit-post/build-module/store/actions.mjs
 912    var actions_exports = {};
 913    __export(actions_exports, {
 914      __experimentalSetPreviewDeviceType: () => __experimentalSetPreviewDeviceType,
 915      __unstableCreateTemplate: () => __unstableCreateTemplate,
 916      closeGeneralSidebar: () => closeGeneralSidebar,
 917      closeModal: () => closeModal,
 918      closePublishSidebar: () => closePublishSidebar,
 919      hideBlockTypes: () => hideBlockTypes,
 920      initializeMetaBoxes: () => initializeMetaBoxes,
 921      metaBoxUpdatesFailure: () => metaBoxUpdatesFailure,
 922      metaBoxUpdatesSuccess: () => metaBoxUpdatesSuccess,
 923      openGeneralSidebar: () => openGeneralSidebar,
 924      openModal: () => openModal,
 925      openPublishSidebar: () => openPublishSidebar,
 926      removeEditorPanel: () => removeEditorPanel,
 927      requestMetaBoxUpdates: () => requestMetaBoxUpdates,
 928      setAvailableMetaBoxesPerLocation: () => setAvailableMetaBoxesPerLocation,
 929      setIsEditingTemplate: () => setIsEditingTemplate,
 930      setIsInserterOpened: () => setIsInserterOpened,
 931      setIsListViewOpened: () => setIsListViewOpened,
 932      showBlockTypes: () => showBlockTypes,
 933      switchEditorMode: () => switchEditorMode,
 934      toggleDistractionFree: () => toggleDistractionFree,
 935      toggleEditorPanelEnabled: () => toggleEditorPanelEnabled,
 936      toggleEditorPanelOpened: () => toggleEditorPanelOpened,
 937      toggleFeature: () => toggleFeature,
 938      toggleFullscreenMode: () => toggleFullscreenMode,
 939      togglePinnedPluginItem: () => togglePinnedPluginItem,
 940      togglePublishSidebar: () => togglePublishSidebar,
 941      updatePreferredStyleVariations: () => updatePreferredStyleVariations
 942    });
 943    var import_api_fetch = __toESM(require_api_fetch(), 1);
 944    var import_preferences = __toESM(require_preferences(), 1);
 945    var import_editor4 = __toESM(require_editor(), 1);
 946    var import_deprecated = __toESM(require_deprecated(), 1);
 947    var import_hooks = __toESM(require_hooks(), 1);
 948    var import_core_data3 = __toESM(require_core_data(), 1);
 949    var import_notices = __toESM(require_notices(), 1);
 950    var import_i18n2 = __toESM(require_i18n(), 1);
 951  
 952    // packages/edit-post/build-module/utils/meta-boxes.mjs
 953    var getMetaBoxContainer = (location) => {
 954      const area = document.querySelector(
 955        `.edit-post-meta-boxes-area.is-$location} .metabox-location-$location}`
 956      );
 957      if (area) {
 958        return area;
 959      }
 960      return document.querySelector("#metaboxes .metabox-location-" + location);
 961    };
 962  
 963    // packages/edit-post/build-module/store/actions.mjs
 964    var { interfaceStore } = unlock(import_editor4.privateApis);
 965    var openGeneralSidebar = (name) => ({ registry }) => {
 966      registry.dispatch(interfaceStore).enableComplementaryArea("core", name);
 967    };
 968    var closeGeneralSidebar = () => ({ registry }) => registry.dispatch(interfaceStore).disableComplementaryArea("core");
 969    var openModal = (name) => ({ registry }) => {
 970      (0, import_deprecated.default)("select( 'core/edit-post' ).openModal( name )", {
 971        since: "6.3",
 972        alternative: "select( 'core/interface').openModal( name )"
 973      });
 974      return registry.dispatch(interfaceStore).openModal(name);
 975    };
 976    var closeModal = () => ({ registry }) => {
 977      (0, import_deprecated.default)("select( 'core/edit-post' ).closeModal()", {
 978        since: "6.3",
 979        alternative: "select( 'core/interface').closeModal()"
 980      });
 981      return registry.dispatch(interfaceStore).closeModal();
 982    };
 983    var openPublishSidebar = () => ({ registry }) => {
 984      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).openPublishSidebar", {
 985        since: "6.6",
 986        alternative: "dispatch( 'core/editor').openPublishSidebar"
 987      });
 988      registry.dispatch(import_editor4.store).openPublishSidebar();
 989    };
 990    var closePublishSidebar = () => ({ registry }) => {
 991      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).closePublishSidebar", {
 992        since: "6.6",
 993        alternative: "dispatch( 'core/editor').closePublishSidebar"
 994      });
 995      registry.dispatch(import_editor4.store).closePublishSidebar();
 996    };
 997    var togglePublishSidebar = () => ({ registry }) => {
 998      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).togglePublishSidebar", {
 999        since: "6.6",
1000        alternative: "dispatch( 'core/editor').togglePublishSidebar"
1001      });
1002      registry.dispatch(import_editor4.store).togglePublishSidebar();
1003    };
1004    var toggleEditorPanelEnabled = (panelName) => ({ registry }) => {
1005      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).toggleEditorPanelEnabled", {
1006        since: "6.5",
1007        alternative: "dispatch( 'core/editor').toggleEditorPanelEnabled"
1008      });
1009      registry.dispatch(import_editor4.store).toggleEditorPanelEnabled(panelName);
1010    };
1011    var toggleEditorPanelOpened = (panelName) => ({ registry }) => {
1012      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).toggleEditorPanelOpened", {
1013        since: "6.5",
1014        alternative: "dispatch( 'core/editor').toggleEditorPanelOpened"
1015      });
1016      registry.dispatch(import_editor4.store).toggleEditorPanelOpened(panelName);
1017    };
1018    var removeEditorPanel = (panelName) => ({ registry }) => {
1019      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).removeEditorPanel", {
1020        since: "6.5",
1021        alternative: "dispatch( 'core/editor').removeEditorPanel"
1022      });
1023      registry.dispatch(import_editor4.store).removeEditorPanel(panelName);
1024    };
1025    var toggleFeature = (feature) => ({ registry }) => registry.dispatch(import_preferences.store).toggle("core/edit-post", feature);
1026    var switchEditorMode = (mode) => ({ registry }) => {
1027      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).switchEditorMode", {
1028        since: "6.6",
1029        alternative: "dispatch( 'core/editor').switchEditorMode"
1030      });
1031      registry.dispatch(import_editor4.store).switchEditorMode(mode);
1032    };
1033    var togglePinnedPluginItem = (pluginName) => ({ registry }) => {
1034      const isPinned = registry.select(interfaceStore).isItemPinned("core", pluginName);
1035      registry.dispatch(interfaceStore)[isPinned ? "unpinItem" : "pinItem"]("core", pluginName);
1036    };
1037    function updatePreferredStyleVariations() {
1038      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).updatePreferredStyleVariations", {
1039        since: "6.6",
1040        hint: "Preferred Style Variations are not supported anymore."
1041      });
1042      return { type: "NOTHING" };
1043    }
1044    var showBlockTypes = (blockNames) => ({ registry }) => {
1045      unlock(registry.dispatch(import_editor4.store)).showBlockTypes(blockNames);
1046    };
1047    var hideBlockTypes = (blockNames) => ({ registry }) => {
1048      unlock(registry.dispatch(import_editor4.store)).hideBlockTypes(blockNames);
1049    };
1050    function setAvailableMetaBoxesPerLocation(metaBoxesPerLocation) {
1051      return {
1052        type: "SET_META_BOXES_PER_LOCATIONS",
1053        metaBoxesPerLocation
1054      };
1055    }
1056    var requestMetaBoxUpdates = () => async ({ registry, select: select3, dispatch: dispatch2 }) => {
1057      dispatch2({
1058        type: "REQUEST_META_BOX_UPDATES"
1059      });
1060      if (window.tinyMCE) {
1061        window.tinyMCE.triggerSave();
1062      }
1063      const baseFormData = new window.FormData(
1064        document.querySelector(".metabox-base-form")
1065      );
1066      const postId = baseFormData.get("post_ID");
1067      const postType = baseFormData.get("post_type");
1068      const post = registry.select(import_core_data3.store).getEditedEntityRecord("postType", postType, postId);
1069      const additionalData = [
1070        post.comment_status ? ["comment_status", post.comment_status] : false,
1071        post.ping_status ? ["ping_status", post.ping_status] : false,
1072        post.sticky ? ["sticky", post.sticky] : false,
1073        post.author ? ["post_author", post.author] : false
1074      ].filter(Boolean);
1075      const activeMetaBoxLocations = select3.getActiveMetaBoxLocations();
1076      const formDataToMerge = [
1077        baseFormData,
1078        ...activeMetaBoxLocations.map(
1079          (location) => new window.FormData(getMetaBoxContainer(location))
1080        )
1081      ];
1082      const formData = formDataToMerge.reduce((memo, currentFormData) => {
1083        for (const [key, value] of currentFormData) {
1084          memo.append(key, value);
1085        }
1086        return memo;
1087      }, new window.FormData());
1088      additionalData.forEach(
1089        ([key, value]) => formData.append(key, value)
1090      );
1091      try {
1092        await (0, import_api_fetch.default)({
1093          url: window._wpMetaBoxUrl,
1094          method: "POST",
1095          body: formData,
1096          parse: false
1097        });
1098        dispatch2.metaBoxUpdatesSuccess();
1099      } catch {
1100        dispatch2.metaBoxUpdatesFailure();
1101      }
1102    };
1103    function metaBoxUpdatesSuccess() {
1104      return {
1105        type: "META_BOX_UPDATES_SUCCESS"
1106      };
1107    }
1108    function metaBoxUpdatesFailure() {
1109      return {
1110        type: "META_BOX_UPDATES_FAILURE"
1111      };
1112    }
1113    var __experimentalSetPreviewDeviceType = (deviceType) => ({ registry }) => {
1114      (0, import_deprecated.default)(
1115        "dispatch( 'core/edit-post' ).__experimentalSetPreviewDeviceType",
1116        {
1117          since: "6.5",
1118          version: "6.7",
1119          hint: "registry.dispatch( editorStore ).setDeviceType"
1120        }
1121      );
1122      registry.dispatch(import_editor4.store).setDeviceType(deviceType);
1123    };
1124    var setIsInserterOpened = (value) => ({ registry }) => {
1125      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).setIsInserterOpened", {
1126        since: "6.5",
1127        alternative: "dispatch( 'core/editor').setIsInserterOpened"
1128      });
1129      registry.dispatch(import_editor4.store).setIsInserterOpened(value);
1130    };
1131    var setIsListViewOpened = (isOpen) => ({ registry }) => {
1132      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).setIsListViewOpened", {
1133        since: "6.5",
1134        alternative: "dispatch( 'core/editor').setIsListViewOpened"
1135      });
1136      registry.dispatch(import_editor4.store).setIsListViewOpened(isOpen);
1137    };
1138    function setIsEditingTemplate() {
1139      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).setIsEditingTemplate", {
1140        since: "6.5",
1141        alternative: "dispatch( 'core/editor').setRenderingMode"
1142      });
1143      return { type: "NOTHING" };
1144    }
1145    function __unstableCreateTemplate() {
1146      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).__unstableCreateTemplate", {
1147        since: "6.5"
1148      });
1149      return { type: "NOTHING" };
1150    }
1151    var metaBoxesInitialized2 = false;
1152    var initializeMetaBoxes = () => ({ registry, select: select3, dispatch: dispatch2 }) => {
1153      const isEditorReady = registry.select(import_editor4.store).__unstableIsEditorReady();
1154      if (!isEditorReady) {
1155        return;
1156      }
1157      if (metaBoxesInitialized2) {
1158        return;
1159      }
1160      const postType = registry.select(import_editor4.store).getCurrentPostType();
1161      if (window.postboxes.page !== postType) {
1162        window.postboxes.add_postbox_toggles(postType);
1163      }
1164      metaBoxesInitialized2 = true;
1165      (0, import_hooks.addAction)(
1166        "editor.savePost",
1167        "core/edit-post/save-metaboxes",
1168        async (post, options) => {
1169          if (!options.isAutosave && select3.hasMetaBoxes()) {
1170            await dispatch2.requestMetaBoxUpdates();
1171          }
1172        }
1173      );
1174      dispatch2({
1175        type: "META_BOXES_INITIALIZED"
1176      });
1177    };
1178    var toggleDistractionFree = () => ({ registry }) => {
1179      (0, import_deprecated.default)("dispatch( 'core/edit-post' ).toggleDistractionFree", {
1180        since: "6.6",
1181        alternative: "dispatch( 'core/editor').toggleDistractionFree"
1182      });
1183      registry.dispatch(import_editor4.store).toggleDistractionFree();
1184    };
1185    var toggleFullscreenMode = () => ({ registry }) => {
1186      const isFullscreen = registry.select(import_preferences.store).get("core/edit-post", "fullscreenMode");
1187      registry.dispatch(import_preferences.store).toggle("core/edit-post", "fullscreenMode");
1188      registry.dispatch(import_notices.store).createInfoNotice(
1189        isFullscreen ? (0, import_i18n2.__)("Fullscreen mode deactivated.") : (0, import_i18n2.__)("Fullscreen mode activated."),
1190        {
1191          id: "core/edit-post/toggle-fullscreen-mode/notice",
1192          type: "snackbar",
1193          actions: [
1194            {
1195              label: (0, import_i18n2.__)("Undo"),
1196              onClick: () => {
1197                registry.dispatch(import_preferences.store).toggle(
1198                  "core/edit-post",
1199                  "fullscreenMode"
1200                );
1201              }
1202            }
1203          ]
1204        }
1205      );
1206    };
1207  
1208    // packages/edit-post/build-module/store/selectors.mjs
1209    var selectors_exports = {};
1210    __export(selectors_exports, {
1211      __experimentalGetInsertionPoint: () => __experimentalGetInsertionPoint,
1212      __experimentalGetPreviewDeviceType: () => __experimentalGetPreviewDeviceType,
1213      areMetaBoxesInitialized: () => areMetaBoxesInitialized,
1214      getActiveGeneralSidebarName: () => getActiveGeneralSidebarName,
1215      getActiveMetaBoxLocations: () => getActiveMetaBoxLocations,
1216      getAllMetaBoxes: () => getAllMetaBoxes,
1217      getEditedPostTemplate: () => getEditedPostTemplate,
1218      getEditorMode: () => getEditorMode,
1219      getHiddenBlockTypes: () => getHiddenBlockTypes,
1220      getMetaBoxesPerLocation: () => getMetaBoxesPerLocation,
1221      getPreference: () => getPreference,
1222      getPreferences: () => getPreferences,
1223      hasMetaBoxes: () => hasMetaBoxes,
1224      isEditingTemplate: () => isEditingTemplate,
1225      isEditorPanelEnabled: () => isEditorPanelEnabled,
1226      isEditorPanelOpened: () => isEditorPanelOpened,
1227      isEditorPanelRemoved: () => isEditorPanelRemoved,
1228      isEditorSidebarOpened: () => isEditorSidebarOpened,
1229      isFeatureActive: () => isFeatureActive,
1230      isInserterOpened: () => isInserterOpened,
1231      isListViewOpened: () => isListViewOpened,
1232      isMetaBoxLocationActive: () => isMetaBoxLocationActive,
1233      isMetaBoxLocationVisible: () => isMetaBoxLocationVisible,
1234      isModalActive: () => isModalActive,
1235      isPluginItemPinned: () => isPluginItemPinned,
1236      isPluginSidebarOpened: () => isPluginSidebarOpened,
1237      isPublishSidebarOpened: () => isPublishSidebarOpened,
1238      isSavingMetaBoxes: () => isSavingMetaBoxes2
1239    });
1240    var import_data5 = __toESM(require_data(), 1);
1241    var import_preferences2 = __toESM(require_preferences(), 1);
1242    var import_core_data4 = __toESM(require_core_data(), 1);
1243    var import_editor5 = __toESM(require_editor(), 1);
1244    var import_deprecated2 = __toESM(require_deprecated(), 1);
1245    var { interfaceStore: interfaceStore2 } = unlock(import_editor5.privateApis);
1246    var EMPTY_ARRAY = [];
1247    var EMPTY_OBJECT = {};
1248    var getEditorMode = (0, import_data5.createRegistrySelector)(
1249      (select3) => () => select3(import_preferences2.store).get("core", "editorMode") ?? "visual"
1250    );
1251    var isEditorSidebarOpened = (0, import_data5.createRegistrySelector)(
1252      (select3) => () => {
1253        const activeGeneralSidebar = select3(interfaceStore2).getActiveComplementaryArea("core");
1254        return ["edit-post/document", "edit-post/block"].includes(
1255          activeGeneralSidebar
1256        );
1257      }
1258    );
1259    var isPluginSidebarOpened = (0, import_data5.createRegistrySelector)(
1260      (select3) => () => {
1261        const activeGeneralSidebar = select3(interfaceStore2).getActiveComplementaryArea("core");
1262        return !!activeGeneralSidebar && !["edit-post/document", "edit-post/block"].includes(
1263          activeGeneralSidebar
1264        );
1265      }
1266    );
1267    var getActiveGeneralSidebarName = (0, import_data5.createRegistrySelector)(
1268      (select3) => () => {
1269        return select3(interfaceStore2).getActiveComplementaryArea("core");
1270      }
1271    );
1272    function convertPanelsToOldFormat(inactivePanels, openPanels) {
1273      const panelsWithEnabledState = inactivePanels?.reduce(
1274        (accumulatedPanels, panelName) => ({
1275          ...accumulatedPanels,
1276          [panelName]: {
1277            enabled: false
1278          }
1279        }),
1280        {}
1281      );
1282      const panels = openPanels?.reduce((accumulatedPanels, panelName) => {
1283        const currentPanelState = accumulatedPanels?.[panelName];
1284        return {
1285          ...accumulatedPanels,
1286          [panelName]: {
1287            ...currentPanelState,
1288            opened: true
1289          }
1290        };
1291      }, panelsWithEnabledState ?? {});
1292      return panels ?? panelsWithEnabledState ?? EMPTY_OBJECT;
1293    }
1294    var getPreferences = (0, import_data5.createRegistrySelector)((select3) => () => {
1295      (0, import_deprecated2.default)(`select( 'core/edit-post' ).getPreferences`, {
1296        since: "6.0",
1297        alternative: `select( 'core/preferences' ).get`
1298      });
1299      const corePreferences = ["editorMode", "hiddenBlockTypes"].reduce(
1300        (accumulatedPrefs, preferenceKey) => {
1301          const value = select3(import_preferences2.store).get(
1302            "core",
1303            preferenceKey
1304          );
1305          return {
1306            ...accumulatedPrefs,
1307            [preferenceKey]: value
1308          };
1309        },
1310        {}
1311      );
1312      const inactivePanels = select3(import_preferences2.store).get(
1313        "core",
1314        "inactivePanels"
1315      );
1316      const openPanels = select3(import_preferences2.store).get("core", "openPanels");
1317      const panels = convertPanelsToOldFormat(inactivePanels, openPanels);
1318      return {
1319        ...corePreferences,
1320        panels
1321      };
1322    });
1323    function getPreference(state, preferenceKey, defaultValue) {
1324      (0, import_deprecated2.default)(`select( 'core/edit-post' ).getPreference`, {
1325        since: "6.0",
1326        alternative: `select( 'core/preferences' ).get`
1327      });
1328      const preferences = getPreferences(state);
1329      const value = preferences[preferenceKey];
1330      return value === void 0 ? defaultValue : value;
1331    }
1332    var getHiddenBlockTypes = (0, import_data5.createRegistrySelector)((select3) => () => {
1333      return select3(import_preferences2.store).get("core", "hiddenBlockTypes") ?? EMPTY_ARRAY;
1334    });
1335    var isPublishSidebarOpened = (0, import_data5.createRegistrySelector)(
1336      (select3) => () => {
1337        (0, import_deprecated2.default)(`select( 'core/edit-post' ).isPublishSidebarOpened`, {
1338          since: "6.6",
1339          alternative: `select( 'core/editor' ).isPublishSidebarOpened`
1340        });
1341        return select3(import_editor5.store).isPublishSidebarOpened();
1342      }
1343    );
1344    var isEditorPanelRemoved = (0, import_data5.createRegistrySelector)(
1345      (select3) => (state, panelName) => {
1346        (0, import_deprecated2.default)(`select( 'core/edit-post' ).isEditorPanelRemoved`, {
1347          since: "6.5",
1348          alternative: `select( 'core/editor' ).isEditorPanelRemoved`
1349        });
1350        return select3(import_editor5.store).isEditorPanelRemoved(panelName);
1351      }
1352    );
1353    var isEditorPanelEnabled = (0, import_data5.createRegistrySelector)(
1354      (select3) => (state, panelName) => {
1355        (0, import_deprecated2.default)(`select( 'core/edit-post' ).isEditorPanelEnabled`, {
1356          since: "6.5",
1357          alternative: `select( 'core/editor' ).isEditorPanelEnabled`
1358        });
1359        return select3(import_editor5.store).isEditorPanelEnabled(panelName);
1360      }
1361    );
1362    var isEditorPanelOpened = (0, import_data5.createRegistrySelector)(
1363      (select3) => (state, panelName) => {
1364        (0, import_deprecated2.default)(`select( 'core/edit-post' ).isEditorPanelOpened`, {
1365          since: "6.5",
1366          alternative: `select( 'core/editor' ).isEditorPanelOpened`
1367        });
1368        return select3(import_editor5.store).isEditorPanelOpened(panelName);
1369      }
1370    );
1371    var isModalActive = (0, import_data5.createRegistrySelector)(
1372      (select3) => (state, modalName) => {
1373        (0, import_deprecated2.default)(`select( 'core/edit-post' ).isModalActive`, {
1374          since: "6.3",
1375          alternative: `select( 'core/interface' ).isModalActive`
1376        });
1377        return !!select3(interfaceStore2).isModalActive(modalName);
1378      }
1379    );
1380    var isFeatureActive = (0, import_data5.createRegistrySelector)(
1381      (select3) => (state, feature) => {
1382        return !!select3(import_preferences2.store).get("core/edit-post", feature);
1383      }
1384    );
1385    var isPluginItemPinned = (0, import_data5.createRegistrySelector)(
1386      (select3) => (state, pluginName) => {
1387        return select3(interfaceStore2).isItemPinned("core", pluginName);
1388      }
1389    );
1390    var getActiveMetaBoxLocations = (0, import_data5.createSelector)(
1391      (state) => {
1392        return Object.keys(state.metaBoxes.locations).filter(
1393          (location) => isMetaBoxLocationActive(state, location)
1394        );
1395      },
1396      (state) => [state.metaBoxes.locations]
1397    );
1398    var isMetaBoxLocationVisible = (0, import_data5.createRegistrySelector)(
1399      (select3) => (state, location) => {
1400        return isMetaBoxLocationActive(state, location) && getMetaBoxesPerLocation(state, location)?.some(({ id }) => {
1401          return select3(import_editor5.store).isEditorPanelEnabled(
1402            `meta-box-$id}`
1403          );
1404        });
1405      }
1406    );
1407    function isMetaBoxLocationActive(state, location) {
1408      const metaBoxes2 = getMetaBoxesPerLocation(state, location);
1409      return !!metaBoxes2 && metaBoxes2.length !== 0;
1410    }
1411    function getMetaBoxesPerLocation(state, location) {
1412      return state.metaBoxes.locations[location];
1413    }
1414    var getAllMetaBoxes = (0, import_data5.createSelector)(
1415      (state) => {
1416        return Object.values(state.metaBoxes.locations).flat();
1417      },
1418      (state) => [state.metaBoxes.locations]
1419    );
1420    function hasMetaBoxes(state) {
1421      return getActiveMetaBoxLocations(state).length > 0;
1422    }
1423    function isSavingMetaBoxes2(state) {
1424      return state.metaBoxes.isSaving;
1425    }
1426    var __experimentalGetPreviewDeviceType = (0, import_data5.createRegistrySelector)(
1427      (select3) => () => {
1428        (0, import_deprecated2.default)(
1429          `select( 'core/edit-site' ).__experimentalGetPreviewDeviceType`,
1430          {
1431            since: "6.5",
1432            version: "6.7",
1433            alternative: `select( 'core/editor' ).getDeviceType`
1434          }
1435        );
1436        return select3(import_editor5.store).getDeviceType();
1437      }
1438    );
1439    var isInserterOpened = (0, import_data5.createRegistrySelector)((select3) => () => {
1440      (0, import_deprecated2.default)(`select( 'core/edit-post' ).isInserterOpened`, {
1441        since: "6.5",
1442        alternative: `select( 'core/editor' ).isInserterOpened`
1443      });
1444      return select3(import_editor5.store).isInserterOpened();
1445    });
1446    var __experimentalGetInsertionPoint = (0, import_data5.createRegistrySelector)(
1447      (select3) => () => {
1448        (0, import_deprecated2.default)(
1449          `select( 'core/edit-post' ).__experimentalGetInsertionPoint`,
1450          {
1451            since: "6.5",
1452            version: "6.7"
1453          }
1454        );
1455        return unlock(select3(import_editor5.store)).getInserter();
1456      }
1457    );
1458    var isListViewOpened = (0, import_data5.createRegistrySelector)((select3) => () => {
1459      (0, import_deprecated2.default)(`select( 'core/edit-post' ).isListViewOpened`, {
1460        since: "6.5",
1461        alternative: `select( 'core/editor' ).isListViewOpened`
1462      });
1463      return select3(import_editor5.store).isListViewOpened();
1464    });
1465    var isEditingTemplate = (0, import_data5.createRegistrySelector)((select3) => () => {
1466      (0, import_deprecated2.default)(`select( 'core/edit-post' ).isEditingTemplate`, {
1467        since: "6.5",
1468        alternative: `select( 'core/editor' ).getRenderingMode`
1469      });
1470      return select3(import_editor5.store).getCurrentPostType() === "wp_template";
1471    });
1472    function areMetaBoxesInitialized(state) {
1473      return state.metaBoxes.initialized;
1474    }
1475    var getEditedPostTemplate = (0, import_data5.createRegistrySelector)(
1476      (select3) => () => {
1477        const { id: postId, type: postType } = select3(import_editor5.store).getCurrentPost();
1478        const templateId = unlock(select3(import_core_data4.store)).getTemplateId(
1479          postType,
1480          postId
1481        );
1482        if (!templateId) {
1483          return void 0;
1484        }
1485        return select3(import_core_data4.store).getEditedEntityRecord(
1486          "postType",
1487          "wp_template",
1488          templateId
1489        );
1490      }
1491    );
1492  
1493    // packages/edit-post/build-module/store/index.mjs
1494    var store = (0, import_data6.createReduxStore)(STORE_NAME, {
1495      reducer: reducer_default,
1496      actions: actions_exports,
1497      selectors: selectors_exports
1498    });
1499    (0, import_data6.register)(store);
1500  
1501    // packages/edit-post/build-module/components/keyboard-shortcuts/index.mjs
1502    function KeyboardShortcuts() {
1503      const { toggleFullscreenMode: toggleFullscreenMode2 } = (0, import_data7.useDispatch)(store);
1504      const { registerShortcut } = (0, import_data7.useDispatch)(import_keyboard_shortcuts.store);
1505      (0, import_element3.useEffect)(() => {
1506        registerShortcut({
1507          name: "core/edit-post/toggle-fullscreen",
1508          category: "global",
1509          description: (0, import_i18n3.__)("Enable or disable fullscreen mode."),
1510          keyCombination: {
1511            modifier: "secondary",
1512            character: "f"
1513          }
1514        });
1515      }, []);
1516      (0, import_keyboard_shortcuts.useShortcut)("core/edit-post/toggle-fullscreen", () => {
1517        toggleFullscreenMode2();
1518      });
1519      return null;
1520    }
1521    var keyboard_shortcuts_default = KeyboardShortcuts;
1522  
1523    // packages/edit-post/build-module/components/init-pattern-modal/index.mjs
1524    var import_data8 = __toESM(require_data(), 1);
1525    var import_i18n4 = __toESM(require_i18n(), 1);
1526    var import_components3 = __toESM(require_components(), 1);
1527    var import_element4 = __toESM(require_element(), 1);
1528    var import_editor6 = __toESM(require_editor(), 1);
1529    var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
1530    function InitPatternModal() {
1531      const { editPost } = (0, import_data8.useDispatch)(import_editor6.store);
1532      const [syncType, setSyncType] = (0, import_element4.useState)(void 0);
1533      const [title, setTitle] = (0, import_element4.useState)("");
1534      const isNewPost = (0, import_data8.useSelect)(
1535        (select3) => select3(import_editor6.store).isCleanNewPost(),
1536        []
1537      );
1538      const [isModalOpen, setIsModalOpen] = (0, import_element4.useState)(() => isNewPost);
1539      if (!isNewPost) {
1540        return null;
1541      }
1542      return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: isModalOpen && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1543        import_components3.Modal,
1544        {
1545          title: (0, import_i18n4.__)("Create pattern"),
1546          onRequestClose: () => {
1547            setIsModalOpen(false);
1548          },
1549          overlayClassName: "reusable-blocks-menu-items__convert-modal",
1550          children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1551            "form",
1552            {
1553              onSubmit: (event) => {
1554                event.preventDefault();
1555                setIsModalOpen(false);
1556                editPost({
1557                  title,
1558                  meta: {
1559                    wp_pattern_sync_status: syncType
1560                  }
1561                });
1562              },
1563              children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_components3.__experimentalVStack, { spacing: "5", children: [
1564                /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1565                  import_components3.TextControl,
1566                  {
1567                    label: (0, import_i18n4.__)("Name"),
1568                    value: title,
1569                    onChange: setTitle,
1570                    placeholder: (0, import_i18n4.__)("My pattern"),
1571                    className: "patterns-create-modal__name-input",
1572                    __next40pxDefaultSize: true
1573                  }
1574                ),
1575                /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1576                  import_components3.ToggleControl,
1577                  {
1578                    label: (0, import_i18n4._x)("Synced", "pattern (singular)"),
1579                    help: (0, import_i18n4.__)(
1580                      "Sync this pattern across multiple locations."
1581                    ),
1582                    checked: !syncType,
1583                    onChange: () => {
1584                      setSyncType(
1585                        !syncType ? "unsynced" : void 0
1586                      );
1587                    }
1588                  }
1589                ),
1590                /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_components3.__experimentalHStack, { justify: "right", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1591                  import_components3.Button,
1592                  {
1593                    __next40pxDefaultSize: true,
1594                    variant: "primary",
1595                    type: "submit",
1596                    disabled: !title,
1597                    accessibleWhenDisabled: true,
1598                    children: (0, import_i18n4.__)("Create")
1599                  }
1600                ) })
1601              ] })
1602            }
1603          )
1604        }
1605      ) });
1606    }
1607  
1608    // packages/edit-post/build-module/components/browser-url/index.mjs
1609    var import_element5 = __toESM(require_element(), 1);
1610    var import_data9 = __toESM(require_data(), 1);
1611    var import_url2 = __toESM(require_url(), 1);
1612    var import_editor7 = __toESM(require_editor(), 1);
1613    function getPostEditURL(postId) {
1614      return (0, import_url2.addQueryArgs)("post.php", { post: postId, action: "edit" });
1615    }
1616    function BrowserURL() {
1617      const [historyId, setHistoryId] = (0, import_element5.useState)(null);
1618      const { postId, postStatus } = (0, import_data9.useSelect)((select3) => {
1619        const { getCurrentPost } = select3(import_editor7.store);
1620        const post = getCurrentPost();
1621        let { id, status, type } = post;
1622        const isTemplate = ["wp_template", "wp_template_part"].includes(
1623          type
1624        );
1625        if (isTemplate) {
1626          id = post.wp_id;
1627        }
1628        return {
1629          postId: id,
1630          postStatus: status
1631        };
1632      }, []);
1633      (0, import_element5.useEffect)(() => {
1634        if (postId && postId !== historyId && postStatus !== "auto-draft") {
1635          window.history.replaceState(
1636            { id: postId },
1637            "Post " + postId,
1638            getPostEditURL(postId)
1639          );
1640          setHistoryId(postId);
1641        }
1642      }, [postId, postStatus, historyId]);
1643      return null;
1644    }
1645  
1646    // packages/edit-post/build-module/components/meta-boxes/index.mjs
1647    var import_data12 = __toESM(require_data(), 1);
1648  
1649    // packages/edit-post/build-module/components/meta-boxes/meta-boxes-area/index.mjs
1650    var import_element6 = __toESM(require_element(), 1);
1651    var import_components4 = __toESM(require_components(), 1);
1652    var import_data10 = __toESM(require_data(), 1);
1653    var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
1654    function MetaBoxesArea({ location }) {
1655      const container = (0, import_element6.useRef)(null);
1656      const formRef = (0, import_element6.useRef)(null);
1657      (0, import_element6.useEffect)(() => {
1658        formRef.current = document.querySelector(
1659          ".metabox-location-" + location
1660        );
1661        if (formRef.current) {
1662          container.current.appendChild(formRef.current);
1663        }
1664        return () => {
1665          if (formRef.current) {
1666            document.querySelector("#metaboxes").appendChild(formRef.current);
1667          }
1668        };
1669      }, [location]);
1670      const isSaving = (0, import_data10.useSelect)((select3) => {
1671        return select3(store).isSavingMetaBoxes();
1672      }, []);
1673      const classes = clsx_default("edit-post-meta-boxes-area", `is-$location}`, {
1674        "is-loading": isSaving
1675      });
1676      return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: classes, children: [
1677        isSaving && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_components4.Spinner, {}),
1678        /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1679          "div",
1680          {
1681            className: "edit-post-meta-boxes-area__container",
1682            ref: container
1683          }
1684        ),
1685        /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "edit-post-meta-boxes-area__clear" })
1686      ] });
1687    }
1688    var meta_boxes_area_default = MetaBoxesArea;
1689  
1690    // packages/edit-post/build-module/components/meta-boxes/meta-box-visibility.mjs
1691    var import_element7 = __toESM(require_element(), 1);
1692    var import_data11 = __toESM(require_data(), 1);
1693    var import_editor8 = __toESM(require_editor(), 1);
1694    function MetaBoxVisibility({ id }) {
1695      const isVisible = (0, import_data11.useSelect)(
1696        (select3) => {
1697          return select3(import_editor8.store).isEditorPanelEnabled(
1698            `meta-box-$id}`
1699          );
1700        },
1701        [id]
1702      );
1703      (0, import_element7.useEffect)(() => {
1704        const element = document.getElementById(id);
1705        if (!element) {
1706          return;
1707        }
1708        if (isVisible) {
1709          element.classList.remove("is-hidden");
1710        } else {
1711          element.classList.add("is-hidden");
1712        }
1713      }, [id, isVisible]);
1714      return null;
1715    }
1716  
1717    // packages/edit-post/build-module/components/meta-boxes/index.mjs
1718    var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
1719    function MetaBoxes({ location }) {
1720      const metaBoxes2 = (0, import_data12.useSelect)(
1721        (select3) => select3(store).getMetaBoxesPerLocation(location),
1722        [location]
1723      );
1724      return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_jsx_runtime11.Fragment, { children: [
1725        (metaBoxes2 ?? []).map(({ id }) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MetaBoxVisibility, { id }, id)),
1726        /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(meta_boxes_area_default, { location })
1727      ] });
1728    }
1729  
1730    // packages/edit-post/build-module/components/more-menu/index.mjs
1731    var import_i18n10 = __toESM(require_i18n(), 1);
1732    var import_compose2 = __toESM(require_compose(), 1);
1733    var import_editor14 = __toESM(require_editor(), 1);
1734    var import_keycodes = __toESM(require_keycodes(), 1);
1735    var import_preferences8 = __toESM(require_preferences(), 1);
1736  
1737    // packages/edit-post/build-module/components/more-menu/manage-patterns-menu-item.mjs
1738    var import_components5 = __toESM(require_components(), 1);
1739    var import_core_data5 = __toESM(require_core_data(), 1);
1740    var import_data13 = __toESM(require_data(), 1);
1741    var import_i18n5 = __toESM(require_i18n(), 1);
1742    var import_url3 = __toESM(require_url(), 1);
1743    var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
1744    function ManagePatternsMenuItem() {
1745      const url = (0, import_data13.useSelect)((select3) => {
1746        const { canUser } = select3(import_core_data5.store);
1747        const defaultUrl = (0, import_url3.addQueryArgs)("edit.php", {
1748          post_type: "wp_block"
1749        });
1750        const patternsUrl = (0, import_url3.addQueryArgs)("site-editor.php", {
1751          p: "/pattern"
1752        });
1753        return canUser("create", {
1754          kind: "postType",
1755          name: "wp_template"
1756        }) ? patternsUrl : defaultUrl;
1757      }, []);
1758      return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_components5.MenuItem, { role: "menuitem", href: url, children: (0, import_i18n5.__)("Manage patterns") });
1759    }
1760    var manage_patterns_menu_item_default = ManagePatternsMenuItem;
1761  
1762    // packages/edit-post/build-module/components/more-menu/welcome-guide-menu-item.mjs
1763    var import_data14 = __toESM(require_data(), 1);
1764    var import_preferences3 = __toESM(require_preferences(), 1);
1765    var import_i18n6 = __toESM(require_i18n(), 1);
1766    var import_editor9 = __toESM(require_editor(), 1);
1767    var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
1768    function WelcomeGuideMenuItem() {
1769      const isEditingTemplate2 = (0, import_data14.useSelect)(
1770        (select3) => select3(import_editor9.store).getCurrentPostType() === "wp_template",
1771        []
1772      );
1773      return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1774        import_preferences3.PreferenceToggleMenuItem,
1775        {
1776          scope: "core/edit-post",
1777          name: isEditingTemplate2 ? "welcomeGuideTemplate" : "welcomeGuide",
1778          label: (0, import_i18n6.__)("Welcome Guide")
1779        }
1780      );
1781    }
1782  
1783    // packages/edit-post/build-module/components/preferences-modal/index.mjs
1784    var import_i18n9 = __toESM(require_i18n(), 1);
1785    var import_preferences7 = __toESM(require_preferences(), 1);
1786    var import_editor13 = __toESM(require_editor(), 1);
1787  
1788    // packages/edit-post/build-module/components/preferences-modal/meta-boxes-section.mjs
1789    var import_i18n8 = __toESM(require_i18n(), 1);
1790    var import_data17 = __toESM(require_data(), 1);
1791    var import_editor12 = __toESM(require_editor(), 1);
1792    var import_preferences6 = __toESM(require_preferences(), 1);
1793  
1794    // packages/edit-post/build-module/components/preferences-modal/enable-custom-fields.mjs
1795    var import_element8 = __toESM(require_element(), 1);
1796    var import_i18n7 = __toESM(require_i18n(), 1);
1797    var import_components6 = __toESM(require_components(), 1);
1798    var import_data15 = __toESM(require_data(), 1);
1799    var import_editor10 = __toESM(require_editor(), 1);
1800    var import_preferences4 = __toESM(require_preferences(), 1);
1801    var import_url4 = __toESM(require_url(), 1);
1802    var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
1803    var { PreferenceBaseOption } = unlock(import_preferences4.privateApis);
1804    function submitCustomFieldsForm() {
1805      const customFieldsForm = document.getElementById(
1806        "toggle-custom-fields-form"
1807      );
1808      customFieldsForm.querySelector('[name="_wp_http_referer"]').setAttribute("value", (0, import_url4.getPathAndQueryString)(window.location.href));
1809      customFieldsForm.submit();
1810    }
1811    function CustomFieldsConfirmation({ willEnable }) {
1812      const [isReloading, setIsReloading] = (0, import_element8.useState)(false);
1813      return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_jsx_runtime14.Fragment, { children: [
1814        /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: "edit-post-preferences-modal__custom-fields-confirmation-message", children: (0, import_i18n7.__)(
1815          "A page reload is required for this change. Make sure your content is saved before reloading."
1816        ) }),
1817        /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1818          import_components6.Button,
1819          {
1820            __next40pxDefaultSize: true,
1821            variant: "secondary",
1822            isBusy: isReloading,
1823            accessibleWhenDisabled: true,
1824            disabled: isReloading,
1825            onClick: () => {
1826              setIsReloading(true);
1827              submitCustomFieldsForm();
1828            },
1829            children: willEnable ? (0, import_i18n7.__)("Show & Reload Page") : (0, import_i18n7.__)("Hide & Reload Page")
1830          }
1831        )
1832      ] });
1833    }
1834    function EnableCustomFieldsOption({ label }) {
1835      const areCustomFieldsEnabled = (0, import_data15.useSelect)((select3) => {
1836        return !!select3(import_editor10.store).getEditorSettings().enableCustomFields;
1837      }, []);
1838      const [isChecked, setIsChecked] = (0, import_element8.useState)(areCustomFieldsEnabled);
1839      return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1840        PreferenceBaseOption,
1841        {
1842          label,
1843          isChecked,
1844          onChange: setIsChecked,
1845          children: isChecked !== areCustomFieldsEnabled && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CustomFieldsConfirmation, { willEnable: isChecked })
1846        }
1847      );
1848    }
1849  
1850    // packages/edit-post/build-module/components/preferences-modal/enable-panel.mjs
1851    var import_data16 = __toESM(require_data(), 1);
1852    var import_editor11 = __toESM(require_editor(), 1);
1853    var import_preferences5 = __toESM(require_preferences(), 1);
1854    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
1855    var { PreferenceBaseOption: PreferenceBaseOption2 } = unlock(import_preferences5.privateApis);
1856    function EnablePanelOption(props) {
1857      const { toggleEditorPanelEnabled: toggleEditorPanelEnabled2 } = (0, import_data16.useDispatch)(import_editor11.store);
1858      const { isChecked, isRemoved } = (0, import_data16.useSelect)(
1859        (select3) => {
1860          const { isEditorPanelEnabled: isEditorPanelEnabled2, isEditorPanelRemoved: isEditorPanelRemoved2 } = select3(import_editor11.store);
1861          return {
1862            isChecked: isEditorPanelEnabled2(props.panelName),
1863            isRemoved: isEditorPanelRemoved2(props.panelName)
1864          };
1865        },
1866        [props.panelName]
1867      );
1868      if (isRemoved) {
1869        return null;
1870      }
1871      return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1872        PreferenceBaseOption2,
1873        {
1874          isChecked,
1875          onChange: () => toggleEditorPanelEnabled2(props.panelName),
1876          ...props
1877        }
1878      );
1879    }
1880  
1881    // packages/edit-post/build-module/components/preferences-modal/meta-boxes-section.mjs
1882    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
1883    var { PreferencesModalSection } = unlock(import_preferences6.privateApis);
1884    function MetaBoxesSection({
1885      areCustomFieldsRegistered,
1886      metaBoxes: metaBoxes2,
1887      ...sectionProps
1888    }) {
1889      const thirdPartyMetaBoxes = metaBoxes2.filter(
1890        ({ id }) => id !== "postcustom"
1891      );
1892      if (!areCustomFieldsRegistered && thirdPartyMetaBoxes.length === 0) {
1893        return null;
1894      }
1895      return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(PreferencesModalSection, { ...sectionProps, children: [
1896        areCustomFieldsRegistered && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(EnableCustomFieldsOption, { label: (0, import_i18n8.__)("Custom fields") }),
1897        thirdPartyMetaBoxes.map(({ id, title }) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1898          EnablePanelOption,
1899          {
1900            label: title,
1901            panelName: `meta-box-$id}`
1902          },
1903          id
1904        ))
1905      ] });
1906    }
1907    var meta_boxes_section_default = (0, import_data17.withSelect)((select3) => {
1908      const { getEditorSettings } = select3(import_editor12.store);
1909      const { getAllMetaBoxes: getAllMetaBoxes2 } = select3(store);
1910      return {
1911        // This setting should not live in the block editor's store.
1912        areCustomFieldsRegistered: getEditorSettings().enableCustomFields !== void 0,
1913        metaBoxes: getAllMetaBoxes2()
1914      };
1915    })(MetaBoxesSection);
1916  
1917    // packages/edit-post/build-module/components/preferences-modal/index.mjs
1918    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
1919    var { PreferenceToggleControl } = unlock(import_preferences7.privateApis);
1920    var { PreferencesModal } = unlock(import_editor13.privateApis);
1921    function EditPostPreferencesModal() {
1922      const extraSections = {
1923        general: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(meta_boxes_section_default, { title: (0, import_i18n9.__)("Advanced") }),
1924        appearance: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1925          PreferenceToggleControl,
1926          {
1927            scope: "core/edit-post",
1928            featureName: "themeStyles",
1929            help: (0, import_i18n9.__)("Make the editor look like your theme."),
1930            label: (0, import_i18n9.__)("Use theme styles")
1931          }
1932        )
1933      };
1934      return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PreferencesModal, { extraSections });
1935    }
1936  
1937    // packages/edit-post/build-module/components/more-menu/index.mjs
1938    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
1939    var { ToolsMoreMenuGroup, ViewMoreMenuGroup } = unlock(import_editor14.privateApis);
1940    var MoreMenu = () => {
1941      const isLargeViewport = (0, import_compose2.useViewportMatch)("large");
1942      return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
1943        isLargeViewport && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ViewMoreMenuGroup, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1944          import_preferences8.PreferenceToggleMenuItem,
1945          {
1946            scope: "core/edit-post",
1947            name: "fullscreenMode",
1948            label: (0, import_i18n10.__)("Fullscreen mode"),
1949            info: (0, import_i18n10.__)("Show and hide the admin user interface"),
1950            messageActivated: (0, import_i18n10.__)("Fullscreen mode activated."),
1951            messageDeactivated: (0, import_i18n10.__)(
1952              "Fullscreen mode deactivated."
1953            ),
1954            shortcut: import_keycodes.displayShortcut.secondary("f")
1955          }
1956        ) }),
1957        /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(ToolsMoreMenuGroup, { children: [
1958          /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(manage_patterns_menu_item_default, {}),
1959          /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(WelcomeGuideMenuItem, {})
1960        ] }),
1961        /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(EditPostPreferencesModal, {})
1962      ] });
1963    };
1964    var more_menu_default = MoreMenu;
1965  
1966    // packages/edit-post/build-module/components/welcome-guide/index.mjs
1967    var import_data20 = __toESM(require_data(), 1);
1968  
1969    // packages/edit-post/build-module/components/welcome-guide/default.mjs
1970    var import_data18 = __toESM(require_data(), 1);
1971    var import_components7 = __toESM(require_components(), 1);
1972    var import_i18n11 = __toESM(require_i18n(), 1);
1973    var import_element9 = __toESM(require_element(), 1);
1974  
1975    // packages/edit-post/build-module/components/welcome-guide/image.mjs
1976    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
1977    function WelcomeGuideImage({ nonAnimatedSrc, animatedSrc }) {
1978      return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("picture", { className: "edit-post-welcome-guide__image", children: [
1979        /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1980          "source",
1981          {
1982            srcSet: nonAnimatedSrc,
1983            media: "(prefers-reduced-motion: reduce)"
1984          }
1985        ),
1986        /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("img", { src: animatedSrc, width: "312", height: "240", alt: "" })
1987      ] });
1988    }
1989  
1990    // packages/edit-post/build-module/components/welcome-guide/default.mjs
1991    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
1992    function WelcomeGuideDefault() {
1993      const { toggleFeature: toggleFeature2 } = (0, import_data18.useDispatch)(store);
1994      return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1995        import_components7.Guide,
1996        {
1997          className: "edit-post-welcome-guide",
1998          contentLabel: (0, import_i18n11.__)("Welcome to the editor"),
1999          finishButtonText: (0, import_i18n11.__)("Get started"),
2000          onFinish: () => toggleFeature2("welcomeGuide"),
2001          pages: [
2002            {
2003              image: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2004                WelcomeGuideImage,
2005                {
2006                  nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.svg",
2007                  animatedSrc: "https://s.w.org/images/block-editor/welcome-canvas.gif"
2008                }
2009              ),
2010              content: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
2011                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h1", { className: "edit-post-welcome-guide__heading", children: (0, import_i18n11.__)("Welcome to the editor") }),
2012                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "edit-post-welcome-guide__text", children: (0, import_i18n11.__)(
2013                  "In the WordPress editor, each paragraph, image, or video is presented as a distinct \u201Cblock\u201D of content."
2014                ) })
2015              ] })
2016            },
2017            {
2018              image: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2019                WelcomeGuideImage,
2020                {
2021                  nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-editor.svg",
2022                  animatedSrc: "https://s.w.org/images/block-editor/welcome-editor.gif"
2023                }
2024              ),
2025              content: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
2026                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h1", { className: "edit-post-welcome-guide__heading", children: (0, import_i18n11.__)("Customize each block") }),
2027                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "edit-post-welcome-guide__text", children: (0, import_i18n11.__)(
2028                  "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."
2029                ) })
2030              ] })
2031            },
2032            {
2033              image: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2034                WelcomeGuideImage,
2035                {
2036                  nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-library.svg",
2037                  animatedSrc: "https://s.w.org/images/block-editor/welcome-library.gif"
2038                }
2039              ),
2040              content: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
2041                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h1", { className: "edit-post-welcome-guide__heading", children: (0, import_i18n11.__)("Explore all blocks") }),
2042                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "edit-post-welcome-guide__text", children: (0, import_element9.createInterpolateElement)(
2043                  (0, import_i18n11.__)(
2044                    "All of the blocks available to you live in the block library. You\u2019ll find it wherever you see the <InserterIconImage /> icon."
2045                  ),
2046                  {
2047                    InserterIconImage: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2048                      "img",
2049                      {
2050                        alt: (0, import_i18n11.__)("inserter"),
2051                        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"
2052                      }
2053                    )
2054                  }
2055                ) })
2056              ] })
2057            },
2058            {
2059              image: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2060                WelcomeGuideImage,
2061                {
2062                  nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.svg",
2063                  animatedSrc: "https://s.w.org/images/block-editor/welcome-documentation.gif"
2064                }
2065              ),
2066              content: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
2067                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h1", { className: "edit-post-welcome-guide__heading", children: (0, import_i18n11.__)("Learn more") }),
2068                /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "edit-post-welcome-guide__text", children: (0, import_element9.createInterpolateElement)(
2069                  (0, import_i18n11.__)(
2070                    "New to the block editor? Want to learn more about using it? <a>Here's a detailed guide.</a>"
2071                  ),
2072                  {
2073                    a: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2074                      import_components7.ExternalLink,
2075                      {
2076                        href: (0, import_i18n11.__)(
2077                          "https://wordpress.org/documentation/article/wordpress-block-editor/"
2078                        )
2079                      }
2080                    )
2081                  }
2082                ) })
2083              ] })
2084            }
2085          ]
2086        }
2087      );
2088    }
2089  
2090    // packages/edit-post/build-module/components/welcome-guide/template.mjs
2091    var import_data19 = __toESM(require_data(), 1);
2092    var import_components8 = __toESM(require_components(), 1);
2093    var import_i18n12 = __toESM(require_i18n(), 1);
2094    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
2095    function WelcomeGuideTemplate() {
2096      const { toggleFeature: toggleFeature2 } = (0, import_data19.useDispatch)(store);
2097      return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2098        import_components8.Guide,
2099        {
2100          className: "edit-template-welcome-guide",
2101          contentLabel: (0, import_i18n12.__)("Welcome to the template editor"),
2102          finishButtonText: (0, import_i18n12.__)("Get started"),
2103          onFinish: () => toggleFeature2("welcomeGuideTemplate"),
2104          pages: [
2105            {
2106              image: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2107                WelcomeGuideImage,
2108                {
2109                  nonAnimatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.svg",
2110                  animatedSrc: "https://s.w.org/images/block-editor/welcome-template-editor.gif"
2111                }
2112              ),
2113              content: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [
2114                /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h1", { className: "edit-post-welcome-guide__heading", children: (0, import_i18n12.__)("Welcome to the template editor") }),
2115                /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "edit-post-welcome-guide__text", children: (0, import_i18n12.__)(
2116                  "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."
2117                ) })
2118              ] })
2119            }
2120          ]
2121        }
2122      );
2123    }
2124  
2125    // packages/edit-post/build-module/components/welcome-guide/index.mjs
2126    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
2127    function WelcomeGuide({ postType }) {
2128      const { isActive, isEditingTemplate: isEditingTemplate2 } = (0, import_data20.useSelect)(
2129        (select3) => {
2130          const { isFeatureActive: isFeatureActive2 } = select3(store);
2131          const _isEditingTemplate = postType === "wp_template";
2132          const feature = _isEditingTemplate ? "welcomeGuideTemplate" : "welcomeGuide";
2133          return {
2134            isActive: isFeatureActive2(feature),
2135            isEditingTemplate: _isEditingTemplate
2136          };
2137        },
2138        [postType]
2139      );
2140      if (!isActive) {
2141        return null;
2142      }
2143      return isEditingTemplate2 ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(WelcomeGuideTemplate, {}) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(WelcomeGuideDefault, {});
2144    }
2145  
2146    // packages/edit-post/build-module/commands/use-commands.mjs
2147    var import_data21 = __toESM(require_data(), 1);
2148    var import_i18n13 = __toESM(require_i18n(), 1);
2149    var import_commands = __toESM(require_commands(), 1);
2150    var import_preferences9 = __toESM(require_preferences(), 1);
2151    var import_notices2 = __toESM(require_notices(), 1);
2152    function useCommands() {
2153      const { isFullscreen } = (0, import_data21.useSelect)((select3) => {
2154        const { get } = select3(import_preferences9.store);
2155        return {
2156          isFullscreen: get("core/edit-post", "fullscreenMode")
2157        };
2158      }, []);
2159      const { toggle } = (0, import_data21.useDispatch)(import_preferences9.store);
2160      const { createInfoNotice } = (0, import_data21.useDispatch)(import_notices2.store);
2161      (0, import_commands.useCommand)({
2162        name: "core/toggle-fullscreen-mode",
2163        label: isFullscreen ? (0, import_i18n13.__)("Exit fullscreen") : (0, import_i18n13.__)("Enter fullscreen"),
2164        icon: fullscreen_default,
2165        category: "command",
2166        callback: ({ close }) => {
2167          toggle("core/edit-post", "fullscreenMode");
2168          close();
2169          createInfoNotice(
2170            isFullscreen ? (0, import_i18n13.__)("Fullscreen off.") : (0, import_i18n13.__)("Fullscreen on."),
2171            {
2172              id: "core/edit-post/toggle-fullscreen-mode/notice",
2173              type: "snackbar",
2174              actions: [
2175                {
2176                  label: (0, import_i18n13.__)("Undo"),
2177                  onClick: () => {
2178                    toggle("core/edit-post", "fullscreenMode");
2179                  }
2180                }
2181              ]
2182            }
2183          );
2184        }
2185      });
2186    }
2187  
2188    // packages/edit-post/build-module/components/layout/use-should-iframe.mjs
2189    var import_editor15 = __toESM(require_editor(), 1);
2190    var import_data22 = __toESM(require_data(), 1);
2191    var import_blocks2 = __toESM(require_blocks(), 1);
2192    var import_block_editor = __toESM(require_block_editor(), 1);
2193    var isGutenbergPlugin = false ? true : false;
2194    function useShouldIframe() {
2195      return (0, import_data22.useSelect)((select3) => {
2196        const { getCurrentPostType, getDeviceType } = select3(import_editor15.store);
2197        const { getClientIdsWithDescendants, getBlockName } = select3(import_block_editor.store);
2198        const { getBlockType } = select3(import_blocks2.store);
2199        return (
2200          // If the Gutenberg plugin is active, we ALWAYS use the iframe for
2201          // consistency across the post and site editor. We plan on enforcing
2202          // the iframe in the future, so Gutenberg both serves as way for us
2203          // to warn plugin developers and for plugin developers to test their
2204          // blocks easily. Before GB v22.5, we only enforced it for
2205          // block-based themes (classic themes used the same rules as core).
2206          isGutenbergPlugin || // We also still want to iframe all the special
2207          // editor features and modes such as device previews, zoom out, and
2208          // template/pattern editing.
2209          getDeviceType() !== "Desktop" || ["wp_template", "wp_block"].includes(getCurrentPostType()) || unlock(select3(import_block_editor.store)).isZoomOut() || // Finally, still iframe the editor if all present blocks are v3
2210          // (which means they are marked as iframe-compatible).
2211          [...new Set(getClientIdsWithDescendants().map(getBlockName))].map(getBlockType).filter(Boolean).every((blockType) => blockType.apiVersion >= 3)
2212        );
2213      }, []);
2214    }
2215  
2216    // packages/edit-post/build-module/hooks/use-navigate-to-entity-record.mjs
2217    var import_element10 = __toESM(require_element(), 1);
2218    var import_data23 = __toESM(require_data(), 1);
2219    var import_editor16 = __toESM(require_editor(), 1);
2220    var import_core_data6 = __toESM(require_core_data(), 1);
2221    function useNavigateToEntityRecord(initialPostId, initialPostType, defaultRenderingMode) {
2222      const registry = (0, import_data23.useRegistry)();
2223      const [postHistory, dispatch2] = (0, import_element10.useReducer)(
2224        (historyState, { type, post: post2, previousRenderingMode: previousRenderingMode2, selectedBlockClientId }) => {
2225          if (type === "push") {
2226            const updatedHistory = [...historyState];
2227            const currentIndex = updatedHistory.length - 1;
2228            updatedHistory[currentIndex] = {
2229              ...updatedHistory[currentIndex],
2230              selectedBlockClientId
2231            };
2232            return [...updatedHistory, { post: post2, previousRenderingMode: previousRenderingMode2 }];
2233          }
2234          if (type === "pop") {
2235            if (historyState.length > 1) {
2236              return historyState.slice(0, -1);
2237            }
2238          }
2239          return historyState;
2240        },
2241        [
2242          {
2243            post: { postId: initialPostId, postType: initialPostType }
2244          }
2245        ]
2246      );
2247      const { post, previousRenderingMode } = postHistory[postHistory.length - 1];
2248      const { getRenderingMode } = (0, import_data23.useSelect)(import_editor16.store);
2249      const { setRenderingMode } = (0, import_data23.useDispatch)(import_editor16.store);
2250      const { editEntityRecord } = (0, import_data23.useDispatch)(import_core_data6.store);
2251      const onNavigateToEntityRecord = (0, import_element10.useCallback)(
2252        (params) => {
2253          const entityEdits = registry.select(import_core_data6.store).getEntityRecordEdits("postType", post.postType, post.postId);
2254          const externalClientId = entityEdits?.selection?.selectionStart?.clientId ?? null;
2255          dispatch2({
2256            type: "push",
2257            post: { postId: params.postId, postType: params.postType },
2258            // Save the current rendering mode so we can restore it when navigating back.
2259            previousRenderingMode: getRenderingMode(),
2260            selectedBlockClientId: externalClientId
2261          });
2262          setRenderingMode(defaultRenderingMode);
2263        },
2264        [
2265          registry,
2266          post.postType,
2267          post.postId,
2268          getRenderingMode,
2269          setRenderingMode,
2270          defaultRenderingMode
2271        ]
2272      );
2273      const onNavigateToPreviousEntityRecord = (0, import_element10.useCallback)(() => {
2274        if (postHistory.length > 1) {
2275          const previousItem = postHistory[postHistory.length - 2];
2276          if (previousItem.selectedBlockClientId) {
2277            editEntityRecord(
2278              "postType",
2279              previousItem.post.postType,
2280              previousItem.post.postId,
2281              {
2282                selection: {
2283                  selectionStart: {
2284                    clientId: previousItem.selectedBlockClientId
2285                  },
2286                  selectionEnd: {
2287                    clientId: previousItem.selectedBlockClientId
2288                  }
2289                }
2290              },
2291              { undoIgnore: true }
2292            );
2293          }
2294        }
2295        dispatch2({
2296          type: "pop"
2297        });
2298        if (previousRenderingMode) {
2299          setRenderingMode(previousRenderingMode);
2300        }
2301      }, [
2302        setRenderingMode,
2303        previousRenderingMode,
2304        postHistory,
2305        editEntityRecord
2306      ]);
2307      return {
2308        currentPost: post,
2309        onNavigateToEntityRecord,
2310        onNavigateToPreviousEntityRecord: postHistory.length > 1 ? onNavigateToPreviousEntityRecord : void 0
2311      };
2312    }
2313  
2314    // packages/edit-post/build-module/components/meta-boxes/use-meta-box-initialization.mjs
2315    var import_data24 = __toESM(require_data(), 1);
2316    var import_editor17 = __toESM(require_editor(), 1);
2317    var import_core_data7 = __toESM(require_core_data(), 1);
2318    var import_element11 = __toESM(require_element(), 1);
2319    var useMetaBoxInitialization = (enabled) => {
2320      const {
2321        isEnabledAndEditorReady,
2322        isCollaborationEnabled,
2323        hasIncompatibleMetaBoxes,
2324        hasActiveMetaBoxes
2325      } = (0, import_data24.useSelect)(
2326        (select3) => {
2327          const {
2328            __unstableIsEditorReady,
2329            isCollaborationEnabledForCurrentPost
2330          } = unlock(select3(import_editor17.store));
2331          return {
2332            isEnabledAndEditorReady: enabled && __unstableIsEditorReady(),
2333            isCollaborationEnabled: isCollaborationEnabledForCurrentPost(),
2334            hasIncompatibleMetaBoxes: enabled ? select3(store).getAllMetaBoxes().some((metaBox) => !metaBox.__rtc_compatible) : false,
2335            hasActiveMetaBoxes: enabled && select3(store).hasMetaBoxes()
2336          };
2337        },
2338        [enabled]
2339      );
2340      const { setCollaborationSupported } = unlock((0, import_data24.useDispatch)(import_core_data7.store));
2341      const { updateEditorSettings } = (0, import_data24.useDispatch)(import_editor17.store);
2342      const { initializeMetaBoxes: initializeMetaBoxes2 } = (0, import_data24.useDispatch)(store);
2343      (0, import_element11.useEffect)(() => {
2344        if (isEnabledAndEditorReady) {
2345          initializeMetaBoxes2();
2346          if (isCollaborationEnabled && hasIncompatibleMetaBoxes) {
2347            setCollaborationSupported(false);
2348          }
2349          if (hasActiveMetaBoxes) {
2350            updateEditorSettings({ disableVisualRevisions: true });
2351          }
2352        }
2353      }, [
2354        isEnabledAndEditorReady,
2355        initializeMetaBoxes2,
2356        isCollaborationEnabled,
2357        setCollaborationSupported,
2358        hasIncompatibleMetaBoxes,
2359        hasActiveMetaBoxes,
2360        updateEditorSettings
2361      ]);
2362    };
2363  
2364    // packages/edit-post/build-module/components/layout/index.mjs
2365    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
2366    var { useCommandContext } = unlock(import_commands2.privateApis);
2367    var { useDrag } = unlock(import_components9.privateApis);
2368    var { Editor, FullscreenMode } = unlock(import_editor18.privateApis);
2369    var { BlockKeyboardShortcuts } = unlock(import_block_library.privateApis);
2370    var DESIGN_POST_TYPES = [
2371      "wp_template",
2372      "wp_template_part",
2373      "wp_block",
2374      "wp_navigation"
2375    ];
2376    function useEditorStyles(settings) {
2377      const { hasThemeStyleSupport } = (0, import_data25.useSelect)((select3) => {
2378        return {
2379          hasThemeStyleSupport: select3(store).isFeatureActive("themeStyles")
2380        };
2381      }, []);
2382      return (0, import_element12.useMemo)(() => {
2383        const presetStyles = settings.styles?.filter(
2384          (style) => style.__unstableType && style.__unstableType !== "theme"
2385        ) ?? [];
2386        const defaultEditorStyles = [
2387          ...settings?.defaultEditorStyles ?? [],
2388          ...presetStyles
2389        ];
2390        const hasThemeStyles = hasThemeStyleSupport && presetStyles.length !== (settings.styles?.length ?? 0);
2391        if (!settings.disableLayoutStyles && !hasThemeStyles) {
2392          defaultEditorStyles.push({
2393            css: getLayoutStyles({
2394              style: {},
2395              selector: "body",
2396              hasBlockGapSupport: false,
2397              hasFallbackGapSupport: true,
2398              fallbackGapValue: "0.5em"
2399            })
2400          });
2401        }
2402        return hasThemeStyles ? settings.styles ?? [] : defaultEditorStyles;
2403      }, [
2404        settings.defaultEditorStyles,
2405        settings.disableLayoutStyles,
2406        settings.styles,
2407        hasThemeStyleSupport
2408      ]);
2409    }
2410    function MetaBoxesMain({ isLegacy }) {
2411      const [isOpen, openHeight, hasAnyVisible] = (0, import_data25.useSelect)((select3) => {
2412        const { get } = select3(import_preferences10.store);
2413        const { isMetaBoxLocationVisible: isMetaBoxLocationVisible2 } = select3(store);
2414        return [
2415          !!get("core/edit-post", "metaBoxesMainIsOpen"),
2416          get("core/edit-post", "metaBoxesMainOpenHeight"),
2417          isMetaBoxLocationVisible2("normal") || isMetaBoxLocationVisible2("advanced") || isMetaBoxLocationVisible2("side")
2418        ];
2419      }, []);
2420      const { set: setPreference } = (0, import_data25.useDispatch)(import_preferences10.store);
2421      const isShort = (0, import_compose3.useMediaQuery)("(max-height: 549px)");
2422      const [{ min = 0, max }, setHeightConstraints] = (0, import_element12.useState)(() => ({}));
2423      const effectSizeConstraints = (0, import_compose3.useRefEffect)((node) => {
2424        const container = node.closest(
2425          ".interface-interface-skeleton__content"
2426        );
2427        if (!container) {
2428          return;
2429        }
2430        const noticeLists = container.querySelectorAll(
2431          ":scope > .components-notice-list"
2432        );
2433        const resizeHandle = container.querySelector(
2434          ".edit-post-meta-boxes-main__presenter"
2435        );
2436        const deriveConstraints = () => {
2437          const fullHeight = container.offsetHeight;
2438          let nextMax = fullHeight;
2439          for (const element of noticeLists) {
2440            nextMax -= element.offsetHeight;
2441          }
2442          const nextMin = resizeHandle.offsetHeight;
2443          setHeightConstraints({ min: nextMin, max: nextMax });
2444        };
2445        const observer = new window.ResizeObserver(deriveConstraints);
2446        observer.observe(container);
2447        for (const element of noticeLists) {
2448          observer.observe(element);
2449        }
2450        return () => observer.disconnect();
2451      }, []);
2452      const metaBoxesMainRef = (0, import_element12.useRef)();
2453      const setMainRefs = (0, import_compose3.useMergeRefs)([
2454        metaBoxesMainRef,
2455        effectSizeConstraints
2456      ]);
2457      const separatorRef = (0, import_element12.useRef)();
2458      const separatorHelpId = (0, import_element12.useId)();
2459      const heightRef = (0, import_element12.useRef)();
2460      const applyHeight = (candidateHeight = "auto", isPersistent) => {
2461        let styleHeight;
2462        if (candidateHeight === "auto") {
2463          isPersistent = false;
2464          styleHeight = candidateHeight;
2465        } else {
2466          candidateHeight = Math.min(max, Math.max(min, candidateHeight));
2467          heightRef.current = candidateHeight;
2468          styleHeight = `$candidateHeight}px`;
2469        }
2470        if (isPersistent) {
2471          setPreference(
2472            "core/edit-post",
2473            "metaBoxesMainOpenHeight",
2474            candidateHeight
2475          );
2476        } else {
2477          metaBoxesMainRef.current.style.height = styleHeight;
2478          if (!isShort) {
2479            separatorRef.current.ariaValueNow = getAriaValueNow(candidateHeight);
2480          }
2481        }
2482      };
2483      const bindDragGesture = useDrag(
2484        ({ movement, first, last, memo, tap, args }) => {
2485          const pane = metaBoxesMainRef.current;
2486          const [, yMovement] = movement;
2487          if (first) {
2488            pane.classList.add("is-resizing");
2489            let fromHeight = heightRef.current ?? pane.offsetHeight;
2490            if (isOpen) {
2491              if (fromHeight > max) {
2492                fromHeight = max;
2493              }
2494            } else {
2495              fromHeight = min;
2496            }
2497            applyHeight(fromHeight - yMovement);
2498            return { fromHeight };
2499          }
2500          if (!first && !last && !tap) {
2501            applyHeight(memo.fromHeight - yMovement);
2502            return memo;
2503          }
2504          pane.classList.remove("is-resizing");
2505          if (tap) {
2506            const [onTap] = args;
2507            onTap?.();
2508            return;
2509          }
2510          const nextIsOpen = heightRef.current > min;
2511          persistIsOpen(nextIsOpen);
2512          applyHeight(heightRef.current, nextIsOpen);
2513        },
2514        { keyboardDisplacement: 20, filterTaps: true }
2515      );
2516      if (!hasAnyVisible) {
2517        return;
2518      }
2519      const contents = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2520        "div",
2521        {
2522          className: "edit-post-layout__metaboxes edit-post-meta-boxes-main__liner",
2523          hidden: !isLegacy && !isOpen,
2524          children: [
2525            /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MetaBoxes, { location: "normal" }),
2526            /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MetaBoxes, { location: "advanced" })
2527          ]
2528        }
2529      );
2530      if (isLegacy) {
2531        return contents;
2532      }
2533      const isAutoHeight = openHeight === void 0;
2534      const usedOpenHeight = isShort ? "auto" : openHeight;
2535      const usedHeight = isOpen ? usedOpenHeight : min;
2536      const getAriaValueNow = (height) => Math.round((height - min) / (max - min) * 100);
2537      const usedAriaValueNow = max === void 0 || isAutoHeight ? 50 : getAriaValueNow(usedHeight);
2538      const persistIsOpen = (to = !isOpen) => setPreference("core/edit-post", "metaBoxesMainIsOpen", to);
2539      const paneLabel = (0, import_i18n14.__)("Meta Boxes");
2540      const toggle = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2541        "button",
2542        {
2543          "aria-expanded": isOpen,
2544          onClick: ({ detail }) => {
2545            if (isShort || !detail) {
2546              persistIsOpen();
2547            }
2548          },
2549          ...!isShort && bindDragGesture(persistIsOpen),
2550          children: [
2551            paneLabel,
2552            /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_components9.Icon, { icon: isOpen ? chevron_up_default : chevron_down_default })
2553          ]
2554        }
2555      );
2556      const separator = !isShort && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
2557        /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_components9.Tooltip, { text: (0, import_i18n14.__)("Drag to resize"), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2558          "button",
2559          {
2560            ref: separatorRef,
2561            role: "separator",
2562            "aria-valuenow": usedAriaValueNow,
2563            "aria-label": (0, import_i18n14.__)("Drag to resize"),
2564            "aria-describedby": separatorHelpId,
2565            ...bindDragGesture()
2566          }
2567        ) }),
2568        /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_components9.VisuallyHidden, { id: separatorHelpId, children: (0, import_i18n14.__)(
2569          "Use up and down arrow keys to resize the meta box pane."
2570        ) })
2571      ] });
2572      return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2573        navigable_region_default,
2574        {
2575          "aria-label": paneLabel,
2576          ref: setMainRefs,
2577          className: clsx_default(
2578            "edit-post-meta-boxes-main",
2579            !isShort && "is-resizable"
2580          ),
2581          style: { height: usedHeight },
2582          children: [
2583            /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "edit-post-meta-boxes-main__presenter", children: [
2584              toggle,
2585              separator
2586            ] }),
2587            contents
2588          ]
2589        }
2590      );
2591    }
2592    function Layout({
2593      postId: initialPostId,
2594      postType: initialPostType,
2595      settings,
2596      initialEdits
2597    }) {
2598      useCommands();
2599      const shouldIframe = useShouldIframe();
2600      const { createErrorNotice } = (0, import_data25.useDispatch)(import_notices3.store);
2601      const {
2602        currentPost: { postId: currentPostId, postType: currentPostType },
2603        onNavigateToEntityRecord,
2604        onNavigateToPreviousEntityRecord
2605      } = useNavigateToEntityRecord(
2606        initialPostId,
2607        initialPostType,
2608        "post-only"
2609      );
2610      const isEditingTemplate2 = currentPostType === "wp_template";
2611      const {
2612        mode,
2613        isFullscreenActive,
2614        hasResolvedMode,
2615        hasActiveMetaboxes,
2616        hasBlockSelected,
2617        showIconLabels,
2618        isDistractionFree,
2619        showMetaBoxes,
2620        isWelcomeGuideVisible,
2621        templateId,
2622        isDevicePreview
2623      } = (0, import_data25.useSelect)(
2624        (select3) => {
2625          const { get } = select3(import_preferences10.store);
2626          const { isFeatureActive: isFeatureActive2, hasMetaBoxes: hasMetaBoxes2 } = select3(store);
2627          const { canUser, getPostType, getTemplateId } = unlock(
2628            select3(import_core_data8.store)
2629          );
2630          const supportsTemplateMode = settings.supportsTemplateMode;
2631          const isViewable = getPostType(currentPostType)?.viewable ?? false;
2632          const canViewTemplate = canUser("read", {
2633            kind: "postType",
2634            name: "wp_template"
2635          });
2636          const { getBlockSelectionStart, isZoomOut } = unlock(
2637            select3(import_block_editor2.store)
2638          );
2639          const { getEditorMode: getEditorMode2, getDefaultRenderingMode, getDeviceType } = unlock(select3(import_editor18.store));
2640          const isNotDesignPostType = !DESIGN_POST_TYPES.includes(currentPostType);
2641          const isDirectlyEditingPattern = currentPostType === "wp_block" && !onNavigateToPreviousEntityRecord;
2642          const _templateId = getTemplateId(currentPostType, currentPostId);
2643          const defaultMode = getDefaultRenderingMode(currentPostType);
2644          return {
2645            mode: getEditorMode2(),
2646            isFullscreenActive: isFeatureActive2("fullscreenMode"),
2647            hasActiveMetaboxes: hasMetaBoxes2(),
2648            hasResolvedMode: defaultMode === "template-locked" ? !!_templateId : defaultMode !== void 0,
2649            hasBlockSelected: !!getBlockSelectionStart(),
2650            showIconLabels: get("core", "showIconLabels"),
2651            isDistractionFree: get("core", "distractionFree"),
2652            showMetaBoxes: isNotDesignPostType && !isZoomOut() || isDirectlyEditingPattern,
2653            isWelcomeGuideVisible: isFeatureActive2("welcomeGuide"),
2654            templateId: supportsTemplateMode && isViewable && canViewTemplate && !isEditingTemplate2 ? _templateId : null,
2655            isDevicePreview: getDeviceType() !== "Desktop"
2656          };
2657        },
2658        [
2659          currentPostType,
2660          currentPostId,
2661          isEditingTemplate2,
2662          settings.supportsTemplateMode,
2663          onNavigateToPreviousEntityRecord
2664        ]
2665      );
2666      useMetaBoxInitialization(hasActiveMetaboxes && hasResolvedMode);
2667      const commandContext = hasBlockSelected ? "block-selection-edit" : "entity-edit";
2668      useCommandContext(commandContext);
2669      const styles = useEditorStyles(settings);
2670      const editorSettings = (0, import_element12.useMemo)(
2671        () => ({
2672          ...settings,
2673          styles,
2674          onNavigateToEntityRecord,
2675          onNavigateToPreviousEntityRecord,
2676          defaultRenderingMode: "post-only"
2677        }),
2678        [
2679          settings,
2680          styles,
2681          onNavigateToEntityRecord,
2682          onNavigateToPreviousEntityRecord
2683        ]
2684      );
2685      if (showIconLabels) {
2686        document.body.classList.add("show-icon-labels");
2687      } else {
2688        document.body.classList.remove("show-icon-labels");
2689      }
2690      const navigateRegionsProps = (0, import_components9.__unstableUseNavigateRegions)();
2691      const className = clsx_default("edit-post-layout", "is-mode-" + mode, {
2692        "has-metaboxes": hasActiveMetaboxes
2693      });
2694      function onPluginAreaError(name) {
2695        createErrorNotice(
2696          (0, import_i18n14.sprintf)(
2697            /* translators: %s: plugin name */
2698            (0, import_i18n14.__)(
2699              'The "%s" plugin has encountered an error and cannot be rendered.'
2700            ),
2701            name
2702          )
2703        );
2704      }
2705      const { createSuccessNotice } = (0, import_data25.useDispatch)(import_notices3.store);
2706      const onActionPerformed = (0, import_element12.useCallback)(
2707        (actionId, items) => {
2708          switch (actionId) {
2709            case "move-to-trash":
2710              {
2711                document.location.href = (0, import_url5.addQueryArgs)("edit.php", {
2712                  trashed: 1,
2713                  post_type: items[0].type,
2714                  ids: items[0].id
2715                });
2716              }
2717              break;
2718            case "duplicate-post":
2719              {
2720                const newItem = items[0];
2721                const title = typeof newItem.title === "string" ? newItem.title : newItem.title?.rendered;
2722                createSuccessNotice(
2723                  (0, import_i18n14.sprintf)(
2724                    // translators: %s: Title of the created post or template, e.g: "Hello world".
2725                    (0, import_i18n14.__)('"%s" successfully created.'),
2726                    (0, import_html_entities.decodeEntities)(title) || (0, import_i18n14.__)("(no title)")
2727                  ),
2728                  {
2729                    type: "snackbar",
2730                    id: "duplicate-post-action",
2731                    actions: [
2732                      {
2733                        label: (0, import_i18n14.__)("Edit"),
2734                        onClick: () => {
2735                          const postId = newItem.id;
2736                          document.location.href = (0, import_url5.addQueryArgs)("post.php", {
2737                            post: postId,
2738                            action: "edit"
2739                          });
2740                        }
2741                      }
2742                    ]
2743                  }
2744                );
2745              }
2746              break;
2747          }
2748        },
2749        [createSuccessNotice]
2750      );
2751      const initialPost = (0, import_element12.useMemo)(() => {
2752        return {
2753          type: initialPostType,
2754          id: initialPostId
2755        };
2756      }, [initialPostType, initialPostId]);
2757      const backButton = (0, import_compose3.useViewportMatch)("medium") && isFullscreenActive ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(back_button_default, { initialPost }) : null;
2758      return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_components9.SlotFillProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_editor18.ErrorBoundary, { canCopyContent: true, children: [
2759        /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(WelcomeGuide, { postType: currentPostType }),
2760        /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
2761          "div",
2762          {
2763            className: navigateRegionsProps.className,
2764            ...navigateRegionsProps,
2765            ref: navigateRegionsProps.ref,
2766            children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
2767              Editor,
2768              {
2769                settings: editorSettings,
2770                initialEdits,
2771                postType: currentPostType,
2772                postId: currentPostId,
2773                templateId,
2774                className,
2775                forceIsDirty: hasActiveMetaboxes,
2776                disableIframe: !shouldIframe,
2777                autoFocus: !isWelcomeGuideVisible,
2778                onActionPerformed,
2779                extraSidebarPanels: showMetaBoxes && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MetaBoxes, { location: "side" }),
2780                extraContent: !isDistractionFree && showMetaBoxes && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MetaBoxesMain, { isLegacy: isDevicePreview }),
2781                children: [
2782                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_editor18.PostLockedModal, {}),
2783                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(EditorInitialization, {}),
2784                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(FullscreenMode, { isActive: isFullscreenActive }),
2785                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(BrowserURL, {}),
2786                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_editor18.UnsavedChangesWarning, {}),
2787                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_editor18.AutosaveMonitor, {}),
2788                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_editor18.LocalAutosaveMonitor, {}),
2789                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(keyboard_shortcuts_default, {}),
2790                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_editor18.EditorKeyboardShortcutsRegister, {}),
2791                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(BlockKeyboardShortcuts, {}),
2792                  currentPostType === "wp_block" && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(InitPatternModal, {}),
2793                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_plugins.PluginArea, { onError: onPluginAreaError }),
2794                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(more_menu_default, {}),
2795                  backButton,
2796                  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_notices3.SnackbarNotices, { className: "edit-post-layout__snackbar" })
2797                ]
2798              }
2799            )
2800          }
2801        )
2802      ] }) });
2803    }
2804    var layout_default = Layout;
2805  
2806    // packages/edit-post/build-module/deprecated.mjs
2807    var import_editor19 = __toESM(require_editor(), 1);
2808    var import_url6 = __toESM(require_url(), 1);
2809    var import_deprecated3 = __toESM(require_deprecated(), 1);
2810    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
2811    var { PluginPostExcerpt } = unlock(import_editor19.privateApis);
2812    var isSiteEditor = (0, import_url6.getPath)(window.location.href)?.includes(
2813      "site-editor.php"
2814    );
2815    var deprecateSlot = (name) => {
2816      (0, import_deprecated3.default)(`wp.editPost.$name}`, {
2817        since: "6.6",
2818        alternative: `wp.editor.$name}`
2819      });
2820    };
2821    function PluginBlockSettingsMenuItem(props) {
2822      if (isSiteEditor) {
2823        return null;
2824      }
2825      deprecateSlot("PluginBlockSettingsMenuItem");
2826      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginBlockSettingsMenuItem, { ...props });
2827    }
2828    function PluginDocumentSettingPanel(props) {
2829      if (isSiteEditor) {
2830        return null;
2831      }
2832      deprecateSlot("PluginDocumentSettingPanel");
2833      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginDocumentSettingPanel, { ...props });
2834    }
2835    function PluginMoreMenuItem(props) {
2836      if (isSiteEditor) {
2837        return null;
2838      }
2839      deprecateSlot("PluginMoreMenuItem");
2840      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginMoreMenuItem, { ...props });
2841    }
2842    function PluginPrePublishPanel(props) {
2843      if (isSiteEditor) {
2844        return null;
2845      }
2846      deprecateSlot("PluginPrePublishPanel");
2847      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginPrePublishPanel, { ...props });
2848    }
2849    function PluginPostPublishPanel(props) {
2850      if (isSiteEditor) {
2851        return null;
2852      }
2853      deprecateSlot("PluginPostPublishPanel");
2854      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginPostPublishPanel, { ...props });
2855    }
2856    function PluginPostStatusInfo(props) {
2857      if (isSiteEditor) {
2858        return null;
2859      }
2860      deprecateSlot("PluginPostStatusInfo");
2861      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginPostStatusInfo, { ...props });
2862    }
2863    function PluginSidebar(props) {
2864      if (isSiteEditor) {
2865        return null;
2866      }
2867      deprecateSlot("PluginSidebar");
2868      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginSidebar, { ...props });
2869    }
2870    function PluginSidebarMoreMenuItem(props) {
2871      if (isSiteEditor) {
2872        return null;
2873      }
2874      deprecateSlot("PluginSidebarMoreMenuItem");
2875      return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_editor19.PluginSidebarMoreMenuItem, { ...props });
2876    }
2877    function __experimentalPluginPostExcerpt() {
2878      if (isSiteEditor) {
2879        return null;
2880      }
2881      (0, import_deprecated3.default)("wp.editPost.__experimentalPluginPostExcerpt", {
2882        since: "6.6",
2883        hint: "Core and custom panels can be access programmatically using their panel name.",
2884        link: "https://developer.wordpress.org/block-editor/reference-guides/slotfills/plugin-document-setting-panel/#accessing-a-panel-programmatically"
2885      });
2886      return PluginPostExcerpt;
2887    }
2888  
2889    // packages/edit-post/build-module/index.mjs
2890    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
2891    var {
2892      BackButton: __experimentalMainDashboardButton,
2893      registerCoreBlockBindingsSources
2894    } = unlock(import_editor20.privateApis);
2895    function initializeEditor(id, postType, postId, settings, initialEdits) {
2896      const isMediumOrBigger = window.matchMedia("(min-width: 782px)").matches;
2897      const target = document.getElementById(id);
2898      const root = (0, import_element13.createRoot)(target);
2899      (0, import_data26.dispatch)(import_preferences11.store).setDefaults("core/edit-post", {
2900        fullscreenMode: true,
2901        themeStyles: true,
2902        welcomeGuide: true,
2903        welcomeGuideTemplate: true
2904      });
2905      (0, import_data26.dispatch)(import_preferences11.store).setDefaults("core", {
2906        allowRightClickOverrides: true,
2907        editorMode: "visual",
2908        editorTool: "edit",
2909        fixedToolbar: false,
2910        hiddenBlockTypes: [],
2911        inactivePanels: [],
2912        openPanels: ["post-status"],
2913        showBlockBreadcrumbs: true,
2914        showIconLabels: false,
2915        showListViewByDefault: false,
2916        enableChoosePatternModal: true,
2917        isPublishSidebarEnabled: true,
2918        showCollaborationCursor: false,
2919        showCollaborationNotifications: true
2920      });
2921      if (window.__clientSideMediaProcessing) {
2922        (0, import_data26.dispatch)(import_preferences11.store).setDefaults("core/media", {
2923          requireApproval: true,
2924          optimizeOnUpload: true
2925        });
2926      }
2927      (0, import_data26.dispatch)(import_blocks3.store).reapplyBlockTypeFilters();
2928      if (isMediumOrBigger && (0, import_data26.select)(import_preferences11.store).get("core", "showListViewByDefault") && !(0, import_data26.select)(import_preferences11.store).get("core", "distractionFree")) {
2929        (0, import_data26.dispatch)(import_editor20.store).setIsListViewOpened(true);
2930      }
2931      (0, import_block_library2.registerCoreBlocks)();
2932      registerCoreBlockBindingsSources();
2933      (0, import_widgets.registerLegacyWidgetBlock)({ inserter: false });
2934      (0, import_widgets.registerWidgetGroupBlock)({ inserter: false });
2935      if (false) {
2936        (0, import_block_library2.__experimentalRegisterExperimentalCoreBlocks)({
2937          enableFSEBlocks: settings.__unstableEnableFullSiteEditingBlocks
2938        });
2939      }
2940      const documentMode = document.compatMode === "CSS1Compat" ? "Standards" : "Quirks";
2941      if (documentMode !== "Standards") {
2942        console.warn(
2943          "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."
2944        );
2945      }
2946      const isIphone = window.navigator.userAgent.indexOf("iPhone") !== -1;
2947      if (isIphone) {
2948        window.addEventListener("scroll", (event) => {
2949          const editorScrollContainer = document.getElementsByClassName(
2950            "interface-interface-skeleton__body"
2951          )[0];
2952          if (event.target === document) {
2953            if (window.scrollY > 100) {
2954              editorScrollContainer.scrollTop = editorScrollContainer.scrollTop + window.scrollY;
2955            }
2956            if (document.getElementsByClassName("is-mode-visual")[0]) {
2957              window.scrollTo(0, 0);
2958            }
2959          }
2960        });
2961      }
2962      window.addEventListener("dragover", (e) => e.preventDefault(), false);
2963      window.addEventListener("drop", (e) => e.preventDefault(), false);
2964      root.render(
2965        /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_element13.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2966          layout_default,
2967          {
2968            settings,
2969            postId,
2970            postType,
2971            initialEdits
2972          }
2973        ) })
2974      );
2975      return root;
2976    }
2977    function reinitializeEditor() {
2978      (0, import_deprecated4.default)("wp.editPost.reinitializeEditor", {
2979        since: "6.2",
2980        version: "6.3"
2981      });
2982    }
2983    return __toCommonJS(index_exports);
2984  })();


Generated : Thu Jun 25 08:20:12 2026 Cross-referenced by PHPXref