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