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