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