[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 /******/ (() => { // webpackBootstrap 2 /******/ var __webpack_modules__ = ({ 3 4 /***/ 3533: 5 /***/ ((module) => { 6 7 "use strict"; 8 module.exports = window["wp"]["latexToMathml"]; 9 10 /***/ }), 11 12 /***/ 7734: 13 /***/ ((module) => { 14 15 "use strict"; 16 17 18 // do not edit .js files directly - edit src/index.jst 19 20 21 var envHasBigInt64Array = typeof BigInt64Array !== 'undefined'; 22 23 24 module.exports = function equal(a, b) { 25 if (a === b) return true; 26 27 if (a && b && typeof a == 'object' && typeof b == 'object') { 28 if (a.constructor !== b.constructor) return false; 29 30 var length, i, keys; 31 if (Array.isArray(a)) { 32 length = a.length; 33 if (length != b.length) return false; 34 for (i = length; i-- !== 0;) 35 if (!equal(a[i], b[i])) return false; 36 return true; 37 } 38 39 40 if ((a instanceof Map) && (b instanceof Map)) { 41 if (a.size !== b.size) return false; 42 for (i of a.entries()) 43 if (!b.has(i[0])) return false; 44 for (i of a.entries()) 45 if (!equal(i[1], b.get(i[0]))) return false; 46 return true; 47 } 48 49 if ((a instanceof Set) && (b instanceof Set)) { 50 if (a.size !== b.size) return false; 51 for (i of a.entries()) 52 if (!b.has(i[0])) return false; 53 return true; 54 } 55 56 if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { 57 length = a.length; 58 if (length != b.length) return false; 59 for (i = length; i-- !== 0;) 60 if (a[i] !== b[i]) return false; 61 return true; 62 } 63 64 65 if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; 66 if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); 67 if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); 68 69 keys = Object.keys(a); 70 length = keys.length; 71 if (length !== Object.keys(b).length) return false; 72 73 for (i = length; i-- !== 0;) 74 if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; 75 76 for (i = length; i-- !== 0;) { 77 var key = keys[i]; 78 79 if (!equal(a[key], b[key])) return false; 80 } 81 82 return true; 83 } 84 85 // true if both NaN, false otherwise 86 return a!==a && b!==b; 87 }; 88 89 90 /***/ }), 91 92 /***/ 9681: 93 /***/ ((module) => { 94 95 var characterMap = { 96 "À": "A", 97 "Á": "A", 98 "Â": "A", 99 "Ã": "A", 100 "Ä": "A", 101 "Å": "A", 102 "Ấ": "A", 103 "Ắ": "A", 104 "Ẳ": "A", 105 "Ẵ": "A", 106 "Ặ": "A", 107 "Æ": "AE", 108 "Ầ": "A", 109 "Ằ": "A", 110 "Ȃ": "A", 111 "Ả": "A", 112 "Ạ": "A", 113 "Ẩ": "A", 114 "Ẫ": "A", 115 "Ậ": "A", 116 "Ç": "C", 117 "Ḉ": "C", 118 "È": "E", 119 "É": "E", 120 "Ê": "E", 121 "Ë": "E", 122 "Ế": "E", 123 "Ḗ": "E", 124 "Ề": "E", 125 "Ḕ": "E", 126 "Ḝ": "E", 127 "Ȇ": "E", 128 "Ẻ": "E", 129 "Ẽ": "E", 130 "Ẹ": "E", 131 "Ể": "E", 132 "Ễ": "E", 133 "Ệ": "E", 134 "Ì": "I", 135 "Í": "I", 136 "Î": "I", 137 "Ï": "I", 138 "Ḯ": "I", 139 "Ȋ": "I", 140 "Ỉ": "I", 141 "Ị": "I", 142 "Ð": "D", 143 "Ñ": "N", 144 "Ò": "O", 145 "Ó": "O", 146 "Ô": "O", 147 "Õ": "O", 148 "Ö": "O", 149 "Ø": "O", 150 "Ố": "O", 151 "Ṍ": "O", 152 "Ṓ": "O", 153 "Ȏ": "O", 154 "Ỏ": "O", 155 "Ọ": "O", 156 "Ổ": "O", 157 "Ỗ": "O", 158 "Ộ": "O", 159 "Ờ": "O", 160 "Ở": "O", 161 "Ỡ": "O", 162 "Ớ": "O", 163 "Ợ": "O", 164 "Ù": "U", 165 "Ú": "U", 166 "Û": "U", 167 "Ü": "U", 168 "Ủ": "U", 169 "Ụ": "U", 170 "Ử": "U", 171 "Ữ": "U", 172 "Ự": "U", 173 "Ý": "Y", 174 "à": "a", 175 "á": "a", 176 "â": "a", 177 "ã": "a", 178 "ä": "a", 179 "å": "a", 180 "ấ": "a", 181 "ắ": "a", 182 "ẳ": "a", 183 "ẵ": "a", 184 "ặ": "a", 185 "æ": "ae", 186 "ầ": "a", 187 "ằ": "a", 188 "ȃ": "a", 189 "ả": "a", 190 "ạ": "a", 191 "ẩ": "a", 192 "ẫ": "a", 193 "ậ": "a", 194 "ç": "c", 195 "ḉ": "c", 196 "è": "e", 197 "é": "e", 198 "ê": "e", 199 "ë": "e", 200 "ế": "e", 201 "ḗ": "e", 202 "ề": "e", 203 "ḕ": "e", 204 "ḝ": "e", 205 "ȇ": "e", 206 "ẻ": "e", 207 "ẽ": "e", 208 "ẹ": "e", 209 "ể": "e", 210 "ễ": "e", 211 "ệ": "e", 212 "ì": "i", 213 "í": "i", 214 "î": "i", 215 "ï": "i", 216 "ḯ": "i", 217 "ȋ": "i", 218 "ỉ": "i", 219 "ị": "i", 220 "ð": "d", 221 "ñ": "n", 222 "ò": "o", 223 "ó": "o", 224 "ô": "o", 225 "õ": "o", 226 "ö": "o", 227 "ø": "o", 228 "ố": "o", 229 "ṍ": "o", 230 "ṓ": "o", 231 "ȏ": "o", 232 "ỏ": "o", 233 "ọ": "o", 234 "ổ": "o", 235 "ỗ": "o", 236 "ộ": "o", 237 "ờ": "o", 238 "ở": "o", 239 "ỡ": "o", 240 "ớ": "o", 241 "ợ": "o", 242 "ù": "u", 243 "ú": "u", 244 "û": "u", 245 "ü": "u", 246 "ủ": "u", 247 "ụ": "u", 248 "ử": "u", 249 "ữ": "u", 250 "ự": "u", 251 "ý": "y", 252 "ÿ": "y", 253 "Ā": "A", 254 "ā": "a", 255 "Ă": "A", 256 "ă": "a", 257 "Ą": "A", 258 "ą": "a", 259 "Ć": "C", 260 "ć": "c", 261 "Ĉ": "C", 262 "ĉ": "c", 263 "Ċ": "C", 264 "ċ": "c", 265 "Č": "C", 266 "č": "c", 267 "C̆": "C", 268 "c̆": "c", 269 "Ď": "D", 270 "ď": "d", 271 "Đ": "D", 272 "đ": "d", 273 "Ē": "E", 274 "ē": "e", 275 "Ĕ": "E", 276 "ĕ": "e", 277 "Ė": "E", 278 "ė": "e", 279 "Ę": "E", 280 "ę": "e", 281 "Ě": "E", 282 "ě": "e", 283 "Ĝ": "G", 284 "Ǵ": "G", 285 "ĝ": "g", 286 "ǵ": "g", 287 "Ğ": "G", 288 "ğ": "g", 289 "Ġ": "G", 290 "ġ": "g", 291 "Ģ": "G", 292 "ģ": "g", 293 "Ĥ": "H", 294 "ĥ": "h", 295 "Ħ": "H", 296 "ħ": "h", 297 "Ḫ": "H", 298 "ḫ": "h", 299 "Ĩ": "I", 300 "ĩ": "i", 301 "Ī": "I", 302 "ī": "i", 303 "Ĭ": "I", 304 "ĭ": "i", 305 "Į": "I", 306 "į": "i", 307 "İ": "I", 308 "ı": "i", 309 "IJ": "IJ", 310 "ij": "ij", 311 "Ĵ": "J", 312 "ĵ": "j", 313 "Ķ": "K", 314 "ķ": "k", 315 "Ḱ": "K", 316 "ḱ": "k", 317 "K̆": "K", 318 "k̆": "k", 319 "Ĺ": "L", 320 "ĺ": "l", 321 "Ļ": "L", 322 "ļ": "l", 323 "Ľ": "L", 324 "ľ": "l", 325 "Ŀ": "L", 326 "ŀ": "l", 327 "Ł": "l", 328 "ł": "l", 329 "Ḿ": "M", 330 "ḿ": "m", 331 "M̆": "M", 332 "m̆": "m", 333 "Ń": "N", 334 "ń": "n", 335 "Ņ": "N", 336 "ņ": "n", 337 "Ň": "N", 338 "ň": "n", 339 "ʼn": "n", 340 "N̆": "N", 341 "n̆": "n", 342 "Ō": "O", 343 "ō": "o", 344 "Ŏ": "O", 345 "ŏ": "o", 346 "Ő": "O", 347 "ő": "o", 348 "Œ": "OE", 349 "œ": "oe", 350 "P̆": "P", 351 "p̆": "p", 352 "Ŕ": "R", 353 "ŕ": "r", 354 "Ŗ": "R", 355 "ŗ": "r", 356 "Ř": "R", 357 "ř": "r", 358 "R̆": "R", 359 "r̆": "r", 360 "Ȓ": "R", 361 "ȓ": "r", 362 "Ś": "S", 363 "ś": "s", 364 "Ŝ": "S", 365 "ŝ": "s", 366 "Ş": "S", 367 "Ș": "S", 368 "ș": "s", 369 "ş": "s", 370 "Š": "S", 371 "š": "s", 372 "Ţ": "T", 373 "ţ": "t", 374 "ț": "t", 375 "Ț": "T", 376 "Ť": "T", 377 "ť": "t", 378 "Ŧ": "T", 379 "ŧ": "t", 380 "T̆": "T", 381 "t̆": "t", 382 "Ũ": "U", 383 "ũ": "u", 384 "Ū": "U", 385 "ū": "u", 386 "Ŭ": "U", 387 "ŭ": "u", 388 "Ů": "U", 389 "ů": "u", 390 "Ű": "U", 391 "ű": "u", 392 "Ų": "U", 393 "ų": "u", 394 "Ȗ": "U", 395 "ȗ": "u", 396 "V̆": "V", 397 "v̆": "v", 398 "Ŵ": "W", 399 "ŵ": "w", 400 "Ẃ": "W", 401 "ẃ": "w", 402 "X̆": "X", 403 "x̆": "x", 404 "Ŷ": "Y", 405 "ŷ": "y", 406 "Ÿ": "Y", 407 "Y̆": "Y", 408 "y̆": "y", 409 "Ź": "Z", 410 "ź": "z", 411 "Ż": "Z", 412 "ż": "z", 413 "Ž": "Z", 414 "ž": "z", 415 "ſ": "s", 416 "ƒ": "f", 417 "Ơ": "O", 418 "ơ": "o", 419 "Ư": "U", 420 "ư": "u", 421 "Ǎ": "A", 422 "ǎ": "a", 423 "Ǐ": "I", 424 "ǐ": "i", 425 "Ǒ": "O", 426 "ǒ": "o", 427 "Ǔ": "U", 428 "ǔ": "u", 429 "Ǖ": "U", 430 "ǖ": "u", 431 "Ǘ": "U", 432 "ǘ": "u", 433 "Ǚ": "U", 434 "ǚ": "u", 435 "Ǜ": "U", 436 "ǜ": "u", 437 "Ứ": "U", 438 "ứ": "u", 439 "Ṹ": "U", 440 "ṹ": "u", 441 "Ǻ": "A", 442 "ǻ": "a", 443 "Ǽ": "AE", 444 "ǽ": "ae", 445 "Ǿ": "O", 446 "ǿ": "o", 447 "Þ": "TH", 448 "þ": "th", 449 "Ṕ": "P", 450 "ṕ": "p", 451 "Ṥ": "S", 452 "ṥ": "s", 453 "X́": "X", 454 "x́": "x", 455 "Ѓ": "Г", 456 "ѓ": "г", 457 "Ќ": "К", 458 "ќ": "к", 459 "A̋": "A", 460 "a̋": "a", 461 "E̋": "E", 462 "e̋": "e", 463 "I̋": "I", 464 "i̋": "i", 465 "Ǹ": "N", 466 "ǹ": "n", 467 "Ồ": "O", 468 "ồ": "o", 469 "Ṑ": "O", 470 "ṑ": "o", 471 "Ừ": "U", 472 "ừ": "u", 473 "Ẁ": "W", 474 "ẁ": "w", 475 "Ỳ": "Y", 476 "ỳ": "y", 477 "Ȁ": "A", 478 "ȁ": "a", 479 "Ȅ": "E", 480 "ȅ": "e", 481 "Ȉ": "I", 482 "ȉ": "i", 483 "Ȍ": "O", 484 "ȍ": "o", 485 "Ȑ": "R", 486 "ȑ": "r", 487 "Ȕ": "U", 488 "ȕ": "u", 489 "B̌": "B", 490 "b̌": "b", 491 "Č̣": "C", 492 "č̣": "c", 493 "Ê̌": "E", 494 "ê̌": "e", 495 "F̌": "F", 496 "f̌": "f", 497 "Ǧ": "G", 498 "ǧ": "g", 499 "Ȟ": "H", 500 "ȟ": "h", 501 "J̌": "J", 502 "ǰ": "j", 503 "Ǩ": "K", 504 "ǩ": "k", 505 "M̌": "M", 506 "m̌": "m", 507 "P̌": "P", 508 "p̌": "p", 509 "Q̌": "Q", 510 "q̌": "q", 511 "Ř̩": "R", 512 "ř̩": "r", 513 "Ṧ": "S", 514 "ṧ": "s", 515 "V̌": "V", 516 "v̌": "v", 517 "W̌": "W", 518 "w̌": "w", 519 "X̌": "X", 520 "x̌": "x", 521 "Y̌": "Y", 522 "y̌": "y", 523 "A̧": "A", 524 "a̧": "a", 525 "B̧": "B", 526 "b̧": "b", 527 "Ḑ": "D", 528 "ḑ": "d", 529 "Ȩ": "E", 530 "ȩ": "e", 531 "Ɛ̧": "E", 532 "ɛ̧": "e", 533 "Ḩ": "H", 534 "ḩ": "h", 535 "I̧": "I", 536 "i̧": "i", 537 "Ɨ̧": "I", 538 "ɨ̧": "i", 539 "M̧": "M", 540 "m̧": "m", 541 "O̧": "O", 542 "o̧": "o", 543 "Q̧": "Q", 544 "q̧": "q", 545 "U̧": "U", 546 "u̧": "u", 547 "X̧": "X", 548 "x̧": "x", 549 "Z̧": "Z", 550 "z̧": "z", 551 "й":"и", 552 "Й":"И", 553 "ё":"е", 554 "Ё":"Е", 555 }; 556 557 var chars = Object.keys(characterMap).join('|'); 558 var allAccents = new RegExp(chars, 'g'); 559 var firstAccent = new RegExp(chars, ''); 560 561 function matcher(match) { 562 return characterMap[match]; 563 } 564 565 var removeAccents = function(string) { 566 return string.replace(allAccents, matcher); 567 }; 568 569 var hasAccents = function(string) { 570 return !!string.match(firstAccent); 571 }; 572 573 module.exports = removeAccents; 574 module.exports.has = hasAccents; 575 module.exports.remove = removeAccents; 576 577 578 /***/ }) 579 580 /******/ }); 581 /************************************************************************/ 582 /******/ // The module cache 583 /******/ var __webpack_module_cache__ = {}; 584 /******/ 585 /******/ // The require function 586 /******/ function __webpack_require__(moduleId) { 587 /******/ // Check if module is in cache 588 /******/ var cachedModule = __webpack_module_cache__[moduleId]; 589 /******/ if (cachedModule !== undefined) { 590 /******/ return cachedModule.exports; 591 /******/ } 592 /******/ // Create a new module (and put it into the cache) 593 /******/ var module = __webpack_module_cache__[moduleId] = { 594 /******/ // no module.id needed 595 /******/ // no module.loaded needed 596 /******/ exports: {} 597 /******/ }; 598 /******/ 599 /******/ // Execute the module function 600 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 601 /******/ 602 /******/ // Return the exports of the module 603 /******/ return module.exports; 604 /******/ } 605 /******/ 606 /************************************************************************/ 607 /******/ /* webpack/runtime/compat get default export */ 608 /******/ (() => { 609 /******/ // getDefaultExport function for compatibility with non-harmony modules 610 /******/ __webpack_require__.n = (module) => { 611 /******/ var getter = module && module.__esModule ? 612 /******/ () => (module['default']) : 613 /******/ () => (module); 614 /******/ __webpack_require__.d(getter, { a: getter }); 615 /******/ return getter; 616 /******/ }; 617 /******/ })(); 618 /******/ 619 /******/ /* webpack/runtime/create fake namespace object */ 620 /******/ (() => { 621 /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); 622 /******/ var leafPrototypes; 623 /******/ // create a fake namespace object 624 /******/ // mode & 1: value is a module id, require it 625 /******/ // mode & 2: merge all properties of value into the ns 626 /******/ // mode & 4: return value when already ns object 627 /******/ // mode & 16: return value when it's Promise-like 628 /******/ // mode & 8|1: behave like require 629 /******/ __webpack_require__.t = function(value, mode) { 630 /******/ if(mode & 1) value = this(value); 631 /******/ if(mode & 8) return value; 632 /******/ if(typeof value === 'object' && value) { 633 /******/ if((mode & 4) && value.__esModule) return value; 634 /******/ if((mode & 16) && typeof value.then === 'function') return value; 635 /******/ } 636 /******/ var ns = Object.create(null); 637 /******/ __webpack_require__.r(ns); 638 /******/ var def = {}; 639 /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; 640 /******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { 641 /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); 642 /******/ } 643 /******/ def['default'] = () => (value); 644 /******/ __webpack_require__.d(ns, def); 645 /******/ return ns; 646 /******/ }; 647 /******/ })(); 648 /******/ 649 /******/ /* webpack/runtime/define property getters */ 650 /******/ (() => { 651 /******/ // define getter functions for harmony exports 652 /******/ __webpack_require__.d = (exports, definition) => { 653 /******/ for(var key in definition) { 654 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 655 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 656 /******/ } 657 /******/ } 658 /******/ }; 659 /******/ })(); 660 /******/ 661 /******/ /* webpack/runtime/hasOwnProperty shorthand */ 662 /******/ (() => { 663 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 664 /******/ })(); 665 /******/ 666 /******/ /* webpack/runtime/make namespace object */ 667 /******/ (() => { 668 /******/ // define __esModule on exports 669 /******/ __webpack_require__.r = (exports) => { 670 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 671 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 672 /******/ } 673 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 674 /******/ }; 675 /******/ })(); 676 /******/ 677 /************************************************************************/ 678 var __webpack_exports__ = {}; 679 // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. 680 (() => { 681 "use strict"; 682 // ESM COMPAT FLAG 683 __webpack_require__.r(__webpack_exports__); 684 685 // EXPORTS 686 __webpack_require__.d(__webpack_exports__, { 687 __experimentalGetCoreBlocks: () => (/* binding */ __experimentalGetCoreBlocks), 688 __experimentalRegisterExperimentalCoreBlocks: () => (/* binding */ __experimentalRegisterExperimentalCoreBlocks), 689 privateApis: () => (/* reexport */ privateApis), 690 registerCoreBlocks: () => (/* binding */ registerCoreBlocks) 691 }); 692 693 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/accordion/index.js 694 var accordion_namespaceObject = {}; 695 __webpack_require__.r(accordion_namespaceObject); 696 __webpack_require__.d(accordion_namespaceObject, { 697 init: () => (init), 698 metadata: () => (block_namespaceObject), 699 name: () => (accordion_name), 700 settings: () => (settings) 701 }); 702 703 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/accordion-item/index.js 704 var accordion_item_namespaceObject = {}; 705 __webpack_require__.r(accordion_item_namespaceObject); 706 __webpack_require__.d(accordion_item_namespaceObject, { 707 init: () => (accordion_item_init), 708 metadata: () => (accordion_item_block_namespaceObject), 709 name: () => (accordion_item_name), 710 settings: () => (accordion_item_settings) 711 }); 712 713 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/accordion-heading/index.js 714 var accordion_heading_namespaceObject = {}; 715 __webpack_require__.r(accordion_heading_namespaceObject); 716 __webpack_require__.d(accordion_heading_namespaceObject, { 717 init: () => (accordion_heading_init), 718 metadata: () => (accordion_heading_block_namespaceObject), 719 name: () => (accordion_heading_name), 720 settings: () => (accordion_heading_settings) 721 }); 722 723 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/accordion-panel/index.js 724 var accordion_panel_namespaceObject = {}; 725 __webpack_require__.r(accordion_panel_namespaceObject); 726 __webpack_require__.d(accordion_panel_namespaceObject, { 727 init: () => (accordion_panel_init), 728 metadata: () => (accordion_panel_block_namespaceObject), 729 name: () => (accordion_panel_name), 730 settings: () => (accordion_panel_settings) 731 }); 732 733 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/archives/index.js 734 var archives_namespaceObject = {}; 735 __webpack_require__.r(archives_namespaceObject); 736 __webpack_require__.d(archives_namespaceObject, { 737 init: () => (archives_init), 738 metadata: () => (archives_block_namespaceObject), 739 name: () => (archives_name), 740 settings: () => (archives_settings) 741 }); 742 743 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/avatar/index.js 744 var avatar_namespaceObject = {}; 745 __webpack_require__.r(avatar_namespaceObject); 746 __webpack_require__.d(avatar_namespaceObject, { 747 init: () => (avatar_init), 748 metadata: () => (avatar_block_namespaceObject), 749 name: () => (avatar_name), 750 settings: () => (avatar_settings) 751 }); 752 753 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/audio/index.js 754 var build_module_audio_namespaceObject = {}; 755 __webpack_require__.r(build_module_audio_namespaceObject); 756 __webpack_require__.d(build_module_audio_namespaceObject, { 757 init: () => (audio_init), 758 metadata: () => (audio_block_namespaceObject), 759 name: () => (audio_name), 760 settings: () => (audio_settings) 761 }); 762 763 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/breadcrumbs/index.js 764 var build_module_breadcrumbs_namespaceObject = {}; 765 __webpack_require__.r(build_module_breadcrumbs_namespaceObject); 766 __webpack_require__.d(build_module_breadcrumbs_namespaceObject, { 767 init: () => (breadcrumbs_init), 768 metadata: () => (breadcrumbs_block_namespaceObject), 769 name: () => (breadcrumbs_name), 770 settings: () => (breadcrumbs_settings) 771 }); 772 773 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/button/index.js 774 var build_module_button_namespaceObject = {}; 775 __webpack_require__.r(build_module_button_namespaceObject); 776 __webpack_require__.d(build_module_button_namespaceObject, { 777 init: () => (button_init), 778 metadata: () => (button_block_namespaceObject), 779 name: () => (button_name), 780 settings: () => (button_settings) 781 }); 782 783 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/buttons/index.js 784 var build_module_buttons_namespaceObject = {}; 785 __webpack_require__.r(build_module_buttons_namespaceObject); 786 __webpack_require__.d(build_module_buttons_namespaceObject, { 787 init: () => (buttons_init), 788 metadata: () => (buttons_block_namespaceObject), 789 name: () => (buttons_name), 790 settings: () => (buttons_settings) 791 }); 792 793 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/calendar/index.js 794 var build_module_calendar_namespaceObject = {}; 795 __webpack_require__.r(build_module_calendar_namespaceObject); 796 __webpack_require__.d(build_module_calendar_namespaceObject, { 797 init: () => (calendar_init), 798 metadata: () => (calendar_block_namespaceObject), 799 name: () => (calendar_name), 800 settings: () => (calendar_settings) 801 }); 802 803 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/categories/index.js 804 var categories_namespaceObject = {}; 805 __webpack_require__.r(categories_namespaceObject); 806 __webpack_require__.d(categories_namespaceObject, { 807 init: () => (categories_init), 808 metadata: () => (categories_block_namespaceObject), 809 name: () => (categories_name), 810 settings: () => (categories_settings) 811 }); 812 813 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js 814 var freeform_namespaceObject = {}; 815 __webpack_require__.r(freeform_namespaceObject); 816 __webpack_require__.d(freeform_namespaceObject, { 817 init: () => (freeform_init), 818 metadata: () => (freeform_block_namespaceObject), 819 name: () => (freeform_name), 820 settings: () => (freeform_settings) 821 }); 822 823 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js 824 var build_module_code_namespaceObject = {}; 825 __webpack_require__.r(build_module_code_namespaceObject); 826 __webpack_require__.d(build_module_code_namespaceObject, { 827 init: () => (code_init), 828 metadata: () => (code_block_namespaceObject), 829 name: () => (code_name), 830 settings: () => (code_settings) 831 }); 832 833 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/column/index.js 834 var build_module_column_namespaceObject = {}; 835 __webpack_require__.r(build_module_column_namespaceObject); 836 __webpack_require__.d(build_module_column_namespaceObject, { 837 init: () => (column_init), 838 metadata: () => (column_block_namespaceObject), 839 name: () => (column_name), 840 settings: () => (column_settings) 841 }); 842 843 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js 844 var build_module_columns_namespaceObject = {}; 845 __webpack_require__.r(build_module_columns_namespaceObject); 846 __webpack_require__.d(build_module_columns_namespaceObject, { 847 init: () => (columns_init), 848 metadata: () => (columns_block_namespaceObject), 849 name: () => (columns_name), 850 settings: () => (columns_settings) 851 }); 852 853 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments/index.js 854 var comments_namespaceObject = {}; 855 __webpack_require__.r(comments_namespaceObject); 856 __webpack_require__.d(comments_namespaceObject, { 857 init: () => (comments_init), 858 metadata: () => (comments_block_namespaceObject), 859 name: () => (comments_name), 860 settings: () => (comments_settings) 861 }); 862 863 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/index.js 864 var build_module_comment_author_avatar_namespaceObject = {}; 865 __webpack_require__.r(build_module_comment_author_avatar_namespaceObject); 866 __webpack_require__.d(build_module_comment_author_avatar_namespaceObject, { 867 init: () => (comment_author_avatar_init), 868 metadata: () => (comment_author_avatar_block_namespaceObject), 869 name: () => (comment_author_avatar_name), 870 settings: () => (comment_author_avatar_settings) 871 }); 872 873 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js 874 var build_module_comment_author_name_namespaceObject = {}; 875 __webpack_require__.r(build_module_comment_author_name_namespaceObject); 876 __webpack_require__.d(build_module_comment_author_name_namespaceObject, { 877 init: () => (comment_author_name_init), 878 metadata: () => (comment_author_name_block_namespaceObject), 879 name: () => (comment_author_name_name), 880 settings: () => (comment_author_name_settings) 881 }); 882 883 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-content/index.js 884 var build_module_comment_content_namespaceObject = {}; 885 __webpack_require__.r(build_module_comment_content_namespaceObject); 886 __webpack_require__.d(build_module_comment_content_namespaceObject, { 887 init: () => (comment_content_init), 888 metadata: () => (comment_content_block_namespaceObject), 889 name: () => (comment_content_name), 890 settings: () => (comment_content_settings) 891 }); 892 893 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-date/index.js 894 var comment_date_namespaceObject = {}; 895 __webpack_require__.r(comment_date_namespaceObject); 896 __webpack_require__.d(comment_date_namespaceObject, { 897 init: () => (comment_date_init), 898 metadata: () => (comment_date_block_namespaceObject), 899 name: () => (comment_date_name), 900 settings: () => (comment_date_settings) 901 }); 902 903 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/index.js 904 var build_module_comment_edit_link_namespaceObject = {}; 905 __webpack_require__.r(build_module_comment_edit_link_namespaceObject); 906 __webpack_require__.d(build_module_comment_edit_link_namespaceObject, { 907 init: () => (comment_edit_link_init), 908 metadata: () => (comment_edit_link_block_namespaceObject), 909 name: () => (comment_edit_link_name), 910 settings: () => (comment_edit_link_settings) 911 }); 912 913 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-reply-link/index.js 914 var build_module_comment_reply_link_namespaceObject = {}; 915 __webpack_require__.r(build_module_comment_reply_link_namespaceObject); 916 __webpack_require__.d(build_module_comment_reply_link_namespaceObject, { 917 init: () => (comment_reply_link_init), 918 metadata: () => (comment_reply_link_block_namespaceObject), 919 name: () => (comment_reply_link_name), 920 settings: () => (comment_reply_link_settings) 921 }); 922 923 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-template/index.js 924 var comment_template_namespaceObject = {}; 925 __webpack_require__.r(comment_template_namespaceObject); 926 __webpack_require__.d(comment_template_namespaceObject, { 927 init: () => (comment_template_init), 928 metadata: () => (comment_template_block_namespaceObject), 929 name: () => (comment_template_name), 930 settings: () => (comment_template_settings) 931 }); 932 933 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/index.js 934 var comments_pagination_previous_namespaceObject = {}; 935 __webpack_require__.r(comments_pagination_previous_namespaceObject); 936 __webpack_require__.d(comments_pagination_previous_namespaceObject, { 937 init: () => (comments_pagination_previous_init), 938 metadata: () => (comments_pagination_previous_block_namespaceObject), 939 name: () => (comments_pagination_previous_name), 940 settings: () => (comments_pagination_previous_settings) 941 }); 942 943 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination/index.js 944 var comments_pagination_namespaceObject = {}; 945 __webpack_require__.r(comments_pagination_namespaceObject); 946 __webpack_require__.d(comments_pagination_namespaceObject, { 947 init: () => (comments_pagination_init), 948 metadata: () => (comments_pagination_block_namespaceObject), 949 name: () => (comments_pagination_name), 950 settings: () => (comments_pagination_settings) 951 }); 952 953 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/index.js 954 var comments_pagination_next_namespaceObject = {}; 955 __webpack_require__.r(comments_pagination_next_namespaceObject); 956 __webpack_require__.d(comments_pagination_next_namespaceObject, { 957 init: () => (comments_pagination_next_init), 958 metadata: () => (comments_pagination_next_block_namespaceObject), 959 name: () => (comments_pagination_next_name), 960 settings: () => (comments_pagination_next_settings) 961 }); 962 963 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/index.js 964 var comments_pagination_numbers_namespaceObject = {}; 965 __webpack_require__.r(comments_pagination_numbers_namespaceObject); 966 __webpack_require__.d(comments_pagination_numbers_namespaceObject, { 967 init: () => (comments_pagination_numbers_init), 968 metadata: () => (comments_pagination_numbers_block_namespaceObject), 969 name: () => (comments_pagination_numbers_name), 970 settings: () => (comments_pagination_numbers_settings) 971 }); 972 973 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-title/index.js 974 var comments_title_namespaceObject = {}; 975 __webpack_require__.r(comments_title_namespaceObject); 976 __webpack_require__.d(comments_title_namespaceObject, { 977 init: () => (comments_title_init), 978 metadata: () => (comments_title_block_namespaceObject), 979 name: () => (comments_title_name), 980 settings: () => (comments_title_settings) 981 }); 982 983 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/cover/index.js 984 var build_module_cover_namespaceObject = {}; 985 __webpack_require__.r(build_module_cover_namespaceObject); 986 __webpack_require__.d(build_module_cover_namespaceObject, { 987 init: () => (cover_init), 988 metadata: () => (cover_block_namespaceObject), 989 name: () => (cover_name), 990 settings: () => (cover_settings) 991 }); 992 993 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/details/index.js 994 var build_module_details_namespaceObject = {}; 995 __webpack_require__.r(build_module_details_namespaceObject); 996 __webpack_require__.d(build_module_details_namespaceObject, { 997 init: () => (details_init), 998 metadata: () => (details_block_namespaceObject), 999 name: () => (details_name), 1000 settings: () => (details_settings) 1001 }); 1002 1003 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/embed/index.js 1004 var embed_namespaceObject = {}; 1005 __webpack_require__.r(embed_namespaceObject); 1006 __webpack_require__.d(embed_namespaceObject, { 1007 init: () => (embed_init), 1008 metadata: () => (embed_block_namespaceObject), 1009 name: () => (embed_name), 1010 settings: () => (embed_settings) 1011 }); 1012 1013 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/file/index.js 1014 var build_module_file_namespaceObject = {}; 1015 __webpack_require__.r(build_module_file_namespaceObject); 1016 __webpack_require__.d(build_module_file_namespaceObject, { 1017 init: () => (file_init), 1018 metadata: () => (file_block_namespaceObject), 1019 name: () => (file_name), 1020 settings: () => (file_settings) 1021 }); 1022 1023 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form/index.js 1024 var build_module_form_namespaceObject = {}; 1025 __webpack_require__.r(build_module_form_namespaceObject); 1026 __webpack_require__.d(build_module_form_namespaceObject, { 1027 init: () => (form_init), 1028 metadata: () => (form_block_namespaceObject), 1029 name: () => (form_name), 1030 settings: () => (form_settings) 1031 }); 1032 1033 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-input/index.js 1034 var form_input_namespaceObject = {}; 1035 __webpack_require__.r(form_input_namespaceObject); 1036 __webpack_require__.d(form_input_namespaceObject, { 1037 init: () => (form_input_init), 1038 metadata: () => (form_input_block_namespaceObject), 1039 name: () => (form_input_name), 1040 settings: () => (form_input_settings) 1041 }); 1042 1043 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-submit-button/index.js 1044 var form_submit_button_namespaceObject = {}; 1045 __webpack_require__.r(form_submit_button_namespaceObject); 1046 __webpack_require__.d(form_submit_button_namespaceObject, { 1047 init: () => (form_submit_button_init), 1048 metadata: () => (form_submit_button_block_namespaceObject), 1049 name: () => (form_submit_button_name), 1050 settings: () => (form_submit_button_settings) 1051 }); 1052 1053 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-submission-notification/index.js 1054 var form_submission_notification_namespaceObject = {}; 1055 __webpack_require__.r(form_submission_notification_namespaceObject); 1056 __webpack_require__.d(form_submission_notification_namespaceObject, { 1057 init: () => (form_submission_notification_init), 1058 metadata: () => (form_submission_notification_block_namespaceObject), 1059 name: () => (form_submission_notification_name), 1060 settings: () => (form_submission_notification_settings) 1061 }); 1062 1063 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js 1064 var build_module_gallery_namespaceObject = {}; 1065 __webpack_require__.r(build_module_gallery_namespaceObject); 1066 __webpack_require__.d(build_module_gallery_namespaceObject, { 1067 init: () => (gallery_init), 1068 metadata: () => (gallery_block_namespaceObject), 1069 name: () => (gallery_name), 1070 settings: () => (gallery_settings) 1071 }); 1072 1073 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js 1074 var build_module_group_namespaceObject = {}; 1075 __webpack_require__.r(build_module_group_namespaceObject); 1076 __webpack_require__.d(build_module_group_namespaceObject, { 1077 init: () => (group_init), 1078 metadata: () => (group_block_namespaceObject), 1079 name: () => (group_name), 1080 settings: () => (group_settings) 1081 }); 1082 1083 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js 1084 var build_module_heading_namespaceObject = {}; 1085 __webpack_require__.r(build_module_heading_namespaceObject); 1086 __webpack_require__.d(build_module_heading_namespaceObject, { 1087 init: () => (heading_init), 1088 metadata: () => (heading_block_namespaceObject), 1089 name: () => (heading_name), 1090 settings: () => (heading_settings) 1091 }); 1092 1093 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/home-link/index.js 1094 var home_link_namespaceObject = {}; 1095 __webpack_require__.r(home_link_namespaceObject); 1096 __webpack_require__.d(home_link_namespaceObject, { 1097 init: () => (home_link_init), 1098 metadata: () => (home_link_block_namespaceObject), 1099 name: () => (home_link_name), 1100 settings: () => (home_link_settings) 1101 }); 1102 1103 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/html/index.js 1104 var build_module_html_namespaceObject = {}; 1105 __webpack_require__.r(build_module_html_namespaceObject); 1106 __webpack_require__.d(build_module_html_namespaceObject, { 1107 init: () => (html_init), 1108 metadata: () => (html_block_namespaceObject), 1109 name: () => (html_name), 1110 settings: () => (html_settings) 1111 }); 1112 1113 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js 1114 var build_module_image_namespaceObject = {}; 1115 __webpack_require__.r(build_module_image_namespaceObject); 1116 __webpack_require__.d(build_module_image_namespaceObject, { 1117 init: () => (image_init), 1118 metadata: () => (image_block_namespaceObject), 1119 name: () => (image_name), 1120 settings: () => (image_settings) 1121 }); 1122 1123 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js 1124 var latest_comments_namespaceObject = {}; 1125 __webpack_require__.r(latest_comments_namespaceObject); 1126 __webpack_require__.d(latest_comments_namespaceObject, { 1127 init: () => (latest_comments_init), 1128 metadata: () => (latest_comments_block_namespaceObject), 1129 name: () => (latest_comments_name), 1130 settings: () => (latest_comments_settings) 1131 }); 1132 1133 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js 1134 var latest_posts_namespaceObject = {}; 1135 __webpack_require__.r(latest_posts_namespaceObject); 1136 __webpack_require__.d(latest_posts_namespaceObject, { 1137 init: () => (latest_posts_init), 1138 metadata: () => (latest_posts_block_namespaceObject), 1139 name: () => (latest_posts_name), 1140 settings: () => (latest_posts_settings) 1141 }); 1142 1143 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js 1144 var build_module_list_namespaceObject = {}; 1145 __webpack_require__.r(build_module_list_namespaceObject); 1146 __webpack_require__.d(build_module_list_namespaceObject, { 1147 init: () => (list_init), 1148 metadata: () => (list_block_namespaceObject), 1149 name: () => (list_name), 1150 settings: () => (list_settings) 1151 }); 1152 1153 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/math/index.js 1154 var build_module_math_namespaceObject = {}; 1155 __webpack_require__.r(build_module_math_namespaceObject); 1156 __webpack_require__.d(build_module_math_namespaceObject, { 1157 init: () => (math_init), 1158 metadata: () => (math_block_namespaceObject), 1159 name: () => (math_name), 1160 settings: () => (math_settings) 1161 }); 1162 1163 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list-item/index.js 1164 var build_module_list_item_namespaceObject = {}; 1165 __webpack_require__.r(build_module_list_item_namespaceObject); 1166 __webpack_require__.d(build_module_list_item_namespaceObject, { 1167 init: () => (list_item_init), 1168 metadata: () => (list_item_block_namespaceObject), 1169 name: () => (list_item_name), 1170 settings: () => (list_item_settings) 1171 }); 1172 1173 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/loginout/index.js 1174 var loginout_namespaceObject = {}; 1175 __webpack_require__.r(loginout_namespaceObject); 1176 __webpack_require__.d(loginout_namespaceObject, { 1177 init: () => (loginout_init), 1178 metadata: () => (loginout_block_namespaceObject), 1179 name: () => (loginout_name), 1180 settings: () => (loginout_settings) 1181 }); 1182 1183 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js 1184 var media_text_namespaceObject = {}; 1185 __webpack_require__.r(media_text_namespaceObject); 1186 __webpack_require__.d(media_text_namespaceObject, { 1187 init: () => (media_text_init), 1188 metadata: () => (media_text_block_namespaceObject), 1189 name: () => (media_text_name), 1190 settings: () => (media_text_settings) 1191 }); 1192 1193 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/missing/index.js 1194 var missing_namespaceObject = {}; 1195 __webpack_require__.r(missing_namespaceObject); 1196 __webpack_require__.d(missing_namespaceObject, { 1197 init: () => (missing_init), 1198 metadata: () => (missing_block_namespaceObject), 1199 name: () => (missing_name), 1200 settings: () => (missing_settings) 1201 }); 1202 1203 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/more/index.js 1204 var build_module_more_namespaceObject = {}; 1205 __webpack_require__.r(build_module_more_namespaceObject); 1206 __webpack_require__.d(build_module_more_namespaceObject, { 1207 init: () => (more_init), 1208 metadata: () => (more_block_namespaceObject), 1209 name: () => (more_name), 1210 settings: () => (more_settings) 1211 }); 1212 1213 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation/index.js 1214 var build_module_navigation_namespaceObject = {}; 1215 __webpack_require__.r(build_module_navigation_namespaceObject); 1216 __webpack_require__.d(build_module_navigation_namespaceObject, { 1217 init: () => (navigation_init), 1218 metadata: () => (navigation_block_namespaceObject), 1219 name: () => (navigation_name), 1220 settings: () => (navigation_settings) 1221 }); 1222 1223 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-link/index.js 1224 var navigation_link_namespaceObject = {}; 1225 __webpack_require__.r(navigation_link_namespaceObject); 1226 __webpack_require__.d(navigation_link_namespaceObject, { 1227 init: () => (navigation_link_init), 1228 metadata: () => (navigation_link_block_namespaceObject), 1229 name: () => (navigation_link_name), 1230 settings: () => (navigation_link_settings) 1231 }); 1232 1233 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-submenu/index.js 1234 var navigation_submenu_namespaceObject = {}; 1235 __webpack_require__.r(navigation_submenu_namespaceObject); 1236 __webpack_require__.d(navigation_submenu_namespaceObject, { 1237 init: () => (navigation_submenu_init), 1238 metadata: () => (navigation_submenu_block_namespaceObject), 1239 name: () => (navigation_submenu_name), 1240 settings: () => (navigation_submenu_settings) 1241 }); 1242 1243 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js 1244 var nextpage_namespaceObject = {}; 1245 __webpack_require__.r(nextpage_namespaceObject); 1246 __webpack_require__.d(nextpage_namespaceObject, { 1247 init: () => (nextpage_init), 1248 metadata: () => (nextpage_block_namespaceObject), 1249 name: () => (nextpage_name), 1250 settings: () => (nextpage_settings) 1251 }); 1252 1253 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pattern/index.js 1254 var pattern_namespaceObject = {}; 1255 __webpack_require__.r(pattern_namespaceObject); 1256 __webpack_require__.d(pattern_namespaceObject, { 1257 init: () => (pattern_init), 1258 metadata: () => (pattern_block_namespaceObject), 1259 name: () => (pattern_name), 1260 settings: () => (pattern_settings) 1261 }); 1262 1263 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list/index.js 1264 var page_list_namespaceObject = {}; 1265 __webpack_require__.r(page_list_namespaceObject); 1266 __webpack_require__.d(page_list_namespaceObject, { 1267 init: () => (page_list_init), 1268 metadata: () => (page_list_block_namespaceObject), 1269 name: () => (page_list_name), 1270 settings: () => (page_list_settings) 1271 }); 1272 1273 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list-item/index.js 1274 var page_list_item_namespaceObject = {}; 1275 __webpack_require__.r(page_list_item_namespaceObject); 1276 __webpack_require__.d(page_list_item_namespaceObject, { 1277 init: () => (page_list_item_init), 1278 metadata: () => (page_list_item_block_namespaceObject), 1279 name: () => (page_list_item_name), 1280 settings: () => (page_list_item_settings) 1281 }); 1282 1283 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js 1284 var build_module_paragraph_namespaceObject = {}; 1285 __webpack_require__.r(build_module_paragraph_namespaceObject); 1286 __webpack_require__.d(build_module_paragraph_namespaceObject, { 1287 init: () => (paragraph_init), 1288 metadata: () => (paragraph_block_namespaceObject), 1289 name: () => (paragraph_name), 1290 settings: () => (paragraph_settings) 1291 }); 1292 1293 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author/index.js 1294 var build_module_post_author_namespaceObject = {}; 1295 __webpack_require__.r(build_module_post_author_namespaceObject); 1296 __webpack_require__.d(build_module_post_author_namespaceObject, { 1297 init: () => (post_author_init), 1298 metadata: () => (post_author_block_namespaceObject), 1299 name: () => (post_author_name), 1300 settings: () => (post_author_settings) 1301 }); 1302 1303 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author-name/index.js 1304 var post_author_name_namespaceObject = {}; 1305 __webpack_require__.r(post_author_name_namespaceObject); 1306 __webpack_require__.d(post_author_name_namespaceObject, { 1307 init: () => (post_author_name_init), 1308 metadata: () => (post_author_name_block_namespaceObject), 1309 name: () => (post_author_name_name), 1310 settings: () => (post_author_name_settings) 1311 }); 1312 1313 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author-biography/index.js 1314 var post_author_biography_namespaceObject = {}; 1315 __webpack_require__.r(post_author_biography_namespaceObject); 1316 __webpack_require__.d(post_author_biography_namespaceObject, { 1317 init: () => (post_author_biography_init), 1318 metadata: () => (post_author_biography_block_namespaceObject), 1319 name: () => (post_author_biography_name), 1320 settings: () => (post_author_biography_settings) 1321 }); 1322 1323 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comment/index.js 1324 var post_comment_namespaceObject = {}; 1325 __webpack_require__.r(post_comment_namespaceObject); 1326 __webpack_require__.d(post_comment_namespaceObject, { 1327 init: () => (post_comment_init), 1328 metadata: () => (post_comment_block_namespaceObject), 1329 name: () => (post_comment_name), 1330 settings: () => (post_comment_settings) 1331 }); 1332 1333 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-count/index.js 1334 var build_module_post_comments_count_namespaceObject = {}; 1335 __webpack_require__.r(build_module_post_comments_count_namespaceObject); 1336 __webpack_require__.d(build_module_post_comments_count_namespaceObject, { 1337 init: () => (post_comments_count_init), 1338 metadata: () => (post_comments_count_block_namespaceObject), 1339 name: () => (post_comments_count_name), 1340 settings: () => (post_comments_count_settings) 1341 }); 1342 1343 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-form/index.js 1344 var build_module_post_comments_form_namespaceObject = {}; 1345 __webpack_require__.r(build_module_post_comments_form_namespaceObject); 1346 __webpack_require__.d(build_module_post_comments_form_namespaceObject, { 1347 init: () => (post_comments_form_init), 1348 metadata: () => (post_comments_form_block_namespaceObject), 1349 name: () => (post_comments_form_name), 1350 settings: () => (post_comments_form_settings) 1351 }); 1352 1353 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-link/index.js 1354 var post_comments_link_namespaceObject = {}; 1355 __webpack_require__.r(post_comments_link_namespaceObject); 1356 __webpack_require__.d(post_comments_link_namespaceObject, { 1357 init: () => (post_comments_link_init), 1358 metadata: () => (post_comments_link_block_namespaceObject), 1359 name: () => (post_comments_link_name), 1360 settings: () => (post_comments_link_settings) 1361 }); 1362 1363 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-content/index.js 1364 var build_module_post_content_namespaceObject = {}; 1365 __webpack_require__.r(build_module_post_content_namespaceObject); 1366 __webpack_require__.d(build_module_post_content_namespaceObject, { 1367 init: () => (post_content_init), 1368 metadata: () => (post_content_block_namespaceObject), 1369 name: () => (post_content_name), 1370 settings: () => (post_content_settings) 1371 }); 1372 1373 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-date/index.js 1374 var build_module_post_date_namespaceObject = {}; 1375 __webpack_require__.r(build_module_post_date_namespaceObject); 1376 __webpack_require__.d(build_module_post_date_namespaceObject, { 1377 init: () => (post_date_init), 1378 metadata: () => (post_date_block_namespaceObject), 1379 name: () => (post_date_name), 1380 settings: () => (post_date_settings) 1381 }); 1382 1383 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js 1384 var build_module_post_excerpt_namespaceObject = {}; 1385 __webpack_require__.r(build_module_post_excerpt_namespaceObject); 1386 __webpack_require__.d(build_module_post_excerpt_namespaceObject, { 1387 init: () => (post_excerpt_init), 1388 metadata: () => (post_excerpt_block_namespaceObject), 1389 name: () => (post_excerpt_name), 1390 settings: () => (post_excerpt_settings) 1391 }); 1392 1393 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js 1394 var build_module_post_featured_image_namespaceObject = {}; 1395 __webpack_require__.r(build_module_post_featured_image_namespaceObject); 1396 __webpack_require__.d(build_module_post_featured_image_namespaceObject, { 1397 init: () => (post_featured_image_init), 1398 metadata: () => (post_featured_image_block_namespaceObject), 1399 name: () => (post_featured_image_name), 1400 settings: () => (post_featured_image_settings) 1401 }); 1402 1403 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-navigation-link/index.js 1404 var post_navigation_link_namespaceObject = {}; 1405 __webpack_require__.r(post_navigation_link_namespaceObject); 1406 __webpack_require__.d(post_navigation_link_namespaceObject, { 1407 init: () => (post_navigation_link_init), 1408 metadata: () => (post_navigation_link_block_namespaceObject), 1409 name: () => (post_navigation_link_name), 1410 settings: () => (post_navigation_link_settings) 1411 }); 1412 1413 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js 1414 var post_template_namespaceObject = {}; 1415 __webpack_require__.r(post_template_namespaceObject); 1416 __webpack_require__.d(post_template_namespaceObject, { 1417 init: () => (post_template_init), 1418 metadata: () => (post_template_block_namespaceObject), 1419 name: () => (post_template_name), 1420 settings: () => (post_template_settings) 1421 }); 1422 1423 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js 1424 var build_module_post_terms_namespaceObject = {}; 1425 __webpack_require__.r(build_module_post_terms_namespaceObject); 1426 __webpack_require__.d(build_module_post_terms_namespaceObject, { 1427 init: () => (post_terms_init), 1428 metadata: () => (post_terms_block_namespaceObject), 1429 name: () => (post_terms_name), 1430 settings: () => (post_terms_settings) 1431 }); 1432 1433 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-time-to-read/index.js 1434 var post_time_to_read_namespaceObject = {}; 1435 __webpack_require__.r(post_time_to_read_namespaceObject); 1436 __webpack_require__.d(post_time_to_read_namespaceObject, { 1437 init: () => (post_time_to_read_init), 1438 metadata: () => (post_time_to_read_block_namespaceObject), 1439 name: () => (post_time_to_read_name), 1440 settings: () => (post_time_to_read_settings) 1441 }); 1442 1443 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js 1444 var post_title_namespaceObject = {}; 1445 __webpack_require__.r(post_title_namespaceObject); 1446 __webpack_require__.d(post_title_namespaceObject, { 1447 init: () => (post_title_init), 1448 metadata: () => (post_title_block_namespaceObject), 1449 name: () => (post_title_name), 1450 settings: () => (post_title_settings) 1451 }); 1452 1453 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js 1454 var build_module_preformatted_namespaceObject = {}; 1455 __webpack_require__.r(build_module_preformatted_namespaceObject); 1456 __webpack_require__.d(build_module_preformatted_namespaceObject, { 1457 init: () => (preformatted_init), 1458 metadata: () => (preformatted_block_namespaceObject), 1459 name: () => (preformatted_name), 1460 settings: () => (preformatted_settings) 1461 }); 1462 1463 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js 1464 var build_module_pullquote_namespaceObject = {}; 1465 __webpack_require__.r(build_module_pullquote_namespaceObject); 1466 __webpack_require__.d(build_module_pullquote_namespaceObject, { 1467 init: () => (pullquote_init), 1468 metadata: () => (pullquote_block_namespaceObject), 1469 name: () => (pullquote_name), 1470 settings: () => (pullquote_settings) 1471 }); 1472 1473 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js 1474 var query_namespaceObject = {}; 1475 __webpack_require__.r(query_namespaceObject); 1476 __webpack_require__.d(query_namespaceObject, { 1477 init: () => (query_init), 1478 metadata: () => (query_block_namespaceObject), 1479 name: () => (query_name), 1480 settings: () => (query_settings) 1481 }); 1482 1483 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-no-results/index.js 1484 var query_no_results_namespaceObject = {}; 1485 __webpack_require__.r(query_no_results_namespaceObject); 1486 __webpack_require__.d(query_no_results_namespaceObject, { 1487 init: () => (query_no_results_init), 1488 metadata: () => (query_no_results_block_namespaceObject), 1489 name: () => (query_no_results_name), 1490 settings: () => (query_no_results_settings) 1491 }); 1492 1493 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js 1494 var build_module_query_pagination_namespaceObject = {}; 1495 __webpack_require__.r(build_module_query_pagination_namespaceObject); 1496 __webpack_require__.d(build_module_query_pagination_namespaceObject, { 1497 init: () => (query_pagination_init), 1498 metadata: () => (query_pagination_block_namespaceObject), 1499 name: () => (query_pagination_name), 1500 settings: () => (query_pagination_settings) 1501 }); 1502 1503 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js 1504 var build_module_query_pagination_next_namespaceObject = {}; 1505 __webpack_require__.r(build_module_query_pagination_next_namespaceObject); 1506 __webpack_require__.d(build_module_query_pagination_next_namespaceObject, { 1507 init: () => (query_pagination_next_init), 1508 metadata: () => (query_pagination_next_block_namespaceObject), 1509 name: () => (query_pagination_next_name), 1510 settings: () => (query_pagination_next_settings) 1511 }); 1512 1513 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js 1514 var build_module_query_pagination_numbers_namespaceObject = {}; 1515 __webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); 1516 __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, { 1517 init: () => (query_pagination_numbers_init), 1518 metadata: () => (query_pagination_numbers_block_namespaceObject), 1519 name: () => (query_pagination_numbers_name), 1520 settings: () => (query_pagination_numbers_settings) 1521 }); 1522 1523 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js 1524 var build_module_query_pagination_previous_namespaceObject = {}; 1525 __webpack_require__.r(build_module_query_pagination_previous_namespaceObject); 1526 __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, { 1527 init: () => (query_pagination_previous_init), 1528 metadata: () => (query_pagination_previous_block_namespaceObject), 1529 name: () => (query_pagination_previous_name), 1530 settings: () => (query_pagination_previous_settings) 1531 }); 1532 1533 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js 1534 var query_title_namespaceObject = {}; 1535 __webpack_require__.r(query_title_namespaceObject); 1536 __webpack_require__.d(query_title_namespaceObject, { 1537 init: () => (query_title_init), 1538 metadata: () => (query_title_block_namespaceObject), 1539 name: () => (query_title_name), 1540 settings: () => (query_title_settings) 1541 }); 1542 1543 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-total/index.js 1544 var query_total_namespaceObject = {}; 1545 __webpack_require__.r(query_total_namespaceObject); 1546 __webpack_require__.d(query_total_namespaceObject, { 1547 init: () => (query_total_init), 1548 metadata: () => (query_total_block_namespaceObject), 1549 name: () => (query_total_name), 1550 settings: () => (query_total_settings) 1551 }); 1552 1553 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js 1554 var build_module_quote_namespaceObject = {}; 1555 __webpack_require__.r(build_module_quote_namespaceObject); 1556 __webpack_require__.d(build_module_quote_namespaceObject, { 1557 init: () => (quote_init), 1558 metadata: () => (quote_block_namespaceObject), 1559 name: () => (quote_name), 1560 settings: () => (quote_settings) 1561 }); 1562 1563 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js 1564 var build_module_block_namespaceObject = {}; 1565 __webpack_require__.r(build_module_block_namespaceObject); 1566 __webpack_require__.d(build_module_block_namespaceObject, { 1567 init: () => (block_init), 1568 metadata: () => (block_block_namespaceObject), 1569 name: () => (block_name), 1570 settings: () => (block_settings) 1571 }); 1572 1573 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/read-more/index.js 1574 var read_more_namespaceObject = {}; 1575 __webpack_require__.r(read_more_namespaceObject); 1576 __webpack_require__.d(read_more_namespaceObject, { 1577 init: () => (read_more_init), 1578 metadata: () => (read_more_block_namespaceObject), 1579 name: () => (read_more_name), 1580 settings: () => (read_more_settings) 1581 }); 1582 1583 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js 1584 var build_module_rss_namespaceObject = {}; 1585 __webpack_require__.r(build_module_rss_namespaceObject); 1586 __webpack_require__.d(build_module_rss_namespaceObject, { 1587 init: () => (rss_init), 1588 metadata: () => (rss_block_namespaceObject), 1589 name: () => (rss_name), 1590 settings: () => (rss_settings) 1591 }); 1592 1593 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js 1594 var build_module_search_namespaceObject = {}; 1595 __webpack_require__.r(build_module_search_namespaceObject); 1596 __webpack_require__.d(build_module_search_namespaceObject, { 1597 init: () => (search_init), 1598 metadata: () => (search_block_namespaceObject), 1599 name: () => (search_name), 1600 settings: () => (search_settings) 1601 }); 1602 1603 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js 1604 var build_module_separator_namespaceObject = {}; 1605 __webpack_require__.r(build_module_separator_namespaceObject); 1606 __webpack_require__.d(build_module_separator_namespaceObject, { 1607 init: () => (separator_init), 1608 metadata: () => (separator_block_namespaceObject), 1609 name: () => (separator_name), 1610 settings: () => (separator_settings) 1611 }); 1612 1613 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js 1614 var build_module_shortcode_namespaceObject = {}; 1615 __webpack_require__.r(build_module_shortcode_namespaceObject); 1616 __webpack_require__.d(build_module_shortcode_namespaceObject, { 1617 init: () => (shortcode_init), 1618 metadata: () => (shortcode_block_namespaceObject), 1619 name: () => (shortcode_name), 1620 settings: () => (shortcode_settings) 1621 }); 1622 1623 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js 1624 var build_module_site_logo_namespaceObject = {}; 1625 __webpack_require__.r(build_module_site_logo_namespaceObject); 1626 __webpack_require__.d(build_module_site_logo_namespaceObject, { 1627 init: () => (site_logo_init), 1628 metadata: () => (site_logo_block_namespaceObject), 1629 name: () => (site_logo_name), 1630 settings: () => (site_logo_settings) 1631 }); 1632 1633 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js 1634 var site_tagline_namespaceObject = {}; 1635 __webpack_require__.r(site_tagline_namespaceObject); 1636 __webpack_require__.d(site_tagline_namespaceObject, { 1637 init: () => (site_tagline_init), 1638 metadata: () => (site_tagline_block_namespaceObject), 1639 name: () => (site_tagline_name), 1640 settings: () => (site_tagline_settings) 1641 }); 1642 1643 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js 1644 var site_title_namespaceObject = {}; 1645 __webpack_require__.r(site_title_namespaceObject); 1646 __webpack_require__.d(site_title_namespaceObject, { 1647 init: () => (site_title_init), 1648 metadata: () => (site_title_block_namespaceObject), 1649 name: () => (site_title_name), 1650 settings: () => (site_title_settings) 1651 }); 1652 1653 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js 1654 var social_link_namespaceObject = {}; 1655 __webpack_require__.r(social_link_namespaceObject); 1656 __webpack_require__.d(social_link_namespaceObject, { 1657 init: () => (social_link_init), 1658 metadata: () => (social_link_block_namespaceObject), 1659 name: () => (social_link_name), 1660 settings: () => (social_link_settings) 1661 }); 1662 1663 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js 1664 var social_links_namespaceObject = {}; 1665 __webpack_require__.r(social_links_namespaceObject); 1666 __webpack_require__.d(social_links_namespaceObject, { 1667 init: () => (social_links_init), 1668 metadata: () => (social_links_block_namespaceObject), 1669 name: () => (social_links_name), 1670 settings: () => (social_links_settings) 1671 }); 1672 1673 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js 1674 var spacer_namespaceObject = {}; 1675 __webpack_require__.r(spacer_namespaceObject); 1676 __webpack_require__.d(spacer_namespaceObject, { 1677 init: () => (spacer_init), 1678 metadata: () => (spacer_block_namespaceObject), 1679 name: () => (spacer_name), 1680 settings: () => (spacer_settings) 1681 }); 1682 1683 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js 1684 var build_module_table_namespaceObject = {}; 1685 __webpack_require__.r(build_module_table_namespaceObject); 1686 __webpack_require__.d(build_module_table_namespaceObject, { 1687 init: () => (table_init), 1688 metadata: () => (table_block_namespaceObject), 1689 name: () => (table_name), 1690 settings: () => (table_settings) 1691 }); 1692 1693 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table-of-contents/index.js 1694 var build_module_table_of_contents_namespaceObject = {}; 1695 __webpack_require__.r(build_module_table_of_contents_namespaceObject); 1696 __webpack_require__.d(build_module_table_of_contents_namespaceObject, { 1697 init: () => (table_of_contents_init), 1698 metadata: () => (table_of_contents_block_namespaceObject), 1699 name: () => (table_of_contents_name), 1700 settings: () => (table_of_contents_settings) 1701 }); 1702 1703 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js 1704 var tag_cloud_namespaceObject = {}; 1705 __webpack_require__.r(tag_cloud_namespaceObject); 1706 __webpack_require__.d(tag_cloud_namespaceObject, { 1707 init: () => (tag_cloud_init), 1708 metadata: () => (tag_cloud_block_namespaceObject), 1709 name: () => (tag_cloud_name), 1710 settings: () => (tag_cloud_settings) 1711 }); 1712 1713 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/template-part/index.js 1714 var template_part_namespaceObject = {}; 1715 __webpack_require__.r(template_part_namespaceObject); 1716 __webpack_require__.d(template_part_namespaceObject, { 1717 init: () => (template_part_init), 1718 metadata: () => (template_part_block_namespaceObject), 1719 name: () => (template_part_name), 1720 settings: () => (template_part_settings) 1721 }); 1722 1723 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-count/index.js 1724 var build_module_term_count_namespaceObject = {}; 1725 __webpack_require__.r(build_module_term_count_namespaceObject); 1726 __webpack_require__.d(build_module_term_count_namespaceObject, { 1727 init: () => (term_count_init), 1728 metadata: () => (term_count_block_namespaceObject), 1729 name: () => (term_count_name), 1730 settings: () => (term_count_settings) 1731 }); 1732 1733 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-description/index.js 1734 var build_module_term_description_namespaceObject = {}; 1735 __webpack_require__.r(build_module_term_description_namespaceObject); 1736 __webpack_require__.d(build_module_term_description_namespaceObject, { 1737 init: () => (term_description_init), 1738 metadata: () => (term_description_block_namespaceObject), 1739 name: () => (term_description_name), 1740 settings: () => (term_description_settings) 1741 }); 1742 1743 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-name/index.js 1744 var build_module_term_name_namespaceObject = {}; 1745 __webpack_require__.r(build_module_term_name_namespaceObject); 1746 __webpack_require__.d(build_module_term_name_namespaceObject, { 1747 init: () => (term_name_init), 1748 metadata: () => (term_name_block_namespaceObject), 1749 name: () => (term_name_name), 1750 settings: () => (term_name_settings) 1751 }); 1752 1753 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/terms-query/index.js 1754 var terms_query_namespaceObject = {}; 1755 __webpack_require__.r(terms_query_namespaceObject); 1756 __webpack_require__.d(terms_query_namespaceObject, { 1757 init: () => (terms_query_init), 1758 metadata: () => (terms_query_block_namespaceObject), 1759 name: () => (terms_query_name), 1760 settings: () => (terms_query_settings) 1761 }); 1762 1763 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-template/index.js 1764 var term_template_namespaceObject = {}; 1765 __webpack_require__.r(term_template_namespaceObject); 1766 __webpack_require__.d(term_template_namespaceObject, { 1767 init: () => (term_template_init), 1768 metadata: () => (term_template_block_namespaceObject), 1769 name: () => (term_template_name), 1770 settings: () => (term_template_settings) 1771 }); 1772 1773 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js 1774 var text_columns_namespaceObject = {}; 1775 __webpack_require__.r(text_columns_namespaceObject); 1776 __webpack_require__.d(text_columns_namespaceObject, { 1777 init: () => (text_columns_init), 1778 metadata: () => (text_columns_block_namespaceObject), 1779 name: () => (text_columns_name), 1780 settings: () => (text_columns_settings) 1781 }); 1782 1783 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js 1784 var build_module_verse_namespaceObject = {}; 1785 __webpack_require__.r(build_module_verse_namespaceObject); 1786 __webpack_require__.d(build_module_verse_namespaceObject, { 1787 init: () => (verse_init), 1788 metadata: () => (verse_block_namespaceObject), 1789 name: () => (verse_name), 1790 settings: () => (verse_settings) 1791 }); 1792 1793 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js 1794 var build_module_video_namespaceObject = {}; 1795 __webpack_require__.r(build_module_video_namespaceObject); 1796 __webpack_require__.d(build_module_video_namespaceObject, { 1797 init: () => (video_init), 1798 metadata: () => (video_block_namespaceObject), 1799 name: () => (video_name), 1800 settings: () => (video_settings) 1801 }); 1802 1803 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/footnotes/index.js 1804 var footnotes_namespaceObject = {}; 1805 __webpack_require__.r(footnotes_namespaceObject); 1806 __webpack_require__.d(footnotes_namespaceObject, { 1807 init: () => (footnotes_init), 1808 metadata: () => (footnotes_block_namespaceObject), 1809 name: () => (footnotes_name), 1810 settings: () => (footnotes_settings) 1811 }); 1812 1813 ;// external "ReactJSXRuntime" 1814 const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; 1815 ;// external ["wp","blocks"] 1816 const external_wp_blocks_namespaceObject = window["wp"]["blocks"]; 1817 ;// external ["wp","data"] 1818 const external_wp_data_namespaceObject = window["wp"]["data"]; 1819 ;// external ["wp","blockEditor"] 1820 const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; 1821 ;// external ["wp","serverSideRender"] 1822 const external_wp_serverSideRender_namespaceObject = window["wp"]["serverSideRender"]; 1823 var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_namespaceObject); 1824 ;// external ["wp","i18n"] 1825 const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; 1826 ;// external ["wp","components"] 1827 const external_wp_components_namespaceObject = window["wp"]["components"]; 1828 ;// external ["wp","element"] 1829 const external_wp_element_namespaceObject = window["wp"]["element"]; 1830 ;// external ["wp","blob"] 1831 const external_wp_blob_namespaceObject = window["wp"]["blob"]; 1832 ;// external ["wp","coreData"] 1833 const external_wp_coreData_namespaceObject = window["wp"]["coreData"]; 1834 ;// external ["wp","compose"] 1835 const external_wp_compose_namespaceObject = window["wp"]["compose"]; 1836 ;// ./node_modules/@wordpress/block-library/build-module/utils/hooks.js 1837 1838 1839 1840 1841 1842 1843 function useCanEditEntity(kind, name, recordId) { 1844 return (0,external_wp_data_namespaceObject.useSelect)( 1845 (select) => select(external_wp_coreData_namespaceObject.store).canUser("update", { 1846 kind, 1847 name, 1848 id: recordId 1849 }), 1850 [kind, name, recordId] 1851 ); 1852 } 1853 function useUploadMediaFromBlobURL(args = {}) { 1854 const latestArgsRef = (0,external_wp_element_namespaceObject.useRef)(args); 1855 const hasUploadStartedRef = (0,external_wp_element_namespaceObject.useRef)(false); 1856 const { getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 1857 (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { 1858 latestArgsRef.current = args; 1859 }); 1860 (0,external_wp_element_namespaceObject.useEffect)(() => { 1861 if (hasUploadStartedRef.current) { 1862 return; 1863 } 1864 if (!latestArgsRef.current.url || !(0,external_wp_blob_namespaceObject.isBlobURL)(latestArgsRef.current.url)) { 1865 return; 1866 } 1867 const file = (0,external_wp_blob_namespaceObject.getBlobByURL)(latestArgsRef.current.url); 1868 if (!file) { 1869 return; 1870 } 1871 const { url, allowedTypes, onChange, onError } = latestArgsRef.current; 1872 const { mediaUpload } = getSettings(); 1873 if (!mediaUpload) { 1874 return; 1875 } 1876 hasUploadStartedRef.current = true; 1877 mediaUpload({ 1878 filesList: [file], 1879 allowedTypes, 1880 onFileChange: ([media]) => { 1881 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media?.url)) { 1882 return; 1883 } 1884 (0,external_wp_blob_namespaceObject.revokeBlobURL)(url); 1885 onChange(media); 1886 hasUploadStartedRef.current = false; 1887 }, 1888 onError: (message) => { 1889 (0,external_wp_blob_namespaceObject.revokeBlobURL)(url); 1890 onError(message); 1891 hasUploadStartedRef.current = false; 1892 } 1893 }); 1894 }, [getSettings]); 1895 } 1896 function useDefaultAvatar() { 1897 const { avatarURL: defaultAvatarUrl } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 1898 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 1899 const { __experimentalDiscussionSettings } = getSettings(); 1900 return __experimentalDiscussionSettings; 1901 }); 1902 return defaultAvatarUrl; 1903 } 1904 function useToolsPanelDropdownMenuProps() { 1905 const isMobile = (0,external_wp_compose_namespaceObject.useViewportMatch)("medium", "<"); 1906 return !isMobile ? { 1907 popoverProps: { 1908 placement: "left-start", 1909 // For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px) 1910 offset: 259 1911 } 1912 } : {}; 1913 } 1914 1915 1916 ;// ./node_modules/@wordpress/block-library/build-module/accordion/edit.js 1917 1918 1919 1920 1921 1922 1923 1924 const ACCORDION_BLOCK_NAME = "core/accordion-item"; 1925 const ACCORDION_HEADING_BLOCK_NAME = "core/accordion-heading"; 1926 const ACCORDION_BLOCK = { 1927 name: ACCORDION_BLOCK_NAME 1928 }; 1929 function Edit({ 1930 attributes: { 1931 autoclose, 1932 iconPosition, 1933 showIcon, 1934 headingLevel, 1935 levelOptions 1936 }, 1937 clientId, 1938 setAttributes, 1939 isSelected: isSingleSelected 1940 }) { 1941 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 1942 const { getBlockOrder } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 1943 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 1944 role: "group" 1945 }); 1946 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 1947 const { updateBlockAttributes, insertBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 1948 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 1949 const isContentOnlyMode = blockEditingMode === "contentOnly"; 1950 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 1951 template: [[ACCORDION_BLOCK_NAME]], 1952 defaultBlock: ACCORDION_BLOCK, 1953 directInsert: true, 1954 templateInsertUpdatesSelection: true 1955 }); 1956 const addAccordionItemBlock = () => { 1957 const newAccordionItem = (0,external_wp_blocks_namespaceObject.createBlock)(ACCORDION_BLOCK_NAME, {}, [ 1958 (0,external_wp_blocks_namespaceObject.createBlock)(ACCORDION_HEADING_BLOCK_NAME, { 1959 level: headingLevel 1960 }), 1961 (0,external_wp_blocks_namespaceObject.createBlock)("core/accordion-panel", {}) 1962 ]); 1963 insertBlock(newAccordionItem, void 0, clientId); 1964 }; 1965 const updateHeadingLevel = (newHeadingLevel) => { 1966 const innerBlockClientIds = getBlockOrder(clientId); 1967 const accordionHeaderClientIds = []; 1968 innerBlockClientIds.forEach((contentClientId) => { 1969 const headerClientIds = getBlockOrder(contentClientId); 1970 accordionHeaderClientIds.push(...headerClientIds); 1971 }); 1972 registry.batch(() => { 1973 setAttributes({ headingLevel: newHeadingLevel }); 1974 updateBlockAttributes(accordionHeaderClientIds, { 1975 level: newHeadingLevel 1976 }); 1977 }); 1978 }; 1979 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 1980 isSingleSelected && !isContentOnlyMode && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 1981 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 1982 { 1983 value: headingLevel, 1984 options: levelOptions, 1985 onChange: updateHeadingLevel 1986 } 1987 ) }) }), 1988 isSingleSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { onClick: addAccordionItemBlock, children: (0,external_wp_i18n_namespaceObject.__)("Add") }) }), 1989 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 1990 external_wp_components_namespaceObject.__experimentalToolsPanel, 1991 { 1992 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 1993 resetAll: () => { 1994 setAttributes({ 1995 autoclose: false, 1996 showIcon: true, 1997 iconPosition: "right" 1998 }); 1999 }, 2000 dropdownMenuProps, 2001 children: [ 2002 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2003 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2004 { 2005 label: (0,external_wp_i18n_namespaceObject.__)("Auto-close"), 2006 isShownByDefault: true, 2007 hasValue: () => !!autoclose, 2008 onDeselect: () => setAttributes({ autoclose: false }), 2009 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2010 external_wp_components_namespaceObject.ToggleControl, 2011 { 2012 isBlock: true, 2013 __nextHasNoMarginBottom: true, 2014 label: (0,external_wp_i18n_namespaceObject.__)("Auto-close"), 2015 onChange: (value) => { 2016 setAttributes({ 2017 autoclose: value 2018 }); 2019 }, 2020 checked: autoclose, 2021 help: (0,external_wp_i18n_namespaceObject.__)( 2022 "Automatically close accordions when a new one is opened." 2023 ) 2024 } 2025 ) 2026 } 2027 ), 2028 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2029 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2030 { 2031 label: (0,external_wp_i18n_namespaceObject.__)("Show icon"), 2032 isShownByDefault: true, 2033 hasValue: () => !showIcon, 2034 onDeselect: () => setAttributes({ showIcon: true }), 2035 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2036 external_wp_components_namespaceObject.ToggleControl, 2037 { 2038 isBlock: true, 2039 __nextHasNoMarginBottom: true, 2040 label: (0,external_wp_i18n_namespaceObject.__)("Show icon"), 2041 onChange: (value) => { 2042 setAttributes({ 2043 showIcon: value, 2044 iconPosition: value ? iconPosition : "right" 2045 }); 2046 }, 2047 checked: showIcon, 2048 help: (0,external_wp_i18n_namespaceObject.__)( 2049 "Display a plus icon next to the accordion header." 2050 ) 2051 } 2052 ) 2053 } 2054 ), 2055 showIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2056 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2057 { 2058 label: (0,external_wp_i18n_namespaceObject.__)("Icon Position"), 2059 isShownByDefault: true, 2060 hasValue: () => iconPosition !== "right", 2061 onDeselect: () => setAttributes({ iconPosition: "right" }), 2062 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 2063 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 2064 { 2065 __nextHasNoMarginBottom: true, 2066 __next40pxDefaultSize: true, 2067 isBlock: true, 2068 label: (0,external_wp_i18n_namespaceObject.__)("Icon Position"), 2069 value: iconPosition, 2070 onChange: (value) => { 2071 setAttributes({ iconPosition: value }); 2072 }, 2073 children: [ 2074 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2075 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 2076 { 2077 label: (0,external_wp_i18n_namespaceObject.__)("Left"), 2078 value: "left" 2079 } 2080 ), 2081 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2082 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 2083 { 2084 label: (0,external_wp_i18n_namespaceObject.__)("Right"), 2085 value: "right" 2086 } 2087 ) 2088 ] 2089 } 2090 ) 2091 } 2092 ) 2093 ] 2094 } 2095 ) }, "setting"), 2096 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 2097 ] }); 2098 } 2099 2100 2101 ;// ./node_modules/@wordpress/block-library/build-module/accordion/save.js 2102 2103 2104 function save() { 2105 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 2106 role: "group" 2107 }); 2108 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps) }); 2109 } 2110 2111 2112 ;// ./node_modules/@wordpress/block-library/build-module/accordion/block.json 2113 const block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/accordion","title":"Accordion","category":"design","description":"Displays a group of accordion headings and associated expandable content.","example":{},"supports":{"anchor":true,"html":false,"align":["wide","full"],"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"color":{"background":true,"gradients":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"spacing":{"padding":true,"margin":["top","bottom"],"blockGap":true},"shadow":true,"layout":true,"ariaLabel":true,"interactivity":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"contentRole":true},"attributes":{"iconPosition":{"type":"string","default":"right"},"showIcon":{"type":"boolean","default":true},"autoclose":{"type":"boolean","default":false},"headingLevel":{"type":"number","default":3},"levelOptions":{"type":"array"}},"providesContext":{"core/accordion-icon-position":"iconPosition","core/accordion-show-icon":"showIcon","core/accordion-heading-level":"headingLevel"},"allowedBlocks":["core/accordion-item"],"textdomain":"default","viewScriptModule":"@wordpress/block-library/accordion/view"}'); 2114 ;// ./node_modules/@wordpress/block-library/build-module/utils/init-block.js 2115 2116 function initBlock(block) { 2117 if (!block) { 2118 return; 2119 } 2120 const { metadata, settings, name } = block; 2121 return (0,external_wp_blocks_namespaceObject.registerBlockType)({ name, ...metadata }, settings); 2122 } 2123 2124 2125 ;// external ["wp","primitives"] 2126 const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; 2127 ;// ./node_modules/@wordpress/block-library/build-module/accordion/icon.js 2128 2129 2130 var icon_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 2131 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2132 external_wp_primitives_namespaceObject.Path, 2133 { 2134 fillRule: "evenodd", 2135 clipRule: "evenodd", 2136 d: "M19.5 9.25L9.5 9.25L9.5 7.75L19.5 7.75L19.5 9.25Z", 2137 fill: "currentColor" 2138 } 2139 ), 2140 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.5 6L8.5 8.5L4.5 11L4.5 6Z", fill: "currentColor" }), 2141 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2142 external_wp_primitives_namespaceObject.Path, 2143 { 2144 fillRule: "evenodd", 2145 clipRule: "evenodd", 2146 d: "M19.5 16.25L9.5 16.25L9.5 14.75L19.5 14.75L19.5 16.25Z", 2147 fill: "currentColor" 2148 } 2149 ), 2150 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.5 13L8.5 15.5L4.5 18L4.5 13Z", fill: "currentColor" }) 2151 ] }); 2152 2153 2154 ;// ./node_modules/@wordpress/block-library/build-module/accordion/index.js 2155 2156 2157 2158 2159 2160 2161 const { name: accordion_name } = block_namespaceObject; 2162 const settings = { 2163 icon: icon_default, 2164 example: { 2165 innerBlocks: [ 2166 { 2167 name: "core/accordion-item", 2168 innerBlocks: [ 2169 { 2170 name: "core/accordion-heading", 2171 attributes: { 2172 title: (0,external_wp_i18n_namespaceObject.__)( 2173 "Lorem ipsum dolor sit amet, consectetur." 2174 ) 2175 } 2176 } 2177 ] 2178 }, 2179 { 2180 name: "core/accordion-item", 2181 innerBlocks: [ 2182 { 2183 name: "core/accordion-heading", 2184 attributes: { 2185 title: (0,external_wp_i18n_namespaceObject.__)( 2186 "Suspendisse commodo lacus, interdum et." 2187 ) 2188 } 2189 } 2190 ] 2191 } 2192 ] 2193 }, 2194 edit: Edit, 2195 save: save 2196 }; 2197 const init = () => initBlock({ name: accordion_name, metadata: block_namespaceObject, settings }); 2198 2199 2200 ;// ./node_modules/clsx/dist/clsx.mjs 2201 function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const dist_clsx = (clsx); 2202 ;// ./node_modules/@wordpress/block-library/build-module/accordion-item/edit.js 2203 2204 2205 2206 2207 2208 2209 2210 2211 function edit_Edit({ 2212 attributes, 2213 clientId, 2214 setAttributes, 2215 context 2216 }) { 2217 const { openByDefault } = attributes; 2218 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 2219 const { isSelected, getBlockOrder } = (0,external_wp_data_namespaceObject.useSelect)( 2220 (select) => { 2221 const { 2222 isBlockSelected, 2223 hasSelectedInnerBlock, 2224 getBlockOrder: getBlockOrderSelector 2225 } = select(external_wp_blockEditor_namespaceObject.store); 2226 return { 2227 isSelected: isBlockSelected(clientId) || hasSelectedInnerBlock(clientId, true), 2228 getBlockOrder: getBlockOrderSelector 2229 }; 2230 }, 2231 [clientId] 2232 ); 2233 const contentBlockClientId = getBlockOrder(clientId)[1]; 2234 const { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 2235 (0,external_wp_element_namespaceObject.useEffect)(() => { 2236 if (contentBlockClientId) { 2237 __unstableMarkNextChangeAsNotPersistent(); 2238 updateBlockAttributes(contentBlockClientId, { 2239 isSelected 2240 }); 2241 } 2242 }, [ 2243 isSelected, 2244 contentBlockClientId, 2245 __unstableMarkNextChangeAsNotPersistent, 2246 updateBlockAttributes 2247 ]); 2248 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 2249 className: dist_clsx({ 2250 "is-open": openByDefault || isSelected 2251 }) 2252 }); 2253 const headingLevel = context && context["core/accordion-heading-level"]; 2254 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 2255 template: [ 2256 [ 2257 "core/accordion-heading", 2258 headingLevel ? { level: headingLevel } : {} 2259 ], 2260 [ 2261 "core/accordion-panel", 2262 { 2263 openByDefault 2264 } 2265 ] 2266 ], 2267 templateLock: "all", 2268 directInsert: true, 2269 templateInsertUpdatesSelection: true 2270 }); 2271 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 2272 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2273 external_wp_components_namespaceObject.__experimentalToolsPanel, 2274 { 2275 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 2276 resetAll: () => { 2277 setAttributes({ openByDefault: false }); 2278 if (contentBlockClientId) { 2279 updateBlockAttributes(contentBlockClientId, { 2280 openByDefault: false 2281 }); 2282 } 2283 }, 2284 dropdownMenuProps, 2285 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2286 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2287 { 2288 label: (0,external_wp_i18n_namespaceObject.__)("Open by default"), 2289 isShownByDefault: true, 2290 hasValue: () => !!openByDefault, 2291 onDeselect: () => { 2292 setAttributes({ openByDefault: false }); 2293 if (contentBlockClientId) { 2294 updateBlockAttributes(contentBlockClientId, { 2295 openByDefault: false 2296 }); 2297 } 2298 }, 2299 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2300 external_wp_components_namespaceObject.ToggleControl, 2301 { 2302 label: (0,external_wp_i18n_namespaceObject.__)("Open by default"), 2303 __nextHasNoMarginBottom: true, 2304 onChange: (value) => { 2305 setAttributes({ 2306 openByDefault: value 2307 }); 2308 if (contentBlockClientId) { 2309 updateBlockAttributes( 2310 contentBlockClientId, 2311 { 2312 openByDefault: value 2313 } 2314 ); 2315 } 2316 }, 2317 checked: openByDefault, 2318 help: (0,external_wp_i18n_namespaceObject.__)( 2319 "Accordion content will be displayed by default." 2320 ) 2321 } 2322 ) 2323 } 2324 ) 2325 } 2326 ) }, "setting"), 2327 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 2328 ] }); 2329 } 2330 2331 2332 ;// ./node_modules/@wordpress/block-library/build-module/accordion-item/save.js 2333 2334 2335 2336 function save_save({ attributes }) { 2337 const { openByDefault } = attributes; 2338 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 2339 className: dist_clsx({ 2340 "is-open": openByDefault 2341 }) 2342 }); 2343 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 2344 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 2345 } 2346 2347 2348 ;// ./node_modules/@wordpress/block-library/build-module/accordion-item/block.json 2349 const accordion_item_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/accordion-item","title":"Accordion Item","category":"design","description":"Displays a section of content in an accordion, including a heading and expandable content.","parent":["core/accordion"],"allowedBlocks":["core/accordion-heading","core/accordion-panel"],"supports":{"html":false,"color":{"background":true,"gradients":true},"interactivity":true,"spacing":{"margin":["top","bottom"],"blockGap":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"shadow":true,"layout":{"allowEditing":false},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"contentRole":true},"attributes":{"openByDefault":{"type":"boolean","default":false}},"textdomain":"default","style":"wp-block-accordion-item"}'); 2350 ;// ./node_modules/@wordpress/block-library/build-module/accordion-item/icon.js 2351 2352 2353 var icon_icon_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 2354 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2355 external_wp_primitives_namespaceObject.Path, 2356 { 2357 fillRule: "evenodd", 2358 clipRule: "evenodd", 2359 d: "M19.5 9.5L9.5 9.5L9.5 8L19.5 8L19.5 9.5Z", 2360 fill: "currentColor" 2361 } 2362 ), 2363 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2364 external_wp_primitives_namespaceObject.Path, 2365 { 2366 fillRule: "evenodd", 2367 clipRule: "evenodd", 2368 d: "M19.5 13L9.5 13L9.5 11.5L19.5 11.5L19.5 13Z", 2369 fill: "currentColor" 2370 } 2371 ), 2372 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2373 external_wp_primitives_namespaceObject.Path, 2374 { 2375 fillRule: "evenodd", 2376 clipRule: "evenodd", 2377 d: "M19.5 16.3999L9.5 16.3999L9.5 14.8999L19.5 14.8999L19.5 16.3999Z", 2378 fill: "currentColor" 2379 } 2380 ), 2381 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.5 6.25L8.5 8.75L4.5 11.25L4.5 6.25Z", fill: "currentColor" }) 2382 ] }); 2383 2384 2385 ;// ./node_modules/@wordpress/block-library/build-module/accordion-item/index.js 2386 2387 2388 2389 2390 2391 const { name: accordion_item_name } = accordion_item_block_namespaceObject; 2392 const accordion_item_settings = { 2393 icon: icon_icon_default, 2394 edit: edit_Edit, 2395 save: save_save 2396 }; 2397 const accordion_item_init = () => initBlock({ name: accordion_item_name, metadata: accordion_item_block_namespaceObject, settings: accordion_item_settings }); 2398 2399 2400 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/edit.js 2401 2402 2403 2404 2405 function accordion_heading_edit_Edit({ attributes, setAttributes, context }) { 2406 const { title } = attributes; 2407 const { 2408 "core/accordion-icon-position": iconPosition, 2409 "core/accordion-show-icon": showIcon, 2410 "core/accordion-heading-level": headingLevel 2411 } = context; 2412 const TagName = "h" + headingLevel; 2413 (0,external_wp_element_namespaceObject.useEffect)(() => { 2414 if (iconPosition !== void 0 && showIcon !== void 0) { 2415 setAttributes({ 2416 iconPosition, 2417 showIcon 2418 }); 2419 } 2420 }, [iconPosition, showIcon, setAttributes]); 2421 const [fluidTypographySettings, layout] = (0,external_wp_blockEditor_namespaceObject.useSettings)( 2422 "typography.fluid", 2423 "layout" 2424 ); 2425 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes, { 2426 typography: { 2427 fluid: fluidTypographySettings 2428 }, 2429 layout: { 2430 wideSize: layout?.wideSize 2431 } 2432 }); 2433 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 2434 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 2435 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 2436 "button", 2437 { 2438 className: "wp-block-accordion-heading__toggle", 2439 style: spacingProps.style, 2440 tabIndex: "-1", 2441 children: [ 2442 showIcon && iconPosition === "left" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2443 "span", 2444 { 2445 className: "wp-block-accordion-heading__toggle-icon", 2446 "aria-hidden": "true", 2447 children: "+" 2448 } 2449 ), 2450 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2451 external_wp_blockEditor_namespaceObject.RichText, 2452 { 2453 withoutInteractiveFormatting: true, 2454 disableLineBreaks: true, 2455 tagName: "span", 2456 value: title, 2457 onChange: (newTitle) => setAttributes({ title: newTitle }), 2458 placeholder: (0,external_wp_i18n_namespaceObject.__)("Accordion title"), 2459 className: "wp-block-accordion-heading__toggle-title", 2460 style: { 2461 letterSpacing: typographyProps.style.letterSpacing, 2462 textDecoration: typographyProps.style.textDecoration 2463 } 2464 } 2465 ), 2466 showIcon && iconPosition === "right" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2467 "span", 2468 { 2469 className: "wp-block-accordion-heading__toggle-icon", 2470 "aria-hidden": "true", 2471 children: "+" 2472 } 2473 ) 2474 ] 2475 } 2476 ) }); 2477 } 2478 2479 2480 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/save.js 2481 2482 2483 function accordion_heading_save_save({ attributes }) { 2484 const { level, title, iconPosition, showIcon } = attributes; 2485 const TagName = "h" + (level || 3); 2486 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes); 2487 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 2488 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 2489 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 2490 "button", 2491 { 2492 className: "wp-block-accordion-heading__toggle", 2493 style: spacingProps.style, 2494 children: [ 2495 showIcon && iconPosition === "left" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2496 "span", 2497 { 2498 className: "wp-block-accordion-heading__toggle-icon", 2499 "aria-hidden": "true", 2500 children: "+" 2501 } 2502 ), 2503 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2504 external_wp_blockEditor_namespaceObject.RichText.Content, 2505 { 2506 className: "wp-block-accordion-heading__toggle-title", 2507 tagName: "span", 2508 value: title, 2509 style: { 2510 letterSpacing: typographyProps.style.letterSpacing, 2511 textDecoration: typographyProps.style.textDecoration 2512 } 2513 } 2514 ), 2515 showIcon && iconPosition === "right" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2516 "span", 2517 { 2518 className: "wp-block-accordion-heading__toggle-icon", 2519 "aria-hidden": "true", 2520 children: "+" 2521 } 2522 ) 2523 ] 2524 } 2525 ) }); 2526 } 2527 2528 2529 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/block.json 2530 const accordion_heading_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/accordion-heading","title":"Accordion Heading","category":"design","description":"Displays an accordion heading.","parent":["core/accordion-item"],"usesContext":["core/accordion-icon-position","core/accordion-show-icon","core/accordion-heading-level"],"supports":{"anchor":true,"color":{"background":true,"gradients":true},"align":false,"interactivity":true,"spacing":{"padding":true,"__experimentalDefaultControls":{"padding":true},"__experimentalSkipSerialization":true,"__experimentalSelector":".wp-block-accordion-heading__toggle"},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"typography":{"__experimentalSkipSerialization":["textDecoration","letterSpacing"],"fontSize":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true,"fontFamily":true}},"shadow":true,"blockVisibility":false,"lock":false},"selectors":{"typography":{"letterSpacing":".wp-block-accordion-heading .wp-block-accordion-heading__toggle-title","textDecoration":".wp-block-accordion-heading .wp-block-accordion-heading__toggle-title"}},"attributes":{"openByDefault":{"type":"boolean","default":false},"title":{"type":"rich-text","source":"rich-text","selector":".wp-block-accordion-heading__toggle-title","role":"content"},"level":{"type":"number"},"iconPosition":{"type":"string","enum":["left","right"],"default":"right"},"showIcon":{"type":"boolean","default":true}},"textdomain":"default"}'); 2531 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/icon.js 2532 2533 2534 var accordion_heading_icon_icon_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 2535 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2536 external_wp_primitives_namespaceObject.Path, 2537 { 2538 fillRule: "evenodd", 2539 clipRule: "evenodd", 2540 d: "M19.5 12.75L9.5 12.75L9.5 11.25L19.5 11.25L19.5 12.75Z", 2541 fill: "currentColor" 2542 } 2543 ), 2544 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.5 9.5L8.5 12L4.5 14.5L4.5 9.5Z", fill: "currentColor" }) 2545 ] }); 2546 2547 2548 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/deprecated.js 2549 2550 2551 const v1 = { 2552 attributes: { 2553 openByDefault: { 2554 type: "boolean", 2555 default: false 2556 }, 2557 title: { 2558 type: "rich-text", 2559 source: "rich-text", 2560 selector: ".wp-block-accordion-heading__toggle-title", 2561 role: "content" 2562 }, 2563 level: { 2564 type: "number" 2565 }, 2566 iconPosition: { 2567 type: "string", 2568 enum: ["left", "right"], 2569 default: "right" 2570 }, 2571 showIcon: { 2572 type: "boolean", 2573 default: true 2574 } 2575 }, 2576 supports: { 2577 anchor: true, 2578 color: { 2579 background: true, 2580 gradients: true 2581 }, 2582 align: false, 2583 interactivity: true, 2584 spacing: { 2585 padding: true, 2586 __experimentalDefaultControls: { 2587 padding: true 2588 }, 2589 __experimentalSkipSerialization: true, 2590 __experimentalSelector: ".wp-block-accordion-heading__toggle" 2591 }, 2592 __experimentalBorder: { 2593 color: true, 2594 radius: true, 2595 style: true, 2596 width: true, 2597 __experimentalDefaultControls: { 2598 color: true, 2599 radius: true, 2600 style: true, 2601 width: true 2602 } 2603 }, 2604 typography: { 2605 fontSize: true, 2606 __experimentalFontFamily: true, 2607 __experimentalFontWeight: true, 2608 __experimentalFontStyle: true, 2609 __experimentalTextTransform: true, 2610 __experimentalTextDecoration: true, 2611 __experimentalLetterSpacing: true, 2612 __experimentalDefaultControls: { 2613 fontSize: true, 2614 fontFamily: true 2615 } 2616 }, 2617 shadow: true, 2618 blockVisibility: false 2619 }, 2620 save({ attributes }) { 2621 const { level, title, iconPosition, showIcon } = attributes; 2622 const TagName = "h" + (level || 3); 2623 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 2624 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 2625 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 2626 "button", 2627 { 2628 className: "wp-block-accordion-heading__toggle", 2629 style: spacingProps.style, 2630 children: [ 2631 showIcon && iconPosition === "left" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2632 "span", 2633 { 2634 className: "wp-block-accordion-heading__toggle-icon", 2635 "aria-hidden": "true", 2636 children: "+" 2637 } 2638 ), 2639 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2640 external_wp_blockEditor_namespaceObject.RichText.Content, 2641 { 2642 className: "wp-block-accordion-heading__toggle-title", 2643 tagName: "span", 2644 value: title 2645 } 2646 ), 2647 showIcon && iconPosition === "right" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2648 "span", 2649 { 2650 className: "wp-block-accordion-heading__toggle-icon", 2651 "aria-hidden": "true", 2652 children: "+" 2653 } 2654 ) 2655 ] 2656 } 2657 ) }); 2658 } 2659 }; 2660 var deprecated_default = [v1]; 2661 2662 2663 ;// ./node_modules/@wordpress/block-library/build-module/accordion-heading/index.js 2664 2665 2666 2667 2668 2669 2670 const { name: accordion_heading_name } = accordion_heading_block_namespaceObject; 2671 const accordion_heading_settings = { 2672 icon: accordion_heading_icon_icon_default, 2673 edit: accordion_heading_edit_Edit, 2674 save: accordion_heading_save_save, 2675 deprecated: deprecated_default 2676 }; 2677 const accordion_heading_init = () => initBlock({ name: accordion_heading_name, metadata: accordion_heading_block_namespaceObject, settings: accordion_heading_settings }); 2678 2679 2680 ;// ./node_modules/@wordpress/block-library/build-module/accordion-panel/edit.js 2681 2682 2683 function accordion_panel_edit_Edit({ attributes }) { 2684 const { allowedBlocks, templateLock, openByDefault, isSelected } = attributes; 2685 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 2686 "aria-hidden": !isSelected && !openByDefault, 2687 role: "region" 2688 }); 2689 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 2690 allowedBlocks, 2691 template: [["core/paragraph", {}]], 2692 templateLock 2693 }); 2694 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 2695 } 2696 2697 2698 ;// ./node_modules/@wordpress/block-library/build-module/accordion-panel/save.js 2699 2700 2701 function accordion_panel_save_save() { 2702 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 2703 role: "region" 2704 }); 2705 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 2706 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 2707 } 2708 2709 2710 ;// ./node_modules/@wordpress/block-library/build-module/accordion-panel/block.json 2711 const accordion_panel_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/accordion-panel","title":"Accordion Panel","category":"design","description":"Displays an accordion panel.","parent":["core/accordion-item"],"supports":{"html":false,"color":{"background":true,"gradients":true},"interactivity":true,"spacing":{"padding":true,"blockGap":true,"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"shadow":true,"layout":{"allowEditing":false},"blockVisibility":false,"contentRole":true,"allowedBlocks":true,"lock":false},"attributes":{"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false],"default":false},"openByDefault":{"type":"boolean","default":false},"isSelected":{"type":"boolean","default":false}},"textdomain":"default","style":"wp-block-accordion-panel"}'); 2712 ;// ./node_modules/@wordpress/block-library/build-module/accordion-panel/icon.js 2713 2714 2715 var accordion_panel_icon_icon_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2716 external_wp_primitives_namespaceObject.Path, 2717 { 2718 fillRule: "evenodd", 2719 clipRule: "evenodd", 2720 d: "M8.10417 6.00024H6.5C5.39543 6.00024 4.5 6.89567 4.5 8.00024V10.3336H6V8.00024C6 7.7241 6.22386 7.50024 6.5 7.50024H8.10417V6.00024ZM4.5 13.6669V16.0002C4.5 17.1048 5.39543 18.0002 6.5 18.0002H8.10417V16.5002H6.5C6.22386 16.5002 6 16.2764 6 16.0002V13.6669H4.5ZM10.3958 6.00024V7.50024H13.6042V6.00024H10.3958ZM15.8958 6.00024V7.50024H17.5C17.7761 7.50024 18 7.7241 18 8.00024V10.3336H19.5V8.00024C19.5 6.89567 18.6046 6.00024 17.5 6.00024H15.8958ZM19.5 13.6669H18V16.0002C18 16.2764 17.7761 16.5002 17.5 16.5002H15.8958V18.0002H17.5C18.6046 18.0002 19.5 17.1048 19.5 16.0002V13.6669ZM13.6042 18.0002V16.5002H10.3958V18.0002H13.6042Z", 2721 fill: "currentColor" 2722 } 2723 ) }); 2724 2725 2726 ;// ./node_modules/@wordpress/block-library/build-module/accordion-panel/index.js 2727 2728 2729 2730 2731 2732 const { name: accordion_panel_name } = accordion_panel_block_namespaceObject; 2733 const accordion_panel_settings = { 2734 icon: accordion_panel_icon_icon_default, 2735 edit: accordion_panel_edit_Edit, 2736 save: accordion_panel_save_save 2737 }; 2738 const accordion_panel_init = () => initBlock({ name: accordion_panel_name, metadata: accordion_panel_block_namespaceObject, settings: accordion_panel_settings }); 2739 2740 2741 ;// ./node_modules/@wordpress/icons/build-module/library/archive.js 2742 2743 2744 var archive_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2745 external_wp_primitives_namespaceObject.Path, 2746 { 2747 fillRule: "evenodd", 2748 clipRule: "evenodd", 2749 d: "M11.934 7.406a1 1 0 0 0 .914.594H19a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5h5.764a.5.5 0 0 1 .447.276l.723 1.63Zm1.064-1.216a.5.5 0 0 0 .462.31H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.764a2 2 0 0 1 1.789 1.106l.445 1.084ZM8.5 10.5h7V12h-7v-1.5Zm7 3.5h-7v1.5h7V14Z" 2750 } 2751 ) }); 2752 2753 2754 ;// ./node_modules/@wordpress/block-library/build-module/archives/block.json 2755 const archives_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/archives","title":"Archives","category":"widgets","description":"Display a date archive of your posts.","textdomain":"default","attributes":{"displayAsDropdown":{"type":"boolean","default":false},"showLabel":{"type":"boolean","default":true},"showPostCounts":{"type":"boolean","default":false},"type":{"type":"string","default":"monthly"}},"supports":{"align":true,"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"html":false,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-archives-editor"}'); 2756 ;// ./node_modules/@wordpress/block-library/build-module/archives/edit.js 2757 2758 2759 2760 2761 2762 2763 function ArchivesEdit({ attributes, setAttributes }) { 2764 const { showLabel, showPostCounts, displayAsDropdown, type } = attributes; 2765 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 2766 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 2767 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 2768 external_wp_components_namespaceObject.__experimentalToolsPanel, 2769 { 2770 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 2771 resetAll: () => { 2772 setAttributes({ 2773 displayAsDropdown: false, 2774 showLabel: true, 2775 showPostCounts: false, 2776 type: "monthly" 2777 }); 2778 }, 2779 dropdownMenuProps, 2780 children: [ 2781 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2782 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2783 { 2784 label: (0,external_wp_i18n_namespaceObject.__)("Display as dropdown"), 2785 isShownByDefault: true, 2786 hasValue: () => displayAsDropdown, 2787 onDeselect: () => setAttributes({ displayAsDropdown: false }), 2788 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2789 external_wp_components_namespaceObject.ToggleControl, 2790 { 2791 __nextHasNoMarginBottom: true, 2792 label: (0,external_wp_i18n_namespaceObject.__)("Display as dropdown"), 2793 checked: displayAsDropdown, 2794 onChange: () => setAttributes({ 2795 displayAsDropdown: !displayAsDropdown 2796 }) 2797 } 2798 ) 2799 } 2800 ), 2801 displayAsDropdown && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2802 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2803 { 2804 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 2805 isShownByDefault: true, 2806 hasValue: () => !showLabel, 2807 onDeselect: () => setAttributes({ showLabel: true }), 2808 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2809 external_wp_components_namespaceObject.ToggleControl, 2810 { 2811 __nextHasNoMarginBottom: true, 2812 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 2813 checked: showLabel, 2814 onChange: () => setAttributes({ 2815 showLabel: !showLabel 2816 }) 2817 } 2818 ) 2819 } 2820 ), 2821 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2822 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2823 { 2824 label: (0,external_wp_i18n_namespaceObject.__)("Show post counts"), 2825 isShownByDefault: true, 2826 hasValue: () => showPostCounts, 2827 onDeselect: () => setAttributes({ showPostCounts: false }), 2828 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2829 external_wp_components_namespaceObject.ToggleControl, 2830 { 2831 __nextHasNoMarginBottom: true, 2832 label: (0,external_wp_i18n_namespaceObject.__)("Show post counts"), 2833 checked: showPostCounts, 2834 onChange: () => setAttributes({ 2835 showPostCounts: !showPostCounts 2836 }) 2837 } 2838 ) 2839 } 2840 ), 2841 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2842 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 2843 { 2844 label: (0,external_wp_i18n_namespaceObject.__)("Group by"), 2845 isShownByDefault: true, 2846 hasValue: () => type !== "monthly", 2847 onDeselect: () => setAttributes({ type: "monthly" }), 2848 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2849 external_wp_components_namespaceObject.SelectControl, 2850 { 2851 __next40pxDefaultSize: true, 2852 __nextHasNoMarginBottom: true, 2853 label: (0,external_wp_i18n_namespaceObject.__)("Group by"), 2854 options: [ 2855 { label: (0,external_wp_i18n_namespaceObject.__)("Year"), value: "yearly" }, 2856 { label: (0,external_wp_i18n_namespaceObject.__)("Month"), value: "monthly" }, 2857 { label: (0,external_wp_i18n_namespaceObject.__)("Week"), value: "weekly" }, 2858 { label: (0,external_wp_i18n_namespaceObject.__)("Day"), value: "daily" } 2859 ], 2860 value: type, 2861 onChange: (value) => setAttributes({ type: value }) 2862 } 2863 ) 2864 } 2865 ) 2866 ] 2867 } 2868 ) }), 2869 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2870 (external_wp_serverSideRender_default()), 2871 { 2872 block: "core/archives", 2873 skipBlockSupportAttributes: true, 2874 attributes 2875 } 2876 ) }) }) 2877 ] }); 2878 } 2879 2880 2881 ;// ./node_modules/@wordpress/block-library/build-module/archives/index.js 2882 2883 2884 2885 2886 const { name: archives_name } = archives_block_namespaceObject; 2887 const archives_settings = { 2888 icon: archive_default, 2889 example: {}, 2890 edit: ArchivesEdit 2891 }; 2892 const archives_init = () => initBlock({ name: archives_name, metadata: archives_block_namespaceObject, settings: archives_settings }); 2893 2894 2895 ;// ./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js 2896 2897 2898 var comment_author_avatar_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 2899 external_wp_primitives_namespaceObject.Path, 2900 { 2901 fillRule: "evenodd", 2902 d: "M7.25 16.437a6.5 6.5 0 1 1 9.5 0V16A2.75 2.75 0 0 0 14 13.25h-4A2.75 2.75 0 0 0 7.25 16v.437Zm1.5 1.193a6.47 6.47 0 0 0 3.25.87 6.47 6.47 0 0 0 3.25-.87V16c0-.69-.56-1.25-1.25-1.25h-4c-.69 0-1.25.56-1.25 1.25v1.63ZM4 12a8 8 0 1 1 16 0 8 8 0 0 1-16 0Zm10-2a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z", 2903 clipRule: "evenodd" 2904 } 2905 ) }); 2906 2907 2908 ;// ./node_modules/@wordpress/block-library/build-module/avatar/block.json 2909 const avatar_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/avatar","title":"Avatar","category":"theme","description":"Add a user’s avatar.","textdomain":"default","attributes":{"userId":{"type":"number"},"size":{"type":"number","default":96},"isLink":{"type":"boolean","default":false},"linkTarget":{"type":"string","default":"_self"}},"usesContext":["postType","postId","commentId"],"supports":{"html":false,"align":true,"alignWide":false,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"__experimentalBorder":{"__experimentalSkipSerialization":true,"radius":true,"width":true,"color":true,"style":true,"__experimentalDefaultControls":{"radius":true}},"color":{"text":false,"background":false},"filter":{"duotone":true},"interactivity":{"clientNavigation":true}},"selectors":{"border":".wp-block-avatar img","filter":{"duotone":".wp-block-avatar img"}},"editorStyle":"wp-block-avatar-editor","style":"wp-block-avatar"}'); 2910 ;// external ["wp","url"] 2911 const external_wp_url_namespaceObject = window["wp"]["url"]; 2912 ;// ./node_modules/@wordpress/block-library/build-module/avatar/hooks.js 2913 2914 2915 2916 2917 function getAvatarSizes(sizes) { 2918 const minSize = sizes ? sizes[0] : 24; 2919 const maxSize = sizes ? sizes[sizes.length - 1] : 96; 2920 const maxSizeBuffer = Math.floor(maxSize * 2.5); 2921 return { 2922 minSize, 2923 maxSize: maxSizeBuffer 2924 }; 2925 } 2926 function useCommentAvatar({ commentId }) { 2927 const [avatars] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 2928 "root", 2929 "comment", 2930 "author_avatar_urls", 2931 commentId 2932 ); 2933 const [authorName] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 2934 "root", 2935 "comment", 2936 "author_name", 2937 commentId 2938 ); 2939 const avatarUrls = avatars ? Object.values(avatars) : null; 2940 const sizes = avatars ? Object.keys(avatars) : null; 2941 const { minSize, maxSize } = getAvatarSizes(sizes); 2942 const defaultAvatar = useDefaultAvatar(); 2943 return { 2944 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, 2945 minSize, 2946 maxSize, 2947 alt: authorName ? ( 2948 // translators: %s: Author name. 2949 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("%s Avatar"), authorName) 2950 ) : (0,external_wp_i18n_namespaceObject.__)("Default Avatar") 2951 }; 2952 } 2953 function useUserAvatar({ userId, postId, postType }) { 2954 const { authorDetails } = (0,external_wp_data_namespaceObject.useSelect)( 2955 (select) => { 2956 const { getEditedEntityRecord, getUser } = select(external_wp_coreData_namespaceObject.store); 2957 if (userId) { 2958 return { 2959 authorDetails: getUser(userId) 2960 }; 2961 } 2962 const _authorId = getEditedEntityRecord( 2963 "postType", 2964 postType, 2965 postId 2966 )?.author; 2967 return { 2968 authorDetails: _authorId ? getUser(_authorId) : null 2969 }; 2970 }, 2971 [postType, postId, userId] 2972 ); 2973 const avatarUrls = authorDetails?.avatar_urls ? Object.values(authorDetails.avatar_urls) : null; 2974 const sizes = authorDetails?.avatar_urls ? Object.keys(authorDetails.avatar_urls) : null; 2975 const { minSize, maxSize } = getAvatarSizes(sizes); 2976 const defaultAvatar = useDefaultAvatar(); 2977 return { 2978 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, 2979 minSize, 2980 maxSize, 2981 alt: authorDetails ? ( 2982 // translators: %s: Author name. 2983 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("%s Avatar"), authorDetails?.name) 2984 ) : (0,external_wp_i18n_namespaceObject.__)("Default Avatar") 2985 }; 2986 } 2987 2988 2989 ;// external ["wp","htmlEntities"] 2990 const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; 2991 ;// ./node_modules/@wordpress/block-library/build-module/avatar/user-control.js 2992 2993 2994 2995 2996 2997 2998 2999 3000 const AUTHORS_QUERY = { 3001 who: "authors", 3002 per_page: 100, 3003 _fields: "id,name", 3004 context: "view" 3005 }; 3006 function UserControl({ value, onChange }) { 3007 const [filterValue, setFilterValue] = (0,external_wp_element_namespaceObject.useState)(""); 3008 const { authors, isLoading } = (0,external_wp_data_namespaceObject.useSelect)( 3009 (select) => { 3010 const { getUsers, isResolving } = select(external_wp_coreData_namespaceObject.store); 3011 const query = { ...AUTHORS_QUERY }; 3012 if (filterValue) { 3013 query.search = filterValue; 3014 query.search_columns = ["name"]; 3015 } 3016 return { 3017 authors: getUsers(query), 3018 isLoading: isResolving("getUsers", [query]) 3019 }; 3020 }, 3021 [filterValue] 3022 ); 3023 const options = (0,external_wp_element_namespaceObject.useMemo)(() => { 3024 return (authors ?? []).map((author) => { 3025 return { 3026 value: author.id, 3027 label: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(author.name) 3028 }; 3029 }); 3030 }, [authors]); 3031 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3032 external_wp_components_namespaceObject.ComboboxControl, 3033 { 3034 __next40pxDefaultSize: true, 3035 __nextHasNoMarginBottom: true, 3036 label: (0,external_wp_i18n_namespaceObject.__)("User"), 3037 help: (0,external_wp_i18n_namespaceObject.__)( 3038 "Select the avatar user to display, if it is blank it will use the post/page author." 3039 ), 3040 value, 3041 onChange, 3042 options, 3043 onFilterValueChange: (0,external_wp_compose_namespaceObject.debounce)(setFilterValue, 300), 3044 isLoading 3045 } 3046 ); 3047 } 3048 3049 3050 ;// ./node_modules/@wordpress/block-library/build-module/avatar/edit.js 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 const AvatarInspectorControls = ({ 3061 setAttributes, 3062 avatar, 3063 attributes, 3064 selectUser 3065 }) => { 3066 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 3067 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 3068 external_wp_components_namespaceObject.__experimentalToolsPanel, 3069 { 3070 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 3071 resetAll: () => { 3072 setAttributes({ 3073 size: 96, 3074 isLink: false, 3075 linkTarget: "_self", 3076 userId: void 0 3077 }); 3078 }, 3079 dropdownMenuProps, 3080 children: [ 3081 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3082 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 3083 { 3084 label: (0,external_wp_i18n_namespaceObject.__)("Image size"), 3085 isShownByDefault: true, 3086 hasValue: () => attributes?.size !== 96, 3087 onDeselect: () => setAttributes({ size: 96 }), 3088 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3089 external_wp_components_namespaceObject.RangeControl, 3090 { 3091 __nextHasNoMarginBottom: true, 3092 __next40pxDefaultSize: true, 3093 label: (0,external_wp_i18n_namespaceObject.__)("Image size"), 3094 onChange: (newSize) => setAttributes({ 3095 size: newSize 3096 }), 3097 min: avatar.minSize, 3098 max: avatar.maxSize, 3099 initialPosition: attributes?.size, 3100 value: attributes?.size 3101 } 3102 ) 3103 } 3104 ), 3105 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3106 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 3107 { 3108 label: (0,external_wp_i18n_namespaceObject.__)("Link to user profile"), 3109 isShownByDefault: true, 3110 hasValue: () => attributes?.isLink, 3111 onDeselect: () => setAttributes({ isLink: false }), 3112 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3113 external_wp_components_namespaceObject.ToggleControl, 3114 { 3115 __nextHasNoMarginBottom: true, 3116 label: (0,external_wp_i18n_namespaceObject.__)("Link to user profile"), 3117 onChange: () => setAttributes({ isLink: !attributes.isLink }), 3118 checked: attributes.isLink 3119 } 3120 ) 3121 } 3122 ), 3123 attributes.isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3124 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 3125 { 3126 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 3127 isShownByDefault: true, 3128 hasValue: () => attributes?.linkTarget !== "_self", 3129 onDeselect: () => setAttributes({ linkTarget: "_self" }), 3130 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3131 external_wp_components_namespaceObject.ToggleControl, 3132 { 3133 __nextHasNoMarginBottom: true, 3134 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 3135 onChange: (value) => setAttributes({ 3136 linkTarget: value ? "_blank" : "_self" 3137 }), 3138 checked: attributes.linkTarget === "_blank" 3139 } 3140 ) 3141 } 3142 ), 3143 selectUser && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3144 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 3145 { 3146 label: (0,external_wp_i18n_namespaceObject.__)("User"), 3147 isShownByDefault: true, 3148 hasValue: () => !!attributes?.userId, 3149 onDeselect: () => setAttributes({ userId: void 0 }), 3150 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3151 UserControl, 3152 { 3153 value: attributes?.userId, 3154 onChange: (value) => { 3155 setAttributes({ 3156 userId: value 3157 }); 3158 } 3159 } 3160 ) 3161 } 3162 ) 3163 ] 3164 } 3165 ) }); 3166 }; 3167 const ResizableAvatar = ({ 3168 setAttributes, 3169 attributes, 3170 avatar, 3171 blockProps, 3172 isSelected 3173 }) => { 3174 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 3175 const doubledSizedSrc = (0,external_wp_url_namespaceObject.addQueryArgs)( 3176 (0,external_wp_url_namespaceObject.removeQueryArgs)(avatar?.src, ["s"]), 3177 { 3178 s: attributes?.size * 2 3179 } 3180 ); 3181 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3182 external_wp_components_namespaceObject.ResizableBox, 3183 { 3184 size: { 3185 width: attributes.size, 3186 height: attributes.size 3187 }, 3188 showHandle: isSelected, 3189 onResizeStop: (event, direction, elt, delta) => { 3190 setAttributes({ 3191 size: parseInt( 3192 attributes.size + (delta.height || delta.width), 3193 10 3194 ) 3195 }); 3196 }, 3197 lockAspectRatio: true, 3198 enable: { 3199 top: false, 3200 right: !(0,external_wp_i18n_namespaceObject.isRTL)(), 3201 bottom: true, 3202 left: (0,external_wp_i18n_namespaceObject.isRTL)() 3203 }, 3204 minWidth: avatar.minSize, 3205 maxWidth: avatar.maxSize, 3206 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3207 "img", 3208 { 3209 src: doubledSizedSrc, 3210 alt: avatar.alt, 3211 className: dist_clsx( 3212 "avatar", 3213 "avatar-" + attributes.size, 3214 "photo", 3215 "wp-block-avatar__image", 3216 borderProps.className 3217 ), 3218 style: borderProps.style 3219 } 3220 ) 3221 } 3222 ) }); 3223 }; 3224 const CommentEdit = ({ attributes, context, setAttributes, isSelected }) => { 3225 const { commentId } = context; 3226 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 3227 const avatar = useCommentAvatar({ commentId }); 3228 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 3229 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3230 AvatarInspectorControls, 3231 { 3232 avatar, 3233 setAttributes, 3234 attributes, 3235 selectUser: false 3236 } 3237 ), 3238 attributes.isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3239 "a", 3240 { 3241 href: "#avatar-pseudo-link", 3242 className: "wp-block-avatar__link", 3243 onClick: (event) => event.preventDefault(), 3244 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3245 ResizableAvatar, 3246 { 3247 attributes, 3248 avatar, 3249 blockProps, 3250 isSelected, 3251 setAttributes 3252 } 3253 ) 3254 } 3255 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3256 ResizableAvatar, 3257 { 3258 attributes, 3259 avatar, 3260 blockProps, 3261 isSelected, 3262 setAttributes 3263 } 3264 ) 3265 ] }); 3266 }; 3267 const UserEdit = ({ attributes, context, setAttributes, isSelected }) => { 3268 const { postId, postType } = context; 3269 const avatar = useUserAvatar({ 3270 userId: attributes?.userId, 3271 postId, 3272 postType 3273 }); 3274 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 3275 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 3276 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3277 AvatarInspectorControls, 3278 { 3279 selectUser: true, 3280 attributes, 3281 avatar, 3282 setAttributes 3283 } 3284 ), 3285 attributes.isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3286 "a", 3287 { 3288 href: "#avatar-pseudo-link", 3289 className: "wp-block-avatar__link", 3290 onClick: (event) => event.preventDefault(), 3291 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3292 ResizableAvatar, 3293 { 3294 attributes, 3295 avatar, 3296 blockProps, 3297 isSelected, 3298 setAttributes 3299 } 3300 ) 3301 } 3302 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3303 ResizableAvatar, 3304 { 3305 attributes, 3306 avatar, 3307 blockProps, 3308 isSelected, 3309 setAttributes 3310 } 3311 ) 3312 ] }); 3313 }; 3314 function avatar_edit_Edit(props) { 3315 if (props?.context?.commentId || props?.context?.commentId === null) { 3316 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentEdit, { ...props }); 3317 } 3318 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(UserEdit, { ...props }); 3319 } 3320 3321 3322 ;// ./node_modules/@wordpress/block-library/build-module/avatar/index.js 3323 3324 3325 3326 3327 const { name: avatar_name } = avatar_block_namespaceObject; 3328 const avatar_settings = { 3329 icon: comment_author_avatar_default, 3330 edit: avatar_edit_Edit, 3331 example: {} 3332 }; 3333 const avatar_init = () => initBlock({ name: avatar_name, metadata: avatar_block_namespaceObject, settings: avatar_settings }); 3334 3335 3336 ;// ./node_modules/@wordpress/icons/build-module/library/audio.js 3337 3338 3339 var audio_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.7 4.3c-1.2 0-2.8 0-3.8 1-.6.6-.9 1.5-.9 2.6V14c-.6-.6-1.5-1-2.5-1C8.6 13 7 14.6 7 16.5S8.6 20 10.5 20c1.5 0 2.8-1 3.3-2.3.5-.8.7-1.8.7-2.5V7.9c0-.7.2-1.2.5-1.6.6-.6 1.8-.6 2.8-.6h.3V4.3h-.4z" }) }); 3340 3341 3342 ;// ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js 3343 3344 3345 var deprecated_deprecated_default = [ 3346 { 3347 attributes: { 3348 src: { 3349 type: "string", 3350 source: "attribute", 3351 selector: "audio", 3352 attribute: "src" 3353 }, 3354 caption: { 3355 type: "string", 3356 source: "html", 3357 selector: "figcaption" 3358 }, 3359 id: { 3360 type: "number" 3361 }, 3362 autoplay: { 3363 type: "boolean", 3364 source: "attribute", 3365 selector: "audio", 3366 attribute: "autoplay" 3367 }, 3368 loop: { 3369 type: "boolean", 3370 source: "attribute", 3371 selector: "audio", 3372 attribute: "loop" 3373 }, 3374 preload: { 3375 type: "string", 3376 source: "attribute", 3377 selector: "audio", 3378 attribute: "preload" 3379 } 3380 }, 3381 supports: { 3382 align: true 3383 }, 3384 save({ attributes }) { 3385 const { autoplay, caption, loop, preload, src } = attributes; 3386 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 3387 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3388 "audio", 3389 { 3390 controls: "controls", 3391 src, 3392 autoPlay: autoplay, 3393 loop, 3394 preload 3395 } 3396 ), 3397 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3398 external_wp_blockEditor_namespaceObject.RichText.Content, 3399 { 3400 tagName: "figcaption", 3401 value: caption 3402 } 3403 ) 3404 ] }); 3405 } 3406 } 3407 ]; 3408 3409 3410 ;// external ["wp","notices"] 3411 const external_wp_notices_namespaceObject = window["wp"]["notices"]; 3412 ;// ./node_modules/memize/dist/index.js 3413 /** 3414 * Memize options object. 3415 * 3416 * @typedef MemizeOptions 3417 * 3418 * @property {number} [maxSize] Maximum size of the cache. 3419 */ 3420 3421 /** 3422 * Internal cache entry. 3423 * 3424 * @typedef MemizeCacheNode 3425 * 3426 * @property {?MemizeCacheNode|undefined} [prev] Previous node. 3427 * @property {?MemizeCacheNode|undefined} [next] Next node. 3428 * @property {Array<*>} args Function arguments for cache 3429 * entry. 3430 * @property {*} val Function result. 3431 */ 3432 3433 /** 3434 * Properties of the enhanced function for controlling cache. 3435 * 3436 * @typedef MemizeMemoizedFunction 3437 * 3438 * @property {()=>void} clear Clear the cache. 3439 */ 3440 3441 /** 3442 * Accepts a function to be memoized, and returns a new memoized function, with 3443 * optional options. 3444 * 3445 * @template {(...args: any[]) => any} F 3446 * 3447 * @param {F} fn Function to memoize. 3448 * @param {MemizeOptions} [options] Options object. 3449 * 3450 * @return {((...args: Parameters<F>) => ReturnType<F>) & MemizeMemoizedFunction} Memoized function. 3451 */ 3452 function memize(fn, options) { 3453 var size = 0; 3454 3455 /** @type {?MemizeCacheNode|undefined} */ 3456 var head; 3457 3458 /** @type {?MemizeCacheNode|undefined} */ 3459 var tail; 3460 3461 options = options || {}; 3462 3463 function memoized(/* ...args */) { 3464 var node = head, 3465 len = arguments.length, 3466 args, 3467 i; 3468 3469 searchCache: while (node) { 3470 // Perform a shallow equality test to confirm that whether the node 3471 // under test is a candidate for the arguments passed. Two arrays 3472 // are shallowly equal if their length matches and each entry is 3473 // strictly equal between the two sets. Avoid abstracting to a 3474 // function which could incur an arguments leaking deoptimization. 3475 3476 // Check whether node arguments match arguments length 3477 if (node.args.length !== arguments.length) { 3478 node = node.next; 3479 continue; 3480 } 3481 3482 // Check whether node arguments match arguments values 3483 for (i = 0; i < len; i++) { 3484 if (node.args[i] !== arguments[i]) { 3485 node = node.next; 3486 continue searchCache; 3487 } 3488 } 3489 3490 // At this point we can assume we've found a match 3491 3492 // Surface matched node to head if not already 3493 if (node !== head) { 3494 // As tail, shift to previous. Must only shift if not also 3495 // head, since if both head and tail, there is no previous. 3496 if (node === tail) { 3497 tail = node.prev; 3498 } 3499 3500 // Adjust siblings to point to each other. If node was tail, 3501 // this also handles new tail's empty `next` assignment. 3502 /** @type {MemizeCacheNode} */ (node.prev).next = node.next; 3503 if (node.next) { 3504 node.next.prev = node.prev; 3505 } 3506 3507 node.next = head; 3508 node.prev = null; 3509 /** @type {MemizeCacheNode} */ (head).prev = node; 3510 head = node; 3511 } 3512 3513 // Return immediately 3514 return node.val; 3515 } 3516 3517 // No cached value found. Continue to insertion phase: 3518 3519 // Create a copy of arguments (avoid leaking deoptimization) 3520 args = new Array(len); 3521 for (i = 0; i < len; i++) { 3522 args[i] = arguments[i]; 3523 } 3524 3525 node = { 3526 args: args, 3527 3528 // Generate the result from original function 3529 val: fn.apply(null, args), 3530 }; 3531 3532 // Don't need to check whether node is already head, since it would 3533 // have been returned above already if it was 3534 3535 // Shift existing head down list 3536 if (head) { 3537 head.prev = node; 3538 node.next = head; 3539 } else { 3540 // If no head, follows that there's no tail (at initial or reset) 3541 tail = node; 3542 } 3543 3544 // Trim tail if we're reached max size and are pending cache insertion 3545 if (size === /** @type {MemizeOptions} */ (options).maxSize) { 3546 tail = /** @type {MemizeCacheNode} */ (tail).prev; 3547 /** @type {MemizeCacheNode} */ (tail).next = null; 3548 } else { 3549 size++; 3550 } 3551 3552 head = node; 3553 3554 return node.val; 3555 } 3556 3557 memoized.clear = function () { 3558 head = null; 3559 tail = null; 3560 size = 0; 3561 }; 3562 3563 // Ignore reason: There's not a clear solution to create an intersection of 3564 // the function with additional properties, where the goal is to retain the 3565 // function signature of the incoming argument and add control properties 3566 // on the return value. 3567 3568 // @ts-ignore 3569 return memoized; 3570 } 3571 3572 3573 3574 ;// ./node_modules/@wordpress/block-library/build-module/embed/block.json 3575 const embed_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/embed","title":"Embed","category":"embed","description":"Add a block that displays content pulled from other sites, like Twitter or YouTube.","textdomain":"default","attributes":{"url":{"type":"string","role":"content"},"caption":{"type":"rich-text","source":"rich-text","selector":"figcaption","role":"content"},"type":{"type":"string","role":"content"},"providerNameSlug":{"type":"string","role":"content"},"allowResponsive":{"type":"boolean","default":true},"responsive":{"type":"boolean","default":false,"role":"content"},"previewable":{"type":"boolean","default":true,"role":"content"}},"supports":{"align":true,"spacing":{"margin":true},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-embed-editor","style":"wp-block-embed"}'); 3576 ;// ./node_modules/@wordpress/block-library/build-module/embed/constants.js 3577 const ASPECT_RATIOS = [ 3578 // Common video resolutions. 3579 { ratio: "2.33", className: "wp-embed-aspect-21-9" }, 3580 { ratio: "2.00", className: "wp-embed-aspect-18-9" }, 3581 { ratio: "1.78", className: "wp-embed-aspect-16-9" }, 3582 { ratio: "1.33", className: "wp-embed-aspect-4-3" }, 3583 // Vertical video and instagram square video support. 3584 { ratio: "1.00", className: "wp-embed-aspect-1-1" }, 3585 { ratio: "0.56", className: "wp-embed-aspect-9-16" }, 3586 { ratio: "0.50", className: "wp-embed-aspect-1-2" } 3587 ]; 3588 const WP_EMBED_TYPE = "wp-embed"; 3589 3590 3591 ;// external ["wp","privateApis"] 3592 const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; 3593 ;// ./node_modules/@wordpress/block-library/build-module/lock-unlock.js 3594 3595 const { lock, unlock } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)( 3596 "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.", 3597 "@wordpress/block-library" 3598 ); 3599 3600 3601 ;// ./node_modules/@wordpress/block-library/build-module/embed/util.js 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 const { name: DEFAULT_EMBED_BLOCK } = embed_block_namespaceObject; 3612 const { kebabCase } = unlock(external_wp_components_namespaceObject.privateApis); 3613 const getEmbedInfoByProvider = (provider) => (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find( 3614 ({ name }) => name === provider 3615 ); 3616 const matchesPatterns = (url, patterns = []) => patterns.some((pattern) => url.match(pattern)); 3617 const findMoreSuitableBlock = (url) => (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find( 3618 ({ patterns }) => matchesPatterns(url, patterns) 3619 ); 3620 const isFromWordPress = (html) => html && html.includes('class="wp-embedded-content"'); 3621 const getPhotoHtml = (photo) => { 3622 const imageUrl = photo.url || photo.thumbnail_url; 3623 const photoPreview = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { src: imageUrl, alt: photo.title, width: "100%" }) }); 3624 return (0,external_wp_element_namespaceObject.renderToString)(photoPreview); 3625 }; 3626 const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { 3627 const { preview, attributes = {} } = props; 3628 const { url, providerNameSlug, type, ...restAttributes } = attributes; 3629 if (!url || !(0,external_wp_blocks_namespaceObject.getBlockType)(DEFAULT_EMBED_BLOCK)) { 3630 return; 3631 } 3632 const matchedBlock = findMoreSuitableBlock(url); 3633 const isCurrentBlockWP = providerNameSlug === "wordpress" || type === WP_EMBED_TYPE; 3634 const shouldCreateNewBlock = !isCurrentBlockWP && matchedBlock && (matchedBlock.attributes.providerNameSlug !== providerNameSlug || !providerNameSlug); 3635 if (shouldCreateNewBlock) { 3636 return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { 3637 url, 3638 ...restAttributes, 3639 ...matchedBlock.attributes 3640 }); 3641 } 3642 const wpVariation = (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find( 3643 ({ name }) => name === "wordpress" 3644 ); 3645 if (!wpVariation || !preview || !isFromWordPress(preview.html) || isCurrentBlockWP) { 3646 return; 3647 } 3648 return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { 3649 url, 3650 ...wpVariation.attributes, 3651 // By now we have the preview, but when the new block first renders, it 3652 // won't have had all the attributes set, and so won't get the correct 3653 // type and it won't render correctly. So, we pass through the current attributes 3654 // here so that the initial render works when we switch to the WordPress 3655 // block. This only affects the WordPress block because it can't be 3656 // rendered in the usual Sandbox (it has a sandbox of its own) and it 3657 // relies on the preview to set the correct render type. 3658 ...attributesFromPreview 3659 }); 3660 }; 3661 const hasAspectRatioClass = (existingClassNames) => { 3662 if (!existingClassNames) { 3663 return false; 3664 } 3665 return ASPECT_RATIOS.some( 3666 ({ className }) => existingClassNames.includes(className) 3667 ); 3668 }; 3669 const removeAspectRatioClasses = (existingClassNames) => { 3670 if (!existingClassNames) { 3671 return existingClassNames; 3672 } 3673 const aspectRatioClassNames = ASPECT_RATIOS.reduce( 3674 (accumulator, { className }) => { 3675 accumulator.push(className); 3676 return accumulator; 3677 }, 3678 ["wp-has-aspect-ratio"] 3679 ); 3680 let outputClassNames = existingClassNames; 3681 for (const className of aspectRatioClassNames) { 3682 outputClassNames = outputClassNames.replace(className, ""); 3683 } 3684 return outputClassNames.trim(); 3685 }; 3686 function getClassNames(html, existingClassNames, allowResponsive = true) { 3687 if (!allowResponsive) { 3688 return removeAspectRatioClasses(existingClassNames); 3689 } 3690 const previewDocument = document.implementation.createHTMLDocument(""); 3691 previewDocument.body.innerHTML = html; 3692 const iframe = previewDocument.body.querySelector("iframe"); 3693 if (iframe && iframe.height && iframe.width) { 3694 const aspectRatio = (iframe.width / iframe.height).toFixed(2); 3695 for (let ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) { 3696 const potentialRatio = ASPECT_RATIOS[ratioIndex]; 3697 if (aspectRatio >= potentialRatio.ratio) { 3698 const ratioDiff = aspectRatio - potentialRatio.ratio; 3699 if (ratioDiff > 0.1) { 3700 return removeAspectRatioClasses(existingClassNames); 3701 } 3702 return dist_clsx( 3703 removeAspectRatioClasses(existingClassNames), 3704 potentialRatio.className, 3705 "wp-has-aspect-ratio" 3706 ); 3707 } 3708 } 3709 } 3710 return existingClassNames; 3711 } 3712 function fallback(url, onReplace) { 3713 const link = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: url, children: url }); 3714 onReplace( 3715 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { content: (0,external_wp_element_namespaceObject.renderToString)(link) }) 3716 ); 3717 } 3718 const getAttributesFromPreview = memize( 3719 (preview, title, currentClassNames, isResponsive, allowResponsive = true) => { 3720 if (!preview) { 3721 return {}; 3722 } 3723 const attributes = {}; 3724 let { type = "rich" } = preview; 3725 const { html, provider_name: providerName } = preview; 3726 const providerNameSlug = kebabCase( 3727 (providerName || title).toLowerCase() 3728 ); 3729 if (isFromWordPress(html)) { 3730 type = WP_EMBED_TYPE; 3731 } 3732 if (html || "photo" === type) { 3733 attributes.type = type; 3734 attributes.providerNameSlug = providerNameSlug; 3735 } 3736 if (hasAspectRatioClass(currentClassNames)) { 3737 return attributes; 3738 } 3739 attributes.className = getClassNames( 3740 html, 3741 currentClassNames, 3742 isResponsive && allowResponsive 3743 ); 3744 return attributes; 3745 } 3746 ); 3747 const getMergedAttributesWithPreview = (currentAttributes, preview, title, isResponsive) => { 3748 const { allowResponsive, className } = currentAttributes; 3749 return { 3750 ...currentAttributes, 3751 ...getAttributesFromPreview( 3752 preview, 3753 title, 3754 className, 3755 isResponsive, 3756 allowResponsive 3757 ) 3758 }; 3759 }; 3760 3761 3762 ;// ./node_modules/@wordpress/icons/build-module/library/caption.js 3763 3764 3765 var caption_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3766 external_wp_primitives_namespaceObject.Path, 3767 { 3768 fillRule: "evenodd", 3769 clipRule: "evenodd", 3770 d: "M6 5.5h12a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5ZM4 6a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6Zm4 10h2v-1.5H8V16Zm5 0h-2v-1.5h2V16Zm1 0h2v-1.5h-2V16Z" 3771 } 3772 ) }); 3773 3774 3775 ;// ./node_modules/@wordpress/block-library/build-module/utils/caption.js 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 function Caption({ 3787 attributeKey = "caption", 3788 attributes, 3789 setAttributes, 3790 isSelected, 3791 insertBlocksAfter, 3792 placeholder = (0,external_wp_i18n_namespaceObject.__)("Add caption"), 3793 label = (0,external_wp_i18n_namespaceObject.__)("Caption text"), 3794 showToolbarButton = true, 3795 excludeElementClassName, 3796 className, 3797 readOnly, 3798 tagName = "figcaption", 3799 addLabel = (0,external_wp_i18n_namespaceObject.__)("Add caption"), 3800 removeLabel = (0,external_wp_i18n_namespaceObject.__)("Remove caption"), 3801 icon = caption_default, 3802 ...props 3803 }) { 3804 const caption = attributes[attributeKey]; 3805 const prevCaption = (0,external_wp_compose_namespaceObject.usePrevious)(caption); 3806 const { PrivateRichText: RichText } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 3807 const isCaptionEmpty = RichText.isEmpty(caption); 3808 const isPrevCaptionEmpty = RichText.isEmpty(prevCaption); 3809 const [showCaption, setShowCaption] = (0,external_wp_element_namespaceObject.useState)(!isCaptionEmpty); 3810 (0,external_wp_element_namespaceObject.useEffect)(() => { 3811 if (!isCaptionEmpty && isPrevCaptionEmpty) { 3812 setShowCaption(true); 3813 } 3814 }, [isCaptionEmpty, isPrevCaptionEmpty]); 3815 (0,external_wp_element_namespaceObject.useEffect)(() => { 3816 if (!isSelected && isCaptionEmpty) { 3817 setShowCaption(false); 3818 } 3819 }, [isSelected, isCaptionEmpty]); 3820 const ref = (0,external_wp_element_namespaceObject.useCallback)( 3821 (node) => { 3822 if (node && isCaptionEmpty) { 3823 node.focus(); 3824 } 3825 }, 3826 [isCaptionEmpty] 3827 ); 3828 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 3829 showToolbarButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3830 external_wp_components_namespaceObject.ToolbarButton, 3831 { 3832 onClick: () => { 3833 setShowCaption(!showCaption); 3834 if (showCaption && caption) { 3835 setAttributes({ 3836 [attributeKey]: void 0 3837 }); 3838 } 3839 }, 3840 icon, 3841 isPressed: showCaption, 3842 label: showCaption ? removeLabel : addLabel 3843 } 3844 ) }), 3845 showCaption && (!RichText.isEmpty(caption) || isSelected) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3846 RichText, 3847 { 3848 identifier: attributeKey, 3849 tagName, 3850 className: dist_clsx( 3851 className, 3852 excludeElementClassName ? "" : (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption") 3853 ), 3854 ref, 3855 "aria-label": label, 3856 placeholder, 3857 value: caption, 3858 onChange: (value) => setAttributes({ [attributeKey]: value }), 3859 inlineToolbar: true, 3860 __unstableOnSplitAtEnd: () => insertBlocksAfter( 3861 (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()) 3862 ), 3863 readOnly, 3864 ...props 3865 } 3866 ) 3867 ] }); 3868 } 3869 3870 3871 ;// ./node_modules/@wordpress/block-library/build-module/audio/edit.js 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 const ALLOWED_MEDIA_TYPES = ["audio"]; 3886 function AudioEdit({ 3887 attributes, 3888 className, 3889 setAttributes, 3890 onReplace, 3891 isSelected: isSingleSelected, 3892 insertBlocksAfter 3893 }) { 3894 const { id, autoplay, loop, preload, src } = attributes; 3895 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(attributes.blob); 3896 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 3897 const hasNonContentControls = blockEditingMode === "default"; 3898 useUploadMediaFromBlobURL({ 3899 url: temporaryURL, 3900 allowedTypes: ALLOWED_MEDIA_TYPES, 3901 onChange: onSelectAudio, 3902 onError: onUploadError 3903 }); 3904 function toggleAttribute(attribute) { 3905 return (newValue) => { 3906 setAttributes({ [attribute]: newValue }); 3907 }; 3908 } 3909 function onSelectURL(newSrc) { 3910 if (newSrc !== src) { 3911 const embedBlock = createUpgradedEmbedBlock({ 3912 attributes: { url: newSrc } 3913 }); 3914 if (void 0 !== embedBlock && onReplace) { 3915 onReplace(embedBlock); 3916 return; 3917 } 3918 setAttributes({ src: newSrc, id: void 0, blob: void 0 }); 3919 setTemporaryURL(); 3920 } 3921 } 3922 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 3923 function onUploadError(message) { 3924 createErrorNotice(message, { type: "snackbar" }); 3925 } 3926 function getAutoplayHelp(checked) { 3927 return checked ? (0,external_wp_i18n_namespaceObject.__)("Autoplay may cause usability issues for some users.") : null; 3928 } 3929 function onSelectAudio(media) { 3930 if (!media || !media.url) { 3931 setAttributes({ 3932 src: void 0, 3933 id: void 0, 3934 caption: void 0, 3935 blob: void 0 3936 }); 3937 setTemporaryURL(); 3938 return; 3939 } 3940 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { 3941 setTemporaryURL(media.url); 3942 return; 3943 } 3944 setAttributes({ 3945 blob: void 0, 3946 src: media.url, 3947 id: media.id, 3948 caption: media.caption 3949 }); 3950 setTemporaryURL(); 3951 } 3952 const classes = dist_clsx(className, { 3953 "is-transient": !!temporaryURL 3954 }); 3955 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 3956 className: classes 3957 }); 3958 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 3959 if (!src && !temporaryURL) { 3960 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3961 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 3962 { 3963 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: audio_default }), 3964 onSelect: onSelectAudio, 3965 onSelectURL, 3966 accept: "audio/*", 3967 allowedTypes: ALLOWED_MEDIA_TYPES, 3968 value: attributes, 3969 onError: onUploadError 3970 } 3971 ) }); 3972 } 3973 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 3974 isSingleSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 3975 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 3976 { 3977 mediaId: id, 3978 mediaURL: src, 3979 allowedTypes: ALLOWED_MEDIA_TYPES, 3980 accept: "audio/*", 3981 onSelect: onSelectAudio, 3982 onSelectURL, 3983 onError: onUploadError, 3984 onReset: () => onSelectAudio(void 0) 3985 } 3986 ) }), 3987 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 3988 external_wp_components_namespaceObject.__experimentalToolsPanel, 3989 { 3990 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 3991 resetAll: () => { 3992 setAttributes({ 3993 autoplay: false, 3994 loop: false, 3995 preload: void 0 3996 }); 3997 }, 3998 dropdownMenuProps, 3999 children: [ 4000 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4001 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4002 { 4003 label: (0,external_wp_i18n_namespaceObject.__)("Autoplay"), 4004 isShownByDefault: true, 4005 hasValue: () => !!autoplay, 4006 onDeselect: () => setAttributes({ 4007 autoplay: false 4008 }), 4009 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4010 external_wp_components_namespaceObject.ToggleControl, 4011 { 4012 __nextHasNoMarginBottom: true, 4013 label: (0,external_wp_i18n_namespaceObject.__)("Autoplay"), 4014 onChange: toggleAttribute("autoplay"), 4015 checked: !!autoplay, 4016 help: getAutoplayHelp 4017 } 4018 ) 4019 } 4020 ), 4021 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4022 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4023 { 4024 label: (0,external_wp_i18n_namespaceObject.__)("Loop"), 4025 isShownByDefault: true, 4026 hasValue: () => !!loop, 4027 onDeselect: () => setAttributes({ 4028 loop: false 4029 }), 4030 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4031 external_wp_components_namespaceObject.ToggleControl, 4032 { 4033 __nextHasNoMarginBottom: true, 4034 label: (0,external_wp_i18n_namespaceObject.__)("Loop"), 4035 onChange: toggleAttribute("loop"), 4036 checked: !!loop 4037 } 4038 ) 4039 } 4040 ), 4041 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4042 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4043 { 4044 label: (0,external_wp_i18n_namespaceObject.__)("Preload"), 4045 isShownByDefault: true, 4046 hasValue: () => !!preload, 4047 onDeselect: () => setAttributes({ 4048 preload: void 0 4049 }), 4050 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4051 external_wp_components_namespaceObject.SelectControl, 4052 { 4053 __next40pxDefaultSize: true, 4054 __nextHasNoMarginBottom: true, 4055 label: (0,external_wp_i18n_namespaceObject._x)( 4056 "Preload", 4057 "noun; Audio block parameter" 4058 ), 4059 value: preload || "", 4060 onChange: (value) => setAttributes({ 4061 preload: value || void 0 4062 }), 4063 options: [ 4064 { value: "", label: (0,external_wp_i18n_namespaceObject.__)("Browser default") }, 4065 { value: "auto", label: (0,external_wp_i18n_namespaceObject.__)("Auto") }, 4066 { value: "metadata", label: (0,external_wp_i18n_namespaceObject.__)("Metadata") }, 4067 { 4068 value: "none", 4069 label: (0,external_wp_i18n_namespaceObject._x)("None", "Preload value") 4070 } 4071 ] 4072 } 4073 ) 4074 } 4075 ) 4076 ] 4077 } 4078 ) }), 4079 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...blockProps, children: [ 4080 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { isDisabled: !isSingleSelected, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("audio", { controls: "controls", src: src ?? temporaryURL }) }), 4081 !!temporaryURL && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 4082 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4083 Caption, 4084 { 4085 attributes, 4086 setAttributes, 4087 isSelected: isSingleSelected, 4088 insertBlocksAfter, 4089 label: (0,external_wp_i18n_namespaceObject.__)("Audio caption text"), 4090 showToolbarButton: isSingleSelected && hasNonContentControls 4091 } 4092 ) 4093 ] }) 4094 ] }); 4095 } 4096 var edit_default = AudioEdit; 4097 4098 4099 ;// ./node_modules/@wordpress/block-library/build-module/audio/block.json 4100 const audio_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/audio","title":"Audio","category":"media","description":"Embed a simple audio player.","keywords":["music","sound","podcast","recording"],"textdomain":"default","attributes":{"blob":{"type":"string","role":"local"},"src":{"type":"string","source":"attribute","selector":"audio","attribute":"src","role":"content"},"caption":{"type":"rich-text","source":"rich-text","selector":"figcaption","role":"content"},"id":{"type":"number","role":"content"},"autoplay":{"type":"boolean","source":"attribute","selector":"audio","attribute":"autoplay"},"loop":{"type":"boolean","source":"attribute","selector":"audio","attribute":"loop"},"preload":{"type":"string","source":"attribute","selector":"audio","attribute":"preload"}},"supports":{"anchor":true,"align":true,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-audio-editor","style":"wp-block-audio"}'); 4101 ;// ./node_modules/@wordpress/block-library/build-module/audio/save.js 4102 4103 4104 function audio_save_save({ attributes }) { 4105 const { autoplay, caption, loop, preload, src } = attributes; 4106 return src && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 4107 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4108 "audio", 4109 { 4110 controls: "controls", 4111 src, 4112 autoPlay: autoplay, 4113 loop, 4114 preload 4115 } 4116 ), 4117 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4118 external_wp_blockEditor_namespaceObject.RichText.Content, 4119 { 4120 tagName: "figcaption", 4121 value: caption, 4122 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 4123 "caption" 4124 ) 4125 } 4126 ) 4127 ] }); 4128 } 4129 4130 4131 ;// ./node_modules/@wordpress/block-library/build-module/audio/transforms.js 4132 4133 4134 const transforms = { 4135 from: [ 4136 { 4137 type: "files", 4138 isMatch(files) { 4139 return files.length === 1 && files[0].type.indexOf("audio/") === 0; 4140 }, 4141 transform(files) { 4142 const file = files[0]; 4143 const block = (0,external_wp_blocks_namespaceObject.createBlock)("core/audio", { 4144 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 4145 }); 4146 return block; 4147 } 4148 }, 4149 { 4150 type: "shortcode", 4151 tag: "audio", 4152 attributes: { 4153 src: { 4154 type: "string", 4155 shortcode: ({ 4156 named: { src, mp3, m4a, ogg, wav, wma } 4157 }) => { 4158 return src || mp3 || m4a || ogg || wav || wma; 4159 } 4160 }, 4161 loop: { 4162 type: "string", 4163 shortcode: ({ named: { loop } }) => { 4164 return loop; 4165 } 4166 }, 4167 autoplay: { 4168 type: "string", 4169 shortcode: ({ named: { autoplay } }) => { 4170 return autoplay; 4171 } 4172 }, 4173 preload: { 4174 type: "string", 4175 shortcode: ({ named: { preload } }) => { 4176 return preload; 4177 } 4178 } 4179 } 4180 } 4181 ] 4182 }; 4183 var transforms_default = transforms; 4184 4185 4186 ;// ./node_modules/@wordpress/block-library/build-module/audio/index.js 4187 4188 4189 4190 4191 4192 4193 4194 const { name: audio_name } = audio_block_namespaceObject; 4195 const audio_settings = { 4196 icon: audio_default, 4197 example: { 4198 attributes: { 4199 src: "https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg" 4200 }, 4201 viewportWidth: 350 4202 }, 4203 transforms: transforms_default, 4204 deprecated: deprecated_deprecated_default, 4205 edit: edit_default, 4206 save: audio_save_save 4207 }; 4208 const audio_init = () => initBlock({ name: audio_name, metadata: audio_block_namespaceObject, settings: audio_settings }); 4209 4210 4211 ;// ./node_modules/@wordpress/icons/build-module/library/breadcrumbs.js 4212 4213 4214 var breadcrumbs_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 13.5h3v-3H4v3Zm6-3.5 2 2-2 2 1 1 3-3-3-3-1 1Zm7 .5v3h3v-3h-3Z" }) }); 4215 4216 4217 ;// ./node_modules/@wordpress/block-library/build-module/breadcrumbs/block.json 4218 const breadcrumbs_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/breadcrumbs","title":"Breadcrumbs","__experimental":true,"category":"theme","description":"Display a breadcrumb trail for hierarchical post types or based on taxonomy terms.","textdomain":"default","attributes":{"type":{"type":"string","default":"auto","enum":["auto","postWithTerms","postWithAncestors"]},"separator":{"type":"string","default":"/"},"showHomeLink":{"type":"boolean","default":true}},"usesContext":["postId","postType","templateSlug"],"supports":{"html":false,"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":false,"color":true,"width":true,"style":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-breadcrumbs"}'); 4219 ;// ./node_modules/@wordpress/block-library/build-module/breadcrumbs/edit.js 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 const separatorDefaultValue = "/"; 4230 const typeDefaultValue = "auto"; 4231 const BREADCRUMB_TYPES = { 4232 auto: { 4233 help: (0,external_wp_i18n_namespaceObject.__)( 4234 "Try to automatically determine the best type of breadcrumb for the template." 4235 ) 4236 }, 4237 postWithAncestors: { 4238 help: (0,external_wp_i18n_namespaceObject.__)( 4239 "Shows breadcrumbs based on post hierarchy. Only works for hierarchical post types." 4240 ), 4241 placeholderItems: [(0,external_wp_i18n_namespaceObject.__)("Ancestor"), (0,external_wp_i18n_namespaceObject.__)("Parent")] 4242 }, 4243 postWithTerms: { 4244 help: (0,external_wp_i18n_namespaceObject.__)( 4245 "Shows breadcrumbs based on taxonomy terms. Chooses the first taxonomy with assigned terms and includes ancestors if the taxonomy is hierarchical." 4246 ), 4247 placeholderItems: [(0,external_wp_i18n_namespaceObject.__)("Category")] 4248 } 4249 }; 4250 function BreadcrumbEdit({ 4251 attributes, 4252 setAttributes, 4253 context: { postId, postType, templateSlug } 4254 }) { 4255 const { separator, showHomeLink, type } = attributes; 4256 const { post, isPostTypeHierarchical, hasTermsAssigned, isLoading } = (0,external_wp_data_namespaceObject.useSelect)( 4257 (select) => { 4258 if (!postType) { 4259 return {}; 4260 } 4261 const _post = select(external_wp_coreData_namespaceObject.store).getEntityRecord( 4262 "postType", 4263 postType, 4264 postId 4265 ); 4266 const postTypeObject = select(external_wp_coreData_namespaceObject.store).getPostType(postType); 4267 const postTypeHasTaxonomies = postTypeObject && postTypeObject.taxonomies.length; 4268 let taxonomies; 4269 if (postTypeHasTaxonomies) { 4270 taxonomies = select(external_wp_coreData_namespaceObject.store).getTaxonomies({ 4271 type: postType, 4272 per_page: -1 4273 }); 4274 } 4275 return { 4276 post: _post, 4277 isPostTypeHierarchical: postTypeObject?.hierarchical, 4278 hasTermsAssigned: _post && (taxonomies || []).filter( 4279 ({ visibility }) => visibility?.publicly_queryable 4280 ).some((taxonomy) => { 4281 return !!_post[taxonomy.rest_base]?.length; 4282 }), 4283 isLoading: !_post || !postTypeObject || postTypeHasTaxonomies && !taxonomies 4284 }; 4285 }, 4286 [postType, postId] 4287 ); 4288 const [invalidationKey, setInvalidationKey] = (0,external_wp_element_namespaceObject.useState)(0); 4289 (0,external_wp_element_namespaceObject.useEffect)(() => { 4290 setInvalidationKey((c) => c + 1); 4291 }, [post]); 4292 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 4293 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 4294 const { content } = (0,external_wp_serverSideRender_namespaceObject.useServerSideRender)({ 4295 attributes, 4296 skipBlockSupportAttributes: true, 4297 block: "core/breadcrumbs", 4298 urlQueryArgs: { post_id: postId, invalidationKey } 4299 }); 4300 if (isLoading) { 4301 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }); 4302 } 4303 let breadcrumbsType; 4304 const isSpecificSupportedTypeSet = [ 4305 "postWithAncestors", 4306 "postWithTerms" 4307 ].includes(type); 4308 if (isSpecificSupportedTypeSet) { 4309 breadcrumbsType = type; 4310 } else { 4311 breadcrumbsType = isPostTypeHierarchical ? "postWithAncestors" : "postWithTerms"; 4312 } 4313 let placeholder = null; 4314 const showPlaceholder = !postId || !postType || // When `templateSlug` is set only show placeholder if the post type is not. 4315 // This is needed because when we are showing the template in post editor we 4316 // want to show the real breadcrumbs if we have the post type. 4317 templateSlug && !postType || breadcrumbsType === "postWithAncestors" && !isPostTypeHierarchical || breadcrumbsType === "postWithTerms" && !hasTermsAssigned; 4318 if (showPlaceholder) { 4319 const placeholderItems = [ 4320 showHomeLink && (0,external_wp_i18n_namespaceObject.__)("Home"), 4321 // For now if we are adding this in a template show a generic placeholder. 4322 ...templateSlug && !isSpecificSupportedTypeSet ? [(0,external_wp_i18n_namespaceObject.__)("Page")] : BREADCRUMB_TYPES[breadcrumbsType].placeholderItems 4323 ].filter(Boolean); 4324 placeholder = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4325 "nav", 4326 { 4327 style: { 4328 "--separator": `'$separator}'` 4329 }, 4330 inert: "true", 4331 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("ol", { children: [ 4332 placeholderItems.map((text, index) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: `#breadcrumbs-pseudo-link-$index}`, children: text }) }, index)), 4333 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { "aria-current": "page", children: (0,external_wp_i18n_namespaceObject.__)("Current") }) }) 4334 ] }) 4335 } 4336 ); 4337 } 4338 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 4339 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 4340 external_wp_components_namespaceObject.__experimentalToolsPanel, 4341 { 4342 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 4343 resetAll: () => { 4344 setAttributes({ 4345 separator: separatorDefaultValue, 4346 showHomeLink: true, 4347 type: typeDefaultValue 4348 }); 4349 }, 4350 dropdownMenuProps, 4351 children: [ 4352 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4353 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4354 { 4355 label: (0,external_wp_i18n_namespaceObject.__)("Type"), 4356 isShownByDefault: true, 4357 hasValue: () => type !== typeDefaultValue, 4358 onDeselect: () => setAttributes({ 4359 type: typeDefaultValue 4360 }), 4361 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4362 external_wp_components_namespaceObject.SelectControl, 4363 { 4364 __nextHasNoMarginBottom: true, 4365 __next40pxDefaultSize: true, 4366 label: (0,external_wp_i18n_namespaceObject.__)("Type"), 4367 value: type, 4368 onChange: (value) => setAttributes({ type: value }), 4369 options: [ 4370 { 4371 label: (0,external_wp_i18n_namespaceObject.__)("Auto"), 4372 value: "auto" 4373 }, 4374 { 4375 label: (0,external_wp_i18n_namespaceObject.__)("Post with ancestors"), 4376 value: "postWithAncestors" 4377 }, 4378 { 4379 label: (0,external_wp_i18n_namespaceObject.__)("Post with terms"), 4380 value: "postWithTerms" 4381 } 4382 ], 4383 help: BREADCRUMB_TYPES[type].help 4384 } 4385 ) 4386 } 4387 ), 4388 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4389 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4390 { 4391 label: (0,external_wp_i18n_namespaceObject.__)("Show home link"), 4392 isShownByDefault: true, 4393 hasValue: () => !showHomeLink, 4394 onDeselect: () => setAttributes({ 4395 showHomeLink: true 4396 }), 4397 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4398 external_wp_components_namespaceObject.ToggleControl, 4399 { 4400 __nextHasNoMarginBottom: true, 4401 label: (0,external_wp_i18n_namespaceObject.__)("Show home link"), 4402 onChange: (value) => setAttributes({ showHomeLink: value }), 4403 checked: showHomeLink 4404 } 4405 ) 4406 } 4407 ), 4408 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4409 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 4410 { 4411 label: (0,external_wp_i18n_namespaceObject.__)("Separator"), 4412 isShownByDefault: true, 4413 hasValue: () => separator !== separatorDefaultValue, 4414 onDeselect: () => setAttributes({ 4415 separator: separatorDefaultValue 4416 }), 4417 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4418 external_wp_components_namespaceObject.TextControl, 4419 { 4420 __nextHasNoMarginBottom: true, 4421 __next40pxDefaultSize: true, 4422 autoComplete: "off", 4423 label: (0,external_wp_i18n_namespaceObject.__)("Separator"), 4424 value: separator, 4425 onChange: (value) => setAttributes({ separator: value }), 4426 onBlur: () => { 4427 if (!separator) { 4428 setAttributes({ 4429 separator: separatorDefaultValue 4430 }); 4431 } 4432 } 4433 } 4434 ) 4435 } 4436 ) 4437 ] 4438 } 4439 ) }), 4440 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: showPlaceholder ? placeholder : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { inert: "true", children: content }) }) 4441 ] }); 4442 } 4443 4444 4445 ;// ./node_modules/@wordpress/block-library/build-module/breadcrumbs/index.js 4446 4447 4448 4449 4450 const { name: breadcrumbs_name } = breadcrumbs_block_namespaceObject; 4451 const breadcrumbs_settings = { 4452 icon: breadcrumbs_default, 4453 edit: BreadcrumbEdit 4454 }; 4455 const breadcrumbs_init = () => initBlock({ name: breadcrumbs_name, metadata: breadcrumbs_block_namespaceObject, settings: breadcrumbs_settings }); 4456 4457 4458 ;// ./node_modules/@wordpress/icons/build-module/library/button.js 4459 4460 4461 var button_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z" }) }); 4462 4463 4464 ;// ./node_modules/@wordpress/block-library/build-module/utils/migrate-font-family.js 4465 4466 4467 const { cleanEmptyObject } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 4468 function migrate_font_family_default(attributes) { 4469 if (!attributes?.style?.typography?.fontFamily) { 4470 return attributes; 4471 } 4472 const { fontFamily, ...typography } = attributes.style.typography; 4473 return { 4474 ...attributes, 4475 style: cleanEmptyObject({ 4476 ...attributes.style, 4477 typography 4478 }), 4479 fontFamily: fontFamily.split("|").pop() 4480 }; 4481 } 4482 4483 4484 ;// ./node_modules/@wordpress/block-library/build-module/button/deprecated.js 4485 4486 4487 4488 4489 4490 const migrateBorderRadius = (attributes) => { 4491 const { borderRadius, ...newAttributes } = attributes; 4492 const oldBorderRadius = [ 4493 borderRadius, 4494 newAttributes.style?.border?.radius 4495 ].find((possibleBorderRadius) => { 4496 return typeof possibleBorderRadius === "number" && possibleBorderRadius !== 0; 4497 }); 4498 if (!oldBorderRadius) { 4499 return newAttributes; 4500 } 4501 return { 4502 ...newAttributes, 4503 style: { 4504 ...newAttributes.style, 4505 border: { 4506 ...newAttributes.style?.border, 4507 radius: `$oldBorderRadius}px` 4508 } 4509 } 4510 }; 4511 }; 4512 function migrateAlign(attributes) { 4513 if (!attributes.align) { 4514 return attributes; 4515 } 4516 const { align, ...otherAttributes } = attributes; 4517 return { 4518 ...otherAttributes, 4519 className: dist_clsx( 4520 otherAttributes.className, 4521 `align$attributes.align}` 4522 ) 4523 }; 4524 } 4525 const migrateCustomColorsAndGradients = (attributes) => { 4526 if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { 4527 return attributes; 4528 } 4529 const style = { color: {} }; 4530 if (attributes.customTextColor) { 4531 style.color.text = attributes.customTextColor; 4532 } 4533 if (attributes.customBackgroundColor) { 4534 style.color.background = attributes.customBackgroundColor; 4535 } 4536 if (attributes.customGradient) { 4537 style.color.gradient = attributes.customGradient; 4538 } 4539 const { 4540 customTextColor, 4541 customBackgroundColor, 4542 customGradient, 4543 ...restAttributes 4544 } = attributes; 4545 return { 4546 ...restAttributes, 4547 style 4548 }; 4549 }; 4550 const oldColorsMigration = (attributes) => { 4551 const { color, textColor, ...restAttributes } = { 4552 ...attributes, 4553 customTextColor: attributes.textColor && "#" === attributes.textColor[0] ? attributes.textColor : void 0, 4554 customBackgroundColor: attributes.color && "#" === attributes.color[0] ? attributes.color : void 0 4555 }; 4556 return migrateCustomColorsAndGradients(restAttributes); 4557 }; 4558 const blockAttributes = { 4559 url: { 4560 type: "string", 4561 source: "attribute", 4562 selector: "a", 4563 attribute: "href" 4564 }, 4565 title: { 4566 type: "string", 4567 source: "attribute", 4568 selector: "a", 4569 attribute: "title" 4570 }, 4571 text: { 4572 type: "string", 4573 source: "html", 4574 selector: "a" 4575 } 4576 }; 4577 const v12 = { 4578 attributes: { 4579 tagName: { 4580 type: "string", 4581 enum: ["a", "button"], 4582 default: "a" 4583 }, 4584 type: { 4585 type: "string", 4586 default: "button" 4587 }, 4588 textAlign: { 4589 type: "string" 4590 }, 4591 url: { 4592 type: "string", 4593 source: "attribute", 4594 selector: "a", 4595 attribute: "href" 4596 }, 4597 title: { 4598 type: "string", 4599 source: "attribute", 4600 selector: "a,button", 4601 attribute: "title", 4602 role: "content" 4603 }, 4604 text: { 4605 type: "rich-text", 4606 source: "rich-text", 4607 selector: "a,button", 4608 role: "content" 4609 }, 4610 linkTarget: { 4611 type: "string", 4612 source: "attribute", 4613 selector: "a", 4614 attribute: "target", 4615 role: "content" 4616 }, 4617 rel: { 4618 type: "string", 4619 source: "attribute", 4620 selector: "a", 4621 attribute: "rel", 4622 role: "content" 4623 }, 4624 placeholder: { 4625 type: "string" 4626 }, 4627 backgroundColor: { 4628 type: "string" 4629 }, 4630 textColor: { 4631 type: "string" 4632 }, 4633 gradient: { 4634 type: "string" 4635 }, 4636 width: { 4637 type: "number" 4638 } 4639 }, 4640 supports: { 4641 anchor: true, 4642 align: true, 4643 alignWide: false, 4644 color: { 4645 __experimentalSkipSerialization: true, 4646 gradients: true, 4647 __experimentalDefaultControls: { 4648 background: true, 4649 text: true 4650 } 4651 }, 4652 typography: { 4653 fontSize: true, 4654 lineHeight: true, 4655 __experimentalFontFamily: true, 4656 __experimentalFontWeight: true, 4657 __experimentalFontStyle: true, 4658 __experimentalTextTransform: true, 4659 __experimentalTextDecoration: true, 4660 __experimentalLetterSpacing: true, 4661 __experimentalWritingMode: true, 4662 __experimentalDefaultControls: { 4663 fontSize: true 4664 } 4665 }, 4666 reusable: false, 4667 shadow: { 4668 __experimentalSkipSerialization: true 4669 }, 4670 spacing: { 4671 __experimentalSkipSerialization: true, 4672 padding: ["horizontal", "vertical"], 4673 __experimentalDefaultControls: { 4674 padding: true 4675 } 4676 }, 4677 __experimentalBorder: { 4678 color: true, 4679 radius: true, 4680 style: true, 4681 width: true, 4682 __experimentalSkipSerialization: true, 4683 __experimentalDefaultControls: { 4684 color: true, 4685 radius: true, 4686 style: true, 4687 width: true 4688 } 4689 }, 4690 __experimentalSelector: ".wp-block-button__link", 4691 interactivity: { 4692 clientNavigation: true 4693 } 4694 }, 4695 save({ attributes, className }) { 4696 const { 4697 tagName, 4698 type, 4699 textAlign, 4700 fontSize, 4701 linkTarget, 4702 rel, 4703 style, 4704 text, 4705 title, 4706 url, 4707 width 4708 } = attributes; 4709 const TagName = tagName || "a"; 4710 const isButtonTag = "button" === TagName; 4711 const buttonType = type || "button"; 4712 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 4713 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4714 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 4715 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 4716 const buttonClasses = dist_clsx( 4717 "wp-block-button__link", 4718 colorProps.className, 4719 borderProps.className, 4720 { 4721 [`has-text-align-$textAlign}`]: textAlign, 4722 // For backwards compatibility add style that isn't provided via 4723 // block support. 4724 "no-border-radius": style?.border?.radius === 0 4725 }, 4726 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 4727 ); 4728 const buttonStyle = { 4729 ...borderProps.style, 4730 ...colorProps.style, 4731 ...spacingProps.style, 4732 ...shadowProps.style 4733 }; 4734 const wrapperClasses = dist_clsx(className, { 4735 [`has-custom-width wp-block-button__width-$width}`]: width, 4736 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 4737 }); 4738 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4739 external_wp_blockEditor_namespaceObject.RichText.Content, 4740 { 4741 tagName: TagName, 4742 type: isButtonTag ? buttonType : null, 4743 className: buttonClasses, 4744 href: isButtonTag ? null : url, 4745 title, 4746 style: buttonStyle, 4747 value: text, 4748 target: isButtonTag ? null : linkTarget, 4749 rel: isButtonTag ? null : rel 4750 } 4751 ) }); 4752 } 4753 }; 4754 const v11 = { 4755 attributes: { 4756 url: { 4757 type: "string", 4758 source: "attribute", 4759 selector: "a", 4760 attribute: "href" 4761 }, 4762 title: { 4763 type: "string", 4764 source: "attribute", 4765 selector: "a", 4766 attribute: "title" 4767 }, 4768 text: { 4769 type: "string", 4770 source: "html", 4771 selector: "a" 4772 }, 4773 linkTarget: { 4774 type: "string", 4775 source: "attribute", 4776 selector: "a", 4777 attribute: "target" 4778 }, 4779 rel: { 4780 type: "string", 4781 source: "attribute", 4782 selector: "a", 4783 attribute: "rel" 4784 }, 4785 placeholder: { 4786 type: "string" 4787 }, 4788 backgroundColor: { 4789 type: "string" 4790 }, 4791 textColor: { 4792 type: "string" 4793 }, 4794 gradient: { 4795 type: "string" 4796 }, 4797 width: { 4798 type: "number" 4799 } 4800 }, 4801 supports: { 4802 anchor: true, 4803 align: true, 4804 alignWide: false, 4805 color: { 4806 __experimentalSkipSerialization: true, 4807 gradients: true, 4808 __experimentalDefaultControls: { 4809 background: true, 4810 text: true 4811 } 4812 }, 4813 typography: { 4814 fontSize: true, 4815 __experimentalFontFamily: true, 4816 __experimentalDefaultControls: { 4817 fontSize: true 4818 } 4819 }, 4820 reusable: false, 4821 spacing: { 4822 __experimentalSkipSerialization: true, 4823 padding: ["horizontal", "vertical"], 4824 __experimentalDefaultControls: { 4825 padding: true 4826 } 4827 }, 4828 __experimentalBorder: { 4829 radius: true, 4830 __experimentalSkipSerialization: true, 4831 __experimentalDefaultControls: { 4832 radius: true 4833 } 4834 }, 4835 __experimentalSelector: ".wp-block-button__link" 4836 }, 4837 save({ attributes, className }) { 4838 const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; 4839 if (!text) { 4840 return null; 4841 } 4842 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 4843 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4844 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 4845 const buttonClasses = dist_clsx( 4846 "wp-block-button__link", 4847 colorProps.className, 4848 borderProps.className, 4849 { 4850 // For backwards compatibility add style that isn't provided via 4851 // block support. 4852 "no-border-radius": style?.border?.radius === 0 4853 } 4854 ); 4855 const buttonStyle = { 4856 ...borderProps.style, 4857 ...colorProps.style, 4858 ...spacingProps.style 4859 }; 4860 const wrapperClasses = dist_clsx(className, { 4861 [`has-custom-width wp-block-button__width-$width}`]: width, 4862 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 4863 }); 4864 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4865 external_wp_blockEditor_namespaceObject.RichText.Content, 4866 { 4867 tagName: "a", 4868 className: buttonClasses, 4869 href: url, 4870 title, 4871 style: buttonStyle, 4872 value: text, 4873 target: linkTarget, 4874 rel 4875 } 4876 ) }); 4877 } 4878 }; 4879 const v10 = { 4880 attributes: { 4881 url: { 4882 type: "string", 4883 source: "attribute", 4884 selector: "a", 4885 attribute: "href" 4886 }, 4887 title: { 4888 type: "string", 4889 source: "attribute", 4890 selector: "a", 4891 attribute: "title" 4892 }, 4893 text: { 4894 type: "string", 4895 source: "html", 4896 selector: "a" 4897 }, 4898 linkTarget: { 4899 type: "string", 4900 source: "attribute", 4901 selector: "a", 4902 attribute: "target" 4903 }, 4904 rel: { 4905 type: "string", 4906 source: "attribute", 4907 selector: "a", 4908 attribute: "rel" 4909 }, 4910 placeholder: { 4911 type: "string" 4912 }, 4913 backgroundColor: { 4914 type: "string" 4915 }, 4916 textColor: { 4917 type: "string" 4918 }, 4919 gradient: { 4920 type: "string" 4921 }, 4922 width: { 4923 type: "number" 4924 } 4925 }, 4926 supports: { 4927 anchor: true, 4928 align: true, 4929 alignWide: false, 4930 color: { 4931 __experimentalSkipSerialization: true, 4932 gradients: true 4933 }, 4934 typography: { 4935 fontSize: true, 4936 __experimentalFontFamily: true 4937 }, 4938 reusable: false, 4939 spacing: { 4940 __experimentalSkipSerialization: true, 4941 padding: ["horizontal", "vertical"], 4942 __experimentalDefaultControls: { 4943 padding: true 4944 } 4945 }, 4946 __experimentalBorder: { 4947 radius: true, 4948 __experimentalSkipSerialization: true 4949 }, 4950 __experimentalSelector: ".wp-block-button__link" 4951 }, 4952 save({ attributes, className }) { 4953 const { fontSize, linkTarget, rel, style, text, title, url, width } = attributes; 4954 if (!text) { 4955 return null; 4956 } 4957 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 4958 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4959 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 4960 const buttonClasses = dist_clsx( 4961 "wp-block-button__link", 4962 colorProps.className, 4963 borderProps.className, 4964 { 4965 // For backwards compatibility add style that isn't provided via 4966 // block support. 4967 "no-border-radius": style?.border?.radius === 0 4968 } 4969 ); 4970 const buttonStyle = { 4971 ...borderProps.style, 4972 ...colorProps.style, 4973 ...spacingProps.style 4974 }; 4975 const wrapperClasses = dist_clsx(className, { 4976 [`has-custom-width wp-block-button__width-$width}`]: width, 4977 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 4978 }); 4979 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 4980 external_wp_blockEditor_namespaceObject.RichText.Content, 4981 { 4982 tagName: "a", 4983 className: buttonClasses, 4984 href: url, 4985 title, 4986 style: buttonStyle, 4987 value: text, 4988 target: linkTarget, 4989 rel 4990 } 4991 ) }); 4992 }, 4993 migrate: migrate_font_family_default, 4994 isEligible({ style }) { 4995 return style?.typography?.fontFamily; 4996 } 4997 }; 4998 const deprecated = [ 4999 v12, 5000 v11, 5001 v10, 5002 { 5003 supports: { 5004 anchor: true, 5005 align: true, 5006 alignWide: false, 5007 color: { 5008 __experimentalSkipSerialization: true, 5009 gradients: true 5010 }, 5011 typography: { 5012 fontSize: true, 5013 __experimentalFontFamily: true 5014 }, 5015 reusable: false, 5016 __experimentalSelector: ".wp-block-button__link" 5017 }, 5018 attributes: { 5019 ...blockAttributes, 5020 linkTarget: { 5021 type: "string", 5022 source: "attribute", 5023 selector: "a", 5024 attribute: "target" 5025 }, 5026 rel: { 5027 type: "string", 5028 source: "attribute", 5029 selector: "a", 5030 attribute: "rel" 5031 }, 5032 placeholder: { 5033 type: "string" 5034 }, 5035 backgroundColor: { 5036 type: "string" 5037 }, 5038 textColor: { 5039 type: "string" 5040 }, 5041 gradient: { 5042 type: "string" 5043 }, 5044 width: { 5045 type: "number" 5046 } 5047 }, 5048 isEligible({ style }) { 5049 return typeof style?.border?.radius === "number"; 5050 }, 5051 save({ attributes, className }) { 5052 const { 5053 fontSize, 5054 linkTarget, 5055 rel, 5056 style, 5057 text, 5058 title, 5059 url, 5060 width 5061 } = attributes; 5062 if (!text) { 5063 return null; 5064 } 5065 const borderRadius = style?.border?.radius; 5066 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 5067 const buttonClasses = dist_clsx( 5068 "wp-block-button__link", 5069 colorProps.className, 5070 { 5071 "no-border-radius": style?.border?.radius === 0 5072 } 5073 ); 5074 const buttonStyle = { 5075 borderRadius: borderRadius ? borderRadius : void 0, 5076 ...colorProps.style 5077 }; 5078 const wrapperClasses = dist_clsx(className, { 5079 [`has-custom-width wp-block-button__width-$width}`]: width, 5080 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 5081 }); 5082 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5083 external_wp_blockEditor_namespaceObject.RichText.Content, 5084 { 5085 tagName: "a", 5086 className: buttonClasses, 5087 href: url, 5088 title, 5089 style: buttonStyle, 5090 value: text, 5091 target: linkTarget, 5092 rel 5093 } 5094 ) }); 5095 }, 5096 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family_default, migrateBorderRadius) 5097 }, 5098 { 5099 supports: { 5100 anchor: true, 5101 align: true, 5102 alignWide: false, 5103 color: { 5104 __experimentalSkipSerialization: true 5105 }, 5106 reusable: false, 5107 __experimentalSelector: ".wp-block-button__link" 5108 }, 5109 attributes: { 5110 ...blockAttributes, 5111 linkTarget: { 5112 type: "string", 5113 source: "attribute", 5114 selector: "a", 5115 attribute: "target" 5116 }, 5117 rel: { 5118 type: "string", 5119 source: "attribute", 5120 selector: "a", 5121 attribute: "rel" 5122 }, 5123 placeholder: { 5124 type: "string" 5125 }, 5126 borderRadius: { 5127 type: "number" 5128 }, 5129 backgroundColor: { 5130 type: "string" 5131 }, 5132 textColor: { 5133 type: "string" 5134 }, 5135 gradient: { 5136 type: "string" 5137 }, 5138 style: { 5139 type: "object" 5140 }, 5141 width: { 5142 type: "number" 5143 } 5144 }, 5145 save({ attributes, className }) { 5146 const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; 5147 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 5148 const buttonClasses = dist_clsx( 5149 "wp-block-button__link", 5150 colorProps.className, 5151 { 5152 "no-border-radius": borderRadius === 0 5153 } 5154 ); 5155 const buttonStyle = { 5156 borderRadius: borderRadius ? borderRadius + "px" : void 0, 5157 ...colorProps.style 5158 }; 5159 const wrapperClasses = dist_clsx(className, { 5160 [`has-custom-width wp-block-button__width-$width}`]: width 5161 }); 5162 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5163 external_wp_blockEditor_namespaceObject.RichText.Content, 5164 { 5165 tagName: "a", 5166 className: buttonClasses, 5167 href: url, 5168 title, 5169 style: buttonStyle, 5170 value: text, 5171 target: linkTarget, 5172 rel 5173 } 5174 ) }); 5175 }, 5176 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family_default, migrateBorderRadius) 5177 }, 5178 { 5179 supports: { 5180 anchor: true, 5181 align: true, 5182 alignWide: false, 5183 color: { 5184 __experimentalSkipSerialization: true 5185 }, 5186 reusable: false, 5187 __experimentalSelector: ".wp-block-button__link" 5188 }, 5189 attributes: { 5190 ...blockAttributes, 5191 linkTarget: { 5192 type: "string", 5193 source: "attribute", 5194 selector: "a", 5195 attribute: "target" 5196 }, 5197 rel: { 5198 type: "string", 5199 source: "attribute", 5200 selector: "a", 5201 attribute: "rel" 5202 }, 5203 placeholder: { 5204 type: "string" 5205 }, 5206 borderRadius: { 5207 type: "number" 5208 }, 5209 backgroundColor: { 5210 type: "string" 5211 }, 5212 textColor: { 5213 type: "string" 5214 }, 5215 gradient: { 5216 type: "string" 5217 }, 5218 style: { 5219 type: "object" 5220 }, 5221 width: { 5222 type: "number" 5223 } 5224 }, 5225 save({ attributes, className }) { 5226 const { borderRadius, linkTarget, rel, text, title, url, width } = attributes; 5227 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 5228 const buttonClasses = dist_clsx( 5229 "wp-block-button__link", 5230 colorProps.className, 5231 { 5232 "no-border-radius": borderRadius === 0 5233 } 5234 ); 5235 const buttonStyle = { 5236 borderRadius: borderRadius ? borderRadius + "px" : void 0, 5237 ...colorProps.style 5238 }; 5239 const wrapperClasses = dist_clsx(className, { 5240 [`has-custom-width wp-block-button__width-$width}`]: width 5241 }); 5242 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5243 external_wp_blockEditor_namespaceObject.RichText.Content, 5244 { 5245 tagName: "a", 5246 className: buttonClasses, 5247 href: url, 5248 title, 5249 style: buttonStyle, 5250 value: text, 5251 target: linkTarget, 5252 rel 5253 } 5254 ) }); 5255 }, 5256 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family_default, migrateBorderRadius) 5257 }, 5258 { 5259 supports: { 5260 align: true, 5261 alignWide: false, 5262 color: { gradients: true } 5263 }, 5264 attributes: { 5265 ...blockAttributes, 5266 linkTarget: { 5267 type: "string", 5268 source: "attribute", 5269 selector: "a", 5270 attribute: "target" 5271 }, 5272 rel: { 5273 type: "string", 5274 source: "attribute", 5275 selector: "a", 5276 attribute: "rel" 5277 }, 5278 placeholder: { 5279 type: "string" 5280 }, 5281 borderRadius: { 5282 type: "number" 5283 }, 5284 backgroundColor: { 5285 type: "string" 5286 }, 5287 textColor: { 5288 type: "string" 5289 }, 5290 gradient: { 5291 type: "string" 5292 }, 5293 style: { 5294 type: "object" 5295 } 5296 }, 5297 save({ attributes }) { 5298 const { borderRadius, linkTarget, rel, text, title, url } = attributes; 5299 const buttonClasses = dist_clsx("wp-block-button__link", { 5300 "no-border-radius": borderRadius === 0 5301 }); 5302 const buttonStyle = { 5303 borderRadius: borderRadius ? borderRadius + "px" : void 0 5304 }; 5305 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5306 external_wp_blockEditor_namespaceObject.RichText.Content, 5307 { 5308 tagName: "a", 5309 className: buttonClasses, 5310 href: url, 5311 title, 5312 style: buttonStyle, 5313 value: text, 5314 target: linkTarget, 5315 rel 5316 } 5317 ); 5318 }, 5319 migrate: migrateBorderRadius 5320 }, 5321 { 5322 supports: { 5323 align: true, 5324 alignWide: false 5325 }, 5326 attributes: { 5327 ...blockAttributes, 5328 linkTarget: { 5329 type: "string", 5330 source: "attribute", 5331 selector: "a", 5332 attribute: "target" 5333 }, 5334 rel: { 5335 type: "string", 5336 source: "attribute", 5337 selector: "a", 5338 attribute: "rel" 5339 }, 5340 placeholder: { 5341 type: "string" 5342 }, 5343 borderRadius: { 5344 type: "number" 5345 }, 5346 backgroundColor: { 5347 type: "string" 5348 }, 5349 textColor: { 5350 type: "string" 5351 }, 5352 customBackgroundColor: { 5353 type: "string" 5354 }, 5355 customTextColor: { 5356 type: "string" 5357 }, 5358 customGradient: { 5359 type: "string" 5360 }, 5361 gradient: { 5362 type: "string" 5363 } 5364 }, 5365 isEligible: (attributes) => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient || !!attributes.align, 5366 migrate: (0,external_wp_compose_namespaceObject.compose)( 5367 migrateBorderRadius, 5368 migrateCustomColorsAndGradients, 5369 migrateAlign 5370 ), 5371 save({ attributes }) { 5372 const { 5373 backgroundColor, 5374 borderRadius, 5375 customBackgroundColor, 5376 customTextColor, 5377 customGradient, 5378 linkTarget, 5379 gradient, 5380 rel, 5381 text, 5382 textColor, 5383 title, 5384 url 5385 } = attributes; 5386 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 5387 const backgroundClass = !customGradient && (0,external_wp_blockEditor_namespaceObject.getColorClassName)("background-color", backgroundColor); 5388 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 5389 const buttonClasses = dist_clsx("wp-block-button__link", { 5390 "has-text-color": textColor || customTextColor, 5391 [textClass]: textClass, 5392 "has-background": backgroundColor || customBackgroundColor || customGradient || gradient, 5393 [backgroundClass]: backgroundClass, 5394 "no-border-radius": borderRadius === 0, 5395 [gradientClass]: gradientClass 5396 }); 5397 const buttonStyle = { 5398 background: customGradient ? customGradient : void 0, 5399 backgroundColor: backgroundClass || customGradient || gradient ? void 0 : customBackgroundColor, 5400 color: textClass ? void 0 : customTextColor, 5401 borderRadius: borderRadius ? borderRadius + "px" : void 0 5402 }; 5403 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5404 external_wp_blockEditor_namespaceObject.RichText.Content, 5405 { 5406 tagName: "a", 5407 className: buttonClasses, 5408 href: url, 5409 title, 5410 style: buttonStyle, 5411 value: text, 5412 target: linkTarget, 5413 rel 5414 } 5415 ) }); 5416 } 5417 }, 5418 { 5419 attributes: { 5420 ...blockAttributes, 5421 align: { 5422 type: "string", 5423 default: "none" 5424 }, 5425 backgroundColor: { 5426 type: "string" 5427 }, 5428 textColor: { 5429 type: "string" 5430 }, 5431 customBackgroundColor: { 5432 type: "string" 5433 }, 5434 customTextColor: { 5435 type: "string" 5436 }, 5437 linkTarget: { 5438 type: "string", 5439 source: "attribute", 5440 selector: "a", 5441 attribute: "target" 5442 }, 5443 rel: { 5444 type: "string", 5445 source: "attribute", 5446 selector: "a", 5447 attribute: "rel" 5448 }, 5449 placeholder: { 5450 type: "string" 5451 } 5452 }, 5453 isEligible(attribute) { 5454 return attribute.className && attribute.className.includes("is-style-squared"); 5455 }, 5456 migrate(attributes) { 5457 let newClassName = attributes.className; 5458 if (newClassName) { 5459 newClassName = newClassName.replace(/is-style-squared[\s]?/, "").trim(); 5460 } 5461 return migrateBorderRadius( 5462 migrateCustomColorsAndGradients({ 5463 ...attributes, 5464 className: newClassName ? newClassName : void 0, 5465 borderRadius: 0 5466 }) 5467 ); 5468 }, 5469 save({ attributes }) { 5470 const { 5471 backgroundColor, 5472 customBackgroundColor, 5473 customTextColor, 5474 linkTarget, 5475 rel, 5476 text, 5477 textColor, 5478 title, 5479 url 5480 } = attributes; 5481 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 5482 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 5483 "background-color", 5484 backgroundColor 5485 ); 5486 const buttonClasses = dist_clsx("wp-block-button__link", { 5487 "has-text-color": textColor || customTextColor, 5488 [textClass]: textClass, 5489 "has-background": backgroundColor || customBackgroundColor, 5490 [backgroundClass]: backgroundClass 5491 }); 5492 const buttonStyle = { 5493 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 5494 color: textClass ? void 0 : customTextColor 5495 }; 5496 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5497 external_wp_blockEditor_namespaceObject.RichText.Content, 5498 { 5499 tagName: "a", 5500 className: buttonClasses, 5501 href: url, 5502 title, 5503 style: buttonStyle, 5504 value: text, 5505 target: linkTarget, 5506 rel 5507 } 5508 ) }); 5509 } 5510 }, 5511 { 5512 attributes: { 5513 ...blockAttributes, 5514 align: { 5515 type: "string", 5516 default: "none" 5517 }, 5518 backgroundColor: { 5519 type: "string" 5520 }, 5521 textColor: { 5522 type: "string" 5523 }, 5524 customBackgroundColor: { 5525 type: "string" 5526 }, 5527 customTextColor: { 5528 type: "string" 5529 } 5530 }, 5531 migrate: oldColorsMigration, 5532 save({ attributes }) { 5533 const { 5534 url, 5535 text, 5536 title, 5537 backgroundColor, 5538 textColor, 5539 customBackgroundColor, 5540 customTextColor 5541 } = attributes; 5542 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 5543 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 5544 "background-color", 5545 backgroundColor 5546 ); 5547 const buttonClasses = dist_clsx("wp-block-button__link", { 5548 "has-text-color": textColor || customTextColor, 5549 [textClass]: textClass, 5550 "has-background": backgroundColor || customBackgroundColor, 5551 [backgroundClass]: backgroundClass 5552 }); 5553 const buttonStyle = { 5554 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 5555 color: textClass ? void 0 : customTextColor 5556 }; 5557 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5558 external_wp_blockEditor_namespaceObject.RichText.Content, 5559 { 5560 tagName: "a", 5561 className: buttonClasses, 5562 href: url, 5563 title, 5564 style: buttonStyle, 5565 value: text 5566 } 5567 ) }); 5568 } 5569 }, 5570 { 5571 attributes: { 5572 ...blockAttributes, 5573 color: { 5574 type: "string" 5575 }, 5576 textColor: { 5577 type: "string" 5578 }, 5579 align: { 5580 type: "string", 5581 default: "none" 5582 } 5583 }, 5584 save({ attributes }) { 5585 const { url, text, title, align, color, textColor } = attributes; 5586 const buttonStyle = { 5587 backgroundColor: color, 5588 color: textColor 5589 }; 5590 const linkClass = "wp-block-button__link"; 5591 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: `align$align}`, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5592 external_wp_blockEditor_namespaceObject.RichText.Content, 5593 { 5594 tagName: "a", 5595 className: linkClass, 5596 href: url, 5597 title, 5598 style: buttonStyle, 5599 value: text 5600 } 5601 ) }); 5602 }, 5603 migrate: oldColorsMigration 5604 }, 5605 { 5606 attributes: { 5607 ...blockAttributes, 5608 color: { 5609 type: "string" 5610 }, 5611 textColor: { 5612 type: "string" 5613 }, 5614 align: { 5615 type: "string", 5616 default: "none" 5617 } 5618 }, 5619 save({ attributes }) { 5620 const { url, text, title, align, color, textColor } = attributes; 5621 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5622 "div", 5623 { 5624 className: `align$align}`, 5625 style: { backgroundColor: color }, 5626 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5627 external_wp_blockEditor_namespaceObject.RichText.Content, 5628 { 5629 tagName: "a", 5630 href: url, 5631 title, 5632 style: { color: textColor }, 5633 value: text 5634 } 5635 ) 5636 } 5637 ); 5638 }, 5639 migrate: oldColorsMigration 5640 } 5641 ]; 5642 var button_deprecated_deprecated_default = deprecated; 5643 5644 5645 ;// ./node_modules/@wordpress/block-library/build-module/button/constants.js 5646 const NEW_TAB_REL = "noreferrer noopener"; 5647 const NEW_TAB_TARGET = "_blank"; 5648 const NOFOLLOW_REL = "nofollow"; 5649 5650 5651 ;// ./node_modules/@wordpress/block-library/build-module/button/get-updated-link-attributes.js 5652 5653 5654 function getUpdatedLinkAttributes({ 5655 rel = "", 5656 url = "", 5657 opensInNewTab, 5658 nofollow 5659 }) { 5660 let newLinkTarget; 5661 let updatedRel = rel; 5662 if (opensInNewTab) { 5663 newLinkTarget = NEW_TAB_TARGET; 5664 updatedRel = updatedRel?.includes(NEW_TAB_REL) ? updatedRel : updatedRel + ` $NEW_TAB_REL}`; 5665 } else { 5666 const relRegex = new RegExp(`\\b$NEW_TAB_REL}\\s*`, "g"); 5667 updatedRel = updatedRel?.replace(relRegex, "").trim(); 5668 } 5669 if (nofollow) { 5670 updatedRel = updatedRel?.includes(NOFOLLOW_REL) ? updatedRel : (updatedRel + ` $NOFOLLOW_REL}`).trim(); 5671 } else { 5672 const relRegex = new RegExp(`\\b$NOFOLLOW_REL}\\s*`, "g"); 5673 updatedRel = updatedRel?.replace(relRegex, "").trim(); 5674 } 5675 return { 5676 url: (0,external_wp_url_namespaceObject.prependHTTP)(url), 5677 linkTarget: newLinkTarget, 5678 rel: updatedRel || void 0 5679 }; 5680 } 5681 5682 5683 ;// ./node_modules/@wordpress/block-library/build-module/utils/remove-anchor-tag.js 5684 function removeAnchorTag(value) { 5685 return value.toString().replace(/<\/?a[^>]*>/g, ""); 5686 } 5687 5688 5689 ;// external ["wp","keycodes"] 5690 const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; 5691 ;// ./node_modules/@wordpress/icons/build-module/library/link.js 5692 5693 5694 var link_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z" }) }); 5695 5696 5697 ;// ./node_modules/@wordpress/icons/build-module/library/link-off.js 5698 5699 5700 var link_off_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z" }) }); 5701 5702 5703 ;// ./node_modules/@wordpress/block-library/build-module/button/edit.js 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 const { HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 5721 const LINK_SETTINGS = [ 5722 ...external_wp_blockEditor_namespaceObject.LinkControl.DEFAULT_LINK_SETTINGS, 5723 { 5724 id: "nofollow", 5725 title: (0,external_wp_i18n_namespaceObject.__)("Mark as nofollow") 5726 } 5727 ]; 5728 function useEnter(props) { 5729 const { replaceBlocks, selectionChange } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 5730 const { getBlock, getBlockRootClientId, getBlockIndex } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 5731 const propsRef = (0,external_wp_element_namespaceObject.useRef)(props); 5732 propsRef.current = props; 5733 return (0,external_wp_compose_namespaceObject.useRefEffect)((element) => { 5734 function onKeyDown(event) { 5735 if (event.defaultPrevented || event.keyCode !== external_wp_keycodes_namespaceObject.ENTER) { 5736 return; 5737 } 5738 const { content, clientId } = propsRef.current; 5739 if (content.length) { 5740 return; 5741 } 5742 event.preventDefault(); 5743 const topParentListBlock = getBlock( 5744 getBlockRootClientId(clientId) 5745 ); 5746 const blockIndex = getBlockIndex(clientId); 5747 const head = (0,external_wp_blocks_namespaceObject.cloneBlock)({ 5748 ...topParentListBlock, 5749 innerBlocks: topParentListBlock.innerBlocks.slice( 5750 0, 5751 blockIndex 5752 ) 5753 }); 5754 const middle = (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()); 5755 const after = topParentListBlock.innerBlocks.slice( 5756 blockIndex + 1 5757 ); 5758 const tail = after.length ? [ 5759 (0,external_wp_blocks_namespaceObject.cloneBlock)({ 5760 ...topParentListBlock, 5761 innerBlocks: after 5762 }) 5763 ] : []; 5764 replaceBlocks( 5765 topParentListBlock.clientId, 5766 [head, middle, ...tail], 5767 1 5768 ); 5769 selectionChange(middle.clientId); 5770 } 5771 element.addEventListener("keydown", onKeyDown); 5772 return () => { 5773 element.removeEventListener("keydown", onKeyDown); 5774 }; 5775 }, []); 5776 } 5777 function WidthPanel({ selectedWidth, setAttributes }) { 5778 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 5779 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5780 external_wp_components_namespaceObject.__experimentalToolsPanel, 5781 { 5782 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 5783 resetAll: () => setAttributes({ width: void 0 }), 5784 dropdownMenuProps, 5785 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5786 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 5787 { 5788 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 5789 isShownByDefault: true, 5790 hasValue: () => !!selectedWidth, 5791 onDeselect: () => setAttributes({ width: void 0 }), 5792 __nextHasNoMarginBottom: true, 5793 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5794 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 5795 { 5796 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 5797 value: selectedWidth, 5798 onChange: (newWidth) => setAttributes({ width: newWidth }), 5799 isBlock: true, 5800 __next40pxDefaultSize: true, 5801 __nextHasNoMarginBottom: true, 5802 children: [25, 50, 75, 100].map((widthValue) => { 5803 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5804 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 5805 { 5806 value: widthValue, 5807 label: (0,external_wp_i18n_namespaceObject.sprintf)( 5808 /* translators: %d: Percentage value. */ 5809 (0,external_wp_i18n_namespaceObject.__)("%d%%"), 5810 widthValue 5811 ) 5812 }, 5813 widthValue 5814 ); 5815 }) 5816 } 5817 ) 5818 } 5819 ) 5820 } 5821 ); 5822 } 5823 function ButtonEdit(props) { 5824 const { 5825 attributes, 5826 setAttributes, 5827 className, 5828 isSelected, 5829 onReplace, 5830 mergeBlocks, 5831 clientId, 5832 context 5833 } = props; 5834 const { 5835 tagName, 5836 textAlign, 5837 linkTarget, 5838 placeholder, 5839 rel, 5840 style, 5841 text, 5842 url, 5843 width, 5844 metadata 5845 } = attributes; 5846 const TagName = tagName || "a"; 5847 function onKeyDown(event) { 5848 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, "k")) { 5849 startEditing(event); 5850 } else if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primaryShift(event, "k")) { 5851 unlink(); 5852 richTextRef.current?.focus(); 5853 } 5854 } 5855 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 5856 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 5857 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 5858 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 5859 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 5860 const ref = (0,external_wp_element_namespaceObject.useRef)(); 5861 const richTextRef = (0,external_wp_element_namespaceObject.useRef)(); 5862 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 5863 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([setPopoverAnchor, ref]), 5864 onKeyDown 5865 }); 5866 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 5867 const [isEditingURL, setIsEditingURL] = (0,external_wp_element_namespaceObject.useState)(false); 5868 const isURLSet = !!url; 5869 const opensInNewTab = linkTarget === NEW_TAB_TARGET; 5870 const nofollow = !!rel?.includes(NOFOLLOW_REL); 5871 const isLinkTag = "a" === TagName; 5872 const { 5873 createPageEntity, 5874 userCanCreatePages, 5875 lockUrlControls = false 5876 } = (0,external_wp_data_namespaceObject.useSelect)( 5877 (select) => { 5878 if (!isSelected) { 5879 return {}; 5880 } 5881 const _settings = select(external_wp_blockEditor_namespaceObject.store).getSettings(); 5882 const blockBindingsSource = (0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 5883 metadata?.bindings?.url?.source 5884 ); 5885 return { 5886 createPageEntity: _settings.__experimentalCreatePageEntity, 5887 userCanCreatePages: _settings.__experimentalUserCanCreatePages, 5888 lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({ 5889 select, 5890 context, 5891 args: metadata?.bindings?.url?.args 5892 }) 5893 }; 5894 }, 5895 [context, isSelected, metadata?.bindings?.url] 5896 ); 5897 async function handleCreate(pageTitle) { 5898 const page = await createPageEntity({ 5899 title: pageTitle, 5900 status: "draft" 5901 }); 5902 return { 5903 id: page.id, 5904 type: page.type, 5905 title: page.title.rendered, 5906 url: page.link, 5907 kind: "post-type" 5908 }; 5909 } 5910 function createButtonText(searchTerm) { 5911 return (0,external_wp_element_namespaceObject.createInterpolateElement)( 5912 (0,external_wp_i18n_namespaceObject.sprintf)( 5913 /* translators: %s: search term. */ 5914 (0,external_wp_i18n_namespaceObject.__)("Create page: <mark>%s</mark>"), 5915 searchTerm 5916 ), 5917 { mark: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("mark", {}) } 5918 ); 5919 } 5920 function startEditing(event) { 5921 event.preventDefault(); 5922 setIsEditingURL(true); 5923 } 5924 function unlink() { 5925 setAttributes({ 5926 url: void 0, 5927 linkTarget: void 0, 5928 rel: void 0 5929 }); 5930 setIsEditingURL(false); 5931 } 5932 (0,external_wp_element_namespaceObject.useEffect)(() => { 5933 if (!isSelected) { 5934 setIsEditingURL(false); 5935 } 5936 }, [isSelected]); 5937 const linkValue = (0,external_wp_element_namespaceObject.useMemo)( 5938 () => ({ url, opensInNewTab, nofollow }), 5939 [url, opensInNewTab, nofollow] 5940 ); 5941 const useEnterRef = useEnter({ content: text, clientId }); 5942 const mergedRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([useEnterRef, richTextRef]); 5943 const [fluidTypographySettings, layout] = (0,external_wp_blockEditor_namespaceObject.useSettings)( 5944 "typography.fluid", 5945 "layout" 5946 ); 5947 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes, { 5948 typography: { 5949 fluid: fluidTypographySettings 5950 }, 5951 layout: { 5952 wideSize: layout?.wideSize 5953 } 5954 }); 5955 const hasNonContentControls = blockEditingMode === "default"; 5956 const hasBlockControls = hasNonContentControls || isLinkTag && !lockUrlControls; 5957 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 5958 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5959 "div", 5960 { 5961 ...blockProps, 5962 className: dist_clsx(blockProps.className, { 5963 [`has-custom-width wp-block-button__width-$width}`]: width 5964 }), 5965 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 5966 external_wp_blockEditor_namespaceObject.RichText, 5967 { 5968 ref: mergedRef, 5969 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Button text"), 5970 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)("Add text\u2026"), 5971 value: text, 5972 onChange: (value) => setAttributes({ 5973 text: removeAnchorTag(value) 5974 }), 5975 withoutInteractiveFormatting: true, 5976 className: dist_clsx( 5977 className, 5978 "wp-block-button__link", 5979 colorProps.className, 5980 borderProps.className, 5981 typographyProps.className, 5982 { 5983 [`has-text-align-$textAlign}`]: textAlign, 5984 // For backwards compatibility add style that isn't 5985 // provided via block support. 5986 "no-border-radius": style?.border?.radius === 0, 5987 [`has-custom-font-size`]: blockProps.style.fontSize 5988 }, 5989 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 5990 ), 5991 style: { 5992 ...borderProps.style, 5993 ...colorProps.style, 5994 ...spacingProps.style, 5995 ...shadowProps.style, 5996 ...typographyProps.style, 5997 writingMode: void 0 5998 }, 5999 onReplace, 6000 onMerge: mergeBlocks, 6001 identifier: "text" 6002 } 6003 ) 6004 } 6005 ), 6006 hasBlockControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 6007 hasNonContentControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6008 external_wp_blockEditor_namespaceObject.AlignmentControl, 6009 { 6010 value: textAlign, 6011 onChange: (nextAlign) => { 6012 setAttributes({ textAlign: nextAlign }); 6013 } 6014 } 6015 ), 6016 isLinkTag && !lockUrlControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6017 external_wp_components_namespaceObject.ToolbarButton, 6018 { 6019 name: "link", 6020 icon: !isURLSet ? link_default : link_off_default, 6021 title: !isURLSet ? (0,external_wp_i18n_namespaceObject.__)("Link") : (0,external_wp_i18n_namespaceObject.__)("Unlink"), 6022 shortcut: !isURLSet ? external_wp_keycodes_namespaceObject.displayShortcut.primary("k") : external_wp_keycodes_namespaceObject.displayShortcut.primaryShift("k"), 6023 onClick: !isURLSet ? startEditing : unlink, 6024 isActive: isURLSet 6025 } 6026 ) 6027 ] }), 6028 isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6029 external_wp_components_namespaceObject.Popover, 6030 { 6031 placement: "bottom", 6032 onClose: () => { 6033 setIsEditingURL(false); 6034 richTextRef.current?.focus(); 6035 }, 6036 anchor: popoverAnchor, 6037 focusOnMount: isEditingURL ? "firstElement" : false, 6038 __unstableSlotName: "__unstable-block-tools-after", 6039 shift: true, 6040 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6041 external_wp_blockEditor_namespaceObject.LinkControl, 6042 { 6043 value: linkValue, 6044 onChange: ({ 6045 url: newURL, 6046 opensInNewTab: newOpensInNewTab, 6047 nofollow: newNofollow 6048 }) => setAttributes( 6049 getUpdatedLinkAttributes({ 6050 rel, 6051 url: newURL, 6052 opensInNewTab: newOpensInNewTab, 6053 nofollow: newNofollow 6054 }) 6055 ), 6056 onRemove: () => { 6057 unlink(); 6058 richTextRef.current?.focus(); 6059 }, 6060 forceIsEditingLink: isEditingURL, 6061 settings: LINK_SETTINGS, 6062 createSuggestion: createPageEntity && handleCreate, 6063 withCreateSuggestion: userCanCreatePages, 6064 createSuggestionButtonText: createButtonText 6065 } 6066 ) 6067 } 6068 ), 6069 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6070 WidthPanel, 6071 { 6072 selectedWidth: width, 6073 setAttributes 6074 } 6075 ) }), 6076 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: [ 6077 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6078 HTMLElementControl, 6079 { 6080 tagName, 6081 onChange: (value) => setAttributes({ tagName: value }), 6082 options: [ 6083 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<a>)"), value: "a" }, 6084 { label: "<button>", value: "button" } 6085 ] 6086 } 6087 ), 6088 isLinkTag && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6089 external_wp_components_namespaceObject.TextControl, 6090 { 6091 __next40pxDefaultSize: true, 6092 __nextHasNoMarginBottom: true, 6093 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 6094 help: (0,external_wp_element_namespaceObject.createInterpolateElement)( 6095 (0,external_wp_i18n_namespaceObject.__)( 6096 "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document." 6097 ), 6098 { 6099 a: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" }) 6100 } 6101 ), 6102 value: rel || "", 6103 onChange: (newRel) => setAttributes({ rel: newRel }) 6104 } 6105 ) 6106 ] }) 6107 ] }); 6108 } 6109 var edit_edit_default = ButtonEdit; 6110 6111 6112 ;// ./node_modules/@wordpress/block-library/build-module/button/block.json 6113 const button_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/button","title":"Button","category":"design","parent":["core/buttons"],"description":"Prompt visitors to take action with a button-style link.","keywords":["link"],"textdomain":"default","attributes":{"tagName":{"type":"string","enum":["a","button"],"default":"a"},"type":{"type":"string","default":"button"},"textAlign":{"type":"string"},"url":{"type":"string","source":"attribute","selector":"a","attribute":"href","role":"content"},"title":{"type":"string","source":"attribute","selector":"a,button","attribute":"title","role":"content"},"text":{"type":"rich-text","source":"rich-text","selector":"a,button","role":"content"},"linkTarget":{"type":"string","source":"attribute","selector":"a","attribute":"target","role":"content"},"rel":{"type":"string","source":"attribute","selector":"a","attribute":"rel","role":"content"},"placeholder":{"type":"string"},"backgroundColor":{"type":"string"},"textColor":{"type":"string"},"gradient":{"type":"string"},"width":{"type":"number"}},"supports":{"anchor":true,"splitting":true,"align":false,"alignWide":false,"color":{"__experimentalSkipSerialization":true,"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"__experimentalSkipSerialization":["fontSize","lineHeight","fontFamily","fontWeight","fontStyle","textTransform","textDecoration","letterSpacing"],"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"reusable":false,"shadow":{"__experimentalSkipSerialization":true},"spacing":{"__experimentalSkipSerialization":true,"padding":["horizontal","vertical"],"__experimentalDefaultControls":{"padding":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"interactivity":{"clientNavigation":true}},"styles":[{"name":"fill","label":"Fill","isDefault":true},{"name":"outline","label":"Outline"}],"editorStyle":"wp-block-button-editor","style":"wp-block-button","selectors":{"root":".wp-block-button .wp-block-button__link","typography":{"writingMode":".wp-block-button"}}}'); 6114 ;// ./node_modules/@wordpress/block-library/build-module/button/save.js 6115 6116 6117 6118 function button_save_save({ attributes, className }) { 6119 const { 6120 tagName, 6121 type, 6122 textAlign, 6123 fontSize, 6124 linkTarget, 6125 rel, 6126 style, 6127 text, 6128 title, 6129 url, 6130 width 6131 } = attributes; 6132 const TagName = tagName || "a"; 6133 const isButtonTag = "button" === TagName; 6134 const buttonType = type || "button"; 6135 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 6136 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 6137 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 6138 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 6139 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes); 6140 const buttonClasses = dist_clsx( 6141 "wp-block-button__link", 6142 colorProps.className, 6143 borderProps.className, 6144 typographyProps.className, 6145 { 6146 [`has-text-align-$textAlign}`]: textAlign, 6147 // For backwards compatibility add style that isn't provided via 6148 // block support. 6149 "no-border-radius": style?.border?.radius === 0, 6150 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 6151 }, 6152 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 6153 ); 6154 const buttonStyle = { 6155 ...borderProps.style, 6156 ...colorProps.style, 6157 ...spacingProps.style, 6158 ...shadowProps.style, 6159 ...typographyProps.style, 6160 writingMode: void 0 6161 }; 6162 const wrapperClasses = dist_clsx(className, { 6163 [`has-custom-width wp-block-button__width-$width}`]: width 6164 }); 6165 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: wrapperClasses }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6166 external_wp_blockEditor_namespaceObject.RichText.Content, 6167 { 6168 tagName: TagName, 6169 type: isButtonTag ? buttonType : null, 6170 className: buttonClasses, 6171 href: isButtonTag ? null : url, 6172 title, 6173 style: buttonStyle, 6174 value: text, 6175 target: isButtonTag ? null : linkTarget, 6176 rel: isButtonTag ? null : rel 6177 } 6178 ) }); 6179 } 6180 6181 6182 ;// ./node_modules/@wordpress/block-library/build-module/button/index.js 6183 6184 6185 6186 6187 6188 6189 6190 const { name: button_name } = button_block_namespaceObject; 6191 const button_settings = { 6192 icon: button_default, 6193 example: { 6194 attributes: { 6195 className: "is-style-fill", 6196 text: (0,external_wp_i18n_namespaceObject.__)("Call to action") 6197 } 6198 }, 6199 edit: edit_edit_default, 6200 save: button_save_save, 6201 deprecated: button_deprecated_deprecated_default, 6202 merge: (a, { text = "" }) => ({ 6203 ...a, 6204 text: (a.text || "") + text 6205 }) 6206 }; 6207 const button_init = () => initBlock({ name: button_name, metadata: button_block_namespaceObject, settings: button_settings }); 6208 6209 6210 ;// ./node_modules/@wordpress/icons/build-module/library/buttons.js 6211 6212 6213 var buttons_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M14.5 17.5H9.5V16H14.5V17.5Z M14.5 8H9.5V6.5H14.5V8Z M7 3.5H17C18.1046 3.5 19 4.39543 19 5.5V9C19 10.1046 18.1046 11 17 11H7C5.89543 11 5 10.1046 5 9V5.5C5 4.39543 5.89543 3.5 7 3.5ZM17 5H7C6.72386 5 6.5 5.22386 6.5 5.5V9C6.5 9.27614 6.72386 9.5 7 9.5H17C17.2761 9.5 17.5 9.27614 17.5 9V5.5C17.5 5.22386 17.2761 5 17 5Z M7 13H17C18.1046 13 19 13.8954 19 15V18.5C19 19.6046 18.1046 20.5 17 20.5H7C5.89543 20.5 5 19.6046 5 18.5V15C5 13.8954 5.89543 13 7 13ZM17 14.5H7C6.72386 14.5 6.5 14.7239 6.5 15V18.5C6.5 18.7761 6.72386 19 7 19H17C17.2761 19 17.5 18.7761 17.5 18.5V15C17.5 14.7239 17.2761 14.5 17 14.5Z" }) }); 6214 6215 6216 ;// ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js 6217 6218 6219 6220 const migrateWithLayout = (attributes) => { 6221 if (!!attributes.layout) { 6222 return attributes; 6223 } 6224 const { contentJustification, orientation, ...updatedAttributes } = attributes; 6225 if (contentJustification || orientation) { 6226 Object.assign(updatedAttributes, { 6227 layout: { 6228 type: "flex", 6229 ...contentJustification && { 6230 justifyContent: contentJustification 6231 }, 6232 ...orientation && { orientation } 6233 } 6234 }); 6235 } 6236 return updatedAttributes; 6237 }; 6238 const deprecated_deprecated = [ 6239 { 6240 attributes: { 6241 contentJustification: { 6242 type: "string" 6243 }, 6244 orientation: { 6245 type: "string", 6246 default: "horizontal" 6247 } 6248 }, 6249 supports: { 6250 anchor: true, 6251 align: ["wide", "full"], 6252 __experimentalExposeControlsToChildren: true, 6253 spacing: { 6254 blockGap: true, 6255 margin: ["top", "bottom"], 6256 __experimentalDefaultControls: { 6257 blockGap: true 6258 } 6259 } 6260 }, 6261 isEligible: ({ contentJustification, orientation }) => !!contentJustification || !!orientation, 6262 migrate: migrateWithLayout, 6263 save({ attributes: { contentJustification, orientation } }) { 6264 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6265 "div", 6266 { 6267 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 6268 className: dist_clsx({ 6269 [`is-content-justification-$contentJustification}`]: contentJustification, 6270 "is-vertical": orientation === "vertical" 6271 }) 6272 }), 6273 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 6274 } 6275 ); 6276 } 6277 }, 6278 { 6279 supports: { 6280 align: ["center", "left", "right"], 6281 anchor: true 6282 }, 6283 save() { 6284 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 6285 }, 6286 isEligible({ align }) { 6287 return align && ["center", "left", "right"].includes(align); 6288 }, 6289 migrate(attributes) { 6290 return migrateWithLayout({ 6291 ...attributes, 6292 align: void 0, 6293 // Floating Buttons blocks shouldn't have been supported in the 6294 // first place. Most users using them probably expected them to 6295 // act like content justification controls, so these blocks are 6296 // migrated to use content justification. 6297 // As for center-aligned Buttons blocks, the content justification 6298 // equivalent will create an identical end result in most cases. 6299 contentJustification: attributes.align 6300 }); 6301 } 6302 } 6303 ]; 6304 var buttons_deprecated_deprecated_default = deprecated_deprecated; 6305 6306 6307 ;// external ["wp","richText"] 6308 const external_wp_richText_namespaceObject = window["wp"]["richText"]; 6309 ;// ./node_modules/@wordpress/block-library/build-module/utils/get-transformed-attributes.js 6310 6311 function getTransformedAttributes(attributes, newBlockName, bindingsCallback = null) { 6312 if (!attributes) { 6313 return void 0; 6314 } 6315 const newBlockType = (0,external_wp_blocks_namespaceObject.getBlockType)(newBlockName); 6316 if (!newBlockType) { 6317 return void 0; 6318 } 6319 const transformedAttributes = {}; 6320 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "allowedBlocks") && attributes.allowedBlocks) { 6321 transformedAttributes.allowedBlocks = attributes.allowedBlocks; 6322 } 6323 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "anchor") && attributes.anchor) { 6324 transformedAttributes.anchor = attributes.anchor; 6325 } 6326 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "ariaLabel") && attributes.ariaLabel) { 6327 transformedAttributes.ariaLabel = attributes.ariaLabel; 6328 } 6329 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "className") && attributes.className) { 6330 transformedAttributes.className = attributes.className; 6331 } 6332 if (attributes.metadata) { 6333 const transformedMetadata = ["noteId"]; 6334 if (bindingsCallback) { 6335 transformedMetadata.push("id", "bindings"); 6336 } 6337 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "renaming", true)) { 6338 transformedMetadata.push("name"); 6339 } 6340 if ((0,external_wp_blocks_namespaceObject.hasBlockSupport)(newBlockType, "blockVisibility", true)) { 6341 transformedMetadata.push("blockVisibility"); 6342 } 6343 if (transformedMetadata.length > 0) { 6344 const newMetadata = Object.entries(attributes.metadata).reduce( 6345 (obj, [prop, value]) => { 6346 if (!transformedMetadata.includes(prop)) { 6347 return obj; 6348 } 6349 obj[prop] = prop === "bindings" ? bindingsCallback(value) : value; 6350 return obj; 6351 }, 6352 {} 6353 ); 6354 if (Object.keys(newMetadata).length > 0) { 6355 transformedAttributes.metadata = newMetadata; 6356 } 6357 } 6358 } 6359 if (Object.keys(transformedAttributes).length === 0) { 6360 return void 0; 6361 } 6362 return transformedAttributes; 6363 } 6364 6365 6366 ;// ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js 6367 6368 6369 6370 const transforms_transforms = { 6371 from: [ 6372 { 6373 type: "block", 6374 isMultiBlock: true, 6375 blocks: ["core/button"], 6376 transform: (buttons) => ( 6377 // Creates the buttons block. 6378 (0,external_wp_blocks_namespaceObject.createBlock)( 6379 "core/buttons", 6380 {}, 6381 // Loop the selected buttons. 6382 buttons.map( 6383 (attributes) => ( 6384 // Create singular button in the buttons block. 6385 (0,external_wp_blocks_namespaceObject.createBlock)("core/button", attributes) 6386 ) 6387 ) 6388 ) 6389 ) 6390 }, 6391 { 6392 type: "block", 6393 isMultiBlock: true, 6394 blocks: ["core/paragraph"], 6395 transform: (buttons) => ( 6396 // Creates the buttons block. 6397 (0,external_wp_blocks_namespaceObject.createBlock)( 6398 "core/buttons", 6399 {}, 6400 // Loop the selected buttons. 6401 buttons.map((attributes) => { 6402 const { content } = attributes; 6403 const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, content); 6404 const text = element.innerText || ""; 6405 const link = element.querySelector("a"); 6406 const url = link?.getAttribute("href"); 6407 return (0,external_wp_blocks_namespaceObject.createBlock)("core/button", { 6408 ...getTransformedAttributes( 6409 attributes, 6410 "core/button", 6411 ({ content: contentBinding }) => ({ 6412 text: contentBinding 6413 }) 6414 ), 6415 text, 6416 url 6417 }); 6418 }) 6419 ) 6420 ), 6421 isMatch: (paragraphs) => { 6422 return paragraphs.every((attributes) => { 6423 const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)( 6424 document, 6425 attributes.content 6426 ); 6427 const text = element.innerText || ""; 6428 const links = element.querySelectorAll("a"); 6429 return text.length <= 30 && links.length <= 1; 6430 }); 6431 } 6432 } 6433 ] 6434 }; 6435 var transforms_transforms_default = transforms_transforms; 6436 6437 6438 ;// ./node_modules/@wordpress/block-library/build-module/buttons/edit.js 6439 6440 6441 6442 6443 6444 const DEFAULT_BLOCK = { 6445 name: "core/button", 6446 attributesToCopy: [ 6447 "backgroundColor", 6448 "border", 6449 "className", 6450 "fontFamily", 6451 "fontSize", 6452 "gradient", 6453 "style", 6454 "textColor", 6455 "width" 6456 ] 6457 }; 6458 function ButtonsEdit({ attributes, className }) { 6459 const { fontSize, layout, style } = attributes; 6460 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 6461 className: dist_clsx(className, { 6462 "has-custom-font-size": fontSize || style?.typography?.fontSize 6463 }) 6464 }); 6465 const { hasButtonVariations } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 6466 const buttonVariations = select(external_wp_blocks_namespaceObject.store).getBlockVariations( 6467 "core/button", 6468 "inserter" 6469 ); 6470 return { 6471 hasButtonVariations: buttonVariations.length > 0 6472 }; 6473 }, []); 6474 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 6475 defaultBlock: DEFAULT_BLOCK, 6476 // This check should be handled by the `Inserter` internally to be consistent across all blocks that use it. 6477 directInsert: !hasButtonVariations, 6478 template: [["core/button"]], 6479 templateInsertUpdatesSelection: true, 6480 orientation: layout?.orientation ?? "horizontal" 6481 }); 6482 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 6483 } 6484 var buttons_edit_edit_default = ButtonsEdit; 6485 6486 6487 ;// ./node_modules/@wordpress/block-library/build-module/buttons/block.json 6488 const buttons_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/buttons","title":"Buttons","category":"design","allowedBlocks":["core/button"],"description":"Prompt visitors to take action with a group of button-style links.","keywords":["link"],"textdomain":"default","supports":{"anchor":true,"align":["wide","full"],"html":false,"__experimentalExposeControlsToChildren":true,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"spacing":{"blockGap":["horizontal","vertical"],"padding":true,"margin":["top","bottom"],"__experimentalDefaultControls":{"blockGap":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"default":{"type":"flex"}},"interactivity":{"clientNavigation":true},"contentRole":true},"editorStyle":"wp-block-buttons-editor","style":"wp-block-buttons"}'); 6489 ;// ./node_modules/@wordpress/block-library/build-module/buttons/save.js 6490 6491 6492 6493 function buttons_save_save({ attributes, className }) { 6494 const { fontSize, style } = attributes; 6495 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 6496 className: dist_clsx(className, { 6497 "has-custom-font-size": fontSize || style?.typography?.fontSize 6498 }) 6499 }); 6500 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 6501 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 6502 } 6503 6504 6505 ;// ./node_modules/@wordpress/block-library/build-module/buttons/index.js 6506 6507 6508 6509 6510 6511 6512 6513 6514 const { name: buttons_name } = buttons_block_namespaceObject; 6515 const buttons_settings = { 6516 icon: buttons_default, 6517 example: { 6518 attributes: { 6519 layout: { 6520 type: "flex", 6521 justifyContent: "center" 6522 } 6523 }, 6524 innerBlocks: [ 6525 { 6526 name: "core/button", 6527 attributes: { text: (0,external_wp_i18n_namespaceObject.__)("Find out more") } 6528 }, 6529 { 6530 name: "core/button", 6531 attributes: { text: (0,external_wp_i18n_namespaceObject.__)("Contact us") } 6532 } 6533 ] 6534 }, 6535 deprecated: buttons_deprecated_deprecated_default, 6536 transforms: transforms_transforms_default, 6537 edit: buttons_edit_edit_default, 6538 save: buttons_save_save 6539 }; 6540 const buttons_init = () => initBlock({ name: buttons_name, metadata: buttons_block_namespaceObject, settings: buttons_settings }); 6541 6542 6543 ;// ./node_modules/@wordpress/icons/build-module/library/calendar.js 6544 6545 6546 var calendar_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V7h15v12zM9 10H7v2h2v-2zm0 4H7v2h2v-2zm4-4h-2v2h2v-2zm4 0h-2v2h2v-2zm-4 4h-2v2h2v-2zm4 0h-2v2h2v-2z" }) }); 6547 6548 6549 ;// ./node_modules/@wordpress/block-library/build-module/calendar/block.json 6550 const calendar_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/calendar","title":"Calendar","category":"widgets","description":"A calendar of your site’s posts.","keywords":["posts","archive"],"textdomain":"default","attributes":{"month":{"type":"integer"},"year":{"type":"integer"}},"supports":{"align":true,"html":false,"color":{"link":true,"__experimentalSkipSerialization":["text","background"],"__experimentalDefaultControls":{"background":true,"text":true},"__experimentalSelector":"table, th"},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-calendar"}'); 6551 ;// ./node_modules/@wordpress/block-library/build-module/calendar/edit.js 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 const getYearMonth = memize((date) => { 6562 if (!date) { 6563 return {}; 6564 } 6565 const dateObj = new Date(date); 6566 return { 6567 year: dateObj.getFullYear(), 6568 month: dateObj.getMonth() + 1 6569 }; 6570 }); 6571 function CalendarEdit({ attributes }) { 6572 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 6573 const { date, hasPosts, hasPostsResolved } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 6574 const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 6575 const singlePublishedPostQuery = { 6576 status: "publish", 6577 per_page: 1 6578 }; 6579 const posts = getEntityRecords( 6580 "postType", 6581 "post", 6582 singlePublishedPostQuery 6583 ); 6584 const postsResolved = hasFinishedResolution("getEntityRecords", [ 6585 "postType", 6586 "post", 6587 singlePublishedPostQuery 6588 ]); 6589 let _date; 6590 const editorSelectors = select("core/editor"); 6591 if (editorSelectors) { 6592 const postType = editorSelectors.getEditedPostAttribute("type"); 6593 if (postType === "post") { 6594 _date = editorSelectors.getEditedPostAttribute("date"); 6595 } 6596 } 6597 return { 6598 date: _date, 6599 hasPostsResolved: postsResolved, 6600 hasPosts: postsResolved && posts?.length === 1 6601 }; 6602 }, []); 6603 if (!hasPosts) { 6604 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { icon: calendar_default, label: (0,external_wp_i18n_namespaceObject.__)("Calendar"), children: !hasPostsResolved ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) : (0,external_wp_i18n_namespaceObject.__)("No published posts found.") }) }); 6605 } 6606 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6607 (external_wp_serverSideRender_default()), 6608 { 6609 block: "core/calendar", 6610 attributes: { ...attributes, ...getYearMonth(date) } 6611 } 6612 ) }) }); 6613 } 6614 6615 6616 ;// ./node_modules/@wordpress/block-library/build-module/calendar/transforms.js 6617 6618 const calendar_transforms_transforms = { 6619 from: [ 6620 { 6621 type: "block", 6622 blocks: ["core/archives"], 6623 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/calendar") 6624 } 6625 ], 6626 to: [ 6627 { 6628 type: "block", 6629 blocks: ["core/archives"], 6630 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/archives") 6631 } 6632 ] 6633 }; 6634 var calendar_transforms_transforms_default = calendar_transforms_transforms; 6635 6636 6637 ;// ./node_modules/@wordpress/block-library/build-module/calendar/index.js 6638 6639 6640 6641 6642 6643 const { name: calendar_name } = calendar_block_namespaceObject; 6644 const calendar_settings = { 6645 icon: calendar_default, 6646 example: {}, 6647 edit: CalendarEdit, 6648 transforms: calendar_transforms_transforms_default 6649 }; 6650 const calendar_init = () => initBlock({ name: calendar_name, metadata: calendar_block_namespaceObject, settings: calendar_settings }); 6651 6652 6653 ;// ./node_modules/@wordpress/icons/build-module/library/category.js 6654 6655 6656 var category_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6657 external_wp_primitives_namespaceObject.Path, 6658 { 6659 d: "M6 5.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM4 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2V6zm11-.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V6a.5.5 0 01.5-.5zM13 6a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2h-3a2 2 0 01-2-2V6zm5 8.5h-3a.5.5 0 00-.5.5v3a.5.5 0 00.5.5h3a.5.5 0 00.5-.5v-3a.5.5 0 00-.5-.5zM15 13a2 2 0 00-2 2v3a2 2 0 002 2h3a2 2 0 002-2v-3a2 2 0 00-2-2h-3zm-9 1.5h3a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5v-3a.5.5 0 01.5-.5zM4 15a2 2 0 012-2h3a2 2 0 012 2v3a2 2 0 01-2 2H6a2 2 0 01-2-2v-3z", 6660 fillRule: "evenodd", 6661 clipRule: "evenodd" 6662 } 6663 ) }); 6664 6665 6666 ;// ./node_modules/@wordpress/block-library/build-module/categories/block.json 6667 const categories_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/categories","title":"Terms List","category":"widgets","description":"Display a list of all terms of a given taxonomy.","keywords":["categories"],"textdomain":"default","attributes":{"taxonomy":{"type":"string","default":"category"},"displayAsDropdown":{"type":"boolean","default":false},"showHierarchy":{"type":"boolean","default":false},"showPostCounts":{"type":"boolean","default":false},"showOnlyTopLevel":{"type":"boolean","default":false},"showEmpty":{"type":"boolean","default":false},"label":{"type":"string","role":"content"},"showLabel":{"type":"boolean","default":true}},"usesContext":["enhancedPagination"],"supports":{"align":true,"html":false,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"editorStyle":"wp-block-categories-editor","style":"wp-block-categories"}'); 6668 ;// ./node_modules/@wordpress/icons/build-module/library/pin.js 6669 6670 6671 var pin_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m21.5 9.1-6.6-6.6-4.2 5.6c-1.2-.1-2.4.1-3.6.7-.1 0-.1.1-.2.1-.5.3-.9.6-1.2.9l3.7 3.7-5.7 5.7v1.1h1.1l5.7-5.7 3.7 3.7c.4-.4.7-.8.9-1.2.1-.1.1-.2.2-.3.6-1.1.8-2.4.6-3.6l5.6-4.1zm-7.3 3.5.1.9c.1.9 0 1.8-.4 2.6l-6-6c.8-.4 1.7-.5 2.6-.4l.9.1L15 4.9 19.1 9l-4.9 3.6z" }) }); 6672 6673 6674 ;// ./node_modules/@wordpress/block-library/build-module/categories/edit.js 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 function CategoriesEdit({ 6688 attributes: { 6689 displayAsDropdown, 6690 showHierarchy, 6691 showPostCounts, 6692 showOnlyTopLevel, 6693 showEmpty, 6694 label, 6695 showLabel, 6696 taxonomy: taxonomySlug 6697 }, 6698 setAttributes, 6699 className, 6700 clientId 6701 }) { 6702 const selectId = (0,external_wp_compose_namespaceObject.useInstanceId)(CategoriesEdit, "blocks-category-select"); 6703 const { records: allTaxonomies, isResolvingTaxonomies } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 6704 "root", 6705 "taxonomy", 6706 { per_page: -1 } 6707 ); 6708 const taxonomies = allTaxonomies?.filter((t) => t.visibility.public); 6709 const taxonomy = taxonomies?.find((t) => t.slug === taxonomySlug); 6710 const isHierarchicalTaxonomy = !isResolvingTaxonomies && taxonomy?.hierarchical; 6711 const query = { per_page: -1, hide_empty: !showEmpty, context: "view" }; 6712 if (isHierarchicalTaxonomy && showOnlyTopLevel) { 6713 query.parent = 0; 6714 } 6715 const { records: categories, isResolving } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 6716 "taxonomy", 6717 taxonomySlug, 6718 query 6719 ); 6720 const { createWarningNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 6721 const showRedirectionPreventedNotice = (event) => { 6722 event.preventDefault(); 6723 createWarningNotice((0,external_wp_i18n_namespaceObject.__)("Links are disabled in the editor."), { 6724 id: `block-library/core/categories/redirection-prevented/$clientId}`, 6725 type: "snackbar" 6726 }); 6727 }; 6728 const getCategoriesList = (parentId) => { 6729 if (!categories?.length) { 6730 return []; 6731 } 6732 if (parentId === null) { 6733 return categories; 6734 } 6735 return categories.filter(({ parent }) => parent === parentId); 6736 }; 6737 const toggleAttribute = (attributeName) => (newValue) => setAttributes({ [attributeName]: newValue }); 6738 const renderCategoryName = (name) => !name ? (0,external_wp_i18n_namespaceObject.__)("(Untitled)") : (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(name).trim(); 6739 const renderCategoryList = () => { 6740 const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null; 6741 const categoriesList = getCategoriesList(parentId); 6742 return categoriesList.map( 6743 (category) => renderCategoryListItem(category) 6744 ); 6745 }; 6746 const renderCategoryListItem = (category) => { 6747 const childCategories = getCategoriesList(category.id); 6748 const { id, link, count, name } = category; 6749 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { className: `cat-item cat-item-$id}`, children: [ 6750 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: link, onClick: showRedirectionPreventedNotice, children: renderCategoryName(name) }), 6751 showPostCounts && ` ($count})`, 6752 isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { className: "children", children: childCategories.map( 6753 (childCategory) => renderCategoryListItem(childCategory) 6754 ) }) 6755 ] }, id); 6756 }; 6757 const renderCategoryDropdown = () => { 6758 const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null; 6759 const categoriesList = getCategoriesList(parentId); 6760 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 6761 showLabel ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6762 external_wp_blockEditor_namespaceObject.RichText, 6763 { 6764 className: "wp-block-categories__label", 6765 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Label text"), 6766 placeholder: taxonomy?.name, 6767 withoutInteractiveFormatting: true, 6768 value: label, 6769 onChange: (html) => setAttributes({ label: html }) 6770 } 6771 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { as: "label", htmlFor: selectId, children: label ? label : taxonomy?.name }), 6772 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("select", { id: selectId, children: [ 6773 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("option", { children: (0,external_wp_i18n_namespaceObject.sprintf)( 6774 /* translators: %s: taxonomy's singular name */ 6775 (0,external_wp_i18n_namespaceObject.__)("Select %s"), 6776 taxonomy?.labels?.singular_name 6777 ) }), 6778 categoriesList.map( 6779 (category) => renderCategoryDropdownItem(category, 0) 6780 ) 6781 ] }) 6782 ] }); 6783 }; 6784 const renderCategoryDropdownItem = (category, level) => { 6785 const { id, count, name } = category; 6786 const childCategories = getCategoriesList(id); 6787 return [ 6788 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("option", { className: `level-$level}`, children: [ 6789 Array.from({ length: level * 3 }).map(() => "\xA0"), 6790 renderCategoryName(name), 6791 showPostCounts && ` ($count})` 6792 ] }, id), 6793 isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && childCategories.map( 6794 (childCategory) => renderCategoryDropdownItem(childCategory, level + 1) 6795 ) 6796 ]; 6797 }; 6798 const TagName = !!categories?.length && !displayAsDropdown && !isResolving ? "ul" : "div"; 6799 const classes = dist_clsx(className, { 6800 "wp-block-categories-list": !!categories?.length && !displayAsDropdown && !isResolving, 6801 "wp-block-categories-dropdown": !!categories?.length && displayAsDropdown && !isResolving 6802 }); 6803 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 6804 className: classes 6805 }); 6806 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 6807 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(TagName, { ...blockProps, children: [ 6808 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 6809 external_wp_components_namespaceObject.__experimentalToolsPanel, 6810 { 6811 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 6812 resetAll: () => { 6813 setAttributes({ 6814 taxonomy: "category", 6815 displayAsDropdown: false, 6816 showHierarchy: false, 6817 showPostCounts: false, 6818 showOnlyTopLevel: false, 6819 showEmpty: false, 6820 showLabel: true 6821 }); 6822 }, 6823 dropdownMenuProps, 6824 children: [ 6825 Array.isArray(taxonomies) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6826 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6827 { 6828 hasValue: () => { 6829 return taxonomySlug !== "category"; 6830 }, 6831 label: (0,external_wp_i18n_namespaceObject.__)("Taxonomy"), 6832 onDeselect: () => { 6833 setAttributes({ taxonomy: "category" }); 6834 }, 6835 isShownByDefault: true, 6836 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6837 external_wp_components_namespaceObject.SelectControl, 6838 { 6839 __nextHasNoMarginBottom: true, 6840 __next40pxDefaultSize: true, 6841 label: (0,external_wp_i18n_namespaceObject.__)("Taxonomy"), 6842 options: taxonomies.map((t) => ({ 6843 label: t.name, 6844 value: t.slug 6845 })), 6846 value: taxonomySlug, 6847 onChange: (selectedTaxonomy) => setAttributes({ 6848 taxonomy: selectedTaxonomy 6849 }) 6850 } 6851 ) 6852 } 6853 ), 6854 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6855 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6856 { 6857 hasValue: () => !!displayAsDropdown, 6858 label: (0,external_wp_i18n_namespaceObject.__)("Display as dropdown"), 6859 onDeselect: () => setAttributes({ displayAsDropdown: false }), 6860 isShownByDefault: true, 6861 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6862 external_wp_components_namespaceObject.ToggleControl, 6863 { 6864 __nextHasNoMarginBottom: true, 6865 label: (0,external_wp_i18n_namespaceObject.__)("Display as dropdown"), 6866 checked: displayAsDropdown, 6867 onChange: toggleAttribute("displayAsDropdown") 6868 } 6869 ) 6870 } 6871 ), 6872 displayAsDropdown && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6873 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6874 { 6875 hasValue: () => !showLabel, 6876 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 6877 onDeselect: () => setAttributes({ showLabel: true }), 6878 isShownByDefault: true, 6879 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6880 external_wp_components_namespaceObject.ToggleControl, 6881 { 6882 __nextHasNoMarginBottom: true, 6883 className: "wp-block-categories__indentation", 6884 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 6885 checked: showLabel, 6886 onChange: toggleAttribute("showLabel") 6887 } 6888 ) 6889 } 6890 ), 6891 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6892 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6893 { 6894 hasValue: () => !!showPostCounts, 6895 label: (0,external_wp_i18n_namespaceObject.__)("Show post counts"), 6896 onDeselect: () => setAttributes({ showPostCounts: false }), 6897 isShownByDefault: true, 6898 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6899 external_wp_components_namespaceObject.ToggleControl, 6900 { 6901 __nextHasNoMarginBottom: true, 6902 label: (0,external_wp_i18n_namespaceObject.__)("Show post counts"), 6903 checked: showPostCounts, 6904 onChange: toggleAttribute("showPostCounts") 6905 } 6906 ) 6907 } 6908 ), 6909 isHierarchicalTaxonomy && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6910 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6911 { 6912 hasValue: () => !!showOnlyTopLevel, 6913 label: (0,external_wp_i18n_namespaceObject.__)("Show only top level terms"), 6914 onDeselect: () => setAttributes({ showOnlyTopLevel: false }), 6915 isShownByDefault: true, 6916 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6917 external_wp_components_namespaceObject.ToggleControl, 6918 { 6919 __nextHasNoMarginBottom: true, 6920 label: (0,external_wp_i18n_namespaceObject.__)("Show only top level terms"), 6921 checked: showOnlyTopLevel, 6922 onChange: toggleAttribute( 6923 "showOnlyTopLevel" 6924 ) 6925 } 6926 ) 6927 } 6928 ), 6929 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6930 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6931 { 6932 hasValue: () => !!showEmpty, 6933 label: (0,external_wp_i18n_namespaceObject.__)("Show empty terms"), 6934 onDeselect: () => setAttributes({ showEmpty: false }), 6935 isShownByDefault: true, 6936 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6937 external_wp_components_namespaceObject.ToggleControl, 6938 { 6939 __nextHasNoMarginBottom: true, 6940 label: (0,external_wp_i18n_namespaceObject.__)("Show empty terms"), 6941 checked: showEmpty, 6942 onChange: toggleAttribute("showEmpty") 6943 } 6944 ) 6945 } 6946 ), 6947 isHierarchicalTaxonomy && !showOnlyTopLevel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6948 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 6949 { 6950 hasValue: () => !!showHierarchy, 6951 label: (0,external_wp_i18n_namespaceObject.__)("Show hierarchy"), 6952 onDeselect: () => setAttributes({ showHierarchy: false }), 6953 isShownByDefault: true, 6954 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 6955 external_wp_components_namespaceObject.ToggleControl, 6956 { 6957 __nextHasNoMarginBottom: true, 6958 label: (0,external_wp_i18n_namespaceObject.__)("Show hierarchy"), 6959 checked: showHierarchy, 6960 onChange: toggleAttribute("showHierarchy") 6961 } 6962 ) 6963 } 6964 ) 6965 ] 6966 } 6967 ) }), 6968 isResolving && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { icon: pin_default, label: (0,external_wp_i18n_namespaceObject.__)("Terms"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }), 6969 !isResolving && categories?.length === 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: taxonomy.labels.no_terms }), 6970 !isResolving && categories?.length > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList()) 6971 ] }); 6972 } 6973 6974 6975 ;// ./node_modules/@wordpress/block-library/build-module/categories/variations.js 6976 6977 6978 const variations = [ 6979 { 6980 name: "terms", 6981 title: (0,external_wp_i18n_namespaceObject.__)("Terms List"), 6982 icon: category_default, 6983 attributes: { 6984 // We need to set an attribute here that will be set when inserting the block. 6985 // We cannot leave this empty, as that would be interpreted as the default value, 6986 // which is `category` -- for which we're defining a distinct variation below, 6987 // for backwards compatibility reasons. 6988 // The logical fallback is thus the only other built-in and public taxonomy: Tags. 6989 taxonomy: "post_tag" 6990 }, 6991 isActive: (blockAttributes) => ( 6992 // This variation is used for any taxonomy other than `category`. 6993 blockAttributes.taxonomy !== "category" 6994 ) 6995 }, 6996 { 6997 name: "categories", 6998 title: (0,external_wp_i18n_namespaceObject.__)("Categories List"), 6999 description: (0,external_wp_i18n_namespaceObject.__)("Display a list of all categories."), 7000 icon: category_default, 7001 attributes: { 7002 taxonomy: "category" 7003 }, 7004 isActive: ["taxonomy"], 7005 // The following is needed to prevent "Terms List" from showing up twice in the inserter 7006 // (once for the block, once for the variation). Fortunately, it does not collide with 7007 // `categories` being the default value of the `taxonomy` attribute. 7008 isDefault: true 7009 } 7010 ]; 7011 var variations_default = variations; 7012 7013 7014 ;// ./node_modules/@wordpress/block-library/build-module/categories/index.js 7015 7016 7017 7018 7019 7020 const { name: categories_name } = categories_block_namespaceObject; 7021 const categories_settings = { 7022 icon: category_default, 7023 example: {}, 7024 edit: CategoriesEdit, 7025 variations: variations_default 7026 }; 7027 const categories_init = () => initBlock({ name: categories_name, metadata: categories_block_namespaceObject, settings: categories_settings }); 7028 7029 7030 ;// ./node_modules/@wordpress/icons/build-module/library/classic.js 7031 7032 7033 var classic_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20 6H4c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H4c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h16c.3 0 .5.2.5.5v9zM10 10H8v2h2v-2zm-5 2h2v-2H5v2zm8-2h-2v2h2v-2zm-5 6h8v-2H8v2zm6-4h2v-2h-2v2zm3 0h2v-2h-2v2zm0 4h2v-2h-2v2zM5 16h2v-2H5v2z" }) }); 7034 7035 7036 ;// ./node_modules/@wordpress/block-library/build-module/freeform/convert-to-blocks-button.js 7037 7038 7039 7040 7041 7042 7043 const ConvertToBlocksButton = ({ clientId }) => { 7044 const { replaceBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 7045 const block = (0,external_wp_data_namespaceObject.useSelect)( 7046 (select) => { 7047 return select(external_wp_blockEditor_namespaceObject.store).getBlock(clientId); 7048 }, 7049 [clientId] 7050 ); 7051 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7052 external_wp_components_namespaceObject.ToolbarButton, 7053 { 7054 onClick: () => replaceBlocks( 7055 block.clientId, 7056 (0,external_wp_blocks_namespaceObject.rawHandler)({ HTML: (0,external_wp_blocks_namespaceObject.serialize)(block) }) 7057 ), 7058 children: (0,external_wp_i18n_namespaceObject.__)("Convert to blocks") 7059 } 7060 ); 7061 }; 7062 var convert_to_blocks_button_default = ConvertToBlocksButton; 7063 7064 7065 ;// ./node_modules/@wordpress/icons/build-module/library/fullscreen.js 7066 7067 7068 var fullscreen_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.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" }) }); 7069 7070 7071 ;// ./node_modules/@wordpress/block-library/build-module/freeform/modal.js 7072 7073 7074 7075 7076 7077 7078 7079 7080 function ModalAuxiliaryActions({ onClick, isModalFullScreen }) { 7081 const isMobileViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)("small", "<"); 7082 if (isMobileViewport) { 7083 return null; 7084 } 7085 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7086 external_wp_components_namespaceObject.Button, 7087 { 7088 size: "compact", 7089 onClick, 7090 icon: fullscreen_default, 7091 isPressed: isModalFullScreen, 7092 label: isModalFullScreen ? (0,external_wp_i18n_namespaceObject.__)("Exit fullscreen") : (0,external_wp_i18n_namespaceObject.__)("Enter fullscreen") 7093 } 7094 ); 7095 } 7096 function ClassicEdit(props) { 7097 const styles = (0,external_wp_data_namespaceObject.useSelect)( 7098 (select) => select(external_wp_blockEditor_namespaceObject.store).getSettings().styles 7099 ); 7100 (0,external_wp_element_namespaceObject.useEffect)(() => { 7101 const { baseURL, suffix, settings } = window.wpEditorL10n.tinymce; 7102 window.tinymce.EditorManager.overrideDefaults({ 7103 base_url: baseURL, 7104 suffix 7105 }); 7106 window.wp.oldEditor.initialize(props.id, { 7107 tinymce: { 7108 ...settings, 7109 setup(editor) { 7110 editor.on("init", () => { 7111 const doc = editor.getDoc(); 7112 styles.forEach(({ css }) => { 7113 const styleEl = doc.createElement("style"); 7114 styleEl.innerHTML = css; 7115 doc.head.appendChild(styleEl); 7116 }); 7117 }); 7118 } 7119 } 7120 }); 7121 return () => { 7122 window.wp.oldEditor.remove(props.id); 7123 }; 7124 }, []); 7125 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("textarea", { ...props }); 7126 } 7127 function ModalEdit(props) { 7128 const { 7129 clientId, 7130 attributes: { content }, 7131 setAttributes, 7132 onReplace 7133 } = props; 7134 const [isOpen, setOpen] = (0,external_wp_element_namespaceObject.useState)(false); 7135 const [isModalFullScreen, setIsModalFullScreen] = (0,external_wp_element_namespaceObject.useState)(false); 7136 const id = `editor-$clientId}`; 7137 const onClose = () => content ? setOpen(false) : onReplace([]); 7138 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 7139 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { onClick: () => setOpen(true), children: (0,external_wp_i18n_namespaceObject.__)("Edit") }) }) }), 7140 content && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: content }), 7141 (isOpen || !content) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 7142 external_wp_components_namespaceObject.Modal, 7143 { 7144 title: (0,external_wp_i18n_namespaceObject.__)("Classic Editor"), 7145 onRequestClose: onClose, 7146 shouldCloseOnClickOutside: false, 7147 overlayClassName: "block-editor-freeform-modal", 7148 isFullScreen: isModalFullScreen, 7149 className: "block-editor-freeform-modal__content", 7150 headerActions: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7151 ModalAuxiliaryActions, 7152 { 7153 onClick: () => setIsModalFullScreen(!isModalFullScreen), 7154 isModalFullScreen 7155 } 7156 ), 7157 children: [ 7158 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ClassicEdit, { id, defaultValue: content }), 7159 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 7160 external_wp_components_namespaceObject.Flex, 7161 { 7162 className: "block-editor-freeform-modal__actions", 7163 justify: "flex-end", 7164 expanded: false, 7165 children: [ 7166 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7167 external_wp_components_namespaceObject.Button, 7168 { 7169 __next40pxDefaultSize: true, 7170 variant: "tertiary", 7171 onClick: onClose, 7172 children: (0,external_wp_i18n_namespaceObject.__)("Cancel") 7173 } 7174 ) }), 7175 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7176 external_wp_components_namespaceObject.Button, 7177 { 7178 __next40pxDefaultSize: true, 7179 variant: "primary", 7180 onClick: () => { 7181 setAttributes({ 7182 content: window.wp.oldEditor.getContent( 7183 id 7184 ) 7185 }); 7186 setOpen(false); 7187 }, 7188 children: (0,external_wp_i18n_namespaceObject.__)("Save") 7189 } 7190 ) }) 7191 ] 7192 } 7193 ) 7194 ] 7195 } 7196 ) 7197 ] }); 7198 } 7199 7200 7201 ;// ./node_modules/@wordpress/block-library/build-module/freeform/edit.js 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 const { wp } = window; 7213 function isTmceEmpty(editor) { 7214 const body = editor.getBody(); 7215 if (body.childNodes.length > 1) { 7216 return false; 7217 } else if (body.childNodes.length === 0) { 7218 return true; 7219 } 7220 if (body.childNodes[0].childNodes.length > 1) { 7221 return false; 7222 } 7223 return /^\n?$/.test(body.innerText || body.textContent); 7224 } 7225 function FreeformEdit(props) { 7226 const { clientId } = props; 7227 const canRemove = (0,external_wp_data_namespaceObject.useSelect)( 7228 (select) => select(external_wp_blockEditor_namespaceObject.store).canRemoveBlock(clientId), 7229 [clientId] 7230 ); 7231 const [isIframed, setIsIframed] = (0,external_wp_element_namespaceObject.useState)(false); 7232 const ref = (0,external_wp_compose_namespaceObject.useRefEffect)((element) => { 7233 setIsIframed(element.ownerDocument !== document); 7234 }, []); 7235 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 7236 canRemove && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(convert_to_blocks_button_default, { clientId }) }) }), 7237 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ ref }), children: isIframed ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ModalEdit, { ...props }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(edit_ClassicEdit, { ...props }) }) 7238 ] }); 7239 } 7240 function edit_ClassicEdit({ 7241 clientId, 7242 attributes: { content }, 7243 setAttributes, 7244 onReplace 7245 }) { 7246 const { getMultiSelectedBlockClientIds } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 7247 const didMountRef = (0,external_wp_element_namespaceObject.useRef)(false); 7248 (0,external_wp_element_namespaceObject.useEffect)(() => { 7249 if (!didMountRef.current) { 7250 return; 7251 } 7252 const editor = window.tinymce.get(`editor-$clientId}`); 7253 if (!editor) { 7254 return; 7255 } 7256 const currentContent = editor.getContent(); 7257 if (currentContent !== content) { 7258 editor.setContent(content || ""); 7259 } 7260 }, [clientId, content]); 7261 (0,external_wp_element_namespaceObject.useEffect)(() => { 7262 const { baseURL, suffix } = window.wpEditorL10n.tinymce; 7263 didMountRef.current = true; 7264 window.tinymce.EditorManager.overrideDefaults({ 7265 base_url: baseURL, 7266 suffix 7267 }); 7268 function onSetup(editor) { 7269 let bookmark; 7270 if (content) { 7271 editor.on("loadContent", () => editor.setContent(content)); 7272 } 7273 editor.on("blur", () => { 7274 bookmark = editor.selection.getBookmark(2, true); 7275 const scrollContainer = document.querySelector( 7276 ".interface-interface-skeleton__content" 7277 ); 7278 const scrollPosition = scrollContainer.scrollTop; 7279 if (!getMultiSelectedBlockClientIds()?.length) { 7280 setAttributes({ 7281 content: editor.getContent() 7282 }); 7283 } 7284 editor.once("focus", () => { 7285 if (bookmark) { 7286 editor.selection.moveToBookmark(bookmark); 7287 if (scrollContainer.scrollTop !== scrollPosition) { 7288 scrollContainer.scrollTop = scrollPosition; 7289 } 7290 } 7291 }); 7292 return false; 7293 }); 7294 editor.on("mousedown touchstart", () => { 7295 bookmark = null; 7296 }); 7297 const debouncedOnChange = (0,external_wp_compose_namespaceObject.debounce)(() => { 7298 const value = editor.getContent(); 7299 if (value !== editor._lastChange) { 7300 editor._lastChange = value; 7301 setAttributes({ 7302 content: value 7303 }); 7304 } 7305 }, 250); 7306 editor.on("Paste Change input Undo Redo", debouncedOnChange); 7307 editor.on("remove", debouncedOnChange.cancel); 7308 editor.on("keydown", (event) => { 7309 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, "z")) { 7310 event.stopPropagation(); 7311 } 7312 if ((event.keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || event.keyCode === external_wp_keycodes_namespaceObject.DELETE) && isTmceEmpty(editor)) { 7313 onReplace([]); 7314 event.preventDefault(); 7315 event.stopImmediatePropagation(); 7316 } 7317 const { altKey } = event; 7318 if (altKey && event.keyCode === external_wp_keycodes_namespaceObject.F10) { 7319 event.stopPropagation(); 7320 } 7321 }); 7322 editor.on("paste", (event) => { 7323 event.stopPropagation(); 7324 }); 7325 editor.on("init", () => { 7326 const rootNode = editor.getBody(); 7327 if (rootNode.ownerDocument.activeElement === rootNode) { 7328 rootNode.blur(); 7329 editor.focus(); 7330 } 7331 }); 7332 } 7333 function initialize() { 7334 const { settings } = window.wpEditorL10n.tinymce; 7335 wp.oldEditor.initialize(`editor-$clientId}`, { 7336 tinymce: { 7337 ...settings, 7338 inline: true, 7339 content_css: false, 7340 fixed_toolbar_container: `#toolbar-$clientId}`, 7341 setup: onSetup 7342 } 7343 }); 7344 } 7345 function onReadyStateChange() { 7346 if (document.readyState === "complete") { 7347 initialize(); 7348 } 7349 } 7350 if (document.readyState === "complete") { 7351 initialize(); 7352 } else { 7353 document.addEventListener("readystatechange", onReadyStateChange); 7354 } 7355 return () => { 7356 document.removeEventListener( 7357 "readystatechange", 7358 onReadyStateChange 7359 ); 7360 wp.oldEditor.remove(`editor-$clientId}`); 7361 didMountRef.current = false; 7362 }; 7363 }, []); 7364 function focus() { 7365 const editor = window.tinymce.get(`editor-$clientId}`); 7366 if (editor) { 7367 editor.focus(); 7368 } 7369 } 7370 function onToolbarKeyDown(event) { 7371 event.stopPropagation(); 7372 event.nativeEvent.stopImmediatePropagation(); 7373 } 7374 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 7375 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7376 "div", 7377 { 7378 id: `toolbar-$clientId}`, 7379 className: "block-library-classic__toolbar", 7380 onClick: focus, 7381 "data-placeholder": (0,external_wp_i18n_namespaceObject.__)("Classic"), 7382 onKeyDown: onToolbarKeyDown 7383 }, 7384 "toolbar" 7385 ), 7386 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7387 "div", 7388 { 7389 id: `editor-$clientId}`, 7390 className: "wp-block-freeform block-library-rich-text__tinymce" 7391 }, 7392 "editor" 7393 ) 7394 ] }); 7395 } 7396 7397 7398 ;// ./node_modules/@wordpress/block-library/build-module/freeform/block.json 7399 const freeform_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/freeform","title":"Classic","category":"text","description":"Use the classic WordPress editor.","textdomain":"default","attributes":{"content":{"type":"string","source":"raw"}},"supports":{"className":false,"customClassName":false,"reusable":false},"editorStyle":"wp-block-freeform-editor"}'); 7400 ;// ./node_modules/@wordpress/block-library/build-module/freeform/save.js 7401 7402 7403 function freeform_save_save({ attributes }) { 7404 const { content } = attributes; 7405 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: content }); 7406 } 7407 7408 7409 ;// ./node_modules/@wordpress/block-library/build-module/freeform/index.js 7410 7411 7412 7413 7414 7415 const { name: freeform_name } = freeform_block_namespaceObject; 7416 const freeform_settings = { 7417 icon: classic_default, 7418 edit: FreeformEdit, 7419 save: freeform_save_save 7420 }; 7421 const freeform_init = () => initBlock({ name: freeform_name, metadata: freeform_block_namespaceObject, settings: freeform_settings }); 7422 7423 7424 ;// ./node_modules/@wordpress/icons/build-module/library/code.js 7425 7426 7427 var code_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" }) }); 7428 7429 7430 ;// ./node_modules/@wordpress/block-library/build-module/code/edit.js 7431 7432 7433 7434 7435 function CodeEdit({ 7436 attributes, 7437 setAttributes, 7438 onRemove, 7439 insertBlocksAfter, 7440 mergeBlocks 7441 }) { 7442 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 7443 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7444 external_wp_blockEditor_namespaceObject.RichText, 7445 { 7446 tagName: "code", 7447 identifier: "content", 7448 value: attributes.content, 7449 onChange: (content) => setAttributes({ content }), 7450 onRemove, 7451 onMerge: mergeBlocks, 7452 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write code\u2026"), 7453 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Code"), 7454 preserveWhiteSpace: true, 7455 __unstablePastePlainText: true, 7456 __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())) 7457 } 7458 ) }); 7459 } 7460 7461 7462 ;// ./node_modules/@wordpress/block-library/build-module/code/block.json 7463 const code_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/code","title":"Code","category":"text","description":"Display code snippets that respect your spacing and tabs.","textdomain":"default","attributes":{"content":{"type":"rich-text","source":"rich-text","selector":"code","__unstablePreserveWhiteSpace":true,"role":"content"}},"supports":{"align":["wide"],"anchor":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"spacing":{"margin":["top","bottom"],"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"width":true,"color":true}},"color":{"text":true,"background":true,"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-code"}'); 7464 ;// ./node_modules/@wordpress/block-library/build-module/code/utils.js 7465 7466 function utils_escape(content) { 7467 return (0,external_wp_compose_namespaceObject.pipe)( 7468 escapeOpeningSquareBrackets, 7469 escapeProtocolInIsolatedUrls 7470 )(content || ""); 7471 } 7472 function escapeOpeningSquareBrackets(content) { 7473 return content.replace(/\[/g, "["); 7474 } 7475 function escapeProtocolInIsolatedUrls(content) { 7476 return content.replace( 7477 /^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, 7478 "$1//$2" 7479 ); 7480 } 7481 7482 7483 ;// ./node_modules/@wordpress/block-library/build-module/code/save.js 7484 7485 7486 7487 function code_save_save({ attributes }) { 7488 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7489 external_wp_blockEditor_namespaceObject.RichText.Content, 7490 { 7491 tagName: "code", 7492 value: utils_escape( 7493 typeof attributes.content === "string" ? attributes.content : attributes.content.toHTMLString({ 7494 preserveWhiteSpace: true 7495 }) 7496 ) 7497 } 7498 ) }); 7499 } 7500 7501 7502 ;// ./node_modules/@wordpress/block-library/build-module/code/transforms.js 7503 7504 7505 7506 const code_transforms_transforms = { 7507 from: [ 7508 { 7509 type: "enter", 7510 regExp: /^```$/, 7511 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/code") 7512 }, 7513 { 7514 type: "block", 7515 blocks: ["core/paragraph"], 7516 transform: (attributes) => { 7517 const { content } = attributes; 7518 return (0,external_wp_blocks_namespaceObject.createBlock)("core/code", { 7519 ...getTransformedAttributes(attributes, "core/code"), 7520 content 7521 }); 7522 } 7523 }, 7524 { 7525 type: "block", 7526 blocks: ["core/html"], 7527 transform: (attributes) => { 7528 const { content: text } = attributes; 7529 return (0,external_wp_blocks_namespaceObject.createBlock)("core/code", { 7530 ...getTransformedAttributes(attributes, "core/code"), 7531 // The HTML is plain text (with plain line breaks), so 7532 // convert it to rich text. 7533 content: (0,external_wp_richText_namespaceObject.toHTMLString)({ value: (0,external_wp_richText_namespaceObject.create)({ text }) }) 7534 }); 7535 } 7536 }, 7537 { 7538 type: "raw", 7539 isMatch: (node) => node.nodeName === "PRE" && node.children.length === 1 && node.firstChild.nodeName === "CODE", 7540 schema: { 7541 pre: { 7542 children: { 7543 code: { 7544 children: { 7545 "#text": {} 7546 } 7547 } 7548 } 7549 } 7550 } 7551 } 7552 ], 7553 to: [ 7554 { 7555 type: "block", 7556 blocks: ["core/paragraph"], 7557 transform: (attributes) => { 7558 const { content } = attributes; 7559 return (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 7560 ...getTransformedAttributes(attributes, "core/paragraph"), 7561 content 7562 }); 7563 } 7564 } 7565 ] 7566 }; 7567 var code_transforms_transforms_default = code_transforms_transforms; 7568 7569 7570 ;// ./node_modules/@wordpress/block-library/build-module/code/index.js 7571 7572 7573 7574 7575 7576 7577 7578 const { name: code_name } = code_block_namespaceObject; 7579 const code_settings = { 7580 icon: code_default, 7581 example: { 7582 attributes: { 7583 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 7584 // translators: Preserve \n markers for line breaks 7585 content: (0,external_wp_i18n_namespaceObject.__)( 7586 "// A \u201Cblock\u201D is the abstract term used\n// to describe units of markup that\n// when composed together, form the\n// content or layout of a page.\nregisterBlockType( name, settings );" 7587 ) 7588 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 7589 } 7590 }, 7591 merge(attributes, attributesToMerge) { 7592 return { 7593 content: attributes.content + "\n\n" + attributesToMerge.content 7594 }; 7595 }, 7596 transforms: code_transforms_transforms_default, 7597 edit: CodeEdit, 7598 save: code_save_save 7599 }; 7600 const code_init = () => initBlock({ name: code_name, metadata: code_block_namespaceObject, settings: code_settings }); 7601 7602 7603 ;// ./node_modules/@wordpress/icons/build-module/library/column.js 7604 7605 7606 var column_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 6H6c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM6 17.5c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5h3v10H6zm13.5-.5c0 .3-.2.5-.5.5h-3v-10h3c.3 0 .5.2.5.5v9z" }) }); 7607 7608 7609 ;// ./node_modules/@wordpress/block-library/build-module/column/deprecated.js 7610 7611 7612 7613 const column_deprecated_deprecated = [ 7614 { 7615 attributes: { 7616 verticalAlignment: { 7617 type: "string" 7618 }, 7619 width: { 7620 type: "number", 7621 min: 0, 7622 max: 100 7623 } 7624 }, 7625 isEligible({ width }) { 7626 return isFinite(width); 7627 }, 7628 migrate(attributes) { 7629 return { 7630 ...attributes, 7631 width: `$attributes.width}%` 7632 }; 7633 }, 7634 save({ attributes }) { 7635 const { verticalAlignment, width } = attributes; 7636 const wrapperClasses = dist_clsx({ 7637 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7638 }); 7639 const style = { flexBasis: width + "%" }; 7640 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: wrapperClasses, style, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 7641 } 7642 } 7643 ]; 7644 var column_deprecated_deprecated_default = column_deprecated_deprecated; 7645 7646 7647 ;// ./node_modules/@wordpress/block-library/build-module/column/edit.js 7648 7649 7650 7651 7652 7653 7654 7655 function ColumnInspectorControls({ width, setAttributes }) { 7656 const [availableUnits] = (0,external_wp_blockEditor_namespaceObject.useSettings)("spacing.units"); 7657 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 7658 availableUnits: availableUnits || ["%", "px", "em", "rem", "vw"] 7659 }); 7660 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 7661 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7662 external_wp_components_namespaceObject.__experimentalToolsPanel, 7663 { 7664 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 7665 resetAll: () => { 7666 setAttributes({ width: void 0 }); 7667 }, 7668 dropdownMenuProps, 7669 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7670 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 7671 { 7672 hasValue: () => width !== void 0, 7673 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 7674 onDeselect: () => setAttributes({ width: void 0 }), 7675 isShownByDefault: true, 7676 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7677 external_wp_components_namespaceObject.__experimentalUnitControl, 7678 { 7679 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 7680 __unstableInputWidth: "calc(50% - 8px)", 7681 __next40pxDefaultSize: true, 7682 value: width || "", 7683 onChange: (nextWidth) => { 7684 nextWidth = 0 > parseFloat(nextWidth) ? "0" : nextWidth; 7685 setAttributes({ width: nextWidth }); 7686 }, 7687 units 7688 } 7689 ) 7690 } 7691 ) 7692 } 7693 ); 7694 } 7695 function ColumnEdit({ 7696 attributes: { verticalAlignment, width, templateLock, allowedBlocks }, 7697 setAttributes, 7698 clientId 7699 }) { 7700 const classes = dist_clsx("block-core-columns", { 7701 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7702 }); 7703 const { columnsIds, hasChildBlocks, rootClientId } = (0,external_wp_data_namespaceObject.useSelect)( 7704 (select) => { 7705 const { getBlockOrder, getBlockRootClientId } = select(external_wp_blockEditor_namespaceObject.store); 7706 const rootId = getBlockRootClientId(clientId); 7707 return { 7708 hasChildBlocks: getBlockOrder(clientId).length > 0, 7709 rootClientId: rootId, 7710 columnsIds: getBlockOrder(rootId) 7711 }; 7712 }, 7713 [clientId] 7714 ); 7715 const { updateBlockAttributes } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 7716 const updateAlignment = (value) => { 7717 setAttributes({ verticalAlignment: value }); 7718 updateBlockAttributes(rootClientId, { 7719 verticalAlignment: null 7720 }); 7721 }; 7722 const widthWithUnit = Number.isFinite(width) ? width + "%" : width; 7723 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 7724 className: classes, 7725 style: widthWithUnit ? { flexBasis: widthWithUnit } : void 0 7726 }); 7727 const columnsCount = columnsIds.length; 7728 const currentColumnPosition = columnsIds.indexOf(clientId) + 1; 7729 const label = (0,external_wp_i18n_namespaceObject.sprintf)( 7730 /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */ 7731 (0,external_wp_i18n_namespaceObject.__)("%1$s (%2$d of %3$d)"), 7732 blockProps["aria-label"], 7733 currentColumnPosition, 7734 columnsCount 7735 ); 7736 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 7737 { ...blockProps, "aria-label": label }, 7738 { 7739 templateLock, 7740 allowedBlocks, 7741 renderAppender: hasChildBlocks ? void 0 : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender 7742 } 7743 ); 7744 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 7745 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7746 external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, 7747 { 7748 onChange: updateAlignment, 7749 value: verticalAlignment, 7750 controls: ["top", "center", "bottom", "stretch"] 7751 } 7752 ) }), 7753 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7754 ColumnInspectorControls, 7755 { 7756 width, 7757 setAttributes 7758 } 7759 ) }), 7760 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 7761 ] }); 7762 } 7763 var column_edit_edit_default = ColumnEdit; 7764 7765 7766 ;// ./node_modules/@wordpress/block-library/build-module/column/block.json 7767 const column_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/column","title":"Column","category":"design","parent":["core/columns"],"description":"A single column within a columns block.","textdomain":"default","attributes":{"verticalAlignment":{"type":"string"},"width":{"type":"string"},"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false]}},"supports":{"__experimentalOnEnter":true,"anchor":true,"reusable":false,"html":false,"color":{"gradients":true,"heading":true,"button":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"shadow":true,"spacing":{"blockGap":true,"padding":true,"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"layout":true,"interactivity":{"clientNavigation":true},"allowedBlocks":true}}'); 7768 ;// ./node_modules/@wordpress/block-library/build-module/column/save.js 7769 7770 7771 7772 function column_save_save({ attributes }) { 7773 const { verticalAlignment, width } = attributes; 7774 const wrapperClasses = dist_clsx({ 7775 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7776 }); 7777 let style; 7778 if (width && /\d/.test(width)) { 7779 let flexBasis = Number.isFinite(width) ? width + "%" : width; 7780 if (!Number.isFinite(width) && width?.endsWith("%")) { 7781 const multiplier = 1e12; 7782 flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + "%"; 7783 } 7784 style = { flexBasis }; 7785 } 7786 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 7787 className: wrapperClasses, 7788 style 7789 }); 7790 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 7791 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 7792 } 7793 7794 7795 ;// ./node_modules/@wordpress/block-library/build-module/column/index.js 7796 7797 7798 7799 7800 7801 7802 const { name: column_name } = column_block_namespaceObject; 7803 const column_settings = { 7804 icon: column_default, 7805 edit: column_edit_edit_default, 7806 save: column_save_save, 7807 deprecated: column_deprecated_deprecated_default 7808 }; 7809 const column_init = () => initBlock({ name: column_name, metadata: column_block_namespaceObject, settings: column_settings }); 7810 7811 7812 ;// ./node_modules/@wordpress/icons/build-module/library/columns.js 7813 7814 7815 var columns_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7816 external_wp_primitives_namespaceObject.Path, 7817 { 7818 fillRule: "evenodd", 7819 clipRule: "evenodd", 7820 d: "M15 7.5h-5v10h5v-10Zm1.5 0v10H19a.5.5 0 0 0 .5-.5V8a.5.5 0 0 0-.5-.5h-2.5ZM6 7.5h2.5v10H6a.5.5 0 0 1-.5-.5V8a.5.5 0 0 1 .5-.5ZM6 6h13a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2Z" 7821 } 7822 ) }); 7823 7824 7825 ;// ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js 7826 7827 7828 7829 7830 function getDeprecatedLayoutColumn(originalContent) { 7831 let { doc } = getDeprecatedLayoutColumn; 7832 if (!doc) { 7833 doc = document.implementation.createHTMLDocument(""); 7834 getDeprecatedLayoutColumn.doc = doc; 7835 } 7836 let columnMatch; 7837 doc.body.innerHTML = originalContent; 7838 for (const classListItem of doc.body.firstChild.classList) { 7839 if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { 7840 return Number(columnMatch[1]) - 1; 7841 } 7842 } 7843 } 7844 const migrateCustomColors = (attributes) => { 7845 if (!attributes.customTextColor && !attributes.customBackgroundColor) { 7846 return attributes; 7847 } 7848 const style = { color: {} }; 7849 if (attributes.customTextColor) { 7850 style.color.text = attributes.customTextColor; 7851 } 7852 if (attributes.customBackgroundColor) { 7853 style.color.background = attributes.customBackgroundColor; 7854 } 7855 const { customTextColor, customBackgroundColor, ...restAttributes } = attributes; 7856 return { 7857 ...restAttributes, 7858 style, 7859 isStackedOnMobile: true 7860 }; 7861 }; 7862 var columns_deprecated_deprecated_default = [ 7863 { 7864 attributes: { 7865 verticalAlignment: { 7866 type: "string" 7867 }, 7868 backgroundColor: { 7869 type: "string" 7870 }, 7871 customBackgroundColor: { 7872 type: "string" 7873 }, 7874 customTextColor: { 7875 type: "string" 7876 }, 7877 textColor: { 7878 type: "string" 7879 } 7880 }, 7881 migrate: migrateCustomColors, 7882 save({ attributes }) { 7883 const { 7884 verticalAlignment, 7885 backgroundColor, 7886 customBackgroundColor, 7887 textColor, 7888 customTextColor 7889 } = attributes; 7890 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 7891 "background-color", 7892 backgroundColor 7893 ); 7894 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 7895 const className = dist_clsx({ 7896 "has-background": backgroundColor || customBackgroundColor, 7897 "has-text-color": textColor || customTextColor, 7898 [backgroundClass]: backgroundClass, 7899 [textClass]: textClass, 7900 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7901 }); 7902 const style = { 7903 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 7904 color: textClass ? void 0 : customTextColor 7905 }; 7906 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 7907 "div", 7908 { 7909 className: className ? className : void 0, 7910 style, 7911 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 7912 } 7913 ); 7914 } 7915 }, 7916 { 7917 attributes: { 7918 columns: { 7919 type: "number", 7920 default: 2 7921 } 7922 }, 7923 isEligible(attributes, innerBlocks) { 7924 const isFastPassEligible = innerBlocks.some( 7925 (innerBlock) => /layout-column-\d+/.test(innerBlock.originalContent) 7926 ); 7927 if (!isFastPassEligible) { 7928 return false; 7929 } 7930 return innerBlocks.some( 7931 (innerBlock) => getDeprecatedLayoutColumn(innerBlock.originalContent) !== void 0 7932 ); 7933 }, 7934 migrate(attributes, innerBlocks) { 7935 const columns = innerBlocks.reduce((accumulator, innerBlock) => { 7936 const { originalContent } = innerBlock; 7937 let columnIndex = getDeprecatedLayoutColumn(originalContent); 7938 if (columnIndex === void 0) { 7939 columnIndex = 0; 7940 } 7941 if (!accumulator[columnIndex]) { 7942 accumulator[columnIndex] = []; 7943 } 7944 accumulator[columnIndex].push(innerBlock); 7945 return accumulator; 7946 }, []); 7947 const migratedInnerBlocks = columns.map( 7948 (columnBlocks) => (0,external_wp_blocks_namespaceObject.createBlock)("core/column", {}, columnBlocks) 7949 ); 7950 const { columns: ignoredColumns, ...restAttributes } = attributes; 7951 return [ 7952 { 7953 ...restAttributes, 7954 isStackedOnMobile: true 7955 }, 7956 migratedInnerBlocks 7957 ]; 7958 }, 7959 save({ attributes }) { 7960 const { columns } = attributes; 7961 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: `has-$columns}-columns`, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 7962 } 7963 }, 7964 { 7965 attributes: { 7966 columns: { 7967 type: "number", 7968 default: 2 7969 } 7970 }, 7971 migrate(attributes, innerBlocks) { 7972 const { columns, ...restAttributes } = attributes; 7973 attributes = { 7974 ...restAttributes, 7975 isStackedOnMobile: true 7976 }; 7977 return [attributes, innerBlocks]; 7978 }, 7979 save({ attributes }) { 7980 const { verticalAlignment, columns } = attributes; 7981 const wrapperClasses = dist_clsx(`has-$columns}-columns`, { 7982 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7983 }); 7984 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: wrapperClasses, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 7985 } 7986 } 7987 ]; 7988 7989 7990 ;// ./node_modules/@wordpress/block-library/build-module/columns/utils.js 7991 const toWidthPrecision = (value) => { 7992 const unitlessValue = parseFloat(value); 7993 return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : void 0; 7994 }; 7995 function getEffectiveColumnWidth(block, totalBlockCount) { 7996 const { width = 100 / totalBlockCount } = block.attributes; 7997 return toWidthPrecision(width); 7998 } 7999 function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) { 8000 return blocks.reduce( 8001 (sum, block) => sum + getEffectiveColumnWidth(block, totalBlockCount), 8002 0 8003 ); 8004 } 8005 function getColumnWidths(blocks, totalBlockCount = blocks.length) { 8006 return blocks.reduce((accumulator, block) => { 8007 const width = getEffectiveColumnWidth(block, totalBlockCount); 8008 return Object.assign(accumulator, { [block.clientId]: width }); 8009 }, {}); 8010 } 8011 function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) { 8012 const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); 8013 return Object.fromEntries( 8014 Object.entries(getColumnWidths(blocks, totalBlockCount)).map( 8015 ([clientId, width]) => { 8016 const newWidth = availableWidth * width / totalWidth; 8017 return [clientId, toWidthPrecision(newWidth)]; 8018 } 8019 ) 8020 ); 8021 } 8022 function hasExplicitPercentColumnWidths(blocks) { 8023 return blocks.every((block) => { 8024 const blockWidth = block.attributes.width; 8025 return Number.isFinite( 8026 blockWidth?.endsWith?.("%") ? parseFloat(blockWidth) : blockWidth 8027 ); 8028 }); 8029 } 8030 function getMappedColumnWidths(blocks, widths) { 8031 return blocks.map((block) => ({ 8032 ...block, 8033 attributes: { 8034 ...block.attributes, 8035 width: `$widths[block.clientId]}%` 8036 } 8037 })); 8038 } 8039 function getWidths(blocks, withParsing = true) { 8040 return blocks.map((innerColumn) => { 8041 const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; 8042 return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; 8043 }); 8044 } 8045 function getWidthWithUnit(width, unit) { 8046 width = 0 > parseFloat(width) ? "0" : width; 8047 if (isPercentageUnit(unit)) { 8048 width = Math.min(width, 100); 8049 } 8050 return `$width}$unit}`; 8051 } 8052 function isPercentageUnit(unit) { 8053 return unit === "%"; 8054 } 8055 8056 8057 ;// ./node_modules/@wordpress/block-library/build-module/columns/edit.js 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 const edit_DEFAULT_BLOCK = { 8068 name: "core/column" 8069 }; 8070 function edit_ColumnInspectorControls({ 8071 clientId, 8072 setAttributes, 8073 isStackedOnMobile 8074 }) { 8075 const { count, canInsertColumnBlock, minCount } = (0,external_wp_data_namespaceObject.useSelect)( 8076 (select) => { 8077 const { canInsertBlockType, canRemoveBlock, getBlockOrder } = select(external_wp_blockEditor_namespaceObject.store); 8078 const blockOrder = getBlockOrder(clientId); 8079 const preventRemovalBlockIndexes = blockOrder.reduce( 8080 (acc, blockId, index) => { 8081 if (!canRemoveBlock(blockId)) { 8082 acc.push(index); 8083 } 8084 return acc; 8085 }, 8086 [] 8087 ); 8088 return { 8089 count: blockOrder.length, 8090 canInsertColumnBlock: canInsertBlockType( 8091 "core/column", 8092 clientId 8093 ), 8094 minCount: Math.max(...preventRemovalBlockIndexes) + 1 8095 }; 8096 }, 8097 [clientId] 8098 ); 8099 const { getBlocks } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 8100 const { replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 8101 function updateColumns(previousColumns, newColumns) { 8102 let innerBlocks = getBlocks(clientId); 8103 const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); 8104 const isAddingColumn = newColumns > previousColumns; 8105 if (isAddingColumn && hasExplicitWidths) { 8106 const newColumnWidth = toWidthPrecision(100 / newColumns); 8107 const newlyAddedColumns = newColumns - previousColumns; 8108 const widths = getRedistributedColumnWidths( 8109 innerBlocks, 8110 100 - newColumnWidth * newlyAddedColumns 8111 ); 8112 innerBlocks = [ 8113 ...getMappedColumnWidths(innerBlocks, widths), 8114 ...Array.from({ 8115 length: newlyAddedColumns 8116 }).map(() => { 8117 return (0,external_wp_blocks_namespaceObject.createBlock)("core/column", { 8118 width: `$newColumnWidth}%` 8119 }); 8120 }) 8121 ]; 8122 } else if (isAddingColumn) { 8123 innerBlocks = [ 8124 ...innerBlocks, 8125 ...Array.from({ 8126 length: newColumns - previousColumns 8127 }).map(() => { 8128 return (0,external_wp_blocks_namespaceObject.createBlock)("core/column"); 8129 }) 8130 ]; 8131 } else if (newColumns < previousColumns) { 8132 innerBlocks = innerBlocks.slice( 8133 0, 8134 -(previousColumns - newColumns) 8135 ); 8136 if (hasExplicitWidths) { 8137 const widths = getRedistributedColumnWidths(innerBlocks, 100); 8138 innerBlocks = getMappedColumnWidths(innerBlocks, widths); 8139 } 8140 } 8141 replaceInnerBlocks(clientId, innerBlocks); 8142 } 8143 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 8144 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 8145 external_wp_components_namespaceObject.__experimentalToolsPanel, 8146 { 8147 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 8148 resetAll: () => { 8149 setAttributes({ 8150 isStackedOnMobile: true 8151 }); 8152 }, 8153 dropdownMenuProps, 8154 children: [ 8155 canInsertColumnBlock && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 4, style: { gridColumn: "1 / -1" }, children: [ 8156 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8157 external_wp_components_namespaceObject.RangeControl, 8158 { 8159 __nextHasNoMarginBottom: true, 8160 __next40pxDefaultSize: true, 8161 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 8162 value: count, 8163 onChange: (value) => updateColumns(count, Math.max(minCount, value)), 8164 min: Math.max(1, minCount), 8165 max: Math.max(6, count) 8166 } 8167 ), 8168 count > 6 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "warning", isDismissible: false, children: (0,external_wp_i18n_namespaceObject.__)( 8169 "This column count exceeds the recommended amount and may cause visual breakage." 8170 ) }) 8171 ] }), 8172 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8173 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 8174 { 8175 label: (0,external_wp_i18n_namespaceObject.__)("Stack on mobile"), 8176 isShownByDefault: true, 8177 hasValue: () => isStackedOnMobile !== true, 8178 onDeselect: () => setAttributes({ 8179 isStackedOnMobile: true 8180 }), 8181 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8182 external_wp_components_namespaceObject.ToggleControl, 8183 { 8184 __nextHasNoMarginBottom: true, 8185 label: (0,external_wp_i18n_namespaceObject.__)("Stack on mobile"), 8186 checked: isStackedOnMobile, 8187 onChange: () => setAttributes({ 8188 isStackedOnMobile: !isStackedOnMobile 8189 }) 8190 } 8191 ) 8192 } 8193 ) 8194 ] 8195 } 8196 ); 8197 } 8198 function ColumnsEditContainer({ attributes, setAttributes, clientId }) { 8199 const { isStackedOnMobile, verticalAlignment, templateLock } = attributes; 8200 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 8201 const { getBlockOrder } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 8202 const { updateBlockAttributes } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 8203 const classes = dist_clsx({ 8204 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 8205 [`is-not-stacked-on-mobile`]: !isStackedOnMobile 8206 }); 8207 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 8208 className: classes 8209 }); 8210 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 8211 defaultBlock: edit_DEFAULT_BLOCK, 8212 directInsert: true, 8213 orientation: "horizontal", 8214 renderAppender: false, 8215 templateLock 8216 }); 8217 function updateAlignment(newVerticalAlignment) { 8218 const innerBlockClientIds = getBlockOrder(clientId); 8219 registry.batch(() => { 8220 setAttributes({ verticalAlignment: newVerticalAlignment }); 8221 updateBlockAttributes(innerBlockClientIds, { 8222 verticalAlignment: newVerticalAlignment 8223 }); 8224 }); 8225 } 8226 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 8227 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8228 external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, 8229 { 8230 onChange: updateAlignment, 8231 value: verticalAlignment 8232 } 8233 ) }), 8234 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8235 edit_ColumnInspectorControls, 8236 { 8237 clientId, 8238 setAttributes, 8239 isStackedOnMobile 8240 } 8241 ) }), 8242 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 8243 ] }); 8244 } 8245 function Placeholder({ clientId, name, setAttributes }) { 8246 const { blockType, defaultVariation, variations } = (0,external_wp_data_namespaceObject.useSelect)( 8247 (select) => { 8248 const { 8249 getBlockVariations, 8250 getBlockType, 8251 getDefaultBlockVariation 8252 } = select(external_wp_blocks_namespaceObject.store); 8253 return { 8254 blockType: getBlockType(name), 8255 defaultVariation: getDefaultBlockVariation(name, "block"), 8256 variations: getBlockVariations(name, "block") 8257 }; 8258 }, 8259 [name] 8260 ); 8261 const { replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 8262 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 8263 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8264 external_wp_blockEditor_namespaceObject.__experimentalBlockVariationPicker, 8265 { 8266 icon: blockType?.icon?.src, 8267 label: blockType?.title, 8268 variations, 8269 instructions: (0,external_wp_i18n_namespaceObject.__)("Divide into columns. Select a layout:"), 8270 onSelect: (nextVariation = defaultVariation) => { 8271 if (nextVariation.attributes) { 8272 setAttributes(nextVariation.attributes); 8273 } 8274 if (nextVariation.innerBlocks) { 8275 replaceInnerBlocks( 8276 clientId, 8277 (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)( 8278 nextVariation.innerBlocks 8279 ), 8280 true 8281 ); 8282 } 8283 }, 8284 allowSkip: true 8285 } 8286 ) }); 8287 } 8288 const ColumnsEdit = (props) => { 8289 const { clientId } = props; 8290 const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)( 8291 (select) => select(external_wp_blockEditor_namespaceObject.store).getBlocks(clientId).length > 0, 8292 [clientId] 8293 ); 8294 const Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder; 8295 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Component, { ...props }); 8296 }; 8297 var columns_edit_edit_default = ColumnsEdit; 8298 8299 8300 ;// ./node_modules/@wordpress/block-library/build-module/columns/block.json 8301 const columns_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/columns","title":"Columns","category":"design","allowedBlocks":["core/column"],"description":"Display content in multiple columns, with blocks added to each column.","textdomain":"default","attributes":{"verticalAlignment":{"type":"string"},"isStackedOnMobile":{"type":"boolean","default":true},"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false]}},"supports":{"anchor":true,"align":["wide","full"],"html":false,"color":{"gradients":true,"link":true,"heading":true,"button":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"blockGap":{"__experimentalDefault":"2em","sides":["horizontal","vertical"]},"margin":["top","bottom"],"padding":true,"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"allowEditing":false,"default":{"type":"flex","flexWrap":"nowrap"}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"shadow":true},"editorStyle":"wp-block-columns-editor","style":"wp-block-columns"}'); 8302 ;// ./node_modules/@wordpress/block-library/build-module/columns/save.js 8303 8304 8305 8306 function columns_save_save({ attributes }) { 8307 const { isStackedOnMobile, verticalAlignment } = attributes; 8308 const className = dist_clsx({ 8309 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 8310 [`is-not-stacked-on-mobile`]: !isStackedOnMobile 8311 }); 8312 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }); 8313 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 8314 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 8315 } 8316 8317 8318 ;// ./node_modules/@wordpress/block-library/build-module/columns/variations.js 8319 8320 8321 8322 const variations_variations = [ 8323 { 8324 name: "one-column-full", 8325 title: (0,external_wp_i18n_namespaceObject.__)("100"), 8326 description: (0,external_wp_i18n_namespaceObject.__)("One column"), 8327 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8328 external_wp_components_namespaceObject.SVG, 8329 { 8330 xmlns: "http://www.w3.org/2000/svg", 8331 width: "48", 8332 height: "48", 8333 viewBox: "0 0 48 48", 8334 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Z" }) 8335 } 8336 ), 8337 innerBlocks: [["core/column"]], 8338 scope: ["block"] 8339 }, 8340 { 8341 name: "two-columns-equal", 8342 title: (0,external_wp_i18n_namespaceObject.__)("50 / 50"), 8343 description: (0,external_wp_i18n_namespaceObject.__)("Two columns; equal split"), 8344 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8345 external_wp_components_namespaceObject.SVG, 8346 { 8347 xmlns: "http://www.w3.org/2000/svg", 8348 width: "48", 8349 height: "48", 8350 viewBox: "0 0 48 48", 8351 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10Z" }) 8352 } 8353 ), 8354 isDefault: true, 8355 innerBlocks: [["core/column"], ["core/column"]], 8356 scope: ["block"] 8357 }, 8358 { 8359 name: "two-columns-one-third-two-thirds", 8360 title: (0,external_wp_i18n_namespaceObject.__)("33 / 66"), 8361 description: (0,external_wp_i18n_namespaceObject.__)("Two columns; one-third, two-thirds split"), 8362 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8363 external_wp_components_namespaceObject.SVG, 8364 { 8365 xmlns: "http://www.w3.org/2000/svg", 8366 width: "48", 8367 height: "48", 8368 viewBox: "0 0 48 48", 8369 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm17 0a2 2 0 0 1 2-2h27a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H19a2 2 0 0 1-2-2V10Z" }) 8370 } 8371 ), 8372 innerBlocks: [ 8373 ["core/column", { width: "33.33%" }], 8374 ["core/column", { width: "66.66%" }] 8375 ], 8376 scope: ["block"] 8377 }, 8378 { 8379 name: "two-columns-two-thirds-one-third", 8380 title: (0,external_wp_i18n_namespaceObject.__)("66 / 33"), 8381 description: (0,external_wp_i18n_namespaceObject.__)("Two columns; two-thirds, one-third split"), 8382 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8383 external_wp_components_namespaceObject.SVG, 8384 { 8385 xmlns: "http://www.w3.org/2000/svg", 8386 width: "48", 8387 height: "48", 8388 viewBox: "0 0 48 48", 8389 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h27a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm33 0a2 2 0 0 1 2-2h11a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H35a2 2 0 0 1-2-2V10Z" }) 8390 } 8391 ), 8392 innerBlocks: [ 8393 ["core/column", { width: "66.66%" }], 8394 ["core/column", { width: "33.33%" }] 8395 ], 8396 scope: ["block"] 8397 }, 8398 { 8399 name: "three-columns-equal", 8400 title: (0,external_wp_i18n_namespaceObject.__)("33 / 33 / 33"), 8401 description: (0,external_wp_i18n_namespaceObject.__)("Three columns; equal split"), 8402 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8403 external_wp_components_namespaceObject.SVG, 8404 { 8405 xmlns: "http://www.w3.org/2000/svg", 8406 width: "48", 8407 height: "48", 8408 viewBox: "0 0 48 48", 8409 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h10.531c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H2a2 2 0 0 1-2-2V10Zm16.5 0c0-1.105.864-2 1.969-2H29.53c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H18.47c-1.105 0-1.969-.895-1.969-2V10Zm17 0c0-1.105.864-2 1.969-2H46a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H35.469c-1.105 0-1.969-.895-1.969-2V10Z" }) 8410 } 8411 ), 8412 innerBlocks: [ 8413 ["core/column"], 8414 ["core/column"], 8415 ["core/column"] 8416 ], 8417 scope: ["block"] 8418 }, 8419 { 8420 name: "three-columns-wider-center", 8421 title: (0,external_wp_i18n_namespaceObject.__)("25 / 50 / 25"), 8422 description: (0,external_wp_i18n_namespaceObject.__)("Three columns; wide center column"), 8423 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8424 external_wp_components_namespaceObject.SVG, 8425 { 8426 xmlns: "http://www.w3.org/2000/svg", 8427 width: "48", 8428 height: "48", 8429 viewBox: "0 0 48 48", 8430 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h7.531c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H2a2 2 0 0 1-2-2V10Zm13.5 0c0-1.105.864-2 1.969-2H32.53c1.105 0 1.969.895 1.969 2v28c0 1.105-.864 2-1.969 2H15.47c-1.105 0-1.969-.895-1.969-2V10Zm23 0c0-1.105.864-2 1.969-2H46a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2h-7.531c-1.105 0-1.969-.895-1.969-2V10Z" }) 8431 } 8432 ), 8433 innerBlocks: [ 8434 ["core/column", { width: "25%" }], 8435 ["core/column", { width: "50%" }], 8436 ["core/column", { width: "25%" }] 8437 ], 8438 scope: ["block"] 8439 } 8440 ]; 8441 var variations_variations_default = variations_variations; 8442 8443 8444 ;// ./node_modules/@wordpress/block-library/build-module/columns/transforms.js 8445 8446 const MAXIMUM_SELECTED_BLOCKS = 6; 8447 const columns_transforms_transforms = { 8448 from: [ 8449 { 8450 type: "block", 8451 isMultiBlock: true, 8452 blocks: ["*"], 8453 __experimentalConvert: (blocks) => { 8454 const columnWidth = +(100 / blocks.length).toFixed(2); 8455 const innerBlocksTemplate = blocks.map( 8456 ({ name, attributes, innerBlocks }) => [ 8457 "core/column", 8458 { width: `$columnWidth}%` }, 8459 [[name, { ...attributes }, innerBlocks]] 8460 ] 8461 ); 8462 return (0,external_wp_blocks_namespaceObject.createBlock)( 8463 "core/columns", 8464 {}, 8465 (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate) 8466 ); 8467 }, 8468 isMatch: ({ length: selectedBlocksLength }, blocks) => { 8469 if (blocks.length === 1 && blocks[0].name === "core/columns") { 8470 return false; 8471 } 8472 return selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS; 8473 } 8474 }, 8475 { 8476 type: "block", 8477 blocks: ["core/media-text"], 8478 priority: 1, 8479 transform: (attributes, innerBlocks) => { 8480 const { 8481 align, 8482 backgroundColor, 8483 textColor, 8484 style, 8485 mediaAlt: alt, 8486 mediaId: id, 8487 mediaPosition, 8488 mediaSizeSlug: sizeSlug, 8489 mediaType, 8490 mediaUrl: url, 8491 mediaWidth, 8492 verticalAlignment 8493 } = attributes; 8494 let media; 8495 if (mediaType === "image" || !mediaType) { 8496 const imageAttrs = { id, alt, url, sizeSlug }; 8497 const linkAttrs = { 8498 href: attributes.href, 8499 linkClass: attributes.linkClass, 8500 linkDestination: attributes.linkDestination, 8501 linkTarget: attributes.linkTarget, 8502 rel: attributes.rel 8503 }; 8504 media = ["core/image", { ...imageAttrs, ...linkAttrs }]; 8505 } else { 8506 media = ["core/video", { id, src: url }]; 8507 } 8508 const innerBlocksTemplate = [ 8509 ["core/column", { width: `$mediaWidth}%` }, [media]], 8510 [ 8511 "core/column", 8512 { width: `$100 - mediaWidth}%` }, 8513 innerBlocks 8514 ] 8515 ]; 8516 if (mediaPosition === "right") { 8517 innerBlocksTemplate.reverse(); 8518 } 8519 return (0,external_wp_blocks_namespaceObject.createBlock)( 8520 "core/columns", 8521 { 8522 align, 8523 backgroundColor, 8524 textColor, 8525 style, 8526 verticalAlignment 8527 }, 8528 (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate) 8529 ); 8530 } 8531 } 8532 ], 8533 ungroup: (attributes, innerBlocks) => innerBlocks.flatMap((innerBlock) => innerBlock.innerBlocks) 8534 }; 8535 var columns_transforms_transforms_default = columns_transforms_transforms; 8536 8537 8538 ;// ./node_modules/@wordpress/block-library/build-module/columns/index.js 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 const { name: columns_name } = columns_block_namespaceObject; 8549 const columns_settings = { 8550 icon: columns_default, 8551 variations: variations_variations_default, 8552 example: { 8553 viewportWidth: 782, 8554 // Columns collapse "@media (max-width: 781px)". 8555 innerBlocks: [ 8556 { 8557 name: "core/column", 8558 innerBlocks: [ 8559 { 8560 name: "core/paragraph", 8561 attributes: { 8562 /* translators: example text. */ 8563 content: (0,external_wp_i18n_namespaceObject.__)( 8564 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis." 8565 ) 8566 } 8567 }, 8568 { 8569 name: "core/image", 8570 attributes: { 8571 url: "https://s.w.org/images/core/5.3/Windbuchencom.jpg" 8572 } 8573 }, 8574 { 8575 name: "core/paragraph", 8576 attributes: { 8577 /* translators: example text. */ 8578 content: (0,external_wp_i18n_namespaceObject.__)( 8579 "Suspendisse commodo neque lacus, a dictum orci interdum et." 8580 ) 8581 } 8582 } 8583 ] 8584 }, 8585 { 8586 name: "core/column", 8587 innerBlocks: [ 8588 { 8589 name: "core/paragraph", 8590 attributes: { 8591 /* translators: example text. */ 8592 content: (0,external_wp_i18n_namespaceObject.__)( 8593 "Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit." 8594 ) 8595 } 8596 }, 8597 { 8598 name: "core/paragraph", 8599 attributes: { 8600 /* translators: example text. */ 8601 content: (0,external_wp_i18n_namespaceObject.__)( 8602 "Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim." 8603 ) 8604 } 8605 } 8606 ] 8607 } 8608 ] 8609 }, 8610 deprecated: columns_deprecated_deprecated_default, 8611 edit: columns_edit_edit_default, 8612 save: columns_save_save, 8613 transforms: columns_transforms_transforms_default 8614 }; 8615 const columns_init = () => initBlock({ name: columns_name, metadata: columns_block_namespaceObject, settings: columns_settings }); 8616 8617 8618 ;// ./node_modules/@wordpress/icons/build-module/library/post-comments.js 8619 8620 8621 var post_comments_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M14 10.1V4c0-.6-.4-1-1-1H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1zm-1.5-.5H6.7l-1.2 1.2V4.5h7v5.1zM19 12h-8c-.6 0-1 .4-1 1v6.1c0 .6.4 1 1 1h5.7l1.8 1.8c.1.2.4.3.6.3.1 0 .2 0 .3-.1.4-.1.6-.5.6-.8V13c0-.6-.4-1-1-1zm-.5 7.8l-1.2-1.2h-5.8v-5.1h7v6.3z" }) }); 8622 8623 8624 ;// ./node_modules/@wordpress/block-library/build-module/comments/block.json 8625 const comments_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments","title":"Comments","category":"theme","description":"An advanced block that allows displaying post comments using different visual configurations.","textdomain":"default","attributes":{"tagName":{"type":"string","default":"div"},"legacy":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"heading":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"editorStyle":"wp-block-comments-editor","usesContext":["postId","postType"]}'); 8626 ;// ./node_modules/@wordpress/block-library/build-module/comments/deprecated.js 8627 8628 8629 const deprecated_v1 = { 8630 attributes: { 8631 tagName: { 8632 type: "string", 8633 default: "div" 8634 } 8635 }, 8636 apiVersion: 3, 8637 supports: { 8638 align: ["wide", "full"], 8639 html: false, 8640 color: { 8641 gradients: true, 8642 link: true, 8643 __experimentalDefaultControls: { 8644 background: true, 8645 text: true, 8646 link: true 8647 } 8648 } 8649 }, 8650 save({ attributes: { tagName: Tag } }) { 8651 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 8652 const { className } = blockProps; 8653 const classes = className?.split(" ") || []; 8654 const newClasses = classes?.filter( 8655 (cls) => cls !== "wp-block-comments" 8656 ); 8657 const newBlockProps = { 8658 ...blockProps, 8659 className: newClasses.join(" ") 8660 }; 8661 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...newBlockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 8662 } 8663 }; 8664 var comments_deprecated_deprecated_default = [deprecated_v1]; 8665 8666 8667 ;// ./node_modules/@wordpress/block-library/build-module/comments/edit/comments-inspector-controls.js 8668 8669 8670 8671 8672 const { HTMLElementControl: comments_inspector_controls_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 8673 function CommentsInspectorControls({ 8674 attributes: { tagName }, 8675 setAttributes 8676 }) { 8677 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8678 comments_inspector_controls_HTMLElementControl, 8679 { 8680 tagName, 8681 onChange: (value) => setAttributes({ tagName: value }), 8682 options: [ 8683 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 8684 { label: "<section>", value: "section" }, 8685 { label: "<aside>", value: "aside" } 8686 ] 8687 } 8688 ) }) }); 8689 } 8690 8691 8692 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-form/form.js 8693 8694 8695 8696 8697 8698 8699 8700 8701 const CommentsFormPlaceholder = () => { 8702 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(CommentsFormPlaceholder); 8703 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "comment-respond", children: [ 8704 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", { className: "comment-reply-title", children: (0,external_wp_i18n_namespaceObject.__)("Leave a Reply") }), 8705 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 8706 "form", 8707 { 8708 noValidate: true, 8709 className: "comment-form", 8710 onSubmit: (event) => event.preventDefault(), 8711 children: [ 8712 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { children: [ 8713 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("label", { htmlFor: `comment-$instanceId}`, children: (0,external_wp_i18n_namespaceObject.__)("Comment") }), 8714 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8715 "textarea", 8716 { 8717 id: `comment-$instanceId}`, 8718 name: "comment", 8719 cols: "45", 8720 rows: "8", 8721 readOnly: true 8722 } 8723 ) 8724 ] }), 8725 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "form-submit wp-block-button", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8726 "input", 8727 { 8728 name: "submit", 8729 type: "submit", 8730 className: dist_clsx( 8731 "wp-block-button__link", 8732 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 8733 ), 8734 label: (0,external_wp_i18n_namespaceObject.__)("Post Comment"), 8735 value: (0,external_wp_i18n_namespaceObject.__)("Post Comment"), 8736 "aria-disabled": "true" 8737 } 8738 ) }) 8739 ] 8740 } 8741 ) 8742 ] }); 8743 }; 8744 const CommentsForm = ({ postId, postType }) => { 8745 const [commentStatus, setCommentStatus] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 8746 "postType", 8747 postType, 8748 "comment_status", 8749 postId 8750 ); 8751 const isSiteEditor = postType === void 0 || postId === void 0; 8752 const { defaultCommentStatus } = (0,external_wp_data_namespaceObject.useSelect)( 8753 (select) => select(external_wp_blockEditor_namespaceObject.store).getSettings().__experimentalDiscussionSettings 8754 ); 8755 const postTypeSupportsComments = (0,external_wp_data_namespaceObject.useSelect)( 8756 (select) => postType ? !!select(external_wp_coreData_namespaceObject.store).getPostType(postType)?.supports.comments : false 8757 ); 8758 if (!isSiteEditor && "open" !== commentStatus) { 8759 if ("closed" === commentStatus) { 8760 const actions = [ 8761 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8762 external_wp_components_namespaceObject.Button, 8763 { 8764 __next40pxDefaultSize: true, 8765 onClick: () => setCommentStatus("open"), 8766 variant: "primary", 8767 children: (0,external_wp_i18n_namespaceObject._x)( 8768 "Enable comments", 8769 "action that affects the current post" 8770 ) 8771 }, 8772 "enableComments" 8773 ) 8774 ]; 8775 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { actions, children: (0,external_wp_i18n_namespaceObject.__)( 8776 "Post Comments Form block: Comments are not enabled for this item." 8777 ) }); 8778 } else if (!postTypeSupportsComments) { 8779 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.sprintf)( 8780 /* translators: %s: Post type (i.e. "post", "page") */ 8781 (0,external_wp_i18n_namespaceObject.__)( 8782 "Post Comments Form block: Comments are not enabled for this post type (%s)." 8783 ), 8784 postType 8785 ) }); 8786 } else if ("open" !== defaultCommentStatus) { 8787 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)( 8788 "Post Comments Form block: Comments are not enabled." 8789 ) }); 8790 } 8791 } 8792 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentsFormPlaceholder, {}); 8793 }; 8794 var form_default = CommentsForm; 8795 8796 8797 ;// ./node_modules/@wordpress/block-library/build-module/comments/edit/placeholder.js 8798 8799 8800 8801 8802 8803 8804 8805 function PostCommentsPlaceholder({ postType, postId }) { 8806 let [postTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)("postType", postType, "title", postId); 8807 postTitle = postTitle || (0,external_wp_i18n_namespaceObject.__)("Post Title"); 8808 const { avatarURL } = (0,external_wp_data_namespaceObject.useSelect)( 8809 (select) => select(external_wp_blockEditor_namespaceObject.store).getSettings().__experimentalDiscussionSettings 8810 ); 8811 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-comments__legacy-placeholder", inert: "true", children: [ 8812 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", { 8813 /* translators: %s: Post title. */ 8814 children: (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("One response to %s"), postTitle) 8815 }), 8816 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "navigation", children: [ 8817 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "alignleft", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { href: "#top", children: [ 8818 "\xAB ", 8819 (0,external_wp_i18n_namespaceObject.__)("Older Comments") 8820 ] }) }), 8821 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "alignright", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { href: "#top", children: [ 8822 (0,external_wp_i18n_namespaceObject.__)("Newer Comments"), 8823 " \xBB" 8824 ] }) }) 8825 ] }), 8826 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ol", { className: "commentlist", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { className: "comment even thread-even depth-1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("article", { className: "comment-body", children: [ 8827 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("footer", { className: "comment-meta", children: [ 8828 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "comment-author vcard", children: [ 8829 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8830 "img", 8831 { 8832 alt: (0,external_wp_i18n_namespaceObject.__)("Commenter Avatar"), 8833 src: avatarURL, 8834 className: "avatar avatar-32 photo", 8835 height: "32", 8836 width: "32", 8837 loading: "lazy" 8838 } 8839 ), 8840 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("b", { className: "fn", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: "#top", className: "url", children: (0,external_wp_i18n_namespaceObject.__)("A WordPress Commenter") }) }), 8841 " ", 8842 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("span", { className: "says", children: [ 8843 (0,external_wp_i18n_namespaceObject.__)("says"), 8844 ":" 8845 ] }) 8846 ] }), 8847 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "comment-metadata", children: [ 8848 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: "#top", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { dateTime: "2000-01-01T00:00:00+00:00", children: (0,external_wp_i18n_namespaceObject.__)("January 1, 2000 at 00:00 am") }) }), 8849 " ", 8850 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "edit-link", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8851 "a", 8852 { 8853 className: "comment-edit-link", 8854 href: "#top", 8855 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 8856 } 8857 ) }) 8858 ] }) 8859 ] }), 8860 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "comment-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { children: [ 8861 (0,external_wp_i18n_namespaceObject.__)("Hi, this is a comment."), 8862 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 8863 (0,external_wp_i18n_namespaceObject.__)( 8864 "To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard." 8865 ), 8866 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 8867 (0,external_wp_element_namespaceObject.createInterpolateElement)( 8868 (0,external_wp_i18n_namespaceObject.__)( 8869 "Commenter avatars come from <a>Gravatar</a>." 8870 ), 8871 { 8872 a: ( 8873 // eslint-disable-next-line jsx-a11y/anchor-has-content 8874 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: "https://gravatar.com/" }) 8875 ) 8876 } 8877 ) 8878 ] }) }), 8879 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "reply", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8880 "a", 8881 { 8882 className: "comment-reply-link", 8883 href: "#top", 8884 "aria-label": (0,external_wp_i18n_namespaceObject.__)( 8885 "Reply to A WordPress Commenter" 8886 ), 8887 children: (0,external_wp_i18n_namespaceObject.__)("Reply") 8888 } 8889 ) }) 8890 ] }) }) }), 8891 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "navigation", children: [ 8892 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "alignleft", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { href: "#top", children: [ 8893 "\xAB ", 8894 (0,external_wp_i18n_namespaceObject.__)("Older Comments") 8895 ] }) }), 8896 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "alignright", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { href: "#top", children: [ 8897 (0,external_wp_i18n_namespaceObject.__)("Newer Comments"), 8898 " \xBB" 8899 ] }) }) 8900 ] }), 8901 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(form_default, { postId, postType }) 8902 ] }); 8903 } 8904 8905 8906 ;// ./node_modules/@wordpress/block-library/build-module/comments/edit/comments-legacy.js 8907 8908 8909 8910 8911 8912 8913 function CommentsLegacy({ 8914 attributes, 8915 setAttributes, 8916 context: { postType, postId } 8917 }) { 8918 const { textAlign } = attributes; 8919 const actions = [ 8920 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8921 external_wp_components_namespaceObject.Button, 8922 { 8923 __next40pxDefaultSize: true, 8924 onClick: () => void setAttributes({ legacy: false }), 8925 variant: "primary", 8926 children: (0,external_wp_i18n_namespaceObject.__)("Switch to editable mode") 8927 }, 8928 "convert" 8929 ) 8930 ]; 8931 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 8932 className: dist_clsx({ 8933 [`has-text-align-$textAlign}`]: textAlign 8934 }) 8935 }); 8936 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 8937 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 8938 external_wp_blockEditor_namespaceObject.AlignmentControl, 8939 { 8940 value: textAlign, 8941 onChange: (nextAlign) => { 8942 setAttributes({ textAlign: nextAlign }); 8943 } 8944 } 8945 ) }), 8946 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 8947 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { actions, children: (0,external_wp_i18n_namespaceObject.__)( 8948 "Comments block: You\u2019re currently using the legacy version of the block. The following is just a placeholder - the final styling will likely look different. For a better representation and more customization options, switch the block to its editable mode." 8949 ) }), 8950 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PostCommentsPlaceholder, { postId, postType }) 8951 ] }) 8952 ] }); 8953 } 8954 8955 8956 ;// ./node_modules/@wordpress/block-library/build-module/comments/edit/template.js 8957 const TEMPLATE = [ 8958 ["core/comments-title"], 8959 [ 8960 "core/comment-template", 8961 {}, 8962 [ 8963 [ 8964 "core/columns", 8965 {}, 8966 [ 8967 [ 8968 "core/column", 8969 { width: "40px" }, 8970 [ 8971 [ 8972 "core/avatar", 8973 { 8974 size: 40, 8975 style: { 8976 border: { radius: "20px" } 8977 } 8978 } 8979 ] 8980 ] 8981 ], 8982 [ 8983 "core/column", 8984 {}, 8985 [ 8986 [ 8987 "core/comment-author-name", 8988 { 8989 fontSize: "small" 8990 } 8991 ], 8992 [ 8993 "core/group", 8994 { 8995 layout: { type: "flex" }, 8996 style: { 8997 spacing: { 8998 margin: { 8999 top: "0px", 9000 bottom: "0px" 9001 } 9002 } 9003 } 9004 }, 9005 [ 9006 [ 9007 "core/comment-date", 9008 { 9009 fontSize: "small" 9010 } 9011 ], 9012 [ 9013 "core/comment-edit-link", 9014 { 9015 fontSize: "small" 9016 } 9017 ] 9018 ] 9019 ], 9020 ["core/comment-content"], 9021 [ 9022 "core/comment-reply-link", 9023 { 9024 fontSize: "small" 9025 } 9026 ] 9027 ] 9028 ] 9029 ] 9030 ] 9031 ] 9032 ], 9033 ["core/comments-pagination"], 9034 ["core/post-comments-form"] 9035 ]; 9036 var template_default = TEMPLATE; 9037 9038 9039 ;// ./node_modules/@wordpress/block-library/build-module/comments/edit/index.js 9040 9041 9042 9043 9044 9045 function CommentsEdit(props) { 9046 const { attributes, setAttributes, clientId } = props; 9047 const { tagName: TagName, legacy } = attributes; 9048 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9049 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 9050 template: template_default 9051 }); 9052 if (legacy) { 9053 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentsLegacy, { ...props }); 9054 } 9055 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9056 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9057 CommentsInspectorControls, 9058 { 9059 attributes, 9060 setAttributes, 9061 clientId 9062 } 9063 ), 9064 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps }) 9065 ] }); 9066 } 9067 9068 9069 ;// ./node_modules/@wordpress/block-library/build-module/comments/save.js 9070 9071 9072 function comments_save_save({ attributes: { tagName: Tag, legacy } }) { 9073 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 9074 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 9075 return legacy ? null : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 9076 } 9077 9078 9079 ;// ./node_modules/@wordpress/block-library/build-module/comments/index.js 9080 9081 9082 9083 9084 9085 9086 const { name: comments_name } = comments_block_namespaceObject; 9087 const comments_settings = { 9088 icon: post_comments_default, 9089 example: {}, 9090 edit: CommentsEdit, 9091 save: comments_save_save, 9092 deprecated: comments_deprecated_deprecated_default 9093 }; 9094 const comments_init = () => initBlock({ name: comments_name, metadata: comments_block_namespaceObject, settings: comments_settings }); 9095 9096 9097 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/block.json 9098 const comment_author_avatar_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":"fse","name":"core/comment-author-avatar","title":"Comment Author Avatar (deprecated)","category":"theme","ancestor":["core/comment-template"],"description":"This block is deprecated. Please use the Avatar block instead.","textdomain":"default","attributes":{"width":{"type":"number","default":96},"height":{"type":"number","default":96}},"usesContext":["commentId"],"supports":{"html":false,"inserter":false,"__experimentalBorder":{"radius":true,"width":true,"color":true,"style":true},"color":{"background":true,"text":false,"__experimentalDefaultControls":{"background":true}},"spacing":{"__experimentalSkipSerialization":true,"margin":true,"padding":true},"interactivity":{"clientNavigation":true}}}'); 9099 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/edit.js 9100 9101 9102 9103 9104 9105 9106 function comment_author_avatar_edit_Edit({ 9107 attributes, 9108 context: { commentId }, 9109 setAttributes, 9110 isSelected 9111 }) { 9112 const { height, width } = attributes; 9113 const [avatars] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 9114 "root", 9115 "comment", 9116 "author_avatar_urls", 9117 commentId 9118 ); 9119 const [authorName] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 9120 "root", 9121 "comment", 9122 "author_name", 9123 commentId 9124 ); 9125 const avatarUrls = avatars ? Object.values(avatars) : null; 9126 const sizes = avatars ? Object.keys(avatars) : null; 9127 const minSize = sizes ? sizes[0] : 24; 9128 const maxSize = sizes ? sizes[sizes.length - 1] : 96; 9129 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9130 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 9131 const maxSizeBuffer = Math.floor(maxSize * 2.5); 9132 const { avatarURL } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 9133 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 9134 const { __experimentalDiscussionSettings } = getSettings(); 9135 return __experimentalDiscussionSettings; 9136 }); 9137 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)("Settings"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9138 external_wp_components_namespaceObject.RangeControl, 9139 { 9140 __nextHasNoMarginBottom: true, 9141 __next40pxDefaultSize: true, 9142 label: (0,external_wp_i18n_namespaceObject.__)("Image size"), 9143 onChange: (newWidth) => setAttributes({ 9144 width: newWidth, 9145 height: newWidth 9146 }), 9147 min: minSize, 9148 max: maxSizeBuffer, 9149 initialPosition: width, 9150 value: width 9151 } 9152 ) }) }); 9153 const resizableAvatar = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9154 external_wp_components_namespaceObject.ResizableBox, 9155 { 9156 size: { 9157 width, 9158 height 9159 }, 9160 showHandle: isSelected, 9161 onResizeStop: (event, direction, elt, delta) => { 9162 setAttributes({ 9163 height: parseInt(height + delta.height, 10), 9164 width: parseInt(width + delta.width, 10) 9165 }); 9166 }, 9167 lockAspectRatio: true, 9168 enable: { 9169 top: false, 9170 right: !(0,external_wp_i18n_namespaceObject.isRTL)(), 9171 bottom: true, 9172 left: (0,external_wp_i18n_namespaceObject.isRTL)() 9173 }, 9174 minWidth: minSize, 9175 maxWidth: maxSizeBuffer, 9176 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9177 "img", 9178 { 9179 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : avatarURL, 9180 alt: `$authorName} ${(0,external_wp_i18n_namespaceObject.__)("Avatar")}`, 9181 ...blockProps 9182 } 9183 ) 9184 } 9185 ); 9186 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9187 inspectorControls, 9188 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...spacingProps, children: resizableAvatar }) 9189 ] }); 9190 } 9191 9192 9193 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/index.js 9194 9195 9196 9197 9198 const { name: comment_author_avatar_name } = comment_author_avatar_block_namespaceObject; 9199 const comment_author_avatar_settings = { 9200 icon: comment_author_avatar_default, 9201 edit: comment_author_avatar_edit_Edit 9202 }; 9203 const comment_author_avatar_init = () => initBlock({ name: comment_author_avatar_name, metadata: comment_author_avatar_block_namespaceObject, settings: comment_author_avatar_settings }); 9204 9205 9206 ;// ./node_modules/@wordpress/icons/build-module/library/comment-author-name.js 9207 9208 9209 var comment_author_name_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: [ 9210 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9211 external_wp_primitives_namespaceObject.Path, 9212 { 9213 d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z", 9214 fillRule: "evenodd", 9215 clipRule: "evenodd" 9216 } 9217 ), 9218 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9219 external_wp_primitives_namespaceObject.Path, 9220 { 9221 d: "M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15", 9222 fillRule: "evenodd", 9223 clipRule: "evenodd" 9224 } 9225 ), 9226 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Circle, { cx: "12", cy: "9", r: "2", fillRule: "evenodd", clipRule: "evenodd" }) 9227 ] }); 9228 9229 9230 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-name/block.json 9231 const comment_author_name_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-author-name","title":"Comment Author Name","category":"theme","ancestor":["core/comment-template"],"description":"Displays the name of the author of the comment.","textdomain":"default","attributes":{"isLink":{"type":"boolean","default":true},"linkTarget":{"type":"string","default":"_self"},"textAlign":{"type":"string"}},"usesContext":["commentId"],"supports":{"html":false,"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-comment-author-name"}'); 9232 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-name/edit.js 9233 9234 9235 9236 9237 9238 9239 9240 9241 function comment_author_name_edit_Edit({ 9242 attributes: { isLink, linkTarget, textAlign }, 9243 context: { commentId }, 9244 setAttributes 9245 }) { 9246 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 9247 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9248 className: dist_clsx({ 9249 [`has-text-align-$textAlign}`]: textAlign 9250 }) 9251 }); 9252 let displayName = (0,external_wp_data_namespaceObject.useSelect)( 9253 (select) => { 9254 const { getEntityRecord } = select(external_wp_coreData_namespaceObject.store); 9255 const comment = getEntityRecord("root", "comment", commentId); 9256 const authorName = comment?.author_name; 9257 if (comment && !authorName) { 9258 const user = getEntityRecord("root", "user", comment.author); 9259 return user?.name ?? (0,external_wp_i18n_namespaceObject.__)("Anonymous"); 9260 } 9261 return authorName ?? ""; 9262 }, 9263 [commentId] 9264 ); 9265 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9266 external_wp_blockEditor_namespaceObject.AlignmentControl, 9267 { 9268 value: textAlign, 9269 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 9270 } 9271 ) }); 9272 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 9273 external_wp_components_namespaceObject.__experimentalToolsPanel, 9274 { 9275 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 9276 resetAll: () => { 9277 setAttributes({ 9278 isLink: true, 9279 linkTarget: "_self" 9280 }); 9281 }, 9282 dropdownMenuProps, 9283 children: [ 9284 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9285 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 9286 { 9287 label: (0,external_wp_i18n_namespaceObject.__)("Link to authors URL"), 9288 isShownByDefault: true, 9289 hasValue: () => !isLink, 9290 onDeselect: () => setAttributes({ 9291 isLink: true 9292 }), 9293 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9294 external_wp_components_namespaceObject.ToggleControl, 9295 { 9296 __nextHasNoMarginBottom: true, 9297 label: (0,external_wp_i18n_namespaceObject.__)("Link to authors URL"), 9298 onChange: () => setAttributes({ isLink: !isLink }), 9299 checked: isLink 9300 } 9301 ) 9302 } 9303 ), 9304 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9305 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 9306 { 9307 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 9308 isShownByDefault: true, 9309 hasValue: () => linkTarget !== "_self", 9310 onDeselect: () => setAttributes({ 9311 linkTarget: "_self" 9312 }), 9313 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9314 external_wp_components_namespaceObject.ToggleControl, 9315 { 9316 __nextHasNoMarginBottom: true, 9317 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 9318 onChange: (value) => setAttributes({ 9319 linkTarget: value ? "_blank" : "_self" 9320 }), 9321 checked: linkTarget === "_blank" 9322 } 9323 ) 9324 } 9325 ) 9326 ] 9327 } 9328 ) }); 9329 if (!commentId || !displayName) { 9330 displayName = (0,external_wp_i18n_namespaceObject._x)("Comment Author", "block title"); 9331 } 9332 const displayAuthor = isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9333 "a", 9334 { 9335 href: "#comment-author-pseudo-link", 9336 onClick: (event) => event.preventDefault(), 9337 children: displayName 9338 } 9339 ) : displayName; 9340 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9341 inspectorControls, 9342 blockControls, 9343 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: displayAuthor }) 9344 ] }); 9345 } 9346 9347 9348 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-name/deprecated.js 9349 9350 const comment_author_name_deprecated_v1 = { 9351 attributes: { 9352 isLink: { 9353 type: "boolean", 9354 default: false 9355 }, 9356 linkTarget: { 9357 type: "string", 9358 default: "_self" 9359 } 9360 }, 9361 supports: { 9362 html: false, 9363 color: { 9364 gradients: true, 9365 link: true 9366 }, 9367 typography: { 9368 fontSize: true, 9369 lineHeight: true, 9370 __experimentalFontFamily: true, 9371 __experimentalFontWeight: true, 9372 __experimentalFontStyle: true, 9373 __experimentalTextTransform: true, 9374 __experimentalLetterSpacing: true 9375 } 9376 }, 9377 save() { 9378 return null; 9379 }, 9380 migrate: migrate_font_family_default, 9381 isEligible({ style }) { 9382 return style?.typography?.fontFamily; 9383 } 9384 }; 9385 var comment_author_name_deprecated_deprecated_default = [comment_author_name_deprecated_v1]; 9386 9387 9388 ;// ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js 9389 9390 9391 9392 9393 9394 const { name: comment_author_name_name } = comment_author_name_block_namespaceObject; 9395 const comment_author_name_settings = { 9396 icon: comment_author_name_default, 9397 edit: comment_author_name_edit_Edit, 9398 deprecated: comment_author_name_deprecated_deprecated_default, 9399 example: {} 9400 }; 9401 const comment_author_name_init = () => initBlock({ name: comment_author_name_name, metadata: comment_author_name_block_namespaceObject, settings: comment_author_name_settings }); 9402 9403 9404 ;// ./node_modules/@wordpress/icons/build-module/library/comment-content.js 9405 9406 9407 var comment_content_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9408 external_wp_primitives_namespaceObject.Path, 9409 { 9410 fillRule: "evenodd", 9411 clipRule: "evenodd", 9412 d: "M6.68822 16.625L5.5 17.8145L5.5 5.5L18.5 5.5L18.5 16.625L6.68822 16.625ZM7.31 18.125L19 18.125C19.5523 18.125 20 17.6773 20 17.125L20 5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19.5247C4 19.8173 4.16123 20.086 4.41935 20.2237C4.72711 20.3878 5.10601 20.3313 5.35252 20.0845L7.31 18.125ZM16 9.99997H8V8.49997H16V9.99997ZM8 14H13V12.5H8V14Z" 9413 } 9414 ) }); 9415 9416 9417 ;// ./node_modules/@wordpress/block-library/build-module/comment-content/block.json 9418 const comment_content_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-content","title":"Comment Content","category":"theme","ancestor":["core/comment-template"],"description":"Displays the contents of a comment.","textdomain":"default","usesContext":["commentId"],"attributes":{"textAlign":{"type":"string"}},"supports":{"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"spacing":{"padding":["horizontal","vertical"],"__experimentalDefaultControls":{"padding":true}},"html":false},"style":"wp-block-comment-content"}'); 9419 ;// ./node_modules/@wordpress/block-library/build-module/comment-content/edit.js 9420 9421 9422 9423 9424 9425 9426 9427 function comment_content_edit_Edit({ 9428 setAttributes, 9429 attributes: { textAlign }, 9430 context: { commentId } 9431 }) { 9432 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9433 className: dist_clsx({ 9434 [`has-text-align-$textAlign}`]: textAlign 9435 }) 9436 }); 9437 const [content] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 9438 "root", 9439 "comment", 9440 "content", 9441 commentId 9442 ); 9443 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9444 external_wp_blockEditor_namespaceObject.AlignmentControl, 9445 { 9446 value: textAlign, 9447 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 9448 } 9449 ) }); 9450 if (!commentId || !content) { 9451 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9452 blockControls, 9453 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject._x)("Comment Content", "block title") }) }) 9454 ] }); 9455 } 9456 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9457 blockControls, 9458 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: content.rendered }, "html") }) }) 9459 ] }); 9460 } 9461 9462 9463 ;// ./node_modules/@wordpress/block-library/build-module/comment-content/index.js 9464 9465 9466 9467 9468 const { name: comment_content_name } = comment_content_block_namespaceObject; 9469 const comment_content_settings = { 9470 icon: comment_content_default, 9471 edit: comment_content_edit_Edit, 9472 example: {} 9473 }; 9474 const comment_content_init = () => initBlock({ name: comment_content_name, metadata: comment_content_block_namespaceObject, settings: comment_content_settings }); 9475 9476 9477 ;// ./node_modules/@wordpress/icons/build-module/library/post-date.js 9478 9479 9480 var post_date_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 9481 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.696 13.972c.356-.546.599-.958.728-1.235a1.79 1.79 0 00.203-.783c0-.264-.077-.47-.23-.618-.148-.153-.354-.23-.618-.23-.295 0-.569.07-.82.212a3.413 3.413 0 00-.738.571l-.147-1.188c.289-.234.59-.41.903-.526.313-.117.66-.175 1.041-.175.375 0 .695.08.959.24.264.153.46.362.59.626.135.265.203.556.203.876 0 .362-.08.734-.24 1.115-.154.381-.427.87-.82 1.466l-.756 1.152H14v1.106h-4l1.696-2.609z" }), 9482 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19.5 7h-15v12a.5.5 0 00.5.5h14a.5.5 0 00.5-.5V7zM3 7V5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V7z" }) 9483 ] }); 9484 9485 9486 ;// ./node_modules/@wordpress/block-library/build-module/comment-date/block.json 9487 const comment_date_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-date","title":"Comment Date","category":"theme","ancestor":["core/comment-template"],"description":"Displays the date on which the comment was posted.","textdomain":"default","attributes":{"format":{"type":"string"},"isLink":{"type":"boolean","default":true}},"usesContext":["commentId"],"supports":{"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-comment-date"}'); 9488 ;// external ["wp","date"] 9489 const external_wp_date_namespaceObject = window["wp"]["date"]; 9490 ;// ./node_modules/@wordpress/block-library/build-module/comment-date/edit.js 9491 9492 9493 9494 9495 9496 9497 9498 function comment_date_edit_Edit({ 9499 attributes: { format, isLink }, 9500 context: { commentId }, 9501 setAttributes 9502 }) { 9503 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9504 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 9505 let [date] = (0,external_wp_coreData_namespaceObject.useEntityProp)("root", "comment", "date", commentId); 9506 const [siteFormat = (0,external_wp_date_namespaceObject.getSettings)().formats.date] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 9507 "root", 9508 "site", 9509 "date_format" 9510 ); 9511 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 9512 external_wp_components_namespaceObject.__experimentalToolsPanel, 9513 { 9514 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 9515 resetAll: () => { 9516 setAttributes({ 9517 format: void 0, 9518 isLink: true 9519 }); 9520 }, 9521 dropdownMenuProps, 9522 children: [ 9523 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9524 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 9525 { 9526 label: (0,external_wp_i18n_namespaceObject.__)("Date format"), 9527 hasValue: () => format !== void 0, 9528 onDeselect: () => setAttributes({ format: void 0 }), 9529 isShownByDefault: true, 9530 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9531 external_wp_blockEditor_namespaceObject.__experimentalDateFormatPicker, 9532 { 9533 format, 9534 defaultFormat: siteFormat, 9535 onChange: (nextFormat) => setAttributes({ format: nextFormat }) 9536 } 9537 ) 9538 } 9539 ), 9540 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9541 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 9542 { 9543 label: (0,external_wp_i18n_namespaceObject.__)("Link to comment"), 9544 hasValue: () => !isLink, 9545 onDeselect: () => setAttributes({ isLink: true }), 9546 isShownByDefault: true, 9547 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9548 external_wp_components_namespaceObject.ToggleControl, 9549 { 9550 __nextHasNoMarginBottom: true, 9551 label: (0,external_wp_i18n_namespaceObject.__)("Link to comment"), 9552 onChange: () => setAttributes({ isLink: !isLink }), 9553 checked: isLink 9554 } 9555 ) 9556 } 9557 ) 9558 ] 9559 } 9560 ) }); 9561 if (!commentId || !date) { 9562 date = (0,external_wp_i18n_namespaceObject._x)("Comment Date", "block title"); 9563 } 9564 let commentDate = date instanceof Date ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { dateTime: (0,external_wp_date_namespaceObject.dateI18n)("c", date), children: format === "human-diff" ? (0,external_wp_date_namespaceObject.humanTimeDiff)(date) : (0,external_wp_date_namespaceObject.dateI18n)(format || siteFormat, date) }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { children: date }); 9565 if (isLink) { 9566 commentDate = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9567 "a", 9568 { 9569 href: "#comment-date-pseudo-link", 9570 onClick: (event) => event.preventDefault(), 9571 children: commentDate 9572 } 9573 ); 9574 } 9575 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9576 inspectorControls, 9577 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: commentDate }) 9578 ] }); 9579 } 9580 9581 9582 ;// ./node_modules/@wordpress/block-library/build-module/comment-date/deprecated.js 9583 9584 const comment_date_deprecated_v1 = { 9585 attributes: { 9586 format: { 9587 type: "string" 9588 }, 9589 isLink: { 9590 type: "boolean", 9591 default: false 9592 } 9593 }, 9594 supports: { 9595 html: false, 9596 color: { 9597 gradients: true, 9598 link: true 9599 }, 9600 typography: { 9601 fontSize: true, 9602 lineHeight: true, 9603 __experimentalFontFamily: true, 9604 __experimentalFontWeight: true, 9605 __experimentalFontStyle: true, 9606 __experimentalTextTransform: true, 9607 __experimentalLetterSpacing: true 9608 } 9609 }, 9610 save() { 9611 return null; 9612 }, 9613 migrate: migrate_font_family_default, 9614 isEligible({ style }) { 9615 return style?.typography?.fontFamily; 9616 } 9617 }; 9618 var comment_date_deprecated_deprecated_default = [comment_date_deprecated_v1]; 9619 9620 9621 ;// ./node_modules/@wordpress/block-library/build-module/comment-date/index.js 9622 9623 9624 9625 9626 9627 const { name: comment_date_name } = comment_date_block_namespaceObject; 9628 const comment_date_settings = { 9629 icon: post_date_default, 9630 edit: comment_date_edit_Edit, 9631 deprecated: comment_date_deprecated_deprecated_default, 9632 example: {} 9633 }; 9634 const comment_date_init = () => initBlock({ name: comment_date_name, metadata: comment_date_block_namespaceObject, settings: comment_date_settings }); 9635 9636 9637 ;// ./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js 9638 9639 9640 var comment_edit_link_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m6.249 11.065.44-.44h3.186l-1.5 1.5H7.31l-1.957 1.96A.792.792 0 0 1 4 13.524V5a1 1 0 0 1 1-1h8a1 1 0 0 1 1 1v1.5L12.5 8V5.5h-7v6.315l.749-.75ZM20 19.75H7v-1.5h13v1.5Zm0-12.653-8.967 9.064L8 17l.867-2.935L17.833 5 20 7.097Z" }) }); 9641 9642 9643 ;// ./node_modules/@wordpress/block-library/build-module/comment-edit-link/block.json 9644 const comment_edit_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-edit-link","title":"Comment Edit Link","category":"theme","ancestor":["core/comment-template"],"description":"Displays a link to edit the comment in the WordPress Dashboard. This link is only visible to users with the edit comment capability.","textdomain":"default","usesContext":["commentId"],"attributes":{"linkTarget":{"type":"string","default":"_self"},"textAlign":{"type":"string"}},"supports":{"html":false,"color":{"link":true,"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true,"link":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}},"style":"wp-block-comment-edit-link"}'); 9645 ;// ./node_modules/@wordpress/block-library/build-module/comment-edit-link/edit.js 9646 9647 9648 9649 9650 9651 9652 function comment_edit_link_edit_Edit({ 9653 attributes: { linkTarget, textAlign }, 9654 setAttributes 9655 }) { 9656 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9657 className: dist_clsx({ 9658 [`has-text-align-$textAlign}`]: textAlign 9659 }) 9660 }); 9661 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 9662 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9663 external_wp_blockEditor_namespaceObject.AlignmentControl, 9664 { 9665 value: textAlign, 9666 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 9667 } 9668 ) }); 9669 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9670 external_wp_components_namespaceObject.__experimentalToolsPanel, 9671 { 9672 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 9673 resetAll: () => { 9674 setAttributes({ 9675 linkTarget: "_self" 9676 }); 9677 }, 9678 dropdownMenuProps, 9679 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9680 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 9681 { 9682 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 9683 isShownByDefault: true, 9684 hasValue: () => linkTarget === "_blank", 9685 onDeselect: () => setAttributes({ linkTarget: "_self" }), 9686 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9687 external_wp_components_namespaceObject.ToggleControl, 9688 { 9689 __nextHasNoMarginBottom: true, 9690 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 9691 onChange: (value) => setAttributes({ 9692 linkTarget: value ? "_blank" : "_self" 9693 }), 9694 checked: linkTarget === "_blank" 9695 } 9696 ) 9697 } 9698 ) 9699 } 9700 ) }); 9701 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9702 blockControls, 9703 inspectorControls, 9704 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9705 "a", 9706 { 9707 href: "#edit-comment-pseudo-link", 9708 onClick: (event) => event.preventDefault(), 9709 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 9710 } 9711 ) }) 9712 ] }); 9713 } 9714 9715 9716 ;// ./node_modules/@wordpress/block-library/build-module/comment-edit-link/index.js 9717 9718 9719 9720 9721 const { name: comment_edit_link_name } = comment_edit_link_block_namespaceObject; 9722 const comment_edit_link_settings = { 9723 icon: comment_edit_link_default, 9724 edit: comment_edit_link_edit_Edit, 9725 example: {} 9726 }; 9727 const comment_edit_link_init = () => initBlock({ name: comment_edit_link_name, metadata: comment_edit_link_block_namespaceObject, settings: comment_edit_link_settings }); 9728 9729 9730 ;// ./node_modules/@wordpress/icons/build-module/library/comment-reply-link.js 9731 9732 9733 var comment_reply_link_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.68822 10.625L6.24878 11.0649L5.5 11.8145L5.5 5.5L12.5 5.5V8L14 6.5V5C14 4.44772 13.5523 4 13 4H5C4.44772 4 4 4.44771 4 5V13.5247C4 13.8173 4.16123 14.086 4.41935 14.2237C4.72711 14.3878 5.10601 14.3313 5.35252 14.0845L7.31 12.125H8.375L9.875 10.625H7.31H6.68822ZM14.5605 10.4983L11.6701 13.75H16.9975C17.9963 13.75 18.7796 14.1104 19.3553 14.7048C19.9095 15.2771 20.2299 16.0224 20.4224 16.7443C20.7645 18.0276 20.7543 19.4618 20.7487 20.2544C20.7481 20.345 20.7475 20.4272 20.7475 20.4999L19.2475 20.5001C19.2475 20.4191 19.248 20.3319 19.2484 20.2394V20.2394C19.2526 19.4274 19.259 18.2035 18.973 17.1307C18.8156 16.5401 18.586 16.0666 18.2778 15.7483C17.9909 15.4521 17.5991 15.25 16.9975 15.25H11.8106L14.5303 17.9697L13.4696 19.0303L8.96956 14.5303L13.4394 9.50171L14.5605 10.4983Z" }) }); 9734 9735 9736 ;// ./node_modules/@wordpress/block-library/build-module/comment-reply-link/block.json 9737 const comment_reply_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-reply-link","title":"Comment Reply Link","category":"theme","ancestor":["core/comment-template"],"description":"Displays a link to reply to a comment.","textdomain":"default","usesContext":["commentId"],"attributes":{"textAlign":{"type":"string"}},"supports":{"color":{"gradients":true,"link":true,"text":false,"__experimentalDefaultControls":{"background":true,"link":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"html":false},"style":"wp-block-comment-reply-link"}'); 9738 ;// ./node_modules/@wordpress/block-library/build-module/comment-reply-link/edit.js 9739 9740 9741 9742 9743 function comment_reply_link_edit_Edit({ setAttributes, attributes: { textAlign } }) { 9744 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9745 className: dist_clsx({ 9746 [`has-text-align-$textAlign}`]: textAlign 9747 }) 9748 }); 9749 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9750 external_wp_blockEditor_namespaceObject.AlignmentControl, 9751 { 9752 value: textAlign, 9753 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 9754 } 9755 ) }); 9756 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 9757 blockControls, 9758 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9759 "a", 9760 { 9761 href: "#comment-reply-pseudo-link", 9762 onClick: (event) => event.preventDefault(), 9763 children: (0,external_wp_i18n_namespaceObject.__)("Reply") 9764 } 9765 ) }) 9766 ] }); 9767 } 9768 var comment_reply_link_edit_edit_default = comment_reply_link_edit_Edit; 9769 9770 9771 ;// ./node_modules/@wordpress/block-library/build-module/comment-reply-link/index.js 9772 9773 9774 9775 9776 const { name: comment_reply_link_name } = comment_reply_link_block_namespaceObject; 9777 const comment_reply_link_settings = { 9778 edit: comment_reply_link_edit_edit_default, 9779 icon: comment_reply_link_default, 9780 example: {} 9781 }; 9782 const comment_reply_link_init = () => initBlock({ name: comment_reply_link_name, metadata: comment_reply_link_block_namespaceObject, settings: comment_reply_link_settings }); 9783 9784 9785 ;// ./node_modules/@wordpress/icons/build-module/library/layout.js 9786 9787 9788 var layout_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) }); 9789 9790 9791 ;// ./node_modules/@wordpress/block-library/build-module/comment-template/block.json 9792 const comment_template_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comment-template","title":"Comment Template","category":"design","parent":["core/comments"],"description":"Contains the block elements used to display a comment, like the title, date, author, avatar and more.","textdomain":"default","usesContext":["postId"],"supports":{"align":true,"html":false,"reusable":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-comment-template"}'); 9793 ;// external ["wp","apiFetch"] 9794 const external_wp_apiFetch_namespaceObject = window["wp"]["apiFetch"]; 9795 var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_namespaceObject); 9796 ;// ./node_modules/@wordpress/block-library/build-module/comment-template/hooks.js 9797 9798 9799 9800 9801 9802 const MAX_COMMENTS_PER_PAGE = 100; 9803 const useCommentQueryArgs = ({ postId }) => { 9804 const queryArgs = { 9805 status: "approve", 9806 order: "asc", 9807 context: "embed", 9808 parent: 0, 9809 _embed: "children" 9810 }; 9811 const { 9812 pageComments, 9813 commentsPerPage, 9814 defaultCommentsPage: defaultPage 9815 } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 9816 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 9817 const { __experimentalDiscussionSettings } = getSettings(); 9818 return __experimentalDiscussionSettings; 9819 }); 9820 const perPage = pageComments ? Math.min(commentsPerPage, MAX_COMMENTS_PER_PAGE) : MAX_COMMENTS_PER_PAGE; 9821 const page = useDefaultPageIndex({ 9822 defaultPage, 9823 postId, 9824 perPage, 9825 queryArgs 9826 }); 9827 return (0,external_wp_element_namespaceObject.useMemo)(() => { 9828 return page ? { 9829 ...queryArgs, 9830 post: postId, 9831 per_page: perPage, 9832 page 9833 } : null; 9834 }, [postId, perPage, page]); 9835 }; 9836 const useDefaultPageIndex = ({ defaultPage, postId, perPage, queryArgs }) => { 9837 const [defaultPages, setDefaultPages] = (0,external_wp_element_namespaceObject.useState)({}); 9838 const key = `$postId}_$perPage}`; 9839 const page = defaultPages[key] || 0; 9840 (0,external_wp_element_namespaceObject.useEffect)(() => { 9841 if (page || defaultPage !== "newest") { 9842 return; 9843 } 9844 external_wp_apiFetch_default()({ 9845 path: (0,external_wp_url_namespaceObject.addQueryArgs)("/wp/v2/comments", { 9846 ...queryArgs, 9847 post: postId, 9848 per_page: perPage, 9849 _fields: "id" 9850 }), 9851 method: "HEAD", 9852 parse: false 9853 }).then((res) => { 9854 const pages = parseInt(res.headers.get("X-WP-TotalPages")); 9855 setDefaultPages({ 9856 ...defaultPages, 9857 [key]: pages <= 1 ? 1 : pages 9858 // If there are 0 pages, it means that there are no comments, but there is no 0th page. 9859 }); 9860 }).catch(() => { 9861 setDefaultPages({ 9862 ...defaultPages, 9863 [key]: 1 9864 }); 9865 }); 9866 }, [defaultPage, postId, perPage, setDefaultPages]); 9867 return defaultPage === "newest" ? page : 1; 9868 }; 9869 const useCommentTree = (topLevelComments) => { 9870 const commentTree = (0,external_wp_element_namespaceObject.useMemo)( 9871 () => topLevelComments?.map(({ id, _embedded }) => { 9872 const [children] = _embedded?.children || [[]]; 9873 return { 9874 commentId: id, 9875 children: children.map((child) => ({ 9876 commentId: child.id 9877 })) 9878 }; 9879 }), 9880 [topLevelComments] 9881 ); 9882 return commentTree; 9883 }; 9884 9885 9886 ;// ./node_modules/@wordpress/block-library/build-module/comment-template/edit.js 9887 9888 9889 9890 9891 9892 9893 9894 9895 const edit_TEMPLATE = [ 9896 ["core/avatar"], 9897 ["core/comment-author-name"], 9898 ["core/comment-date"], 9899 ["core/comment-content"], 9900 ["core/comment-reply-link"], 9901 ["core/comment-edit-link"] 9902 ]; 9903 const getCommentsPlaceholder = ({ 9904 perPage, 9905 pageComments, 9906 threadComments, 9907 threadCommentsDepth 9908 }) => { 9909 const commentsDepth = !threadComments ? 1 : Math.min(threadCommentsDepth, 3); 9910 const buildChildrenComment = (commentsLevel) => { 9911 if (commentsLevel < commentsDepth) { 9912 const nextLevel = commentsLevel + 1; 9913 return [ 9914 { 9915 commentId: -(commentsLevel + 3), 9916 children: buildChildrenComment(nextLevel) 9917 } 9918 ]; 9919 } 9920 return []; 9921 }; 9922 const placeholderComments = [ 9923 { commentId: -1, children: buildChildrenComment(1) } 9924 ]; 9925 if ((!pageComments || perPage >= 2) && commentsDepth < 3) { 9926 placeholderComments.push({ 9927 commentId: -2, 9928 children: [] 9929 }); 9930 } 9931 if ((!pageComments || perPage >= 3) && commentsDepth < 2) { 9932 placeholderComments.push({ 9933 commentId: -3, 9934 children: [] 9935 }); 9936 } 9937 return placeholderComments; 9938 }; 9939 function CommentTemplateInnerBlocks({ 9940 comment, 9941 activeCommentId, 9942 setActiveCommentId, 9943 firstCommentId, 9944 blocks 9945 }) { 9946 const { children, ...innerBlocksProps } = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 9947 {}, 9948 { template: edit_TEMPLATE } 9949 ); 9950 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { ...innerBlocksProps, children: [ 9951 comment.commentId === (activeCommentId || firstCommentId) ? children : null, 9952 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9953 MemoizedCommentTemplatePreview, 9954 { 9955 blocks, 9956 commentId: comment.commentId, 9957 setActiveCommentId, 9958 isHidden: comment.commentId === (activeCommentId || firstCommentId) 9959 } 9960 ), 9961 comment?.children?.length > 0 ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9962 CommentsList, 9963 { 9964 comments: comment.children, 9965 activeCommentId, 9966 setActiveCommentId, 9967 blocks, 9968 firstCommentId 9969 } 9970 ) : null 9971 ] }); 9972 } 9973 const CommentTemplatePreview = ({ 9974 blocks, 9975 commentId, 9976 setActiveCommentId, 9977 isHidden 9978 }) => { 9979 const blockPreviewProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBlockPreview)({ 9980 blocks 9981 }); 9982 const handleOnClick = () => { 9983 setActiveCommentId(commentId); 9984 }; 9985 const style = { 9986 display: isHidden ? "none" : void 0 9987 }; 9988 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 9989 "div", 9990 { 9991 ...blockPreviewProps, 9992 tabIndex: 0, 9993 role: "button", 9994 style, 9995 onClick: handleOnClick, 9996 onKeyPress: handleOnClick 9997 } 9998 ); 9999 }; 10000 const MemoizedCommentTemplatePreview = (0,external_wp_element_namespaceObject.memo)(CommentTemplatePreview); 10001 const CommentsList = ({ 10002 comments, 10003 blockProps, 10004 activeCommentId, 10005 setActiveCommentId, 10006 blocks, 10007 firstCommentId 10008 }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ol", { ...blockProps, children: comments && comments.map(({ commentId, ...comment }, index) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10009 external_wp_blockEditor_namespaceObject.BlockContextProvider, 10010 { 10011 value: { 10012 // If the commentId is negative it means that this comment is a 10013 // "placeholder" and that the block is most likely being used in the 10014 // site editor. In this case, we have to set the commentId to `null` 10015 // because otherwise the (non-existent) comment with a negative ID 10016 // would be requested from the REST API. 10017 commentId: commentId < 0 ? null : commentId 10018 }, 10019 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10020 CommentTemplateInnerBlocks, 10021 { 10022 comment: { commentId, ...comment }, 10023 activeCommentId, 10024 setActiveCommentId, 10025 blocks, 10026 firstCommentId 10027 } 10028 ) 10029 }, 10030 comment.commentId || index 10031 )) }); 10032 function CommentTemplateEdit({ 10033 clientId, 10034 context: { postId } 10035 }) { 10036 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 10037 const [activeCommentId, setActiveCommentId] = (0,external_wp_element_namespaceObject.useState)(); 10038 const { 10039 commentOrder, 10040 threadCommentsDepth, 10041 threadComments, 10042 commentsPerPage, 10043 pageComments 10044 } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 10045 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 10046 return getSettings().__experimentalDiscussionSettings; 10047 }); 10048 const commentQuery = useCommentQueryArgs({ 10049 postId 10050 }); 10051 const { topLevelComments, blocks } = (0,external_wp_data_namespaceObject.useSelect)( 10052 (select) => { 10053 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 10054 const { getBlocks } = select(external_wp_blockEditor_namespaceObject.store); 10055 return { 10056 // Request only top-level comments. Replies are embedded. 10057 topLevelComments: commentQuery ? getEntityRecords("root", "comment", commentQuery) : null, 10058 blocks: getBlocks(clientId) 10059 }; 10060 }, 10061 [clientId, commentQuery] 10062 ); 10063 let commentTree = useCommentTree( 10064 // Reverse the order of top comments if needed. 10065 commentOrder === "desc" && topLevelComments ? [...topLevelComments].reverse() : topLevelComments 10066 ); 10067 if (!topLevelComments) { 10068 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }); 10069 } 10070 if (!postId) { 10071 commentTree = getCommentsPlaceholder({ 10072 perPage: commentsPerPage, 10073 pageComments, 10074 threadComments, 10075 threadCommentsDepth 10076 }); 10077 } 10078 if (!commentTree.length) { 10079 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { ...blockProps, children: (0,external_wp_i18n_namespaceObject.__)("No results found.") }); 10080 } 10081 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10082 CommentsList, 10083 { 10084 comments: commentTree, 10085 blockProps, 10086 blocks, 10087 activeCommentId, 10088 setActiveCommentId, 10089 firstCommentId: commentTree[0]?.commentId 10090 } 10091 ); 10092 } 10093 10094 10095 ;// ./node_modules/@wordpress/block-library/build-module/comment-template/save.js 10096 10097 10098 function CommentTemplateSave() { 10099 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 10100 } 10101 10102 10103 ;// ./node_modules/@wordpress/block-library/build-module/comment-template/index.js 10104 10105 10106 10107 10108 10109 const { name: comment_template_name } = comment_template_block_namespaceObject; 10110 const comment_template_settings = { 10111 icon: layout_default, 10112 edit: CommentTemplateEdit, 10113 save: CommentTemplateSave 10114 }; 10115 const comment_template_init = () => initBlock({ name: comment_template_name, metadata: comment_template_block_namespaceObject, settings: comment_template_settings }); 10116 10117 10118 ;// ./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js 10119 10120 10121 var query_pagination_previous_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16 10.5v3h3v-3h-3zm-5 3h3v-3h-3v3zM7 9l-3 3 3 3 1-1-2-2 2-2-1-1z" }) }); 10122 10123 10124 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/block.json 10125 const comments_pagination_previous_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments-pagination-previous","title":"Comments Previous Page","category":"theme","parent":["core/comments-pagination"],"description":"Displays the previous comment\'s page link.","textdomain":"default","attributes":{"label":{"type":"string"}},"usesContext":["postId","comments/paginationArrow"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 10126 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/edit.js 10127 10128 10129 10130 const arrowMap = { 10131 none: "", 10132 arrow: "\u2190", 10133 chevron: "\xAB" 10134 }; 10135 function CommentsPaginationPreviousEdit({ 10136 attributes: { label }, 10137 setAttributes, 10138 context: { "comments/paginationArrow": paginationArrow } 10139 }) { 10140 const displayArrow = arrowMap[paginationArrow]; 10141 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 10142 "a", 10143 { 10144 href: "#comments-pagination-previous-pseudo-link", 10145 onClick: (event) => event.preventDefault(), 10146 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), 10147 children: [ 10148 displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10149 "span", 10150 { 10151 className: `wp-block-comments-pagination-previous-arrow is-arrow-$paginationArrow}`, 10152 children: displayArrow 10153 } 10154 ), 10155 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10156 external_wp_blockEditor_namespaceObject.PlainText, 10157 { 10158 __experimentalVersion: 2, 10159 tagName: "span", 10160 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Older comments page link"), 10161 placeholder: (0,external_wp_i18n_namespaceObject.__)("Older Comments"), 10162 value: label, 10163 onChange: (newLabel) => setAttributes({ label: newLabel }) 10164 } 10165 ) 10166 ] 10167 } 10168 ); 10169 } 10170 10171 10172 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/index.js 10173 10174 10175 10176 10177 10178 const { name: comments_pagination_previous_name } = comments_pagination_previous_block_namespaceObject; 10179 const comments_pagination_previous_settings = { 10180 icon: query_pagination_previous_default, 10181 edit: CommentsPaginationPreviousEdit, 10182 example: { 10183 attributes: { 10184 label: (0,external_wp_i18n_namespaceObject.__)("Older Comments") 10185 } 10186 } 10187 }; 10188 const comments_pagination_previous_init = () => initBlock({ name: comments_pagination_previous_name, metadata: comments_pagination_previous_block_namespaceObject, settings: comments_pagination_previous_settings }); 10189 10190 10191 ;// ./node_modules/@wordpress/icons/build-module/library/query-pagination.js 10192 10193 10194 var query_pagination_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 13.5h6v-3H4v3zm8 0h3v-3h-3v3zm5-3v3h3v-3h-3z" }) }); 10195 10196 10197 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination/block.json 10198 const comments_pagination_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments-pagination","title":"Comments Pagination","category":"theme","parent":["core/comments"],"allowedBlocks":["core/comments-pagination-previous","core/comments-pagination-numbers","core/comments-pagination-next"],"description":"Displays a paginated navigation to next/previous set of comments, when applicable.","textdomain":"default","attributes":{"paginationArrow":{"type":"string","default":"none"}},"example":{"attributes":{"paginationArrow":"none"}},"providesContext":{"comments/paginationArrow":"paginationArrow"},"supports":{"align":true,"reusable":false,"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"default":{"type":"flex"}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-comments-pagination-editor","style":"wp-block-comments-pagination"}'); 10199 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination/comments-pagination-arrow-controls.js 10200 10201 10202 10203 function CommentsPaginationArrowControls({ value, onChange }) { 10204 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 10205 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 10206 { 10207 __next40pxDefaultSize: true, 10208 __nextHasNoMarginBottom: true, 10209 label: (0,external_wp_i18n_namespaceObject.__)("Arrow"), 10210 value, 10211 onChange, 10212 help: (0,external_wp_i18n_namespaceObject.__)( 10213 "A decorative arrow appended to the next and previous comments link." 10214 ), 10215 isBlock: true, 10216 children: [ 10217 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10218 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 10219 { 10220 value: "none", 10221 label: (0,external_wp_i18n_namespaceObject._x)( 10222 "None", 10223 "Arrow option for Comments Pagination Next/Previous blocks" 10224 ) 10225 } 10226 ), 10227 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10228 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 10229 { 10230 value: "arrow", 10231 label: (0,external_wp_i18n_namespaceObject._x)( 10232 "Arrow", 10233 "Arrow option for Comments Pagination Next/Previous blocks" 10234 ) 10235 } 10236 ), 10237 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10238 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 10239 { 10240 value: "chevron", 10241 label: (0,external_wp_i18n_namespaceObject._x)( 10242 "Chevron", 10243 "Arrow option for Comments Pagination Next/Previous blocks" 10244 ) 10245 } 10246 ) 10247 ] 10248 } 10249 ); 10250 } 10251 10252 10253 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination/edit.js 10254 10255 10256 10257 10258 10259 10260 10261 const comments_pagination_edit_TEMPLATE = [ 10262 ["core/comments-pagination-previous"], 10263 ["core/comments-pagination-numbers"], 10264 ["core/comments-pagination-next"] 10265 ]; 10266 function QueryPaginationEdit({ 10267 attributes: { paginationArrow }, 10268 setAttributes, 10269 clientId 10270 }) { 10271 const hasNextPreviousBlocks = (0,external_wp_data_namespaceObject.useSelect)((select) => { 10272 const { getBlocks } = select(external_wp_blockEditor_namespaceObject.store); 10273 const innerBlocks = getBlocks(clientId); 10274 return innerBlocks?.find((innerBlock) => { 10275 return [ 10276 "core/comments-pagination-previous", 10277 "core/comments-pagination-next" 10278 ].includes(innerBlock.name); 10279 }); 10280 }, []); 10281 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 10282 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 10283 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 10284 template: comments_pagination_edit_TEMPLATE 10285 }); 10286 const pageComments = (0,external_wp_data_namespaceObject.useSelect)((select) => { 10287 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 10288 const { __experimentalDiscussionSettings } = getSettings(); 10289 return __experimentalDiscussionSettings?.pageComments; 10290 }, []); 10291 if (!pageComments) { 10292 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)( 10293 "Comments Pagination block: paging comments is disabled in the Discussion Settings" 10294 ) }); 10295 } 10296 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 10297 hasNextPreviousBlocks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10298 external_wp_components_namespaceObject.__experimentalToolsPanel, 10299 { 10300 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 10301 dropdownMenuProps, 10302 resetAll: () => setAttributes({ paginationArrow: "none" }), 10303 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10304 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 10305 { 10306 label: (0,external_wp_i18n_namespaceObject.__)("Arrow"), 10307 hasValue: () => paginationArrow !== "none", 10308 onDeselect: () => setAttributes({ paginationArrow: "none" }), 10309 isShownByDefault: true, 10310 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10311 CommentsPaginationArrowControls, 10312 { 10313 value: paginationArrow, 10314 onChange: (value) => { 10315 setAttributes({ paginationArrow: value }); 10316 } 10317 } 10318 ) 10319 } 10320 ) 10321 } 10322 ) }), 10323 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 10324 ] }); 10325 } 10326 10327 10328 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination/save.js 10329 10330 10331 function comments_pagination_save_save() { 10332 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 10333 } 10334 10335 10336 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination/index.js 10337 10338 10339 10340 10341 10342 const { name: comments_pagination_name } = comments_pagination_block_namespaceObject; 10343 const comments_pagination_settings = { 10344 icon: query_pagination_default, 10345 edit: QueryPaginationEdit, 10346 save: comments_pagination_save_save 10347 }; 10348 const comments_pagination_init = () => initBlock({ name: comments_pagination_name, metadata: comments_pagination_block_namespaceObject, settings: comments_pagination_settings }); 10349 10350 10351 ;// ./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js 10352 10353 10354 var query_pagination_next_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M5 13.5h3v-3H5v3zm5 0h3v-3h-3v3zM17 9l-1 1 2 2-2 2 1 1 3-3-3-3z" }) }); 10355 10356 10357 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/block.json 10358 const comments_pagination_next_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments-pagination-next","title":"Comments Next Page","category":"theme","parent":["core/comments-pagination"],"description":"Displays the next comment\'s page link.","textdomain":"default","attributes":{"label":{"type":"string"}},"usesContext":["postId","comments/paginationArrow"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 10359 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/edit.js 10360 10361 10362 10363 const edit_arrowMap = { 10364 none: "", 10365 arrow: "\u2192", 10366 chevron: "\xBB" 10367 }; 10368 function CommentsPaginationNextEdit({ 10369 attributes: { label }, 10370 setAttributes, 10371 context: { "comments/paginationArrow": paginationArrow } 10372 }) { 10373 const displayArrow = edit_arrowMap[paginationArrow]; 10374 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 10375 "a", 10376 { 10377 href: "#comments-pagination-next-pseudo-link", 10378 onClick: (event) => event.preventDefault(), 10379 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), 10380 children: [ 10381 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10382 external_wp_blockEditor_namespaceObject.PlainText, 10383 { 10384 __experimentalVersion: 2, 10385 tagName: "span", 10386 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Newer comments page link"), 10387 placeholder: (0,external_wp_i18n_namespaceObject.__)("Newer Comments"), 10388 value: label, 10389 onChange: (newLabel) => setAttributes({ label: newLabel }) 10390 } 10391 ), 10392 displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10393 "span", 10394 { 10395 className: `wp-block-comments-pagination-next-arrow is-arrow-$paginationArrow}`, 10396 children: displayArrow 10397 } 10398 ) 10399 ] 10400 } 10401 ); 10402 } 10403 10404 10405 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/index.js 10406 10407 10408 10409 10410 10411 const { name: comments_pagination_next_name } = comments_pagination_next_block_namespaceObject; 10412 const comments_pagination_next_settings = { 10413 icon: query_pagination_next_default, 10414 edit: CommentsPaginationNextEdit, 10415 example: { 10416 attributes: { 10417 label: (0,external_wp_i18n_namespaceObject.__)("Newer Comments") 10418 } 10419 } 10420 }; 10421 const comments_pagination_next_init = () => initBlock({ name: comments_pagination_next_name, metadata: comments_pagination_next_block_namespaceObject, settings: comments_pagination_next_settings }); 10422 10423 10424 ;// ./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js 10425 10426 10427 var query_pagination_numbers_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 13.5h6v-3H4v3zm8.2-2.5.8-.3V14h1V9.3l-2.2.7.4 1zm7.1-1.2c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3-.1-.8-.3-1.1z" }) }); 10428 10429 10430 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/block.json 10431 const comments_pagination_numbers_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments-pagination-numbers","title":"Comments Page Numbers","category":"theme","parent":["core/comments-pagination"],"description":"Displays a list of page numbers for comments pagination.","textdomain":"default","usesContext":["postId"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 10432 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/edit.js 10433 10434 10435 const PaginationItem = ({ content, tag: Tag = "a", extraClass = "" }) => Tag === "a" ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10436 Tag, 10437 { 10438 className: `page-numbers $extraClass}`, 10439 href: "#comments-pagination-numbers-pseudo-link", 10440 onClick: (event) => event.preventDefault(), 10441 children: content 10442 } 10443 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { className: `page-numbers $extraClass}`, children: content }); 10444 function CommentsPaginationNumbersEdit() { 10445 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: [ 10446 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "1" }), 10447 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "2" }), 10448 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "3", tag: "span", extraClass: "current" }), 10449 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "4" }), 10450 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "5" }), 10451 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "...", tag: "span", extraClass: "dots" }), 10452 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PaginationItem, { content: "8" }) 10453 ] }); 10454 } 10455 10456 10457 ;// ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/index.js 10458 10459 10460 10461 10462 const { name: comments_pagination_numbers_name } = comments_pagination_numbers_block_namespaceObject; 10463 const comments_pagination_numbers_settings = { 10464 icon: query_pagination_numbers_default, 10465 edit: CommentsPaginationNumbersEdit, 10466 example: {} 10467 }; 10468 const comments_pagination_numbers_init = () => initBlock({ name: comments_pagination_numbers_name, metadata: comments_pagination_numbers_block_namespaceObject, settings: comments_pagination_numbers_settings }); 10469 10470 10471 ;// ./node_modules/@wordpress/icons/build-module/library/title.js 10472 10473 10474 var title_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m4 5.5h2v6.5h1.5v-6.5h2v-1.5h-5.5zm16 10.5h-16v-1.5h16zm-7 4h-9v-1.5h9z" }) }); 10475 10476 10477 ;// ./node_modules/@wordpress/block-library/build-module/comments-title/block.json 10478 const comments_title_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/comments-title","title":"Comments Title","category":"theme","ancestor":["core/comments"],"description":"Displays a title with the number of comments.","textdomain":"default","usesContext":["postId","postType"],"attributes":{"textAlign":{"type":"string"},"showPostTitle":{"type":"boolean","default":true},"showCommentsCount":{"type":"boolean","default":true},"level":{"type":"number","default":2},"levelOptions":{"type":"array"}},"supports":{"anchor":false,"align":true,"html":false,"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true,"__experimentalFontFamily":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true}},"interactivity":{"clientNavigation":true}}}'); 10479 ;// ./node_modules/@wordpress/block-library/build-module/comments-title/edit.js 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 function comments_title_edit_Edit({ 10492 attributes: { 10493 textAlign, 10494 showPostTitle, 10495 showCommentsCount, 10496 level, 10497 levelOptions 10498 }, 10499 setAttributes, 10500 context: { postType, postId } 10501 }) { 10502 const TagName = "h" + level; 10503 const [commentsCount, setCommentsCount] = (0,external_wp_element_namespaceObject.useState)(); 10504 const [rawTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)("postType", postType, "title", postId); 10505 const isSiteEditor = typeof postId === "undefined"; 10506 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 10507 className: dist_clsx({ 10508 [`has-text-align-$textAlign}`]: textAlign 10509 }) 10510 }); 10511 const { 10512 threadCommentsDepth, 10513 threadComments, 10514 commentsPerPage, 10515 pageComments 10516 } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 10517 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 10518 return getSettings().__experimentalDiscussionSettings; 10519 }); 10520 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 10521 (0,external_wp_element_namespaceObject.useEffect)(() => { 10522 if (isSiteEditor) { 10523 const nestedCommentsNumber = threadComments ? Math.min(threadCommentsDepth, 3) - 1 : 0; 10524 const topLevelCommentsNumber = pageComments ? commentsPerPage : 3; 10525 const commentsNumber = parseInt(nestedCommentsNumber) + parseInt(topLevelCommentsNumber); 10526 setCommentsCount(Math.min(commentsNumber, 3)); 10527 return; 10528 } 10529 const currentPostId = postId; 10530 external_wp_apiFetch_default()({ 10531 path: (0,external_wp_url_namespaceObject.addQueryArgs)("/wp/v2/comments", { 10532 post: postId, 10533 _fields: "id" 10534 }), 10535 method: "HEAD", 10536 parse: false 10537 }).then((res) => { 10538 if (currentPostId === postId) { 10539 setCommentsCount( 10540 parseInt(res.headers.get("X-WP-Total")) 10541 ); 10542 } 10543 }).catch(() => { 10544 setCommentsCount(0); 10545 }); 10546 }, [postId]); 10547 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 10548 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10549 external_wp_blockEditor_namespaceObject.AlignmentControl, 10550 { 10551 value: textAlign, 10552 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 10553 } 10554 ), 10555 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10556 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 10557 { 10558 value: level, 10559 options: levelOptions, 10560 onChange: (newLevel) => setAttributes({ level: newLevel }) 10561 } 10562 ) 10563 ] }); 10564 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 10565 external_wp_components_namespaceObject.__experimentalToolsPanel, 10566 { 10567 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 10568 resetAll: () => { 10569 setAttributes({ 10570 showPostTitle: true, 10571 showCommentsCount: true 10572 }); 10573 }, 10574 dropdownMenuProps, 10575 children: [ 10576 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10577 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 10578 { 10579 label: (0,external_wp_i18n_namespaceObject.__)("Show post title"), 10580 isShownByDefault: true, 10581 hasValue: () => !showPostTitle, 10582 onDeselect: () => setAttributes({ showPostTitle: true }), 10583 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10584 external_wp_components_namespaceObject.ToggleControl, 10585 { 10586 __nextHasNoMarginBottom: true, 10587 label: (0,external_wp_i18n_namespaceObject.__)("Show post title"), 10588 checked: showPostTitle, 10589 onChange: (value) => setAttributes({ showPostTitle: value }) 10590 } 10591 ) 10592 } 10593 ), 10594 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10595 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 10596 { 10597 label: (0,external_wp_i18n_namespaceObject.__)("Show comments count"), 10598 isShownByDefault: true, 10599 hasValue: () => !showCommentsCount, 10600 onDeselect: () => setAttributes({ showCommentsCount: true }), 10601 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 10602 external_wp_components_namespaceObject.ToggleControl, 10603 { 10604 __nextHasNoMarginBottom: true, 10605 label: (0,external_wp_i18n_namespaceObject.__)("Show comments count"), 10606 checked: showCommentsCount, 10607 onChange: (value) => setAttributes({ showCommentsCount: value }) 10608 } 10609 ) 10610 } 10611 ) 10612 ] 10613 } 10614 ) }); 10615 const postTitle = isSiteEditor ? (0,external_wp_i18n_namespaceObject.__)("\u201CPost Title\u201D") : `"$rawTitle}"`; 10616 let placeholder; 10617 if (showCommentsCount && commentsCount !== void 0) { 10618 if (showPostTitle) { 10619 if (commentsCount === 1) { 10620 placeholder = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("One response to %s"), postTitle); 10621 } else { 10622 placeholder = (0,external_wp_i18n_namespaceObject.sprintf)( 10623 /* translators: 1: Number of comments, 2: Post title. */ 10624 (0,external_wp_i18n_namespaceObject._n)( 10625 "%1$s response to %2$s", 10626 "%1$s responses to %2$s", 10627 commentsCount 10628 ), 10629 commentsCount, 10630 postTitle 10631 ); 10632 } 10633 } else if (commentsCount === 1) { 10634 placeholder = (0,external_wp_i18n_namespaceObject.__)("One response"); 10635 } else { 10636 placeholder = (0,external_wp_i18n_namespaceObject.sprintf)( 10637 /* translators: %s: Number of comments. */ 10638 (0,external_wp_i18n_namespaceObject._n)("%s response", "%s responses", commentsCount), 10639 commentsCount 10640 ); 10641 } 10642 } else if (showPostTitle) { 10643 if (commentsCount === 1) { 10644 placeholder = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("Response to %s"), postTitle); 10645 } else { 10646 placeholder = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("Responses to %s"), postTitle); 10647 } 10648 } else if (commentsCount === 1) { 10649 placeholder = (0,external_wp_i18n_namespaceObject.__)("Response"); 10650 } else { 10651 placeholder = (0,external_wp_i18n_namespaceObject.__)("Responses"); 10652 } 10653 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 10654 blockControls, 10655 inspectorControls, 10656 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: placeholder }) 10657 ] }); 10658 } 10659 10660 10661 ;// ./node_modules/@wordpress/block-library/build-module/comments-title/deprecated.js 10662 10663 const { attributes, supports } = comments_title_block_namespaceObject; 10664 var comments_title_deprecated_deprecated_default = [ 10665 { 10666 attributes: { 10667 ...attributes, 10668 singleCommentLabel: { 10669 type: "string" 10670 }, 10671 multipleCommentsLabel: { 10672 type: "string" 10673 } 10674 }, 10675 supports, 10676 migrate: (oldAttributes) => { 10677 const { 10678 singleCommentLabel, 10679 multipleCommentsLabel, 10680 ...newAttributes 10681 } = oldAttributes; 10682 return newAttributes; 10683 }, 10684 isEligible: ({ multipleCommentsLabel, singleCommentLabel }) => multipleCommentsLabel || singleCommentLabel, 10685 save: () => null 10686 } 10687 ]; 10688 10689 10690 ;// ./node_modules/@wordpress/block-library/build-module/comments-title/index.js 10691 10692 10693 10694 10695 10696 const { name: comments_title_name } = comments_title_block_namespaceObject; 10697 const comments_title_settings = { 10698 icon: title_default, 10699 edit: comments_title_edit_Edit, 10700 deprecated: comments_title_deprecated_deprecated_default, 10701 example: {} 10702 }; 10703 const comments_title_init = () => initBlock({ name: comments_title_name, metadata: comments_title_block_namespaceObject, settings: comments_title_settings }); 10704 10705 10706 ;// ./node_modules/@wordpress/icons/build-module/library/cover.js 10707 10708 10709 var cover_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z" }) }); 10710 10711 10712 ;// ./node_modules/@wordpress/block-library/build-module/cover/shared.js 10713 10714 const POSITION_CLASSNAMES = { 10715 "top left": "is-position-top-left", 10716 "top center": "is-position-top-center", 10717 "top right": "is-position-top-right", 10718 "center left": "is-position-center-left", 10719 "center center": "is-position-center-center", 10720 center: "is-position-center-center", 10721 "center right": "is-position-center-right", 10722 "bottom left": "is-position-bottom-left", 10723 "bottom center": "is-position-bottom-center", 10724 "bottom right": "is-position-bottom-right" 10725 }; 10726 const IMAGE_BACKGROUND_TYPE = "image"; 10727 const VIDEO_BACKGROUND_TYPE = "video"; 10728 const COVER_MIN_HEIGHT = 50; 10729 const COVER_MAX_HEIGHT = 1e3; 10730 const COVER_DEFAULT_HEIGHT = 300; 10731 const DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 }; 10732 const shared_ALLOWED_MEDIA_TYPES = ["image", "video"]; 10733 function mediaPosition({ x, y } = DEFAULT_FOCAL_POINT) { 10734 return `$Math.round(x * 100)}% $Math.round(y * 100)}%`; 10735 } 10736 function dimRatioToClass(ratio) { 10737 return ratio === 50 || ratio === void 0 ? null : "has-background-dim-" + 10 * Math.round(ratio / 10); 10738 } 10739 function attributesFromMedia(media) { 10740 if (!media || !media.url && !media.src) { 10741 return { 10742 url: void 0, 10743 id: void 0 10744 }; 10745 } 10746 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { 10747 media.type = (0,external_wp_blob_namespaceObject.getBlobTypeByURL)(media.url); 10748 } 10749 let mediaType; 10750 if (media.media_type) { 10751 if (media.media_type === IMAGE_BACKGROUND_TYPE) { 10752 mediaType = IMAGE_BACKGROUND_TYPE; 10753 } else { 10754 mediaType = VIDEO_BACKGROUND_TYPE; 10755 } 10756 } else if (media.type && (media.type === IMAGE_BACKGROUND_TYPE || media.type === VIDEO_BACKGROUND_TYPE)) { 10757 mediaType = media.type; 10758 } else { 10759 return; 10760 } 10761 return { 10762 url: media.url || media.src, 10763 id: media.id, 10764 alt: media?.alt, 10765 backgroundType: mediaType, 10766 ...mediaType === VIDEO_BACKGROUND_TYPE ? { hasParallax: void 0 } : {} 10767 }; 10768 } 10769 function isContentPositionCenter(contentPosition) { 10770 return !contentPosition || contentPosition === "center center" || contentPosition === "center"; 10771 } 10772 function getPositionClassName(contentPosition) { 10773 if (isContentPositionCenter(contentPosition)) { 10774 return ""; 10775 } 10776 return POSITION_CLASSNAMES[contentPosition]; 10777 } 10778 10779 10780 ;// ./node_modules/@wordpress/block-library/build-module/cover/deprecated.js 10781 10782 10783 10784 10785 10786 10787 10788 function backgroundImageStyles(url) { 10789 return url ? { backgroundImage: `url($url})` } : {}; 10790 } 10791 function dimRatioToClassV1(ratio) { 10792 return ratio === 0 || ratio === 50 || !ratio ? null : "has-background-dim-" + 10 * Math.round(ratio / 10); 10793 } 10794 function migrateDimRatio(attributes) { 10795 return { 10796 ...attributes, 10797 dimRatio: !attributes.url ? 100 : attributes.dimRatio 10798 }; 10799 } 10800 function migrateTag(attributes) { 10801 if (!attributes.tagName) { 10802 attributes = { 10803 ...attributes, 10804 tagName: "div" 10805 }; 10806 } 10807 return { 10808 ...attributes 10809 }; 10810 } 10811 const deprecated_blockAttributes = { 10812 url: { 10813 type: "string" 10814 }, 10815 id: { 10816 type: "number" 10817 }, 10818 hasParallax: { 10819 type: "boolean", 10820 default: false 10821 }, 10822 dimRatio: { 10823 type: "number", 10824 default: 50 10825 }, 10826 overlayColor: { 10827 type: "string" 10828 }, 10829 customOverlayColor: { 10830 type: "string" 10831 }, 10832 backgroundType: { 10833 type: "string", 10834 default: "image" 10835 }, 10836 focalPoint: { 10837 type: "object" 10838 } 10839 }; 10840 const v8ToV11BlockAttributes = { 10841 url: { 10842 type: "string" 10843 }, 10844 id: { 10845 type: "number" 10846 }, 10847 alt: { 10848 type: "string", 10849 source: "attribute", 10850 selector: "img", 10851 attribute: "alt", 10852 default: "" 10853 }, 10854 hasParallax: { 10855 type: "boolean", 10856 default: false 10857 }, 10858 isRepeated: { 10859 type: "boolean", 10860 default: false 10861 }, 10862 dimRatio: { 10863 type: "number", 10864 default: 100 10865 }, 10866 overlayColor: { 10867 type: "string" 10868 }, 10869 customOverlayColor: { 10870 type: "string" 10871 }, 10872 backgroundType: { 10873 type: "string", 10874 default: "image" 10875 }, 10876 focalPoint: { 10877 type: "object" 10878 }, 10879 minHeight: { 10880 type: "number" 10881 }, 10882 minHeightUnit: { 10883 type: "string" 10884 }, 10885 gradient: { 10886 type: "string" 10887 }, 10888 customGradient: { 10889 type: "string" 10890 }, 10891 contentPosition: { 10892 type: "string" 10893 }, 10894 isDark: { 10895 type: "boolean", 10896 default: true 10897 }, 10898 allowedBlocks: { 10899 type: "array" 10900 }, 10901 templateLock: { 10902 type: ["string", "boolean"], 10903 enum: ["all", "insert", false] 10904 } 10905 }; 10906 const v12toV13BlockAttributes = { 10907 ...v8ToV11BlockAttributes, 10908 useFeaturedImage: { 10909 type: "boolean", 10910 default: false 10911 }, 10912 tagName: { 10913 type: "string", 10914 default: "div" 10915 } 10916 }; 10917 const v14BlockAttributes = { 10918 ...v12toV13BlockAttributes, 10919 isUserOverlayColor: { 10920 type: "boolean" 10921 }, 10922 sizeSlug: { 10923 type: "string" 10924 }, 10925 alt: { 10926 type: "string", 10927 default: "" 10928 } 10929 }; 10930 const v7toV11BlockSupports = { 10931 anchor: true, 10932 align: true, 10933 html: false, 10934 spacing: { 10935 padding: true, 10936 __experimentalDefaultControls: { 10937 padding: true 10938 } 10939 }, 10940 color: { 10941 __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background", 10942 text: false, 10943 background: false 10944 } 10945 }; 10946 const v12BlockSupports = { 10947 ...v7toV11BlockSupports, 10948 spacing: { 10949 padding: true, 10950 margin: ["top", "bottom"], 10951 blockGap: true, 10952 __experimentalDefaultControls: { 10953 padding: true, 10954 blockGap: true 10955 } 10956 }, 10957 __experimentalBorder: { 10958 color: true, 10959 radius: true, 10960 style: true, 10961 width: true, 10962 __experimentalDefaultControls: { 10963 color: true, 10964 radius: true, 10965 style: true, 10966 width: true 10967 } 10968 }, 10969 color: { 10970 __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background", 10971 heading: true, 10972 text: true, 10973 background: false, 10974 __experimentalSkipSerialization: ["gradients"], 10975 enableContrastChecker: false 10976 }, 10977 typography: { 10978 fontSize: true, 10979 lineHeight: true, 10980 __experimentalFontFamily: true, 10981 __experimentalFontWeight: true, 10982 __experimentalFontStyle: true, 10983 __experimentalTextTransform: true, 10984 __experimentalTextDecoration: true, 10985 __experimentalLetterSpacing: true, 10986 __experimentalDefaultControls: { 10987 fontSize: true 10988 } 10989 }, 10990 layout: { 10991 allowJustification: false 10992 } 10993 }; 10994 const v14BlockSupports = { 10995 ...v12BlockSupports, 10996 shadow: true, 10997 dimensions: { 10998 aspectRatio: true 10999 }, 11000 interactivity: { 11001 clientNavigation: true 11002 } 11003 }; 11004 const v14 = { 11005 attributes: v14BlockAttributes, 11006 supports: v14BlockSupports, 11007 save({ attributes }) { 11008 const { 11009 backgroundType, 11010 gradient, 11011 contentPosition, 11012 customGradient, 11013 customOverlayColor, 11014 dimRatio, 11015 focalPoint, 11016 useFeaturedImage, 11017 hasParallax, 11018 isDark, 11019 isRepeated, 11020 overlayColor, 11021 url, 11022 alt, 11023 id, 11024 minHeight: minHeightProp, 11025 minHeightUnit, 11026 tagName: Tag, 11027 sizeSlug 11028 } = attributes; 11029 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11030 "background-color", 11031 overlayColor 11032 ); 11033 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11034 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11035 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11036 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11037 const isImgElement = !(hasParallax || isRepeated); 11038 const style = { 11039 minHeight: minHeight || void 0 11040 }; 11041 const bgStyle = { 11042 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11043 background: customGradient ? customGradient : void 0 11044 }; 11045 const objectPosition = ( 11046 // prettier-ignore 11047 focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 11048 ); 11049 const backgroundImage = url ? `url($url})` : void 0; 11050 const backgroundPosition = mediaPosition(focalPoint); 11051 const classes = dist_clsx( 11052 { 11053 "is-light": !isDark, 11054 "has-parallax": hasParallax, 11055 "is-repeated": isRepeated, 11056 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11057 }, 11058 getPositionClassName(contentPosition) 11059 ); 11060 const imgClasses = dist_clsx( 11061 "wp-block-cover__image-background", 11062 id ? `wp-image-$id}` : null, 11063 { 11064 [`size-$sizeSlug}`]: sizeSlug, 11065 "has-parallax": hasParallax, 11066 "is-repeated": isRepeated 11067 } 11068 ); 11069 const gradientValue = gradient || customGradient; 11070 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11071 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11072 "span", 11073 { 11074 "aria-hidden": "true", 11075 className: dist_clsx( 11076 "wp-block-cover__background", 11077 overlayColorClass, 11078 dimRatioToClass(dimRatio), 11079 { 11080 "has-background-dim": dimRatio !== void 0, 11081 // For backwards compatibility. Former versions of the Cover Block applied 11082 // `.wp-block-cover__gradient-background` in the presence of 11083 // media, a gradient and a dim. 11084 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11085 "has-background-gradient": gradientValue, 11086 [gradientClass]: gradientClass 11087 } 11088 ), 11089 style: bgStyle 11090 } 11091 ), 11092 !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11093 "img", 11094 { 11095 className: imgClasses, 11096 alt, 11097 src: url, 11098 style: { objectPosition }, 11099 "data-object-fit": "cover", 11100 "data-object-position": objectPosition 11101 } 11102 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11103 "div", 11104 { 11105 role: alt ? "img" : void 0, 11106 "aria-label": alt ? alt : void 0, 11107 className: imgClasses, 11108 style: { backgroundPosition, backgroundImage } 11109 } 11110 )), 11111 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11112 "video", 11113 { 11114 className: dist_clsx( 11115 "wp-block-cover__video-background", 11116 "intrinsic-ignore" 11117 ), 11118 autoPlay: true, 11119 muted: true, 11120 loop: true, 11121 playsInline: true, 11122 src: url, 11123 style: { objectPosition }, 11124 "data-object-fit": "cover", 11125 "data-object-position": objectPosition 11126 } 11127 ), 11128 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11129 "div", 11130 { 11131 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11132 className: "wp-block-cover__inner-container" 11133 }) 11134 } 11135 ) 11136 ] }); 11137 } 11138 }; 11139 const v13 = { 11140 attributes: v12toV13BlockAttributes, 11141 supports: v12BlockSupports, 11142 save({ attributes }) { 11143 const { 11144 backgroundType, 11145 gradient, 11146 contentPosition, 11147 customGradient, 11148 customOverlayColor, 11149 dimRatio, 11150 focalPoint, 11151 useFeaturedImage, 11152 hasParallax, 11153 isDark, 11154 isRepeated, 11155 overlayColor, 11156 url, 11157 alt, 11158 id, 11159 minHeight: minHeightProp, 11160 minHeightUnit, 11161 tagName: Tag 11162 } = attributes; 11163 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11164 "background-color", 11165 overlayColor 11166 ); 11167 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11168 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11169 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11170 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11171 const isImgElement = !(hasParallax || isRepeated); 11172 const style = { 11173 minHeight: minHeight || void 0 11174 }; 11175 const bgStyle = { 11176 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11177 background: customGradient ? customGradient : void 0 11178 }; 11179 const objectPosition = ( 11180 // prettier-ignore 11181 focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 11182 ); 11183 const backgroundImage = url ? `url($url})` : void 0; 11184 const backgroundPosition = mediaPosition(focalPoint); 11185 const classes = dist_clsx( 11186 { 11187 "is-light": !isDark, 11188 "has-parallax": hasParallax, 11189 "is-repeated": isRepeated, 11190 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11191 }, 11192 getPositionClassName(contentPosition) 11193 ); 11194 const imgClasses = dist_clsx( 11195 "wp-block-cover__image-background", 11196 id ? `wp-image-$id}` : null, 11197 { 11198 "has-parallax": hasParallax, 11199 "is-repeated": isRepeated 11200 } 11201 ); 11202 const gradientValue = gradient || customGradient; 11203 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11204 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11205 "span", 11206 { 11207 "aria-hidden": "true", 11208 className: dist_clsx( 11209 "wp-block-cover__background", 11210 overlayColorClass, 11211 dimRatioToClass(dimRatio), 11212 { 11213 "has-background-dim": dimRatio !== void 0, 11214 // For backwards compatibility. Former versions of the Cover Block applied 11215 // `.wp-block-cover__gradient-background` in the presence of 11216 // media, a gradient and a dim. 11217 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11218 "has-background-gradient": gradientValue, 11219 [gradientClass]: gradientClass 11220 } 11221 ), 11222 style: bgStyle 11223 } 11224 ), 11225 !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11226 "img", 11227 { 11228 className: imgClasses, 11229 alt, 11230 src: url, 11231 style: { objectPosition }, 11232 "data-object-fit": "cover", 11233 "data-object-position": objectPosition 11234 } 11235 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11236 "div", 11237 { 11238 role: "img", 11239 className: imgClasses, 11240 style: { backgroundPosition, backgroundImage } 11241 } 11242 )), 11243 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11244 "video", 11245 { 11246 className: dist_clsx( 11247 "wp-block-cover__video-background", 11248 "intrinsic-ignore" 11249 ), 11250 autoPlay: true, 11251 muted: true, 11252 loop: true, 11253 playsInline: true, 11254 src: url, 11255 style: { objectPosition }, 11256 "data-object-fit": "cover", 11257 "data-object-position": objectPosition 11258 } 11259 ), 11260 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11261 "div", 11262 { 11263 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11264 className: "wp-block-cover__inner-container" 11265 }) 11266 } 11267 ) 11268 ] }); 11269 } 11270 }; 11271 const deprecated_v12 = { 11272 attributes: v12toV13BlockAttributes, 11273 supports: v12BlockSupports, 11274 isEligible(attributes) { 11275 return (attributes.customOverlayColor !== void 0 || attributes.overlayColor !== void 0) && attributes.isUserOverlayColor === void 0; 11276 }, 11277 migrate(attributes) { 11278 return { 11279 ...attributes, 11280 isUserOverlayColor: true 11281 }; 11282 }, 11283 save({ attributes }) { 11284 const { 11285 backgroundType, 11286 gradient, 11287 contentPosition, 11288 customGradient, 11289 customOverlayColor, 11290 dimRatio, 11291 focalPoint, 11292 useFeaturedImage, 11293 hasParallax, 11294 isDark, 11295 isRepeated, 11296 overlayColor, 11297 url, 11298 alt, 11299 id, 11300 minHeight: minHeightProp, 11301 minHeightUnit, 11302 tagName: Tag 11303 } = attributes; 11304 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11305 "background-color", 11306 overlayColor 11307 ); 11308 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11309 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11310 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11311 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11312 const isImgElement = !(hasParallax || isRepeated); 11313 const style = { 11314 minHeight: minHeight || void 0 11315 }; 11316 const bgStyle = { 11317 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11318 background: customGradient ? customGradient : void 0 11319 }; 11320 const objectPosition = ( 11321 // prettier-ignore 11322 focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 11323 ); 11324 const backgroundImage = url ? `url($url})` : void 0; 11325 const backgroundPosition = mediaPosition(focalPoint); 11326 const classes = dist_clsx( 11327 { 11328 "is-light": !isDark, 11329 "has-parallax": hasParallax, 11330 "is-repeated": isRepeated, 11331 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11332 }, 11333 getPositionClassName(contentPosition) 11334 ); 11335 const imgClasses = dist_clsx( 11336 "wp-block-cover__image-background", 11337 id ? `wp-image-$id}` : null, 11338 { 11339 "has-parallax": hasParallax, 11340 "is-repeated": isRepeated 11341 } 11342 ); 11343 const gradientValue = gradient || customGradient; 11344 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11345 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11346 "span", 11347 { 11348 "aria-hidden": "true", 11349 className: dist_clsx( 11350 "wp-block-cover__background", 11351 overlayColorClass, 11352 dimRatioToClass(dimRatio), 11353 { 11354 "has-background-dim": dimRatio !== void 0, 11355 // For backwards compatibility. Former versions of the Cover Block applied 11356 // `.wp-block-cover__gradient-background` in the presence of 11357 // media, a gradient and a dim. 11358 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11359 "has-background-gradient": gradientValue, 11360 [gradientClass]: gradientClass 11361 } 11362 ), 11363 style: bgStyle 11364 } 11365 ), 11366 !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11367 "img", 11368 { 11369 className: imgClasses, 11370 alt, 11371 src: url, 11372 style: { objectPosition }, 11373 "data-object-fit": "cover", 11374 "data-object-position": objectPosition 11375 } 11376 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11377 "div", 11378 { 11379 role: "img", 11380 className: imgClasses, 11381 style: { backgroundPosition, backgroundImage } 11382 } 11383 )), 11384 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11385 "video", 11386 { 11387 className: dist_clsx( 11388 "wp-block-cover__video-background", 11389 "intrinsic-ignore" 11390 ), 11391 autoPlay: true, 11392 muted: true, 11393 loop: true, 11394 playsInline: true, 11395 src: url, 11396 style: { objectPosition }, 11397 "data-object-fit": "cover", 11398 "data-object-position": objectPosition 11399 } 11400 ), 11401 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11402 "div", 11403 { 11404 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11405 className: "wp-block-cover__inner-container" 11406 }) 11407 } 11408 ) 11409 ] }); 11410 } 11411 }; 11412 const deprecated_v11 = { 11413 attributes: v8ToV11BlockAttributes, 11414 supports: v7toV11BlockSupports, 11415 save({ attributes }) { 11416 const { 11417 backgroundType, 11418 gradient, 11419 contentPosition, 11420 customGradient, 11421 customOverlayColor, 11422 dimRatio, 11423 focalPoint, 11424 useFeaturedImage, 11425 hasParallax, 11426 isDark, 11427 isRepeated, 11428 overlayColor, 11429 url, 11430 alt, 11431 id, 11432 minHeight: minHeightProp, 11433 minHeightUnit 11434 } = attributes; 11435 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11436 "background-color", 11437 overlayColor 11438 ); 11439 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11440 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11441 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11442 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11443 const isImgElement = !(hasParallax || isRepeated); 11444 const style = { 11445 minHeight: minHeight || void 0 11446 }; 11447 const bgStyle = { 11448 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11449 background: customGradient ? customGradient : void 0 11450 }; 11451 const objectPosition = ( 11452 // prettier-ignore 11453 focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 11454 ); 11455 const backgroundImage = url ? `url($url})` : void 0; 11456 const backgroundPosition = mediaPosition(focalPoint); 11457 const classes = dist_clsx( 11458 { 11459 "is-light": !isDark, 11460 "has-parallax": hasParallax, 11461 "is-repeated": isRepeated, 11462 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11463 }, 11464 getPositionClassName(contentPosition) 11465 ); 11466 const imgClasses = dist_clsx( 11467 "wp-block-cover__image-background", 11468 id ? `wp-image-$id}` : null, 11469 { 11470 "has-parallax": hasParallax, 11471 "is-repeated": isRepeated 11472 } 11473 ); 11474 const gradientValue = gradient || customGradient; 11475 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11476 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11477 "span", 11478 { 11479 "aria-hidden": "true", 11480 className: dist_clsx( 11481 "wp-block-cover__background", 11482 overlayColorClass, 11483 dimRatioToClass(dimRatio), 11484 { 11485 "has-background-dim": dimRatio !== void 0, 11486 // For backwards compatibility. Former versions of the Cover Block applied 11487 // `.wp-block-cover__gradient-background` in the presence of 11488 // media, a gradient and a dim. 11489 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11490 "has-background-gradient": gradientValue, 11491 [gradientClass]: gradientClass 11492 } 11493 ), 11494 style: bgStyle 11495 } 11496 ), 11497 !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11498 "img", 11499 { 11500 className: imgClasses, 11501 alt, 11502 src: url, 11503 style: { objectPosition }, 11504 "data-object-fit": "cover", 11505 "data-object-position": objectPosition 11506 } 11507 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11508 "div", 11509 { 11510 role: "img", 11511 className: imgClasses, 11512 style: { backgroundPosition, backgroundImage } 11513 } 11514 )), 11515 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11516 "video", 11517 { 11518 className: dist_clsx( 11519 "wp-block-cover__video-background", 11520 "intrinsic-ignore" 11521 ), 11522 autoPlay: true, 11523 muted: true, 11524 loop: true, 11525 playsInline: true, 11526 src: url, 11527 style: { objectPosition }, 11528 "data-object-fit": "cover", 11529 "data-object-position": objectPosition 11530 } 11531 ), 11532 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11533 "div", 11534 { 11535 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11536 className: "wp-block-cover__inner-container" 11537 }) 11538 } 11539 ) 11540 ] }); 11541 }, 11542 migrate: migrateTag 11543 }; 11544 const deprecated_v10 = { 11545 attributes: v8ToV11BlockAttributes, 11546 supports: v7toV11BlockSupports, 11547 save({ attributes }) { 11548 const { 11549 backgroundType, 11550 gradient, 11551 contentPosition, 11552 customGradient, 11553 customOverlayColor, 11554 dimRatio, 11555 focalPoint, 11556 useFeaturedImage, 11557 hasParallax, 11558 isDark, 11559 isRepeated, 11560 overlayColor, 11561 url, 11562 alt, 11563 id, 11564 minHeight: minHeightProp, 11565 minHeightUnit 11566 } = attributes; 11567 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11568 "background-color", 11569 overlayColor 11570 ); 11571 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11572 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11573 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11574 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11575 const isImgElement = !(hasParallax || isRepeated); 11576 const style = { 11577 ...isImageBackground && !isImgElement && !useFeaturedImage ? backgroundImageStyles(url) : {}, 11578 minHeight: minHeight || void 0 11579 }; 11580 const bgStyle = { 11581 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11582 background: customGradient ? customGradient : void 0 11583 }; 11584 const objectPosition = ( 11585 // prettier-ignore 11586 focalPoint && isImgElement ? `$Math.round(focalPoint.x * 100)}% $Math.round(focalPoint.y * 100)}%` : void 0 11587 ); 11588 const classes = dist_clsx( 11589 { 11590 "is-light": !isDark, 11591 "has-parallax": hasParallax, 11592 "is-repeated": isRepeated, 11593 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11594 }, 11595 getPositionClassName(contentPosition) 11596 ); 11597 const gradientValue = gradient || customGradient; 11598 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11599 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11600 "span", 11601 { 11602 "aria-hidden": "true", 11603 className: dist_clsx( 11604 "wp-block-cover__background", 11605 overlayColorClass, 11606 dimRatioToClass(dimRatio), 11607 { 11608 "has-background-dim": dimRatio !== void 0, 11609 // For backwards compatibility. Former versions of the Cover Block applied 11610 // `.wp-block-cover__gradient-background` in the presence of 11611 // media, a gradient and a dim. 11612 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11613 "has-background-gradient": gradientValue, 11614 [gradientClass]: gradientClass 11615 } 11616 ), 11617 style: bgStyle 11618 } 11619 ), 11620 !useFeaturedImage && isImageBackground && isImgElement && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11621 "img", 11622 { 11623 className: dist_clsx( 11624 "wp-block-cover__image-background", 11625 id ? `wp-image-$id}` : null 11626 ), 11627 alt, 11628 src: url, 11629 style: { objectPosition }, 11630 "data-object-fit": "cover", 11631 "data-object-position": objectPosition 11632 } 11633 ), 11634 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11635 "video", 11636 { 11637 className: dist_clsx( 11638 "wp-block-cover__video-background", 11639 "intrinsic-ignore" 11640 ), 11641 autoPlay: true, 11642 muted: true, 11643 loop: true, 11644 playsInline: true, 11645 src: url, 11646 style: { objectPosition }, 11647 "data-object-fit": "cover", 11648 "data-object-position": objectPosition 11649 } 11650 ), 11651 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11652 "div", 11653 { 11654 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11655 className: "wp-block-cover__inner-container" 11656 }) 11657 } 11658 ) 11659 ] }); 11660 }, 11661 migrate: migrateTag 11662 }; 11663 const v9 = { 11664 attributes: v8ToV11BlockAttributes, 11665 supports: v7toV11BlockSupports, 11666 save({ attributes }) { 11667 const { 11668 backgroundType, 11669 gradient, 11670 contentPosition, 11671 customGradient, 11672 customOverlayColor, 11673 dimRatio, 11674 focalPoint, 11675 hasParallax, 11676 isDark, 11677 isRepeated, 11678 overlayColor, 11679 url, 11680 alt, 11681 id, 11682 minHeight: minHeightProp, 11683 minHeightUnit 11684 } = attributes; 11685 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11686 "background-color", 11687 overlayColor 11688 ); 11689 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11690 const minHeight = minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11691 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11692 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11693 const isImgElement = !(hasParallax || isRepeated); 11694 const style = { 11695 ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}, 11696 minHeight: minHeight || void 0 11697 }; 11698 const bgStyle = { 11699 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11700 background: customGradient ? customGradient : void 0 11701 }; 11702 const objectPosition = ( 11703 // prettier-ignore 11704 focalPoint && isImgElement ? `$Math.round(focalPoint.x * 100)}% $Math.round(focalPoint.y * 100)}%` : void 0 11705 ); 11706 const classes = dist_clsx( 11707 { 11708 "is-light": !isDark, 11709 "has-parallax": hasParallax, 11710 "is-repeated": isRepeated, 11711 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11712 }, 11713 getPositionClassName(contentPosition) 11714 ); 11715 const gradientValue = gradient || customGradient; 11716 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11717 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11718 "span", 11719 { 11720 "aria-hidden": "true", 11721 className: dist_clsx( 11722 "wp-block-cover__background", 11723 overlayColorClass, 11724 dimRatioToClass(dimRatio), 11725 { 11726 "has-background-dim": dimRatio !== void 0, 11727 // For backwards compatibility. Former versions of the Cover Block applied 11728 // `.wp-block-cover__gradient-background` in the presence of 11729 // media, a gradient and a dim. 11730 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 11731 "has-background-gradient": gradientValue, 11732 [gradientClass]: gradientClass 11733 } 11734 ), 11735 style: bgStyle 11736 } 11737 ), 11738 isImageBackground && isImgElement && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11739 "img", 11740 { 11741 className: dist_clsx( 11742 "wp-block-cover__image-background", 11743 id ? `wp-image-$id}` : null 11744 ), 11745 alt, 11746 src: url, 11747 style: { objectPosition }, 11748 "data-object-fit": "cover", 11749 "data-object-position": objectPosition 11750 } 11751 ), 11752 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11753 "video", 11754 { 11755 className: dist_clsx( 11756 "wp-block-cover__video-background", 11757 "intrinsic-ignore" 11758 ), 11759 autoPlay: true, 11760 muted: true, 11761 loop: true, 11762 playsInline: true, 11763 src: url, 11764 style: { objectPosition }, 11765 "data-object-fit": "cover", 11766 "data-object-position": objectPosition 11767 } 11768 ), 11769 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11770 "div", 11771 { 11772 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11773 className: "wp-block-cover__inner-container" 11774 }) 11775 } 11776 ) 11777 ] }); 11778 }, 11779 migrate: migrateTag 11780 }; 11781 const v8 = { 11782 attributes: v8ToV11BlockAttributes, 11783 supports: v7toV11BlockSupports, 11784 save({ attributes }) { 11785 const { 11786 backgroundType, 11787 gradient, 11788 contentPosition, 11789 customGradient, 11790 customOverlayColor, 11791 dimRatio, 11792 focalPoint, 11793 hasParallax, 11794 isDark, 11795 isRepeated, 11796 overlayColor, 11797 url, 11798 alt, 11799 id, 11800 minHeight: minHeightProp, 11801 minHeightUnit 11802 } = attributes; 11803 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11804 "background-color", 11805 overlayColor 11806 ); 11807 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11808 const minHeight = minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11809 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11810 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11811 const isImgElement = !(hasParallax || isRepeated); 11812 const style = { 11813 ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}, 11814 minHeight: minHeight || void 0 11815 }; 11816 const bgStyle = { 11817 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11818 background: customGradient ? customGradient : void 0 11819 }; 11820 const objectPosition = ( 11821 // prettier-ignore 11822 focalPoint && isImgElement ? `$Math.round(focalPoint.x * 100)}% $Math.round(focalPoint.y * 100)}%` : void 0 11823 ); 11824 const classes = dist_clsx( 11825 { 11826 "is-light": !isDark, 11827 "has-parallax": hasParallax, 11828 "is-repeated": isRepeated, 11829 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11830 }, 11831 getPositionClassName(contentPosition) 11832 ); 11833 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11834 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11835 "span", 11836 { 11837 "aria-hidden": "true", 11838 className: dist_clsx( 11839 overlayColorClass, 11840 dimRatioToClass(dimRatio), 11841 "wp-block-cover__gradient-background", 11842 gradientClass, 11843 { 11844 "has-background-dim": dimRatio !== void 0, 11845 "has-background-gradient": gradient || customGradient, 11846 [gradientClass]: !url && gradientClass 11847 } 11848 ), 11849 style: bgStyle 11850 } 11851 ), 11852 isImageBackground && isImgElement && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11853 "img", 11854 { 11855 className: dist_clsx( 11856 "wp-block-cover__image-background", 11857 id ? `wp-image-$id}` : null 11858 ), 11859 alt, 11860 src: url, 11861 style: { objectPosition }, 11862 "data-object-fit": "cover", 11863 "data-object-position": objectPosition 11864 } 11865 ), 11866 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11867 "video", 11868 { 11869 className: dist_clsx( 11870 "wp-block-cover__video-background", 11871 "intrinsic-ignore" 11872 ), 11873 autoPlay: true, 11874 muted: true, 11875 loop: true, 11876 playsInline: true, 11877 src: url, 11878 style: { objectPosition }, 11879 "data-object-fit": "cover", 11880 "data-object-position": objectPosition 11881 } 11882 ), 11883 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11884 "div", 11885 { 11886 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 11887 className: "wp-block-cover__inner-container" 11888 }) 11889 } 11890 ) 11891 ] }); 11892 }, 11893 migrate: migrateTag 11894 }; 11895 const v7 = { 11896 attributes: { 11897 ...deprecated_blockAttributes, 11898 isRepeated: { 11899 type: "boolean", 11900 default: false 11901 }, 11902 minHeight: { 11903 type: "number" 11904 }, 11905 minHeightUnit: { 11906 type: "string" 11907 }, 11908 gradient: { 11909 type: "string" 11910 }, 11911 customGradient: { 11912 type: "string" 11913 }, 11914 contentPosition: { 11915 type: "string" 11916 }, 11917 alt: { 11918 type: "string", 11919 source: "attribute", 11920 selector: "img", 11921 attribute: "alt", 11922 default: "" 11923 } 11924 }, 11925 supports: v7toV11BlockSupports, 11926 save({ attributes }) { 11927 const { 11928 backgroundType, 11929 gradient, 11930 contentPosition, 11931 customGradient, 11932 customOverlayColor, 11933 dimRatio, 11934 focalPoint, 11935 hasParallax, 11936 isRepeated, 11937 overlayColor, 11938 url, 11939 alt, 11940 id, 11941 minHeight: minHeightProp, 11942 minHeightUnit 11943 } = attributes; 11944 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 11945 "background-color", 11946 overlayColor 11947 ); 11948 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 11949 const minHeight = minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 11950 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 11951 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 11952 const isImgElement = !(hasParallax || isRepeated); 11953 const style = { 11954 ...isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}, 11955 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 11956 background: customGradient && !url ? customGradient : void 0, 11957 minHeight: minHeight || void 0 11958 }; 11959 const objectPosition = ( 11960 // prettier-ignore 11961 focalPoint && isImgElement ? `$Math.round(focalPoint.x * 100)}% $Math.round(focalPoint.y * 100)}%` : void 0 11962 ); 11963 const classes = dist_clsx( 11964 dimRatioToClassV1(dimRatio), 11965 overlayColorClass, 11966 { 11967 "has-background-dim": dimRatio !== 0, 11968 "has-parallax": hasParallax, 11969 "is-repeated": isRepeated, 11970 "has-background-gradient": gradient || customGradient, 11971 [gradientClass]: !url && gradientClass, 11972 "has-custom-content-position": !isContentPositionCenter(contentPosition) 11973 }, 11974 getPositionClassName(contentPosition) 11975 ); 11976 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 11977 url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11978 "span", 11979 { 11980 "aria-hidden": "true", 11981 className: dist_clsx( 11982 "wp-block-cover__gradient-background", 11983 gradientClass 11984 ), 11985 style: customGradient ? { background: customGradient } : void 0 11986 } 11987 ), 11988 isImageBackground && isImgElement && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 11989 "img", 11990 { 11991 className: dist_clsx( 11992 "wp-block-cover__image-background", 11993 id ? `wp-image-$id}` : null 11994 ), 11995 alt, 11996 src: url, 11997 style: { objectPosition }, 11998 "data-object-fit": "cover", 11999 "data-object-position": objectPosition 12000 } 12001 ), 12002 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12003 "video", 12004 { 12005 className: dist_clsx( 12006 "wp-block-cover__video-background", 12007 "intrinsic-ignore" 12008 ), 12009 autoPlay: true, 12010 muted: true, 12011 loop: true, 12012 playsInline: true, 12013 src: url, 12014 style: { objectPosition }, 12015 "data-object-fit": "cover", 12016 "data-object-position": objectPosition 12017 } 12018 ), 12019 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 12020 ] }); 12021 }, 12022 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateDimRatio, migrateTag) 12023 }; 12024 const v6 = { 12025 attributes: { 12026 ...deprecated_blockAttributes, 12027 isRepeated: { 12028 type: "boolean", 12029 default: false 12030 }, 12031 minHeight: { 12032 type: "number" 12033 }, 12034 minHeightUnit: { 12035 type: "string" 12036 }, 12037 gradient: { 12038 type: "string" 12039 }, 12040 customGradient: { 12041 type: "string" 12042 }, 12043 contentPosition: { 12044 type: "string" 12045 } 12046 }, 12047 supports: { 12048 align: true 12049 }, 12050 save({ attributes }) { 12051 const { 12052 backgroundType, 12053 gradient, 12054 contentPosition, 12055 customGradient, 12056 customOverlayColor, 12057 dimRatio, 12058 focalPoint, 12059 hasParallax, 12060 isRepeated, 12061 overlayColor, 12062 url, 12063 minHeight: minHeightProp, 12064 minHeightUnit 12065 } = attributes; 12066 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 12067 "background-color", 12068 overlayColor 12069 ); 12070 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 12071 const minHeight = minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 12072 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 12073 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 12074 const style = isImageBackground ? backgroundImageStyles(url) : {}; 12075 const videoStyle = {}; 12076 if (!overlayColorClass) { 12077 style.backgroundColor = customOverlayColor; 12078 } 12079 if (customGradient && !url) { 12080 style.background = customGradient; 12081 } 12082 style.minHeight = minHeight || void 0; 12083 let positionValue; 12084 if (focalPoint) { 12085 positionValue = `$Math.round( 12086 focalPoint.x * 100 12087 )}% $Math.round(focalPoint.y * 100)}%`; 12088 if (isImageBackground && !hasParallax) { 12089 style.backgroundPosition = positionValue; 12090 } 12091 if (isVideoBackground) { 12092 videoStyle.objectPosition = positionValue; 12093 } 12094 } 12095 const classes = dist_clsx( 12096 dimRatioToClassV1(dimRatio), 12097 overlayColorClass, 12098 { 12099 "has-background-dim": dimRatio !== 0, 12100 "has-parallax": hasParallax, 12101 "is-repeated": isRepeated, 12102 "has-background-gradient": gradient || customGradient, 12103 [gradientClass]: !url && gradientClass, 12104 "has-custom-content-position": !isContentPositionCenter(contentPosition) 12105 }, 12106 getPositionClassName(contentPosition) 12107 ); 12108 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 12109 url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12110 "span", 12111 { 12112 "aria-hidden": "true", 12113 className: dist_clsx( 12114 "wp-block-cover__gradient-background", 12115 gradientClass 12116 ), 12117 style: customGradient ? { background: customGradient } : void 0 12118 } 12119 ), 12120 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12121 "video", 12122 { 12123 className: "wp-block-cover__video-background", 12124 autoPlay: true, 12125 muted: true, 12126 loop: true, 12127 playsInline: true, 12128 src: url, 12129 style: videoStyle 12130 } 12131 ), 12132 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 12133 ] }); 12134 }, 12135 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateDimRatio, migrateTag) 12136 }; 12137 const v5 = { 12138 attributes: { 12139 ...deprecated_blockAttributes, 12140 minHeight: { 12141 type: "number" 12142 }, 12143 gradient: { 12144 type: "string" 12145 }, 12146 customGradient: { 12147 type: "string" 12148 } 12149 }, 12150 supports: { 12151 align: true 12152 }, 12153 save({ attributes }) { 12154 const { 12155 backgroundType, 12156 gradient, 12157 customGradient, 12158 customOverlayColor, 12159 dimRatio, 12160 focalPoint, 12161 hasParallax, 12162 overlayColor, 12163 url, 12164 minHeight 12165 } = attributes; 12166 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 12167 "background-color", 12168 overlayColor 12169 ); 12170 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 12171 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 12172 if (!overlayColorClass) { 12173 style.backgroundColor = customOverlayColor; 12174 } 12175 if (focalPoint && !hasParallax) { 12176 style.backgroundPosition = `$Math.round( 12177 focalPoint.x * 100 12178 )}% $Math.round(focalPoint.y * 100)}%`; 12179 } 12180 if (customGradient && !url) { 12181 style.background = customGradient; 12182 } 12183 style.minHeight = minHeight || void 0; 12184 const classes = dist_clsx( 12185 dimRatioToClassV1(dimRatio), 12186 overlayColorClass, 12187 { 12188 "has-background-dim": dimRatio !== 0, 12189 "has-parallax": hasParallax, 12190 "has-background-gradient": customGradient, 12191 [gradientClass]: !url && gradientClass 12192 } 12193 ); 12194 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: classes, style, children: [ 12195 url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12196 "span", 12197 { 12198 "aria-hidden": "true", 12199 className: dist_clsx( 12200 "wp-block-cover__gradient-background", 12201 gradientClass 12202 ), 12203 style: customGradient ? { background: customGradient } : void 0 12204 } 12205 ), 12206 VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12207 "video", 12208 { 12209 className: "wp-block-cover__video-background", 12210 autoPlay: true, 12211 muted: true, 12212 loop: true, 12213 src: url 12214 } 12215 ), 12216 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 12217 ] }); 12218 }, 12219 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateDimRatio, migrateTag) 12220 }; 12221 const v4 = { 12222 attributes: { 12223 ...deprecated_blockAttributes, 12224 minHeight: { 12225 type: "number" 12226 }, 12227 gradient: { 12228 type: "string" 12229 }, 12230 customGradient: { 12231 type: "string" 12232 } 12233 }, 12234 supports: { 12235 align: true 12236 }, 12237 save({ attributes }) { 12238 const { 12239 backgroundType, 12240 gradient, 12241 customGradient, 12242 customOverlayColor, 12243 dimRatio, 12244 focalPoint, 12245 hasParallax, 12246 overlayColor, 12247 url, 12248 minHeight 12249 } = attributes; 12250 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 12251 "background-color", 12252 overlayColor 12253 ); 12254 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 12255 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 12256 if (!overlayColorClass) { 12257 style.backgroundColor = customOverlayColor; 12258 } 12259 if (focalPoint && !hasParallax) { 12260 style.backgroundPosition = `$focalPoint.x * 100}% $focalPoint.y * 100}%`; 12261 } 12262 if (customGradient && !url) { 12263 style.background = customGradient; 12264 } 12265 style.minHeight = minHeight || void 0; 12266 const classes = dist_clsx( 12267 dimRatioToClassV1(dimRatio), 12268 overlayColorClass, 12269 { 12270 "has-background-dim": dimRatio !== 0, 12271 "has-parallax": hasParallax, 12272 "has-background-gradient": customGradient, 12273 [gradientClass]: !url && gradientClass 12274 } 12275 ); 12276 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: classes, style, children: [ 12277 url && (gradient || customGradient) && dimRatio !== 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12278 "span", 12279 { 12280 "aria-hidden": "true", 12281 className: dist_clsx( 12282 "wp-block-cover__gradient-background", 12283 gradientClass 12284 ), 12285 style: customGradient ? { background: customGradient } : void 0 12286 } 12287 ), 12288 VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12289 "video", 12290 { 12291 className: "wp-block-cover__video-background", 12292 autoPlay: true, 12293 muted: true, 12294 loop: true, 12295 src: url 12296 } 12297 ), 12298 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-cover__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 12299 ] }); 12300 }, 12301 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateDimRatio, migrateTag) 12302 }; 12303 const v3 = { 12304 attributes: { 12305 ...deprecated_blockAttributes, 12306 title: { 12307 type: "string", 12308 source: "html", 12309 selector: "p" 12310 }, 12311 contentAlign: { 12312 type: "string", 12313 default: "center" 12314 } 12315 }, 12316 supports: { 12317 align: true 12318 }, 12319 save({ attributes }) { 12320 const { 12321 backgroundType, 12322 contentAlign, 12323 customOverlayColor, 12324 dimRatio, 12325 focalPoint, 12326 hasParallax, 12327 overlayColor, 12328 title, 12329 url 12330 } = attributes; 12331 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 12332 "background-color", 12333 overlayColor 12334 ); 12335 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 12336 if (!overlayColorClass) { 12337 style.backgroundColor = customOverlayColor; 12338 } 12339 if (focalPoint && !hasParallax) { 12340 style.backgroundPosition = `$focalPoint.x * 100}% $focalPoint.y * 100}%`; 12341 } 12342 const classes = dist_clsx( 12343 dimRatioToClassV1(dimRatio), 12344 overlayColorClass, 12345 { 12346 "has-background-dim": dimRatio !== 0, 12347 "has-parallax": hasParallax, 12348 [`has-$contentAlign}-content`]: contentAlign !== "center" 12349 } 12350 ); 12351 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: classes, style, children: [ 12352 VIDEO_BACKGROUND_TYPE === backgroundType && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12353 "video", 12354 { 12355 className: "wp-block-cover__video-background", 12356 autoPlay: true, 12357 muted: true, 12358 loop: true, 12359 src: url 12360 } 12361 ), 12362 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(title) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12363 external_wp_blockEditor_namespaceObject.RichText.Content, 12364 { 12365 tagName: "p", 12366 className: "wp-block-cover-text", 12367 value: title 12368 } 12369 ) 12370 ] }); 12371 }, 12372 migrate(attributes) { 12373 const newAttribs = { 12374 ...attributes, 12375 dimRatio: !attributes.url ? 100 : attributes.dimRatio, 12376 tagName: !attributes.tagName ? "div" : attributes.tagName 12377 }; 12378 const { title, contentAlign, ...restAttributes } = newAttribs; 12379 return [ 12380 restAttributes, 12381 [ 12382 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 12383 content: attributes.title, 12384 align: attributes.contentAlign, 12385 fontSize: "large", 12386 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write title\u2026") 12387 }) 12388 ] 12389 ]; 12390 } 12391 }; 12392 const v2 = { 12393 attributes: { 12394 ...deprecated_blockAttributes, 12395 title: { 12396 type: "string", 12397 source: "html", 12398 selector: "p" 12399 }, 12400 contentAlign: { 12401 type: "string", 12402 default: "center" 12403 }, 12404 align: { 12405 type: "string" 12406 } 12407 }, 12408 supports: { 12409 className: false 12410 }, 12411 save({ attributes }) { 12412 const { 12413 url, 12414 title, 12415 hasParallax, 12416 dimRatio, 12417 align, 12418 contentAlign, 12419 overlayColor, 12420 customOverlayColor 12421 } = attributes; 12422 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 12423 "background-color", 12424 overlayColor 12425 ); 12426 const style = backgroundImageStyles(url); 12427 if (!overlayColorClass) { 12428 style.backgroundColor = customOverlayColor; 12429 } 12430 const classes = dist_clsx( 12431 "wp-block-cover-image", 12432 dimRatioToClassV1(dimRatio), 12433 overlayColorClass, 12434 { 12435 "has-background-dim": dimRatio !== 0, 12436 "has-parallax": hasParallax, 12437 [`has-$contentAlign}-content`]: contentAlign !== "center" 12438 }, 12439 align ? `align$align}` : null 12440 ); 12441 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: classes, style, children: !external_wp_blockEditor_namespaceObject.RichText.isEmpty(title) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12442 external_wp_blockEditor_namespaceObject.RichText.Content, 12443 { 12444 tagName: "p", 12445 className: "wp-block-cover-image-text", 12446 value: title 12447 } 12448 ) }); 12449 }, 12450 migrate(attributes) { 12451 const newAttribs = { 12452 ...attributes, 12453 dimRatio: !attributes.url ? 100 : attributes.dimRatio, 12454 tagName: !attributes.tagName ? "div" : attributes.tagName 12455 }; 12456 const { title, contentAlign, align, ...restAttributes } = newAttribs; 12457 return [ 12458 restAttributes, 12459 [ 12460 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 12461 content: attributes.title, 12462 align: attributes.contentAlign, 12463 fontSize: "large", 12464 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write title\u2026") 12465 }) 12466 ] 12467 ]; 12468 } 12469 }; 12470 const cover_deprecated_v1 = { 12471 attributes: { 12472 ...deprecated_blockAttributes, 12473 title: { 12474 type: "string", 12475 source: "html", 12476 selector: "h2" 12477 }, 12478 align: { 12479 type: "string" 12480 }, 12481 contentAlign: { 12482 type: "string", 12483 default: "center" 12484 } 12485 }, 12486 supports: { 12487 className: false 12488 }, 12489 save({ attributes }) { 12490 const { url, title, hasParallax, dimRatio, align } = attributes; 12491 const style = backgroundImageStyles(url); 12492 const classes = dist_clsx( 12493 "wp-block-cover-image", 12494 dimRatioToClassV1(dimRatio), 12495 { 12496 "has-background-dim": dimRatio !== 0, 12497 "has-parallax": hasParallax 12498 }, 12499 align ? `align$align}` : null 12500 ); 12501 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("section", { className: classes, style, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "h2", value: title }) }); 12502 }, 12503 migrate(attributes) { 12504 const newAttribs = { 12505 ...attributes, 12506 dimRatio: !attributes.url ? 100 : attributes.dimRatio, 12507 tagName: !attributes.tagName ? "div" : attributes.tagName 12508 }; 12509 const { title, contentAlign, align, ...restAttributes } = newAttribs; 12510 return [ 12511 restAttributes, 12512 [ 12513 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 12514 content: attributes.title, 12515 align: attributes.contentAlign, 12516 fontSize: "large", 12517 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write title\u2026") 12518 }) 12519 ] 12520 ]; 12521 } 12522 }; 12523 var cover_deprecated_deprecated_default = [v14, v13, deprecated_v12, deprecated_v11, deprecated_v10, v9, v8, v7, v6, v5, v4, v3, v2, cover_deprecated_v1]; 12524 12525 12526 ;// ./node_modules/@wordpress/block-library/build-module/cover/constants.js 12527 const DEFAULT_MEDIA_SIZE_SLUG = "full"; 12528 12529 12530 ;// ./node_modules/@wordpress/block-library/build-module/utils/poster-image.js 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 const POSTER_IMAGE_ALLOWED_MEDIA_TYPES = ["image"]; 12542 function PosterImage({ poster, onChange }) { 12543 const posterButtonRef = (0,external_wp_element_namespaceObject.useRef)(); 12544 const [isLoading, setIsLoading] = (0,external_wp_element_namespaceObject.useState)(false); 12545 const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)( 12546 PosterImage, 12547 "block-library-poster-image-description" 12548 ); 12549 const { getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 12550 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 12551 const onDropFiles = (filesList) => { 12552 getSettings().mediaUpload({ 12553 allowedTypes: POSTER_IMAGE_ALLOWED_MEDIA_TYPES, 12554 filesList, 12555 onFileChange: ([image]) => { 12556 if ((0,external_wp_blob_namespaceObject.isBlobURL)(image?.url)) { 12557 setIsLoading(true); 12558 return; 12559 } 12560 if (image) { 12561 onChange(image); 12562 } 12563 setIsLoading(false); 12564 }, 12565 onError: (message) => { 12566 createErrorNotice(message, { 12567 id: "poster-image-upload-notice", 12568 type: "snackbar" 12569 }); 12570 setIsLoading(false); 12571 }, 12572 multiple: false 12573 }); 12574 }; 12575 const getPosterButtonContent = () => { 12576 if (!poster && isLoading) { 12577 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}); 12578 } 12579 return !poster ? (0,external_wp_i18n_namespaceObject.__)("Set poster image") : (0,external_wp_i18n_namespaceObject.__)("Replace"); 12580 }; 12581 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.MediaUploadCheck, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 12582 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12583 { 12584 label: (0,external_wp_i18n_namespaceObject.__)("Poster image"), 12585 isShownByDefault: true, 12586 hasValue: () => !!poster, 12587 onDeselect: () => onChange(void 0), 12588 children: [ 12589 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.BaseControl.VisualLabel, { children: (0,external_wp_i18n_namespaceObject.__)("Poster image") }), 12590 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12591 external_wp_blockEditor_namespaceObject.MediaUpload, 12592 { 12593 title: (0,external_wp_i18n_namespaceObject.__)("Select poster image"), 12594 onSelect: onChange, 12595 allowedTypes: POSTER_IMAGE_ALLOWED_MEDIA_TYPES, 12596 render: ({ open }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "block-library-poster-image__container", children: [ 12597 poster && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 12598 external_wp_components_namespaceObject.Button, 12599 { 12600 __next40pxDefaultSize: true, 12601 onClick: open, 12602 "aria-haspopup": "dialog", 12603 "aria-label": (0,external_wp_i18n_namespaceObject.__)( 12604 "Edit or replace the poster image." 12605 ), 12606 className: "block-library-poster-image__preview", 12607 disabled: isLoading, 12608 accessibleWhenDisabled: true, 12609 children: [ 12610 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12611 "img", 12612 { 12613 src: poster, 12614 alt: (0,external_wp_i18n_namespaceObject.__)("Poster image preview"), 12615 className: "block-library-poster-image__preview-image" 12616 } 12617 ), 12618 isLoading && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 12619 ] 12620 } 12621 ), 12622 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 12623 external_wp_components_namespaceObject.__experimentalHStack, 12624 { 12625 className: dist_clsx( 12626 "block-library-poster-image__actions", 12627 { 12628 "block-library-poster-image__actions-select": !poster 12629 } 12630 ), 12631 children: [ 12632 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12633 external_wp_components_namespaceObject.Button, 12634 { 12635 __next40pxDefaultSize: true, 12636 onClick: open, 12637 ref: posterButtonRef, 12638 className: "block-library-poster-image__action", 12639 "aria-describedby": descriptionId, 12640 "aria-haspopup": "dialog", 12641 variant: !poster ? "secondary" : void 0, 12642 disabled: isLoading, 12643 accessibleWhenDisabled: true, 12644 children: getPosterButtonContent() 12645 } 12646 ), 12647 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { id: descriptionId, hidden: true, children: poster ? (0,external_wp_i18n_namespaceObject.sprintf)( 12648 /* translators: %s: poster image URL. */ 12649 (0,external_wp_i18n_namespaceObject.__)( 12650 "The current poster image url is %s." 12651 ), 12652 poster 12653 ) : (0,external_wp_i18n_namespaceObject.__)( 12654 "There is no poster image currently selected." 12655 ) }), 12656 !!poster && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12657 external_wp_components_namespaceObject.Button, 12658 { 12659 __next40pxDefaultSize: true, 12660 onClick: () => { 12661 onChange(void 0); 12662 posterButtonRef.current.focus(); 12663 }, 12664 className: "block-library-poster-image__action", 12665 disabled: isLoading, 12666 accessibleWhenDisabled: true, 12667 children: (0,external_wp_i18n_namespaceObject.__)("Remove") 12668 } 12669 ) 12670 ] 12671 } 12672 ), 12673 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.DropZone, { onFilesDrop: onDropFiles }) 12674 ] }) 12675 } 12676 ) 12677 ] 12678 } 12679 ) }); 12680 } 12681 var poster_image_default = PosterImage; 12682 12683 12684 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/inspector-controls.js 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 const { cleanEmptyObject: inspector_controls_cleanEmptyObject, ResolutionTool, HTMLElementControl: inspector_controls_HTMLElementControl } = unlock( 12699 external_wp_blockEditor_namespaceObject.privateApis 12700 ); 12701 function CoverHeightInput({ 12702 onChange, 12703 onUnitChange, 12704 unit = "px", 12705 value = "" 12706 }) { 12707 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(external_wp_components_namespaceObject.__experimentalUnitControl); 12708 const inputId = `block-cover-height-input-$instanceId}`; 12709 const isPx = unit === "px"; 12710 const [availableUnits] = (0,external_wp_blockEditor_namespaceObject.useSettings)("spacing.units"); 12711 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 12712 availableUnits: availableUnits || ["px", "em", "rem", "vw", "vh"], 12713 defaultValues: { px: 430, "%": 20, em: 20, rem: 20, vw: 20, vh: 50 } 12714 }); 12715 const handleOnChange = (unprocessedValue) => { 12716 const inputValue = unprocessedValue !== "" ? parseFloat(unprocessedValue) : void 0; 12717 if (isNaN(inputValue) && inputValue !== void 0) { 12718 return; 12719 } 12720 onChange(inputValue); 12721 }; 12722 const computedValue = (0,external_wp_element_namespaceObject.useMemo)(() => { 12723 const [parsedQuantity] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value); 12724 return [parsedQuantity, unit].join(""); 12725 }, [unit, value]); 12726 const min = isPx ? COVER_MIN_HEIGHT : 0; 12727 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12728 external_wp_components_namespaceObject.__experimentalUnitControl, 12729 { 12730 __next40pxDefaultSize: true, 12731 label: (0,external_wp_i18n_namespaceObject.__)("Minimum height"), 12732 id: inputId, 12733 isResetValueOnUnitChange: true, 12734 min, 12735 onChange: handleOnChange, 12736 onUnitChange, 12737 units, 12738 value: computedValue 12739 } 12740 ); 12741 } 12742 function CoverInspectorControls({ 12743 attributes, 12744 setAttributes, 12745 clientId, 12746 setOverlayColor, 12747 coverRef, 12748 currentSettings, 12749 updateDimRatio, 12750 featuredImage 12751 }) { 12752 const { 12753 useFeaturedImage, 12754 id, 12755 dimRatio, 12756 focalPoint, 12757 hasParallax, 12758 isRepeated, 12759 minHeight, 12760 minHeightUnit, 12761 alt, 12762 tagName, 12763 poster 12764 } = attributes; 12765 const { 12766 isVideoBackground, 12767 isImageBackground, 12768 mediaElement, 12769 url, 12770 overlayColor 12771 } = currentSettings; 12772 const sizeSlug = attributes.sizeSlug || DEFAULT_MEDIA_SIZE_SLUG; 12773 const { gradientValue, setGradient } = (0,external_wp_blockEditor_namespaceObject.__experimentalUseGradient)(); 12774 const { getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 12775 const imageSizes = getSettings()?.imageSizes; 12776 const image = (0,external_wp_data_namespaceObject.useSelect)( 12777 (select) => id && isImageBackground ? select(external_wp_coreData_namespaceObject.store).getEntityRecord( 12778 "postType", 12779 "attachment", 12780 id, 12781 { context: "view" } 12782 ) : null, 12783 [id, isImageBackground] 12784 ); 12785 const currentBackgroundImage = useFeaturedImage ? featuredImage : image; 12786 function updateImage(newSizeSlug) { 12787 const newUrl = currentBackgroundImage?.media_details?.sizes?.[newSizeSlug]?.source_url; 12788 if (!newUrl) { 12789 return null; 12790 } 12791 setAttributes({ 12792 url: newUrl, 12793 sizeSlug: newSizeSlug 12794 }); 12795 } 12796 const imageSizeOptions = imageSizes?.filter( 12797 ({ slug }) => currentBackgroundImage?.media_details?.sizes?.[slug]?.source_url 12798 )?.map(({ name, slug }) => ({ value: slug, label: name })); 12799 const toggleParallax = () => { 12800 setAttributes({ 12801 hasParallax: !hasParallax, 12802 ...!hasParallax ? { focalPoint: void 0 } : {} 12803 }); 12804 }; 12805 const toggleIsRepeated = () => { 12806 setAttributes({ 12807 isRepeated: !isRepeated 12808 }); 12809 }; 12810 const showFocalPointPicker = isVideoBackground || isImageBackground && (!hasParallax || isRepeated); 12811 const imperativeFocalPointPreview = (value) => { 12812 const [styleOfRef, property] = mediaElement.current ? [mediaElement.current.style, "objectPosition"] : [coverRef.current.style, "backgroundPosition"]; 12813 styleOfRef[property] = mediaPosition(value); 12814 }; 12815 const colorGradientSettings = (0,external_wp_blockEditor_namespaceObject.__experimentalUseMultipleOriginColorsAndGradients)(); 12816 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 12817 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 12818 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: !!url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 12819 external_wp_components_namespaceObject.__experimentalToolsPanel, 12820 { 12821 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 12822 resetAll: () => { 12823 setAttributes({ 12824 hasParallax: false, 12825 focalPoint: void 0, 12826 isRepeated: false, 12827 alt: "", 12828 poster: void 0 12829 }); 12830 updateImage(DEFAULT_MEDIA_SIZE_SLUG); 12831 }, 12832 dropdownMenuProps, 12833 children: [ 12834 isImageBackground && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 12835 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12836 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12837 { 12838 label: (0,external_wp_i18n_namespaceObject.__)("Fixed background"), 12839 isShownByDefault: true, 12840 hasValue: () => !!hasParallax, 12841 onDeselect: () => setAttributes({ 12842 hasParallax: false, 12843 focalPoint: void 0 12844 }), 12845 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12846 external_wp_components_namespaceObject.ToggleControl, 12847 { 12848 __nextHasNoMarginBottom: true, 12849 label: (0,external_wp_i18n_namespaceObject.__)("Fixed background"), 12850 checked: !!hasParallax, 12851 onChange: toggleParallax 12852 } 12853 ) 12854 } 12855 ), 12856 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12857 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12858 { 12859 label: (0,external_wp_i18n_namespaceObject.__)("Repeated background"), 12860 isShownByDefault: true, 12861 hasValue: () => isRepeated, 12862 onDeselect: () => setAttributes({ 12863 isRepeated: false 12864 }), 12865 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12866 external_wp_components_namespaceObject.ToggleControl, 12867 { 12868 __nextHasNoMarginBottom: true, 12869 label: (0,external_wp_i18n_namespaceObject.__)("Repeated background"), 12870 checked: isRepeated, 12871 onChange: toggleIsRepeated 12872 } 12873 ) 12874 } 12875 ) 12876 ] }), 12877 showFocalPointPicker && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12878 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12879 { 12880 label: (0,external_wp_i18n_namespaceObject.__)("Focal point"), 12881 isShownByDefault: true, 12882 hasValue: () => !!focalPoint, 12883 onDeselect: () => setAttributes({ 12884 focalPoint: void 0 12885 }), 12886 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12887 external_wp_components_namespaceObject.FocalPointPicker, 12888 { 12889 __nextHasNoMarginBottom: true, 12890 label: (0,external_wp_i18n_namespaceObject.__)("Focal point"), 12891 url, 12892 value: focalPoint, 12893 onDragStart: imperativeFocalPointPreview, 12894 onDrag: imperativeFocalPointPreview, 12895 onChange: (newFocalPoint) => setAttributes({ 12896 focalPoint: newFocalPoint 12897 }) 12898 } 12899 ) 12900 } 12901 ), 12902 isVideoBackground && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12903 poster_image_default, 12904 { 12905 poster, 12906 onChange: (posterImage) => setAttributes({ 12907 poster: posterImage?.url 12908 }) 12909 } 12910 ), 12911 !useFeaturedImage && url && !isVideoBackground && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12912 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12913 { 12914 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 12915 isShownByDefault: true, 12916 hasValue: () => !!alt, 12917 onDeselect: () => setAttributes({ alt: "" }), 12918 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12919 external_wp_components_namespaceObject.TextareaControl, 12920 { 12921 __nextHasNoMarginBottom: true, 12922 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 12923 value: alt, 12924 onChange: (newAlt) => setAttributes({ alt: newAlt }), 12925 help: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 12926 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12927 external_wp_components_namespaceObject.ExternalLink, 12928 { 12929 href: ( 12930 // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. 12931 (0,external_wp_i18n_namespaceObject.__)( 12932 "https://www.w3.org/WAI/tutorials/images/decision-tree/" 12933 ) 12934 ), 12935 children: (0,external_wp_i18n_namespaceObject.__)( 12936 "Describe the purpose of the image." 12937 ) 12938 } 12939 ), 12940 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 12941 (0,external_wp_i18n_namespaceObject.__)( 12942 "Leave empty if decorative." 12943 ) 12944 ] }) 12945 } 12946 ) 12947 } 12948 ), 12949 !!imageSizeOptions?.length && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12950 ResolutionTool, 12951 { 12952 value: sizeSlug, 12953 onChange: updateImage, 12954 options: imageSizeOptions, 12955 defaultValue: DEFAULT_MEDIA_SIZE_SLUG 12956 } 12957 ) 12958 ] 12959 } 12960 ) }), 12961 colorGradientSettings.hasColorsOrGradients && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "color", children: [ 12962 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12963 external_wp_blockEditor_namespaceObject.__experimentalColorGradientSettingsDropdown, 12964 { 12965 __experimentalIsRenderedInSidebar: true, 12966 settings: [ 12967 { 12968 colorValue: overlayColor.color, 12969 gradientValue, 12970 label: (0,external_wp_i18n_namespaceObject.__)("Overlay"), 12971 onColorChange: setOverlayColor, 12972 onGradientChange: setGradient, 12973 isShownByDefault: true, 12974 resetAllFilter: () => ({ 12975 overlayColor: void 0, 12976 customOverlayColor: void 0, 12977 gradient: void 0, 12978 customGradient: void 0 12979 }), 12980 clearable: true 12981 } 12982 ], 12983 panelId: clientId, 12984 ...colorGradientSettings 12985 } 12986 ), 12987 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 12988 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 12989 { 12990 hasValue: () => { 12991 return dimRatio === void 0 ? false : dimRatio !== (url ? 50 : 100); 12992 }, 12993 label: (0,external_wp_i18n_namespaceObject.__)("Overlay opacity"), 12994 onDeselect: () => updateDimRatio(url ? 50 : 100), 12995 resetAllFilter: () => ({ 12996 dimRatio: url ? 50 : 100 12997 }), 12998 isShownByDefault: true, 12999 panelId: clientId, 13000 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13001 external_wp_components_namespaceObject.RangeControl, 13002 { 13003 __nextHasNoMarginBottom: true, 13004 label: (0,external_wp_i18n_namespaceObject.__)("Overlay opacity"), 13005 value: dimRatio, 13006 onChange: (newDimRatio) => updateDimRatio(newDimRatio), 13007 min: 0, 13008 max: 100, 13009 step: 10, 13010 required: true, 13011 __next40pxDefaultSize: true 13012 } 13013 ) 13014 } 13015 ) 13016 ] }), 13017 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "dimensions", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13018 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 13019 { 13020 className: "single-column", 13021 hasValue: () => !!minHeight, 13022 label: (0,external_wp_i18n_namespaceObject.__)("Minimum height"), 13023 onDeselect: () => setAttributes({ 13024 minHeight: void 0, 13025 minHeightUnit: void 0 13026 }), 13027 resetAllFilter: () => ({ 13028 minHeight: void 0, 13029 minHeightUnit: void 0 13030 }), 13031 isShownByDefault: true, 13032 panelId: clientId, 13033 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13034 CoverHeightInput, 13035 { 13036 value: attributes?.style?.dimensions?.aspectRatio ? "" : minHeight, 13037 unit: minHeightUnit, 13038 onChange: (newMinHeight) => setAttributes({ 13039 minHeight: newMinHeight, 13040 style: inspector_controls_cleanEmptyObject({ 13041 ...attributes?.style, 13042 dimensions: { 13043 ...attributes?.style?.dimensions, 13044 aspectRatio: void 0 13045 // Reset aspect ratio when minHeight is set. 13046 } 13047 }) 13048 }), 13049 onUnitChange: (nextUnit) => setAttributes({ 13050 minHeightUnit: nextUnit 13051 }) 13052 } 13053 ) 13054 } 13055 ) }), 13056 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13057 inspector_controls_HTMLElementControl, 13058 { 13059 tagName, 13060 onChange: (value) => setAttributes({ tagName: value }), 13061 clientId, 13062 options: [ 13063 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 13064 { label: "<header>", value: "header" }, 13065 { label: "<main>", value: "main" }, 13066 { label: "<section>", value: "section" }, 13067 { label: "<article>", value: "article" }, 13068 { label: "<aside>", value: "aside" }, 13069 { label: "<footer>", value: "footer" } 13070 ] 13071 } 13072 ) }) 13073 ] }); 13074 } 13075 13076 13077 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/block-controls.js 13078 13079 13080 13081 13082 13083 13084 const { cleanEmptyObject: block_controls_cleanEmptyObject } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 13085 function CoverBlockControls({ 13086 attributes, 13087 setAttributes, 13088 onSelectMedia, 13089 currentSettings, 13090 toggleUseFeaturedImage, 13091 onClearMedia, 13092 blockEditingMode 13093 }) { 13094 const { contentPosition, id, useFeaturedImage, minHeight, minHeightUnit } = attributes; 13095 const { hasInnerBlocks, url } = currentSettings; 13096 const [prevMinHeightValue, setPrevMinHeightValue] = (0,external_wp_element_namespaceObject.useState)(minHeight); 13097 const [prevMinHeightUnit, setPrevMinHeightUnit] = (0,external_wp_element_namespaceObject.useState)(minHeightUnit); 13098 const isMinFullHeight = minHeightUnit === "vh" && minHeight === 100 && !attributes?.style?.dimensions?.aspectRatio; 13099 const isContentOnlyMode = blockEditingMode === "contentOnly"; 13100 const toggleMinFullHeight = () => { 13101 if (isMinFullHeight) { 13102 if (prevMinHeightUnit === "vh" && prevMinHeightValue === 100) { 13103 return setAttributes({ 13104 minHeight: void 0, 13105 minHeightUnit: void 0 13106 }); 13107 } 13108 return setAttributes({ 13109 minHeight: prevMinHeightValue, 13110 minHeightUnit: prevMinHeightUnit 13111 }); 13112 } 13113 setPrevMinHeightValue(minHeight); 13114 setPrevMinHeightUnit(minHeightUnit); 13115 return setAttributes({ 13116 minHeight: 100, 13117 minHeightUnit: "vh", 13118 style: block_controls_cleanEmptyObject({ 13119 ...attributes?.style, 13120 dimensions: { 13121 ...attributes?.style?.dimensions, 13122 aspectRatio: void 0 13123 // Reset aspect ratio when minHeight is set. 13124 } 13125 }) 13126 }); 13127 }; 13128 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 13129 !isContentOnlyMode && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 13130 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13131 external_wp_blockEditor_namespaceObject.__experimentalBlockAlignmentMatrixControl, 13132 { 13133 label: (0,external_wp_i18n_namespaceObject.__)("Change content position"), 13134 value: contentPosition, 13135 onChange: (nextPosition) => setAttributes({ 13136 contentPosition: nextPosition 13137 }), 13138 isDisabled: !hasInnerBlocks 13139 } 13140 ), 13141 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13142 external_wp_blockEditor_namespaceObject.__experimentalBlockFullHeightAligmentControl, 13143 { 13144 isActive: isMinFullHeight, 13145 onToggle: toggleMinFullHeight, 13146 isDisabled: !hasInnerBlocks 13147 } 13148 ) 13149 ] }), 13150 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13151 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 13152 { 13153 mediaId: id, 13154 mediaURL: url, 13155 allowedTypes: shared_ALLOWED_MEDIA_TYPES, 13156 accept: "image/*,video/*", 13157 onSelect: onSelectMedia, 13158 onToggleFeaturedImage: toggleUseFeaturedImage, 13159 useFeaturedImage, 13160 name: !url ? (0,external_wp_i18n_namespaceObject.__)("Add media") : (0,external_wp_i18n_namespaceObject.__)("Replace"), 13161 onReset: onClearMedia 13162 } 13163 ) }) 13164 ] }); 13165 } 13166 13167 13168 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/cover-placeholder.js 13169 13170 13171 13172 13173 13174 function CoverPlaceholder({ 13175 disableMediaButtons = false, 13176 children, 13177 onSelectMedia, 13178 onError, 13179 style, 13180 toggleUseFeaturedImage 13181 }) { 13182 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13183 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 13184 { 13185 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: cover_default }), 13186 labels: { 13187 title: (0,external_wp_i18n_namespaceObject.__)("Cover") 13188 }, 13189 onSelect: onSelectMedia, 13190 accept: "image/*,video/*", 13191 allowedTypes: shared_ALLOWED_MEDIA_TYPES, 13192 disableMediaButtons, 13193 onToggleFeaturedImage: toggleUseFeaturedImage, 13194 onError, 13195 style, 13196 children 13197 } 13198 ); 13199 } 13200 13201 13202 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/resizable-cover-popover.js 13203 13204 13205 13206 13207 13208 const RESIZABLE_BOX_ENABLE_OPTION = { 13209 top: false, 13210 right: false, 13211 bottom: true, 13212 left: false, 13213 topRight: false, 13214 bottomRight: false, 13215 bottomLeft: false, 13216 topLeft: false 13217 }; 13218 const { ResizableBoxPopover } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 13219 function ResizableCoverPopover({ 13220 className, 13221 height, 13222 minHeight, 13223 onResize, 13224 onResizeStart, 13225 onResizeStop, 13226 showHandle, 13227 size, 13228 width, 13229 ...props 13230 }) { 13231 const [isResizing, setIsResizing] = (0,external_wp_element_namespaceObject.useState)(false); 13232 const resizableBoxProps = { 13233 className: dist_clsx(className, { "is-resizing": isResizing }), 13234 enable: RESIZABLE_BOX_ENABLE_OPTION, 13235 onResizeStart: (_event, _direction, elt) => { 13236 onResizeStart(elt.clientHeight); 13237 onResize(elt.clientHeight); 13238 }, 13239 onResize: (_event, _direction, elt) => { 13240 onResize(elt.clientHeight); 13241 if (!isResizing) { 13242 setIsResizing(true); 13243 } 13244 }, 13245 onResizeStop: (_event, _direction, elt) => { 13246 onResizeStop(elt.clientHeight); 13247 setIsResizing(false); 13248 }, 13249 showHandle, 13250 size, 13251 __experimentalShowTooltip: true, 13252 __experimentalTooltipProps: { 13253 axis: "y", 13254 position: "bottom", 13255 isVisible: isResizing 13256 } 13257 }; 13258 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 13259 ResizableBoxPopover, 13260 { 13261 className: "block-library-cover__resizable-box-popover", 13262 resizableBoxProps, 13263 ...props 13264 } 13265 ); 13266 } 13267 13268 13269 ;// ./node_modules/colord/index.mjs 13270 var colord_r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return"string"==typeof r?r.length>0:"number"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},i=/^#([0-9a-f]{3,8})$/i,s=function(r){var t=r.toString(16);return t.length<2?"0"+t:t},h=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),i=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(i<0?i+6:i),s:a?o/a*100:0,v:a/255*100,a:u}},b=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),i=e*(1-(t-a)*n),s=e*(1-(1-t+a)*n),h=a%6;return{r:255*[e,i,o,o,s,e][h],g:255*[s,e,e,i,o,o][h],b:255*[o,o,s,e,e,i][h],a:u}},g=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},d=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return b((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},c=function(r){return{h:(t=h(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},l=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,p=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,v=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,m=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,y={string:[[function(r){var t=i.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(t){var n=l.exec(t)||p.exec(t);if(!n)return null;var e,u,a=g({h:(e=n[1],u=n[2],void 0===u&&(u="deg"),Number(e)*(colord_r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},"hsl"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,i=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(i)}):null},"rgb"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var i=g({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(i)},"hsl"],[function(r){var n=r.h,a=r.s,o=r.v,i=r.a,s=void 0===i?1:i;if(!t(n)||!t(a)||!t(o))return null;var h=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(s)});return b(h)},"hsv"]]},N=function(r,t){for(var n=0;n<t.length;n++){var e=t[n][0](r);if(e)return[e,t[n][1]]}return[null,void 0]},x=function(r){return"string"==typeof r?N(r.trim(),y.string):"object"==typeof r&&null!==r?N(r,y.object):[null,void 0]},I=function(r){return x(r)[1]},M=function(r,t){var n=c(r);return{h:n.h,s:e(n.s+100*t,0,100),l:n.l,a:n.a}},H=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},$=function(r,t){var n=c(r);return{h:n.h,s:n.s,l:e(n.l+100*t,0,100),a:n.a}},j=function(){function r(r){this.parsed=x(r)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return null!==this.parsed},r.prototype.brightness=function(){return n(H(this.rgba),2)},r.prototype.isDark=function(){return H(this.rgba)<.5},r.prototype.isLight=function(){return H(this.rgba)>=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,i=(a=r.a)<1?s(n(255*a)):"","#"+s(t)+s(e)+s(u)+i;var r,t,e,u,a,i},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?"rgba("+t+", "+n+", "+e+", "+u+")":"rgb("+t+", "+n+", "+e+")";var r,t,n,e,u},r.prototype.toHsl=function(){return d(c(this.rgba))},r.prototype.toHslString=function(){return r=d(c(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?"hsla("+t+", "+n+"%, "+e+"%, "+u+")":"hsl("+t+", "+n+"%, "+e+"%)";var r,t,n,e,u},r.prototype.toHsv=function(){return r=h(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return w({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,-r))},r.prototype.grayscale=function(){return w(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),w($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),w($(this.rgba,-r))},r.prototype.rotate=function(r){return void 0===r&&(r=15),this.hue(this.hue()+r)},r.prototype.alpha=function(r){return"number"==typeof r?w({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r.prototype.hue=function(r){var t=c(this.rgba);return"number"==typeof r?w({h:r,s:t.s,l:t.l,a:t.a}):n(t.h)},r.prototype.isEqual=function(r){return this.toHex()===w(r).toHex()},r}(),w=function(r){return r instanceof j?r:new j(r)},S=[],k=function(r){r.forEach(function(r){S.indexOf(r)<0&&(r(j,y),S.push(r))})},E=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})}; 13271 13272 ;// ./node_modules/colord/plugins/names.mjs 13273 /* harmony default export */ function names(e,f){var a={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},r={};for(var d in a)r[a[d]]=d;var l={};e.prototype.toName=function(f){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var d,i,n=r[this.toHex()];if(n)return n;if(null==f?void 0:f.closest){var o=this.toRgb(),t=1/0,b="black";if(!l.length)for(var c in a)l[c]=new e(a[c]).toRgb();for(var g in a){var u=(d=o,i=l[g],Math.pow(d.r-i.r,2)+Math.pow(d.g-i.g,2)+Math.pow(d.b-i.b,2));u<t&&(t=u,b=g)}return b}};f.string.push([function(f){var r=f.toLowerCase(),d="transparent"===r?"#0000":a[r];return d?new e(d).toRgb():null},"name"])} 13274 13275 ;// ./node_modules/fast-average-color/dist/index.esm.js 13276 /*! Fast Average Color | © 2022 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */ 13277 function toHex(num) { 13278 var str = num.toString(16); 13279 return str.length === 1 ? '0' + str : str; 13280 } 13281 function arrayToHex(arr) { 13282 return '#' + arr.map(toHex).join(''); 13283 } 13284 function isDark(color) { 13285 // http://www.w3.org/TR/AERT#color-contrast 13286 var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1000; 13287 return result < 128; 13288 } 13289 function prepareIgnoredColor(color) { 13290 if (!color) { 13291 return []; 13292 } 13293 return isRGBArray(color) ? color : [color]; 13294 } 13295 function isRGBArray(value) { 13296 return Array.isArray(value[0]); 13297 } 13298 function isIgnoredColor(data, index, ignoredColor) { 13299 for (var i = 0; i < ignoredColor.length; i++) { 13300 if (isIgnoredColorAsNumbers(data, index, ignoredColor[i])) { 13301 return true; 13302 } 13303 } 13304 return false; 13305 } 13306 function isIgnoredColorAsNumbers(data, index, ignoredColor) { 13307 switch (ignoredColor.length) { 13308 case 3: 13309 // [red, green, blue] 13310 if (isIgnoredRGBColor(data, index, ignoredColor)) { 13311 return true; 13312 } 13313 break; 13314 case 4: 13315 // [red, green, blue, alpha] 13316 if (isIgnoredRGBAColor(data, index, ignoredColor)) { 13317 return true; 13318 } 13319 break; 13320 case 5: 13321 // [red, green, blue, alpha, threshold] 13322 if (isIgnoredRGBAColorWithThreshold(data, index, ignoredColor)) { 13323 return true; 13324 } 13325 break; 13326 default: 13327 return false; 13328 } 13329 } 13330 function isIgnoredRGBColor(data, index, ignoredColor) { 13331 // Ignore if the pixel are transparent. 13332 if (data[index + 3] !== 255) { 13333 return true; 13334 } 13335 if (data[index] === ignoredColor[0] && 13336 data[index + 1] === ignoredColor[1] && 13337 data[index + 2] === ignoredColor[2]) { 13338 return true; 13339 } 13340 return false; 13341 } 13342 function isIgnoredRGBAColor(data, index, ignoredColor) { 13343 if (data[index + 3] && ignoredColor[3]) { 13344 return data[index] === ignoredColor[0] && 13345 data[index + 1] === ignoredColor[1] && 13346 data[index + 2] === ignoredColor[2] && 13347 data[index + 3] === ignoredColor[3]; 13348 } 13349 // Ignore rgb components if the pixel are fully transparent. 13350 return data[index + 3] === ignoredColor[3]; 13351 } 13352 function inRange(colorComponent, ignoredColorComponent, value) { 13353 return colorComponent >= (ignoredColorComponent - value) && 13354 colorComponent <= (ignoredColorComponent + value); 13355 } 13356 function isIgnoredRGBAColorWithThreshold(data, index, ignoredColor) { 13357 var redIgnored = ignoredColor[0]; 13358 var greenIgnored = ignoredColor[1]; 13359 var blueIgnored = ignoredColor[2]; 13360 var alphaIgnored = ignoredColor[3]; 13361 var threshold = ignoredColor[4]; 13362 var alphaData = data[index + 3]; 13363 var alphaInRange = inRange(alphaData, alphaIgnored, threshold); 13364 if (!alphaIgnored) { 13365 return alphaInRange; 13366 } 13367 if (!alphaData && alphaInRange) { 13368 return true; 13369 } 13370 if (inRange(data[index], redIgnored, threshold) && 13371 inRange(data[index + 1], greenIgnored, threshold) && 13372 inRange(data[index + 2], blueIgnored, threshold) && 13373 alphaInRange) { 13374 return true; 13375 } 13376 return false; 13377 } 13378 13379 function dominantAlgorithm(arr, len, options) { 13380 var colorHash = {}; 13381 var divider = 24; 13382 var ignoredColor = options.ignoredColor; 13383 var step = options.step; 13384 var max = [0, 0, 0, 0, 0]; 13385 for (var i = 0; i < len; i += step) { 13386 var red = arr[i]; 13387 var green = arr[i + 1]; 13388 var blue = arr[i + 2]; 13389 var alpha = arr[i + 3]; 13390 if (ignoredColor && isIgnoredColor(arr, i, ignoredColor)) { 13391 continue; 13392 } 13393 var key = Math.round(red / divider) + ',' + 13394 Math.round(green / divider) + ',' + 13395 Math.round(blue / divider); 13396 if (colorHash[key]) { 13397 colorHash[key] = [ 13398 colorHash[key][0] + red * alpha, 13399 colorHash[key][1] + green * alpha, 13400 colorHash[key][2] + blue * alpha, 13401 colorHash[key][3] + alpha, 13402 colorHash[key][4] + 1 13403 ]; 13404 } 13405 else { 13406 colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1]; 13407 } 13408 if (max[4] < colorHash[key][4]) { 13409 max = colorHash[key]; 13410 } 13411 } 13412 var redTotal = max[0]; 13413 var greenTotal = max[1]; 13414 var blueTotal = max[2]; 13415 var alphaTotal = max[3]; 13416 var count = max[4]; 13417 return alphaTotal ? [ 13418 Math.round(redTotal / alphaTotal), 13419 Math.round(greenTotal / alphaTotal), 13420 Math.round(blueTotal / alphaTotal), 13421 Math.round(alphaTotal / count) 13422 ] : options.defaultColor; 13423 } 13424 13425 function simpleAlgorithm(arr, len, options) { 13426 var redTotal = 0; 13427 var greenTotal = 0; 13428 var blueTotal = 0; 13429 var alphaTotal = 0; 13430 var count = 0; 13431 var ignoredColor = options.ignoredColor; 13432 var step = options.step; 13433 for (var i = 0; i < len; i += step) { 13434 var alpha = arr[i + 3]; 13435 var red = arr[i] * alpha; 13436 var green = arr[i + 1] * alpha; 13437 var blue = arr[i + 2] * alpha; 13438 if (ignoredColor && isIgnoredColor(arr, i, ignoredColor)) { 13439 continue; 13440 } 13441 redTotal += red; 13442 greenTotal += green; 13443 blueTotal += blue; 13444 alphaTotal += alpha; 13445 count++; 13446 } 13447 return alphaTotal ? [ 13448 Math.round(redTotal / alphaTotal), 13449 Math.round(greenTotal / alphaTotal), 13450 Math.round(blueTotal / alphaTotal), 13451 Math.round(alphaTotal / count) 13452 ] : options.defaultColor; 13453 } 13454 13455 function sqrtAlgorithm(arr, len, options) { 13456 var redTotal = 0; 13457 var greenTotal = 0; 13458 var blueTotal = 0; 13459 var alphaTotal = 0; 13460 var count = 0; 13461 var ignoredColor = options.ignoredColor; 13462 var step = options.step; 13463 for (var i = 0; i < len; i += step) { 13464 var red = arr[i]; 13465 var green = arr[i + 1]; 13466 var blue = arr[i + 2]; 13467 var alpha = arr[i + 3]; 13468 if (ignoredColor && isIgnoredColor(arr, i, ignoredColor)) { 13469 continue; 13470 } 13471 redTotal += red * red * alpha; 13472 greenTotal += green * green * alpha; 13473 blueTotal += blue * blue * alpha; 13474 alphaTotal += alpha; 13475 count++; 13476 } 13477 return alphaTotal ? [ 13478 Math.round(Math.sqrt(redTotal / alphaTotal)), 13479 Math.round(Math.sqrt(greenTotal / alphaTotal)), 13480 Math.round(Math.sqrt(blueTotal / alphaTotal)), 13481 Math.round(alphaTotal / count) 13482 ] : options.defaultColor; 13483 } 13484 13485 function getDefaultColor(options) { 13486 return getOption(options, 'defaultColor', [0, 0, 0, 0]); 13487 } 13488 function getOption(options, name, defaultValue) { 13489 return (options[name] === undefined ? defaultValue : options[name]); 13490 } 13491 13492 var MIN_SIZE = 10; 13493 var MAX_SIZE = 100; 13494 function isSvg(filename) { 13495 return filename.search(/\.svg(\?|$)/i) !== -1; 13496 } 13497 function getOriginalSize(resource) { 13498 if (isInstanceOfHTMLImageElement(resource)) { 13499 var width = resource.naturalWidth; 13500 var height = resource.naturalHeight; 13501 // For SVG images with only viewBox attribute 13502 if (!resource.naturalWidth && isSvg(resource.src)) { 13503 width = height = MAX_SIZE; 13504 } 13505 return { 13506 width: width, 13507 height: height, 13508 }; 13509 } 13510 if (isInstanceOfHTMLVideoElement(resource)) { 13511 return { 13512 width: resource.videoWidth, 13513 height: resource.videoHeight 13514 }; 13515 } 13516 return { 13517 width: resource.width, 13518 height: resource.height 13519 }; 13520 } 13521 function getSrc(resource) { 13522 if (isInstanceOfHTMLCanvasElement(resource)) { 13523 return 'canvas'; 13524 } 13525 if (isInstanceOfOffscreenCanvas(resource)) { 13526 return 'offscreencanvas'; 13527 } 13528 if (isInstanceOfImageBitmap(resource)) { 13529 return 'imagebitmap'; 13530 } 13531 return resource.src; 13532 } 13533 function isInstanceOfHTMLImageElement(resource) { 13534 return typeof HTMLImageElement !== 'undefined' && resource instanceof HTMLImageElement; 13535 } 13536 var hasOffscreenCanvas = typeof OffscreenCanvas !== 'undefined'; 13537 function isInstanceOfOffscreenCanvas(resource) { 13538 return hasOffscreenCanvas && resource instanceof OffscreenCanvas; 13539 } 13540 function isInstanceOfHTMLVideoElement(resource) { 13541 return typeof HTMLVideoElement !== 'undefined' && resource instanceof HTMLVideoElement; 13542 } 13543 function isInstanceOfHTMLCanvasElement(resource) { 13544 return typeof HTMLCanvasElement !== 'undefined' && resource instanceof HTMLCanvasElement; 13545 } 13546 function isInstanceOfImageBitmap(resource) { 13547 return typeof ImageBitmap !== 'undefined' && resource instanceof ImageBitmap; 13548 } 13549 function prepareSizeAndPosition(originalSize, options) { 13550 var srcLeft = getOption(options, 'left', 0); 13551 var srcTop = getOption(options, 'top', 0); 13552 var srcWidth = getOption(options, 'width', originalSize.width); 13553 var srcHeight = getOption(options, 'height', originalSize.height); 13554 var destWidth = srcWidth; 13555 var destHeight = srcHeight; 13556 if (options.mode === 'precision') { 13557 return { 13558 srcLeft: srcLeft, 13559 srcTop: srcTop, 13560 srcWidth: srcWidth, 13561 srcHeight: srcHeight, 13562 destWidth: destWidth, 13563 destHeight: destHeight 13564 }; 13565 } 13566 var factor; 13567 if (srcWidth > srcHeight) { 13568 factor = srcWidth / srcHeight; 13569 destWidth = MAX_SIZE; 13570 destHeight = Math.round(destWidth / factor); 13571 } 13572 else { 13573 factor = srcHeight / srcWidth; 13574 destHeight = MAX_SIZE; 13575 destWidth = Math.round(destHeight / factor); 13576 } 13577 if (destWidth > srcWidth || destHeight > srcHeight || 13578 destWidth < MIN_SIZE || destHeight < MIN_SIZE) { 13579 destWidth = srcWidth; 13580 destHeight = srcHeight; 13581 } 13582 return { 13583 srcLeft: srcLeft, 13584 srcTop: srcTop, 13585 srcWidth: srcWidth, 13586 srcHeight: srcHeight, 13587 destWidth: destWidth, 13588 destHeight: destHeight 13589 }; 13590 } 13591 var isWebWorkers = typeof window === 'undefined'; 13592 function makeCanvas() { 13593 if (isWebWorkers) { 13594 return hasOffscreenCanvas ? new OffscreenCanvas(1, 1) : null; 13595 } 13596 return document.createElement('canvas'); 13597 } 13598 13599 var ERROR_PREFIX = 'FastAverageColor: '; 13600 function getError(message) { 13601 return Error(ERROR_PREFIX + message); 13602 } 13603 function outputError(error, silent) { 13604 if (!silent) { 13605 console.error(error); 13606 } 13607 } 13608 13609 var FastAverageColor = /** @class */ (function () { 13610 function FastAverageColor() { 13611 this.canvas = null; 13612 this.ctx = null; 13613 } 13614 /** 13615 * Get asynchronously the average color from not loaded image. 13616 */ 13617 FastAverageColor.prototype.getColorAsync = function (resource, options) { 13618 if (!resource) { 13619 return Promise.reject(getError('call .getColorAsync() without resource.')); 13620 } 13621 if (typeof resource === 'string') { 13622 // Web workers 13623 if (typeof Image === 'undefined') { 13624 return Promise.reject(getError('resource as string is not supported in this environment')); 13625 } 13626 var img = new Image(); 13627 img.crossOrigin = options && options.crossOrigin || ''; 13628 img.src = resource; 13629 return this.bindImageEvents(img, options); 13630 } 13631 else if (isInstanceOfHTMLImageElement(resource) && !resource.complete) { 13632 return this.bindImageEvents(resource, options); 13633 } 13634 else { 13635 var result = this.getColor(resource, options); 13636 return result.error ? Promise.reject(result.error) : Promise.resolve(result); 13637 } 13638 }; 13639 /** 13640 * Get the average color from images, videos and canvas. 13641 */ 13642 FastAverageColor.prototype.getColor = function (resource, options) { 13643 options = options || {}; 13644 var defaultColor = getDefaultColor(options); 13645 if (!resource) { 13646 var error = getError('call .getColor(null) without resource'); 13647 outputError(error, options.silent); 13648 return this.prepareResult(defaultColor, error); 13649 } 13650 var originalSize = getOriginalSize(resource); 13651 var size = prepareSizeAndPosition(originalSize, options); 13652 if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) { 13653 var error = getError("incorrect sizes for resource \"".concat(getSrc(resource), "\"")); 13654 outputError(error, options.silent); 13655 return this.prepareResult(defaultColor, error); 13656 } 13657 if (!this.canvas) { 13658 this.canvas = makeCanvas(); 13659 if (!this.canvas) { 13660 var error = getError('OffscreenCanvas is not supported in this browser'); 13661 outputError(error, options.silent); 13662 return this.prepareResult(defaultColor, error); 13663 } 13664 } 13665 if (!this.ctx) { 13666 this.ctx = this.canvas.getContext('2d', { willReadFrequently: true }); 13667 if (!this.ctx) { 13668 var error = getError('Canvas Context 2D is not supported in this browser'); 13669 outputError(error, options.silent); 13670 return this.prepareResult(defaultColor); 13671 } 13672 this.ctx.imageSmoothingEnabled = false; 13673 } 13674 this.canvas.width = size.destWidth; 13675 this.canvas.height = size.destHeight; 13676 try { 13677 this.ctx.clearRect(0, 0, size.destWidth, size.destHeight); 13678 this.ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight); 13679 var bitmapData = this.ctx.getImageData(0, 0, size.destWidth, size.destHeight).data; 13680 return this.prepareResult(this.getColorFromArray4(bitmapData, options)); 13681 } 13682 catch (originalError) { 13683 var error = getError("security error (CORS) for resource ".concat(getSrc(resource), ".\nDetails: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image")); 13684 outputError(error, options.silent); 13685 !options.silent && console.error(originalError); 13686 return this.prepareResult(defaultColor, error); 13687 } 13688 }; 13689 /** 13690 * Get the average color from a array when 1 pixel is 4 bytes. 13691 */ 13692 FastAverageColor.prototype.getColorFromArray4 = function (arr, options) { 13693 options = options || {}; 13694 var bytesPerPixel = 4; 13695 var arrLength = arr.length; 13696 var defaultColor = getDefaultColor(options); 13697 if (arrLength < bytesPerPixel) { 13698 return defaultColor; 13699 } 13700 var len = arrLength - arrLength % bytesPerPixel; 13701 var step = (options.step || 1) * bytesPerPixel; 13702 var algorithm; 13703 switch (options.algorithm || 'sqrt') { 13704 case 'simple': 13705 algorithm = simpleAlgorithm; 13706 break; 13707 case 'sqrt': 13708 algorithm = sqrtAlgorithm; 13709 break; 13710 case 'dominant': 13711 algorithm = dominantAlgorithm; 13712 break; 13713 default: 13714 throw getError("".concat(options.algorithm, " is unknown algorithm")); 13715 } 13716 return algorithm(arr, len, { 13717 defaultColor: defaultColor, 13718 ignoredColor: prepareIgnoredColor(options.ignoredColor), 13719 step: step 13720 }); 13721 }; 13722 /** 13723 * Get color data from value ([r, g, b, a]). 13724 */ 13725 FastAverageColor.prototype.prepareResult = function (value, error) { 13726 var rgb = value.slice(0, 3); 13727 var rgba = [value[0], value[1], value[2], value[3] / 255]; 13728 var isDarkColor = isDark(value); 13729 return { 13730 value: [value[0], value[1], value[2], value[3]], 13731 rgb: 'rgb(' + rgb.join(',') + ')', 13732 rgba: 'rgba(' + rgba.join(',') + ')', 13733 hex: arrayToHex(rgb), 13734 hexa: arrayToHex(value), 13735 isDark: isDarkColor, 13736 isLight: !isDarkColor, 13737 error: error, 13738 }; 13739 }; 13740 /** 13741 * Destroy the instance. 13742 */ 13743 FastAverageColor.prototype.destroy = function () { 13744 if (this.canvas) { 13745 this.canvas.width = 1; 13746 this.canvas.height = 1; 13747 this.canvas = null; 13748 } 13749 this.ctx = null; 13750 }; 13751 FastAverageColor.prototype.bindImageEvents = function (resource, options) { 13752 var _this = this; 13753 return new Promise(function (resolve, reject) { 13754 var onload = function () { 13755 unbindEvents(); 13756 var result = _this.getColor(resource, options); 13757 if (result.error) { 13758 reject(result.error); 13759 } 13760 else { 13761 resolve(result); 13762 } 13763 }; 13764 var onerror = function () { 13765 unbindEvents(); 13766 reject(getError("Error loading image \"".concat(resource.src, "\"."))); 13767 }; 13768 var onabort = function () { 13769 unbindEvents(); 13770 reject(getError("Image \"".concat(resource.src, "\" loading aborted"))); 13771 }; 13772 var unbindEvents = function () { 13773 resource.removeEventListener('load', onload); 13774 resource.removeEventListener('error', onerror); 13775 resource.removeEventListener('abort', onabort); 13776 }; 13777 resource.addEventListener('load', onload); 13778 resource.addEventListener('error', onerror); 13779 resource.addEventListener('abort', onabort); 13780 }); 13781 }; 13782 return FastAverageColor; 13783 }()); 13784 13785 13786 13787 ;// external ["wp","hooks"] 13788 const external_wp_hooks_namespaceObject = window["wp"]["hooks"]; 13789 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/color-utils.js 13790 13791 13792 13793 13794 13795 k([names]); 13796 const DEFAULT_BACKGROUND_COLOR = "#FFF"; 13797 const DEFAULT_OVERLAY_COLOR = "#000"; 13798 function compositeSourceOver(source, dest) { 13799 return { 13800 r: source.r * source.a + dest.r * dest.a * (1 - source.a), 13801 g: source.g * source.a + dest.g * dest.a * (1 - source.a), 13802 b: source.b * source.a + dest.b * dest.a * (1 - source.a), 13803 a: source.a + dest.a * (1 - source.a) 13804 }; 13805 } 13806 function retrieveFastAverageColor() { 13807 if (!retrieveFastAverageColor.fastAverageColor) { 13808 retrieveFastAverageColor.fastAverageColor = new FastAverageColor(); 13809 } 13810 return retrieveFastAverageColor.fastAverageColor; 13811 } 13812 const getMediaColor = memize(async (url) => { 13813 if (!url) { 13814 return DEFAULT_BACKGROUND_COLOR; 13815 } 13816 const { r, g, b, a } = w(DEFAULT_BACKGROUND_COLOR).toRgb(); 13817 try { 13818 const imgCrossOrigin = (0,external_wp_hooks_namespaceObject.applyFilters)( 13819 "media.crossOrigin", 13820 void 0, 13821 url 13822 ); 13823 const color = await retrieveFastAverageColor().getColorAsync(url, { 13824 // The default color is white, which is the color 13825 // that is returned if there's an error. 13826 // colord returns alpga 0-1, FAC needs 0-255 13827 defaultColor: [r, g, b, a * 255], 13828 // Errors that come up don't reject the promise, 13829 // so error logging has to be silenced 13830 // with this option. 13831 silent: "production" === "production", 13832 crossOrigin: imgCrossOrigin 13833 }); 13834 return color.hex; 13835 } catch (error) { 13836 return DEFAULT_BACKGROUND_COLOR; 13837 } 13838 }); 13839 function compositeIsDark(dimRatio, overlayColor, backgroundColor) { 13840 if (overlayColor === backgroundColor || dimRatio === 100) { 13841 return w(overlayColor).isDark(); 13842 } 13843 const overlay = w(overlayColor).alpha(dimRatio / 100).toRgb(); 13844 const background = w(backgroundColor).toRgb(); 13845 const composite = compositeSourceOver(overlay, background); 13846 return w(composite).isDark(); 13847 } 13848 13849 13850 ;// ./node_modules/@wordpress/block-library/build-module/cover/edit/index.js 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 function getInnerBlocksTemplate(attributes) { 13870 return [ 13871 [ 13872 "core/paragraph", 13873 { 13874 align: "center", 13875 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write title\u2026"), 13876 ...attributes 13877 } 13878 ] 13879 ]; 13880 } 13881 const isTemporaryMedia = (id, url) => !id && (0,external_wp_blob_namespaceObject.isBlobURL)(url); 13882 function CoverEdit({ 13883 attributes, 13884 clientId, 13885 isSelected, 13886 overlayColor, 13887 setAttributes, 13888 setOverlayColor, 13889 toggleSelection, 13890 context: { postId, postType } 13891 }) { 13892 const { 13893 contentPosition, 13894 id, 13895 url: originalUrl, 13896 backgroundType: originalBackgroundType, 13897 useFeaturedImage, 13898 dimRatio, 13899 focalPoint, 13900 hasParallax, 13901 isDark, 13902 isRepeated, 13903 minHeight, 13904 minHeightUnit, 13905 alt, 13906 allowedBlocks, 13907 templateLock, 13908 tagName: TagName = "div", 13909 isUserOverlayColor, 13910 sizeSlug, 13911 poster 13912 } = attributes; 13913 const [featuredImage] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 13914 "postType", 13915 postType, 13916 "featured_media", 13917 postId 13918 ); 13919 const { getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 13920 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 13921 const { media } = (0,external_wp_data_namespaceObject.useSelect)( 13922 (select) => { 13923 return { 13924 media: featuredImage && useFeaturedImage ? select(external_wp_coreData_namespaceObject.store).getEntityRecord( 13925 "postType", 13926 "attachment", 13927 featuredImage, 13928 { 13929 context: "view" 13930 } 13931 ) : void 0 13932 }; 13933 }, 13934 [featuredImage, useFeaturedImage] 13935 ); 13936 const mediaUrl = media?.media_details?.sizes?.[sizeSlug]?.source_url ?? media?.source_url; 13937 (0,external_wp_element_namespaceObject.useEffect)(() => { 13938 (async () => { 13939 if (!useFeaturedImage) { 13940 return; 13941 } 13942 const averageBackgroundColor = await getMediaColor(mediaUrl); 13943 let newOverlayColor = overlayColor.color; 13944 if (!isUserOverlayColor) { 13945 newOverlayColor = averageBackgroundColor; 13946 __unstableMarkNextChangeAsNotPersistent(); 13947 setOverlayColor(newOverlayColor); 13948 } 13949 const newIsDark = compositeIsDark( 13950 dimRatio, 13951 newOverlayColor, 13952 averageBackgroundColor 13953 ); 13954 __unstableMarkNextChangeAsNotPersistent(); 13955 setAttributes({ 13956 isDark: newIsDark, 13957 isUserOverlayColor: isUserOverlayColor || false 13958 }); 13959 })(); 13960 }, [mediaUrl]); 13961 const url = useFeaturedImage ? mediaUrl : ( 13962 // Ensure the url is not malformed due to sanitization through `wp_kses`. 13963 originalUrl?.replaceAll("&", "&") 13964 ); 13965 const backgroundType = useFeaturedImage ? IMAGE_BACKGROUND_TYPE : originalBackgroundType; 13966 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 13967 const { gradientClass, gradientValue } = (0,external_wp_blockEditor_namespaceObject.__experimentalUseGradient)(); 13968 const onSelectMedia = async (newMedia) => { 13969 const mediaAttributes = attributesFromMedia(newMedia); 13970 const isImage = [newMedia?.type, newMedia?.media_type].includes( 13971 IMAGE_BACKGROUND_TYPE 13972 ); 13973 const averageBackgroundColor = await getMediaColor( 13974 isImage ? newMedia?.url : void 0 13975 ); 13976 let newOverlayColor = overlayColor.color; 13977 if (!isUserOverlayColor) { 13978 newOverlayColor = averageBackgroundColor; 13979 setOverlayColor(newOverlayColor); 13980 __unstableMarkNextChangeAsNotPersistent(); 13981 } 13982 const newDimRatio = originalUrl === void 0 && dimRatio === 100 ? 50 : dimRatio; 13983 const newIsDark = compositeIsDark( 13984 newDimRatio, 13985 newOverlayColor, 13986 averageBackgroundColor 13987 ); 13988 if (backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id) { 13989 const { imageDefaultSize } = getSettings(); 13990 if (sizeSlug && (newMedia?.sizes?.[sizeSlug] || newMedia?.media_details?.sizes?.[sizeSlug])) { 13991 mediaAttributes.sizeSlug = sizeSlug; 13992 mediaAttributes.url = newMedia?.sizes?.[sizeSlug]?.url || newMedia?.media_details?.sizes?.[sizeSlug]?.source_url; 13993 } else if (newMedia?.sizes?.[imageDefaultSize] || newMedia?.media_details?.sizes?.[imageDefaultSize]) { 13994 mediaAttributes.sizeSlug = imageDefaultSize; 13995 mediaAttributes.url = newMedia?.sizes?.[imageDefaultSize]?.url || newMedia?.media_details?.sizes?.[imageDefaultSize]?.source_url; 13996 } else { 13997 mediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG; 13998 } 13999 } 14000 setAttributes({ 14001 ...mediaAttributes, 14002 focalPoint: void 0, 14003 useFeaturedImage: void 0, 14004 dimRatio: newDimRatio, 14005 isDark: newIsDark, 14006 isUserOverlayColor: isUserOverlayColor || false 14007 }); 14008 }; 14009 const onClearMedia = () => { 14010 let newOverlayColor = overlayColor.color; 14011 if (!isUserOverlayColor) { 14012 newOverlayColor = DEFAULT_OVERLAY_COLOR; 14013 setOverlayColor(void 0); 14014 __unstableMarkNextChangeAsNotPersistent(); 14015 } 14016 const newIsDark = compositeIsDark( 14017 dimRatio, 14018 newOverlayColor, 14019 DEFAULT_BACKGROUND_COLOR 14020 ); 14021 setAttributes({ 14022 url: void 0, 14023 id: void 0, 14024 backgroundType: void 0, 14025 focalPoint: void 0, 14026 hasParallax: void 0, 14027 isRepeated: void 0, 14028 useFeaturedImage: void 0, 14029 isDark: newIsDark 14030 }); 14031 }; 14032 const onSetOverlayColor = async (newOverlayColor) => { 14033 const averageBackgroundColor = await getMediaColor(url); 14034 const newIsDark = compositeIsDark( 14035 dimRatio, 14036 newOverlayColor, 14037 averageBackgroundColor 14038 ); 14039 setOverlayColor(newOverlayColor); 14040 __unstableMarkNextChangeAsNotPersistent(); 14041 setAttributes({ 14042 isUserOverlayColor: true, 14043 isDark: newIsDark 14044 }); 14045 }; 14046 const onUpdateDimRatio = async (newDimRatio) => { 14047 const averageBackgroundColor = await getMediaColor(url); 14048 const newIsDark = compositeIsDark( 14049 newDimRatio, 14050 overlayColor.color, 14051 averageBackgroundColor 14052 ); 14053 setAttributes({ 14054 dimRatio: newDimRatio, 14055 isDark: newIsDark 14056 }); 14057 }; 14058 const onUploadError = (message) => { 14059 createErrorNotice(message, { type: "snackbar" }); 14060 }; 14061 const isUploadingMedia = isTemporaryMedia(id, url); 14062 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 14063 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 14064 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 14065 const hasNonContentControls = blockEditingMode === "default"; 14066 const [resizeListener, { height, width }] = (0,external_wp_compose_namespaceObject.useResizeObserver)(); 14067 const resizableBoxDimensions = (0,external_wp_element_namespaceObject.useMemo)(() => { 14068 return { 14069 height: minHeightUnit === "px" && minHeight ? minHeight : "auto", 14070 width: "auto" 14071 }; 14072 }, [minHeight, minHeightUnit]); 14073 const minHeightWithUnit = minHeight && minHeightUnit ? `$minHeight}$minHeightUnit}` : minHeight; 14074 const isImgElement = !(hasParallax || isRepeated); 14075 const style = { 14076 minHeight: minHeightWithUnit || void 0 14077 }; 14078 const backgroundImage = url ? `url($url})` : void 0; 14079 const backgroundPosition = mediaPosition(focalPoint); 14080 const bgStyle = { backgroundColor: overlayColor.color }; 14081 const mediaStyle = { 14082 objectPosition: focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 14083 }; 14084 const hasBackground = !!(url || overlayColor.color || gradientValue); 14085 const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)( 14086 (select) => select(external_wp_blockEditor_namespaceObject.store).getBlock(clientId).innerBlocks.length > 0, 14087 [clientId] 14088 ); 14089 const ref = (0,external_wp_element_namespaceObject.useRef)(); 14090 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ ref }); 14091 const [fontSizes] = (0,external_wp_blockEditor_namespaceObject.useSettings)("typography.fontSizes"); 14092 const hasFontSizes = fontSizes?.length > 0; 14093 const innerBlocksTemplate = getInnerBlocksTemplate({ 14094 fontSize: hasFontSizes ? "large" : void 0 14095 }); 14096 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 14097 { 14098 className: "wp-block-cover__inner-container" 14099 }, 14100 { 14101 // Avoid template sync when the `templateLock` value is `all` or `contentOnly`. 14102 // See: https://github.com/WordPress/gutenberg/pull/45632 14103 template: !hasInnerBlocks ? innerBlocksTemplate : void 0, 14104 templateInsertUpdatesSelection: true, 14105 allowedBlocks, 14106 templateLock, 14107 dropZoneElement: ref.current 14108 } 14109 ); 14110 const mediaElement = (0,external_wp_element_namespaceObject.useRef)(); 14111 const currentSettings = { 14112 isVideoBackground, 14113 isImageBackground, 14114 mediaElement, 14115 hasInnerBlocks, 14116 url, 14117 isImgElement, 14118 overlayColor 14119 }; 14120 const toggleUseFeaturedImage = async () => { 14121 const newUseFeaturedImage = !useFeaturedImage; 14122 const averageBackgroundColor = newUseFeaturedImage ? await getMediaColor(mediaUrl) : DEFAULT_BACKGROUND_COLOR; 14123 const newOverlayColor = !isUserOverlayColor ? averageBackgroundColor : overlayColor.color; 14124 if (!isUserOverlayColor) { 14125 if (newUseFeaturedImage) { 14126 setOverlayColor(newOverlayColor); 14127 } else { 14128 setOverlayColor(void 0); 14129 } 14130 __unstableMarkNextChangeAsNotPersistent(); 14131 } 14132 const newDimRatio = dimRatio === 100 ? 50 : dimRatio; 14133 const newIsDark = compositeIsDark( 14134 newDimRatio, 14135 newOverlayColor, 14136 averageBackgroundColor 14137 ); 14138 setAttributes({ 14139 id: void 0, 14140 url: void 0, 14141 useFeaturedImage: newUseFeaturedImage, 14142 dimRatio: newDimRatio, 14143 backgroundType: useFeaturedImage ? IMAGE_BACKGROUND_TYPE : void 0, 14144 isDark: newIsDark 14145 }); 14146 }; 14147 const blockControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14148 CoverBlockControls, 14149 { 14150 attributes, 14151 setAttributes, 14152 onSelectMedia, 14153 currentSettings, 14154 toggleUseFeaturedImage, 14155 onClearMedia, 14156 blockEditingMode 14157 } 14158 ); 14159 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14160 CoverInspectorControls, 14161 { 14162 attributes, 14163 setAttributes, 14164 clientId, 14165 setOverlayColor: onSetOverlayColor, 14166 coverRef: ref, 14167 currentSettings, 14168 toggleUseFeaturedImage, 14169 updateDimRatio: onUpdateDimRatio, 14170 onClearMedia, 14171 featuredImage: media 14172 } 14173 ); 14174 const resizableCoverProps = { 14175 className: "block-library-cover__resize-container", 14176 clientId, 14177 height, 14178 minHeight: minHeightWithUnit, 14179 onResizeStart: () => { 14180 setAttributes({ minHeightUnit: "px" }); 14181 toggleSelection(false); 14182 }, 14183 onResize: (value) => { 14184 setAttributes({ minHeight: value }); 14185 }, 14186 onResizeStop: (newMinHeight) => { 14187 toggleSelection(true); 14188 setAttributes({ minHeight: newMinHeight }); 14189 }, 14190 // Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence. 14191 showHandle: !attributes.style?.dimensions?.aspectRatio, 14192 size: resizableBoxDimensions, 14193 width 14194 }; 14195 if (!useFeaturedImage && !hasInnerBlocks && !hasBackground) { 14196 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 14197 blockControls, 14198 inspectorControls, 14199 hasNonContentControls && isSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableCoverPopover, { ...resizableCoverProps }), 14200 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 14201 TagName, 14202 { 14203 ...blockProps, 14204 className: dist_clsx("is-placeholder", blockProps.className), 14205 style: { 14206 ...blockProps.style, 14207 minHeight: minHeightWithUnit || void 0 14208 }, 14209 children: [ 14210 resizeListener, 14211 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14212 CoverPlaceholder, 14213 { 14214 onSelectMedia, 14215 onError: onUploadError, 14216 toggleUseFeaturedImage, 14217 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-cover__placeholder-background-options", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14218 external_wp_blockEditor_namespaceObject.ColorPalette, 14219 { 14220 disableCustomColors: true, 14221 value: overlayColor.color, 14222 onChange: onSetOverlayColor, 14223 clearable: false, 14224 asButtons: true, 14225 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Overlay color") 14226 } 14227 ) }) 14228 } 14229 ) 14230 ] 14231 } 14232 ) 14233 ] }); 14234 } 14235 const classes = dist_clsx( 14236 { 14237 "is-dark-theme": isDark, 14238 "is-light": !isDark, 14239 "is-transient": isUploadingMedia, 14240 "has-parallax": hasParallax, 14241 "is-repeated": isRepeated, 14242 "has-custom-content-position": !isContentPositionCenter(contentPosition) 14243 }, 14244 getPositionClassName(contentPosition) 14245 ); 14246 const showOverlay = url || !useFeaturedImage || useFeaturedImage && !url; 14247 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 14248 blockControls, 14249 inspectorControls, 14250 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 14251 TagName, 14252 { 14253 ...blockProps, 14254 className: dist_clsx(classes, blockProps.className), 14255 style: { ...style, ...blockProps.style }, 14256 "data-url": url, 14257 children: [ 14258 resizeListener, 14259 !url && useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14260 external_wp_components_namespaceObject.Placeholder, 14261 { 14262 className: "wp-block-cover__image--placeholder-image", 14263 withIllustration: true 14264 } 14265 ), 14266 url && isImageBackground && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14267 "img", 14268 { 14269 ref: mediaElement, 14270 className: "wp-block-cover__image-background", 14271 alt, 14272 src: url, 14273 style: mediaStyle 14274 } 14275 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14276 "div", 14277 { 14278 ref: mediaElement, 14279 role: alt ? "img" : void 0, 14280 "aria-label": alt ? alt : void 0, 14281 className: dist_clsx( 14282 classes, 14283 "wp-block-cover__image-background" 14284 ), 14285 style: { backgroundImage, backgroundPosition } 14286 } 14287 )), 14288 url && isVideoBackground && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14289 "video", 14290 { 14291 ref: mediaElement, 14292 className: "wp-block-cover__video-background", 14293 autoPlay: true, 14294 muted: true, 14295 loop: true, 14296 src: url, 14297 poster, 14298 style: mediaStyle 14299 } 14300 ), 14301 showOverlay && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14302 "span", 14303 { 14304 "aria-hidden": "true", 14305 className: dist_clsx( 14306 "wp-block-cover__background", 14307 dimRatioToClass(dimRatio), 14308 { 14309 [overlayColor.class]: overlayColor.class, 14310 "has-background-dim": dimRatio !== void 0, 14311 // For backwards compatibility. Former versions of the Cover Block applied 14312 // `.wp-block-cover__gradient-background` in the presence of 14313 // media, a gradient and a dim. 14314 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 14315 "has-background-gradient": gradientValue, 14316 [gradientClass]: gradientClass 14317 } 14318 ), 14319 style: { backgroundImage: gradientValue, ...bgStyle } 14320 } 14321 ), 14322 isUploadingMedia && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 14323 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14324 CoverPlaceholder, 14325 { 14326 disableMediaButtons: true, 14327 onSelectMedia, 14328 onError: onUploadError, 14329 toggleUseFeaturedImage 14330 } 14331 ), 14332 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 14333 ] 14334 } 14335 ), 14336 hasNonContentControls && isSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableCoverPopover, { ...resizableCoverProps }) 14337 ] }); 14338 } 14339 var cover_edit_edit_default = (0,external_wp_compose_namespaceObject.compose)([ 14340 (0,external_wp_blockEditor_namespaceObject.withColors)({ overlayColor: "background-color" }) 14341 ])(CoverEdit); 14342 14343 14344 ;// ./node_modules/@wordpress/block-library/build-module/cover/block.json 14345 const cover_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/cover","title":"Cover","category":"media","description":"Add an image or video with a text overlay.","textdomain":"default","attributes":{"url":{"type":"string","role":"content"},"useFeaturedImage":{"type":"boolean","default":false},"id":{"type":"number"},"alt":{"type":"string","default":""},"hasParallax":{"type":"boolean","default":false},"isRepeated":{"type":"boolean","default":false},"dimRatio":{"type":"number","default":100},"overlayColor":{"type":"string"},"customOverlayColor":{"type":"string"},"isUserOverlayColor":{"type":"boolean"},"backgroundType":{"type":"string","default":"image"},"focalPoint":{"type":"object"},"minHeight":{"type":"number"},"minHeightUnit":{"type":"string"},"gradient":{"type":"string"},"customGradient":{"type":"string"},"contentPosition":{"type":"string"},"isDark":{"type":"boolean","default":true},"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false]},"tagName":{"type":"string","default":"div"},"sizeSlug":{"type":"string"},"poster":{"type":"string","source":"attribute","selector":"video","attribute":"poster"}},"usesContext":["postId","postType"],"supports":{"anchor":true,"align":true,"html":false,"shadow":true,"spacing":{"padding":true,"margin":["top","bottom"],"blockGap":true,"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"color":{"heading":true,"text":true,"background":false,"__experimentalSkipSerialization":["gradients"],"enableContrastChecker":false},"dimensions":{"aspectRatio":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"layout":{"allowJustification":false},"interactivity":{"clientNavigation":true},"filter":{"duotone":true},"allowedBlocks":true},"selectors":{"filter":{"duotone":".wp-block-cover > .wp-block-cover__image-background, .wp-block-cover > .wp-block-cover__video-background"}},"editorStyle":"wp-block-cover-editor","style":"wp-block-cover"}'); 14346 ;// ./node_modules/@wordpress/block-library/build-module/cover/save.js 14347 14348 14349 14350 14351 function cover_save_save({ attributes }) { 14352 const { 14353 backgroundType, 14354 gradient, 14355 contentPosition, 14356 customGradient, 14357 customOverlayColor, 14358 dimRatio, 14359 focalPoint, 14360 useFeaturedImage, 14361 hasParallax, 14362 isDark, 14363 isRepeated, 14364 overlayColor, 14365 url, 14366 alt, 14367 id, 14368 minHeight: minHeightProp, 14369 minHeightUnit, 14370 tagName: Tag, 14371 sizeSlug, 14372 poster 14373 } = attributes; 14374 const overlayColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 14375 "background-color", 14376 overlayColor 14377 ); 14378 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 14379 const minHeight = minHeightProp && minHeightUnit ? `$minHeightProp}$minHeightUnit}` : minHeightProp; 14380 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 14381 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 14382 const isImgElement = !(hasParallax || isRepeated); 14383 const style = { 14384 minHeight: minHeight || void 0 14385 }; 14386 const bgStyle = { 14387 backgroundColor: !overlayColorClass ? customOverlayColor : void 0, 14388 background: customGradient ? customGradient : void 0 14389 }; 14390 const objectPosition = ( 14391 // prettier-ignore 14392 focalPoint && isImgElement ? mediaPosition(focalPoint) : void 0 14393 ); 14394 const backgroundImage = url ? `url($url})` : void 0; 14395 const backgroundPosition = mediaPosition(focalPoint); 14396 const classes = dist_clsx( 14397 { 14398 "is-light": !isDark, 14399 "has-parallax": hasParallax, 14400 "is-repeated": isRepeated, 14401 "has-custom-content-position": !isContentPositionCenter(contentPosition) 14402 }, 14403 getPositionClassName(contentPosition) 14404 ); 14405 const imgClasses = dist_clsx( 14406 "wp-block-cover__image-background", 14407 id ? `wp-image-$id}` : null, 14408 { 14409 [`size-$sizeSlug}`]: sizeSlug, 14410 "has-parallax": hasParallax, 14411 "is-repeated": isRepeated 14412 } 14413 ); 14414 const gradientValue = gradient || customGradient; 14415 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes, style }), children: [ 14416 !useFeaturedImage && isImageBackground && url && (isImgElement ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14417 "img", 14418 { 14419 className: imgClasses, 14420 alt, 14421 src: url, 14422 style: { objectPosition }, 14423 "data-object-fit": "cover", 14424 "data-object-position": objectPosition 14425 } 14426 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14427 "div", 14428 { 14429 role: alt ? "img" : void 0, 14430 "aria-label": alt ? alt : void 0, 14431 className: imgClasses, 14432 style: { backgroundPosition, backgroundImage } 14433 } 14434 )), 14435 isVideoBackground && url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14436 "video", 14437 { 14438 className: dist_clsx( 14439 "wp-block-cover__video-background", 14440 "intrinsic-ignore" 14441 ), 14442 autoPlay: true, 14443 muted: true, 14444 loop: true, 14445 playsInline: true, 14446 src: url, 14447 poster, 14448 style: { objectPosition }, 14449 "data-object-fit": "cover", 14450 "data-object-position": objectPosition 14451 } 14452 ), 14453 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14454 "span", 14455 { 14456 "aria-hidden": "true", 14457 className: dist_clsx( 14458 "wp-block-cover__background", 14459 overlayColorClass, 14460 dimRatioToClass(dimRatio), 14461 { 14462 "has-background-dim": dimRatio !== void 0, 14463 // For backwards compatibility. Former versions of the Cover Block applied 14464 // `.wp-block-cover__gradient-background` in the presence of 14465 // media, a gradient and a dim. 14466 "wp-block-cover__gradient-background": url && gradientValue && dimRatio !== 0, 14467 "has-background-gradient": gradientValue, 14468 [gradientClass]: gradientClass 14469 } 14470 ), 14471 style: bgStyle 14472 } 14473 ), 14474 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14475 "div", 14476 { 14477 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 14478 className: "wp-block-cover__inner-container" 14479 }) 14480 } 14481 ) 14482 ] }); 14483 } 14484 14485 14486 ;// ./node_modules/@wordpress/block-library/build-module/cover/transforms.js 14487 14488 14489 14490 14491 const { cleanEmptyObject: transforms_cleanEmptyObject } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 14492 const cover_transforms_transforms = { 14493 from: [ 14494 { 14495 type: "block", 14496 blocks: ["core/image"], 14497 transform: ({ caption, url, alt, align, id, anchor, style }) => (0,external_wp_blocks_namespaceObject.createBlock)( 14498 "core/cover", 14499 { 14500 dimRatio: 50, 14501 url, 14502 alt, 14503 align, 14504 id, 14505 anchor, 14506 style: { 14507 color: { 14508 duotone: style?.color?.duotone 14509 } 14510 } 14511 }, 14512 [ 14513 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 14514 content: caption, 14515 fontSize: "large", 14516 align: "center" 14517 }) 14518 ] 14519 ) 14520 }, 14521 { 14522 type: "block", 14523 blocks: ["core/video"], 14524 transform: ({ caption, src, align, id, anchor }) => (0,external_wp_blocks_namespaceObject.createBlock)( 14525 "core/cover", 14526 { 14527 dimRatio: 50, 14528 url: src, 14529 align, 14530 id, 14531 backgroundType: VIDEO_BACKGROUND_TYPE, 14532 anchor 14533 }, 14534 [ 14535 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 14536 content: caption, 14537 fontSize: "large", 14538 align: "center" 14539 }) 14540 ] 14541 ) 14542 }, 14543 { 14544 type: "block", 14545 blocks: ["core/group"], 14546 transform: (attributes, innerBlocks) => { 14547 const { align, anchor, backgroundColor, gradient, style } = attributes; 14548 if (innerBlocks?.length === 1 && innerBlocks[0]?.name === "core/cover") { 14549 return (0,external_wp_blocks_namespaceObject.createBlock)( 14550 "core/cover", 14551 innerBlocks[0].attributes, 14552 innerBlocks[0].innerBlocks 14553 ); 14554 } 14555 const dimRatio = backgroundColor || gradient || style?.color?.background || style?.color?.gradient ? void 0 : 50; 14556 const parentAttributes = { 14557 align, 14558 anchor, 14559 dimRatio, 14560 overlayColor: backgroundColor, 14561 customOverlayColor: style?.color?.background, 14562 gradient, 14563 customGradient: style?.color?.gradient 14564 }; 14565 const attributesWithoutBackgroundColors = { 14566 ...attributes, 14567 backgroundColor: void 0, 14568 gradient: void 0, 14569 style: transforms_cleanEmptyObject({ 14570 ...attributes?.style, 14571 color: style?.color ? { 14572 ...style?.color, 14573 background: void 0, 14574 gradient: void 0 14575 } : void 0 14576 }) 14577 }; 14578 return (0,external_wp_blocks_namespaceObject.createBlock)("core/cover", parentAttributes, [ 14579 (0,external_wp_blocks_namespaceObject.createBlock)( 14580 "core/group", 14581 attributesWithoutBackgroundColors, 14582 innerBlocks 14583 ) 14584 ]); 14585 } 14586 } 14587 ], 14588 to: [ 14589 { 14590 type: "block", 14591 blocks: ["core/image"], 14592 isMatch: ({ 14593 backgroundType, 14594 url, 14595 overlayColor, 14596 customOverlayColor, 14597 gradient, 14598 customGradient 14599 }) => { 14600 if (url) { 14601 return backgroundType === IMAGE_BACKGROUND_TYPE; 14602 } 14603 return !overlayColor && !customOverlayColor && !gradient && !customGradient; 14604 }, 14605 transform: ({ title, url, alt, align, id, anchor, style }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 14606 caption: title, 14607 url, 14608 alt, 14609 align, 14610 id, 14611 anchor, 14612 style: { 14613 color: { 14614 duotone: style?.color?.duotone 14615 } 14616 } 14617 }) 14618 }, 14619 { 14620 type: "block", 14621 blocks: ["core/video"], 14622 isMatch: ({ 14623 backgroundType, 14624 url, 14625 overlayColor, 14626 customOverlayColor, 14627 gradient, 14628 customGradient 14629 }) => { 14630 if (url) { 14631 return backgroundType === VIDEO_BACKGROUND_TYPE; 14632 } 14633 return !overlayColor && !customOverlayColor && !gradient && !customGradient; 14634 }, 14635 transform: ({ title, url, align, id, anchor }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/video", { 14636 caption: title, 14637 src: url, 14638 id, 14639 align, 14640 anchor 14641 }) 14642 }, 14643 { 14644 type: "block", 14645 blocks: ["core/group"], 14646 isMatch: ({ url, useFeaturedImage }) => { 14647 if (url || useFeaturedImage) { 14648 return false; 14649 } 14650 return true; 14651 }, 14652 transform: (attributes, innerBlocks) => { 14653 const transformedColorAttributes = { 14654 backgroundColor: attributes?.overlayColor, 14655 gradient: attributes?.gradient, 14656 style: transforms_cleanEmptyObject({ 14657 ...attributes?.style, 14658 color: attributes?.customOverlayColor || attributes?.customGradient || attributes?.style?.color ? { 14659 background: attributes?.customOverlayColor, 14660 gradient: attributes?.customGradient, 14661 ...attributes?.style?.color 14662 } : void 0 14663 }) 14664 }; 14665 if (innerBlocks?.length === 1 && innerBlocks[0]?.name === "core/group") { 14666 const groupAttributes = transforms_cleanEmptyObject( 14667 innerBlocks[0].attributes || {} 14668 ); 14669 if (groupAttributes?.backgroundColor || groupAttributes?.gradient || groupAttributes?.style?.color?.background || groupAttributes?.style?.color?.gradient) { 14670 return (0,external_wp_blocks_namespaceObject.createBlock)( 14671 "core/group", 14672 groupAttributes, 14673 innerBlocks[0]?.innerBlocks 14674 ); 14675 } 14676 return (0,external_wp_blocks_namespaceObject.createBlock)( 14677 "core/group", 14678 { 14679 ...transformedColorAttributes, 14680 ...groupAttributes, 14681 style: transforms_cleanEmptyObject({ 14682 ...groupAttributes?.style, 14683 color: transformedColorAttributes?.style?.color || groupAttributes?.style?.color ? { 14684 ...transformedColorAttributes?.style?.color, 14685 ...groupAttributes?.style?.color 14686 } : void 0 14687 }) 14688 }, 14689 innerBlocks[0]?.innerBlocks 14690 ); 14691 } 14692 return (0,external_wp_blocks_namespaceObject.createBlock)( 14693 "core/group", 14694 { ...attributes, ...transformedColorAttributes }, 14695 innerBlocks 14696 ); 14697 } 14698 } 14699 ] 14700 }; 14701 var cover_transforms_transforms_default = cover_transforms_transforms; 14702 14703 14704 ;// ./node_modules/@wordpress/block-library/build-module/cover/variations.js 14705 14706 14707 const cover_variations_variations = [ 14708 { 14709 name: "cover", 14710 title: (0,external_wp_i18n_namespaceObject.__)("Cover"), 14711 description: (0,external_wp_i18n_namespaceObject.__)("Add an image or video with a text overlay."), 14712 attributes: { layout: { type: "constrained" } }, 14713 isDefault: true, 14714 icon: cover_default 14715 } 14716 ]; 14717 var cover_variations_variations_default = cover_variations_variations; 14718 14719 14720 ;// ./node_modules/@wordpress/block-library/build-module/cover/index.js 14721 14722 14723 14724 14725 14726 14727 14728 14729 14730 const { name: cover_name } = cover_block_namespaceObject; 14731 const cover_settings = { 14732 icon: cover_default, 14733 example: { 14734 attributes: { 14735 customOverlayColor: "#065174", 14736 dimRatio: 40, 14737 url: "https://s.w.org/images/core/5.3/Windbuchencom.jpg", 14738 style: { 14739 typography: { 14740 fontSize: 48 14741 }, 14742 color: { 14743 text: "white" 14744 } 14745 } 14746 }, 14747 innerBlocks: [ 14748 { 14749 name: "core/paragraph", 14750 attributes: { 14751 content: `<strong>${(0,external_wp_i18n_namespaceObject.__)("Snow Patrol")}</strong>`, 14752 align: "center" 14753 } 14754 } 14755 ] 14756 }, 14757 transforms: cover_transforms_transforms_default, 14758 save: cover_save_save, 14759 edit: cover_edit_edit_default, 14760 deprecated: cover_deprecated_deprecated_default, 14761 variations: cover_variations_variations_default 14762 }; 14763 const cover_init = () => initBlock({ name: cover_name, metadata: cover_block_namespaceObject, settings: cover_settings }); 14764 14765 14766 ;// ./node_modules/@wordpress/icons/build-module/library/details.js 14767 14768 14769 var details_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: [ 14770 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14771 external_wp_primitives_namespaceObject.Path, 14772 { 14773 d: "M4 16h10v1.5H4V16Zm0-4.5h16V13H4v-1.5ZM10 7h10v1.5H10V7Z", 14774 fillRule: "evenodd", 14775 clipRule: "evenodd" 14776 } 14777 ), 14778 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m4 5.25 4 2.5-4 2.5v-5Z" }) 14779 ] }); 14780 14781 14782 ;// ./node_modules/@wordpress/block-library/build-module/details/block.json 14783 const details_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/details","title":"Details","category":"text","description":"Hide and show additional content.","keywords":["summary","toggle","disclosure"],"textdomain":"default","attributes":{"showContent":{"type":"boolean","default":false},"summary":{"type":"rich-text","source":"rich-text","selector":"summary","role":"content"},"name":{"type":"string","source":"attribute","attribute":"name","selector":".wp-block-details"},"placeholder":{"type":"string"}},"supports":{"__experimentalOnEnter":true,"align":["wide","full"],"anchor":true,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"__experimentalBorder":{"color":true,"width":true,"style":true},"html":false,"spacing":{"margin":true,"padding":true,"blockGap":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"layout":{"allowEditing":false},"interactivity":{"clientNavigation":true},"allowedBlocks":true},"editorStyle":"wp-block-details-editor","style":"wp-block-details"}'); 14784 ;// ./node_modules/@wordpress/block-library/build-module/details/edit.js 14785 14786 14787 14788 14789 14790 14791 14792 14793 const { withIgnoreIMEEvents } = unlock(external_wp_components_namespaceObject.privateApis); 14794 const details_edit_TEMPLATE = [ 14795 [ 14796 "core/paragraph", 14797 { 14798 placeholder: (0,external_wp_i18n_namespaceObject.__)("Type / to add a hidden block") 14799 } 14800 ] 14801 ]; 14802 function DetailsEdit({ attributes, setAttributes, clientId }) { 14803 const { name, showContent, summary, allowedBlocks, placeholder } = attributes; 14804 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 14805 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 14806 template: details_edit_TEMPLATE, 14807 __experimentalCaptureToolbars: true, 14808 allowedBlocks 14809 }); 14810 const [isOpen, setIsOpen] = (0,external_wp_element_namespaceObject.useState)(showContent); 14811 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 14812 const hasSelectedInnerBlock = (0,external_wp_data_namespaceObject.useSelect)( 14813 (select) => select(external_wp_blockEditor_namespaceObject.store).hasSelectedInnerBlock(clientId, true), 14814 [clientId] 14815 ); 14816 const handleSummaryKeyDown = (event) => { 14817 if (event.key === "Enter" && !event.shiftKey) { 14818 setIsOpen((prevIsOpen) => !prevIsOpen); 14819 event.preventDefault(); 14820 } 14821 }; 14822 const handleSummaryKeyUp = (event) => { 14823 if (event.key === " ") { 14824 event.preventDefault(); 14825 } 14826 }; 14827 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 14828 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14829 external_wp_components_namespaceObject.__experimentalToolsPanel, 14830 { 14831 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 14832 resetAll: () => { 14833 setAttributes({ 14834 showContent: false 14835 }); 14836 }, 14837 dropdownMenuProps, 14838 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14839 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 14840 { 14841 isShownByDefault: true, 14842 label: (0,external_wp_i18n_namespaceObject.__)("Open by default"), 14843 hasValue: () => showContent, 14844 onDeselect: () => { 14845 setAttributes({ 14846 showContent: false 14847 }); 14848 }, 14849 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14850 external_wp_components_namespaceObject.ToggleControl, 14851 { 14852 __nextHasNoMarginBottom: true, 14853 label: (0,external_wp_i18n_namespaceObject.__)("Open by default"), 14854 checked: showContent, 14855 onChange: () => setAttributes({ 14856 showContent: !showContent 14857 }) 14858 } 14859 ) 14860 } 14861 ) 14862 } 14863 ) }), 14864 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14865 external_wp_components_namespaceObject.TextControl, 14866 { 14867 __next40pxDefaultSize: true, 14868 __nextHasNoMarginBottom: true, 14869 label: (0,external_wp_i18n_namespaceObject.__)("Name attribute"), 14870 value: name || "", 14871 onChange: (newName) => setAttributes({ name: newName }), 14872 help: (0,external_wp_i18n_namespaceObject.__)( 14873 "Enables multiple Details blocks with the same name attribute to be connected, with only one open at a time." 14874 ) 14875 } 14876 ) }), 14877 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 14878 "details", 14879 { 14880 ...innerBlocksProps, 14881 open: isOpen || hasSelectedInnerBlock, 14882 onToggle: (event) => setIsOpen(event.target.open), 14883 name: name || "", 14884 children: [ 14885 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14886 "summary", 14887 { 14888 onKeyDown: withIgnoreIMEEvents(handleSummaryKeyDown), 14889 onKeyUp: handleSummaryKeyUp, 14890 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 14891 external_wp_blockEditor_namespaceObject.RichText, 14892 { 14893 identifier: "summary", 14894 "aria-label": (0,external_wp_i18n_namespaceObject.__)( 14895 "Write summary. Press Enter to expand or collapse the details." 14896 ), 14897 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)("Write summary\u2026"), 14898 withoutInteractiveFormatting: true, 14899 value: summary, 14900 onChange: (newSummary) => setAttributes({ summary: newSummary }) 14901 } 14902 ) 14903 } 14904 ), 14905 innerBlocksProps.children 14906 ] 14907 } 14908 ) 14909 ] }); 14910 } 14911 var details_edit_edit_default = DetailsEdit; 14912 14913 14914 ;// ./node_modules/@wordpress/block-library/build-module/details/save.js 14915 14916 14917 function details_save_save({ attributes }) { 14918 const { name, showContent } = attributes; 14919 const summary = attributes.summary ? attributes.summary : "Details"; 14920 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 14921 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 14922 "details", 14923 { 14924 ...blockProps, 14925 name: name || void 0, 14926 open: showContent, 14927 children: [ 14928 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("summary", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: summary }) }), 14929 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 14930 ] 14931 } 14932 ); 14933 } 14934 14935 14936 ;// ./node_modules/@wordpress/block-library/build-module/details/transforms.js 14937 14938 var details_transforms_transforms_default = { 14939 from: [ 14940 { 14941 type: "block", 14942 isMultiBlock: true, 14943 blocks: ["*"], 14944 isMatch({}, blocks) { 14945 return !(blocks.length === 1 && blocks[0].name === "core/details"); 14946 }, 14947 __experimentalConvert(blocks) { 14948 return (0,external_wp_blocks_namespaceObject.createBlock)( 14949 "core/details", 14950 {}, 14951 blocks.map((block) => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)) 14952 ); 14953 } 14954 } 14955 ] 14956 }; 14957 14958 14959 ;// ./node_modules/@wordpress/block-library/build-module/details/index.js 14960 14961 14962 14963 14964 14965 14966 14967 const { name: details_name } = details_block_namespaceObject; 14968 const details_settings = { 14969 icon: details_default, 14970 example: { 14971 attributes: { 14972 summary: (0,external_wp_i18n_namespaceObject.__)("La Mancha"), 14973 showContent: true 14974 }, 14975 innerBlocks: [ 14976 { 14977 name: "core/paragraph", 14978 attributes: { 14979 content: (0,external_wp_i18n_namespaceObject.__)( 14980 "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing." 14981 ) 14982 } 14983 } 14984 ] 14985 }, 14986 __experimentalLabel(attributes, { context }) { 14987 const { summary } = attributes; 14988 const customName = attributes?.metadata?.name; 14989 const hasSummary = summary?.trim().length > 0; 14990 if (context === "list-view" && (customName || hasSummary)) { 14991 return customName || summary; 14992 } 14993 if (context === "accessibility") { 14994 return !hasSummary ? (0,external_wp_i18n_namespaceObject.__)("Details. Empty.") : (0,external_wp_i18n_namespaceObject.sprintf)( 14995 /* translators: %s: accessibility text; summary title. */ 14996 (0,external_wp_i18n_namespaceObject.__)("Details. %s"), 14997 summary 14998 ); 14999 } 15000 }, 15001 save: details_save_save, 15002 edit: details_edit_edit_default, 15003 transforms: details_transforms_transforms_default 15004 }; 15005 const details_init = () => initBlock({ name: details_name, metadata: details_block_namespaceObject, settings: details_settings }); 15006 15007 15008 ;// ./node_modules/@wordpress/icons/build-module/library/pencil.js 15009 15010 15011 var pencil_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m19 7-3-3-8.5 8.5-1 4 4-1L19 7Zm-7 11.5H5V20h7v-1.5Z" }) }); 15012 15013 15014 ;// ./node_modules/@wordpress/block-library/build-module/embed/embed-controls.js 15015 15016 15017 15018 15019 15020 15021 function getResponsiveHelp(checked) { 15022 return checked ? (0,external_wp_i18n_namespaceObject.__)( 15023 "This embed will preserve its aspect ratio when the browser is resized." 15024 ) : (0,external_wp_i18n_namespaceObject.__)( 15025 "This embed may not preserve its aspect ratio when the browser is resized." 15026 ); 15027 } 15028 const EmbedControls = ({ 15029 blockSupportsResponsive, 15030 showEditButton, 15031 themeSupportsResponsive, 15032 allowResponsive, 15033 toggleResponsive, 15034 switchBackToURLInput 15035 }) => { 15036 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 15037 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 15038 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: showEditButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15039 external_wp_components_namespaceObject.ToolbarButton, 15040 { 15041 className: "components-toolbar__control", 15042 label: (0,external_wp_i18n_namespaceObject.__)("Edit URL"), 15043 icon: pencil_default, 15044 onClick: switchBackToURLInput 15045 } 15046 ) }) }), 15047 themeSupportsResponsive && blockSupportsResponsive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15048 external_wp_components_namespaceObject.__experimentalToolsPanel, 15049 { 15050 label: (0,external_wp_i18n_namespaceObject.__)("Media settings"), 15051 resetAll: () => { 15052 toggleResponsive(true); 15053 }, 15054 dropdownMenuProps, 15055 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15056 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 15057 { 15058 label: (0,external_wp_i18n_namespaceObject.__)("Media settings"), 15059 isShownByDefault: true, 15060 hasValue: () => !allowResponsive, 15061 onDeselect: () => { 15062 toggleResponsive(!allowResponsive); 15063 }, 15064 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15065 external_wp_components_namespaceObject.ToggleControl, 15066 { 15067 __nextHasNoMarginBottom: true, 15068 label: (0,external_wp_i18n_namespaceObject.__)("Resize for smaller devices"), 15069 checked: allowResponsive, 15070 help: getResponsiveHelp, 15071 onChange: toggleResponsive 15072 } 15073 ) 15074 } 15075 ) 15076 } 15077 ) }) 15078 ] }); 15079 }; 15080 var embed_controls_default = EmbedControls; 15081 15082 15083 ;// ./node_modules/@wordpress/block-library/build-module/embed/icons.js 15084 15085 15086 const embedContentIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zm-6-9.5L16 12l-2.5 2.8 1.1 1L18 12l-3.5-3.5-1 1zm-3 0l-1-1L6 12l3.5 3.8 1.1-1L8 12l2.5-2.5z" }) }); 15087 const embedAudioIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM13.2 7.7c-.4.4-.7 1.1-.7 1.9v3.7c-.4-.3-.8-.4-1.3-.4-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2.5 0 1-.2 1.4-.5.9-.6 1.4-1.6 1.4-2.6V9.6c0-.4.1-.6.2-.8.3-.3 1-.3 1.6-.3h.2V7h-.2c-.7 0-1.8 0-2.6.7z" }) }); 15088 const embedPhotoIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9.2 4.5H19c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V9.8l4.6-5.3zm9.8 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" }) }); 15089 const embedVideoIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM10 15l5-3-5-3v6z" }) }); 15090 const embedTwitterIcon = { 15091 foreground: "#1da1f2", 15092 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.G, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M22.23 5.924c-.736.326-1.527.547-2.357.646.847-.508 1.498-1.312 1.804-2.27-.793.47-1.67.812-2.606.996C18.325 4.498 17.258 4 16.078 4c-2.266 0-4.103 1.837-4.103 4.103 0 .322.036.635.106.935-3.41-.17-6.433-1.804-8.457-4.287-.353.607-.556 1.312-.556 2.064 0 1.424.724 2.68 1.825 3.415-.673-.022-1.305-.207-1.86-.514v.052c0 1.988 1.415 3.647 3.293 4.023-.344.095-.707.145-1.08.145-.265 0-.522-.026-.773-.074.522 1.63 2.038 2.817 3.833 2.85-1.404 1.1-3.174 1.757-5.096 1.757-.332 0-.66-.02-.98-.057 1.816 1.164 3.973 1.843 6.29 1.843 7.547 0 11.675-6.252 11.675-11.675 0-.178-.004-.355-.012-.53.802-.578 1.497-1.3 2.047-2.124z" }) }) }) 15093 }; 15094 const embedYouTubeIcon = { 15095 foreground: "#ff0000", 15096 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z" }) }) 15097 }; 15098 const embedFacebookIcon = { 15099 foreground: "#3b5998", 15100 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z" }) }) 15101 }; 15102 const embedInstagramIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.G, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z" }) }) }); 15103 const embedWordPressIcon = { 15104 foreground: "#0073AA", 15105 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.G, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z" }) }) }) 15106 }; 15107 const embedSpotifyIcon = { 15108 foreground: "#1db954", 15109 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325" }) }) 15110 }; 15111 const embedFlickrIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z" }) }); 15112 const embedVimeoIcon = { 15113 foreground: "#1ab7ea", 15114 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.G, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z" }) }) }) 15115 }; 15116 const embedRedditIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M22 12.068a2.184 2.184 0 0 0-2.186-2.186c-.592 0-1.13.233-1.524.609-1.505-1.075-3.566-1.774-5.86-1.864l1.004-4.695 3.261.699A1.56 1.56 0 1 0 18.255 3c-.61-.001-1.147.357-1.398.877l-3.638-.77a.382.382 0 0 0-.287.053.348.348 0 0 0-.161.251l-1.112 5.233c-2.33.072-4.426.77-5.95 1.864a2.201 2.201 0 0 0-1.523-.61 2.184 2.184 0 0 0-.896 4.176c-.036.215-.053.43-.053.663 0 3.37 3.924 6.111 8.763 6.111s8.763-2.724 8.763-6.11c0-.216-.017-.449-.053-.664A2.207 2.207 0 0 0 22 12.068Zm-15.018 1.56a1.56 1.56 0 0 1 3.118 0c0 .86-.699 1.558-1.559 1.558-.86.018-1.559-.699-1.559-1.559Zm8.728 4.139c-1.076 1.075-3.119 1.147-3.71 1.147-.61 0-2.652-.09-3.71-1.147a.4.4 0 0 1 0-.573.4.4 0 0 1 .574 0c.68.68 2.114.914 3.136.914 1.022 0 2.473-.233 3.136-.914a.4.4 0 0 1 .574 0 .436.436 0 0 1 0 .573Zm-.287-2.563a1.56 1.56 0 0 1 0-3.118c.86 0 1.56.699 1.56 1.56 0 .841-.7 1.558-1.56 1.558Z" }) }); 15117 const embedTumblrIcon = { 15118 foreground: "#35465c", 15119 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M19 3H5a2 2 0 00-2 2v14c0 1.1.9 2 2 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm-5.69 14.66c-2.72 0-3.1-1.9-3.1-3.16v-3.56H8.49V8.99c1.7-.62 2.54-1.99 2.64-2.87 0-.06.06-.41.06-.58h1.9v3.1h2.17v2.3h-2.18v3.1c0 .47.13 1.3 1.2 1.26h1.1v2.36c-1.01.02-2.07 0-2.07 0z" }) }) 15120 }; 15121 const embedAmazonIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: [ 15122 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z" }), 15123 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z" }), 15124 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z" }) 15125 ] }); 15126 const embedAnimotoIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: [ 15127 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15128 external_wp_components_namespaceObject.Path, 15129 { 15130 d: "m.0206909 21 19.8160091-13.07806 3.5831 6.20826z", 15131 fill: "#4bc7ee" 15132 } 15133 ), 15134 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15135 external_wp_components_namespaceObject.Path, 15136 { 15137 d: "m23.7254 19.0205-10.1074-17.18468c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418h22.5655c1.279 0 1.8019-.8905 1.1599-1.9795z", 15138 fill: "#d4cdcb" 15139 } 15140 ), 15141 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15142 external_wp_components_namespaceObject.Path, 15143 { 15144 d: "m.0206909 21 15.2439091-16.38571 4.3029 7.32271z", 15145 fill: "#c3d82e" 15146 } 15147 ), 15148 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15149 external_wp_components_namespaceObject.Path, 15150 { 15151 d: "m13.618 1.83582c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418 15.2646-16.38573z", 15152 fill: "#e4ecb0" 15153 } 15154 ), 15155 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "m.0206909 21 19.5468091-9.063 1.6621 2.8344z", fill: "#209dbd" }), 15156 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15157 external_wp_components_namespaceObject.Path, 15158 { 15159 d: "m.0206909 21 17.9209091-11.82623 1.6259 2.76323z", 15160 fill: "#7cb3c9" 15161 } 15162 ) 15163 ] }); 15164 const embedDailymotionIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15165 external_wp_components_namespaceObject.Path, 15166 { 15167 d: "M11.903 16.568c-1.82 0-3.124-1.281-3.124-2.967a2.987 2.987 0 0 1 2.989-2.989c1.663 0 2.944 1.304 2.944 3.034 0 1.663-1.281 2.922-2.81 2.922ZM17.997 3l-3.308.73v5.107c-.809-1.034-2.045-1.37-3.505-1.37-1.529 0-2.9.561-4.023 1.662-1.259 1.214-1.933 2.764-1.933 4.495 0 1.888.72 3.506 2.113 4.742 1.056.944 2.314 1.415 3.775 1.415 1.438 0 2.517-.382 3.573-1.415v1.415h3.308V3Z", 15168 fill: "#333436" 15169 } 15170 ) }); 15171 const embedPinterestIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2" }) }); 15172 const embedWolframIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 44 44", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M32.59521,22.001l4.31885-4.84473-6.34131-1.38379.646-6.459-5.94336,2.61035L22,6.31934l-3.27344,5.60351L12.78418,9.3125l.645,6.458L7.08643,17.15234,11.40479,21.999,7.08594,26.84375l6.34131,1.38379-.64551,6.458,5.94287-2.60938L22,37.68066l3.27344-5.60351,5.94287,2.61035-.64551-6.458,6.34277-1.38183Zm.44385,2.75244L30.772,23.97827l-1.59558-2.07391,1.97888.735Zm-8.82147,6.1579L22.75,33.424V30.88977l1.52228-2.22168ZM18.56226,13.48816,19.819,15.09534l-2.49219-.88642L15.94037,12.337Zm6.87719.00116,2.62043-1.15027-1.38654,1.86981L24.183,15.0946Zm3.59357,2.6029-1.22546,1.7381.07525-2.73486,1.44507-1.94867ZM22,29.33008l-2.16406-3.15686L22,23.23688l2.16406,2.93634Zm-4.25458-9.582-.10528-3.836,3.60986,1.284v3.73242Zm5.00458-2.552,3.60986-1.284-.10528,3.836L22.75,20.92853Zm-7.78174-1.10559-.29352-2.94263,1.44245,1.94739.07519,2.73321Zm2.30982,5.08319,3.50817,1.18164-2.16247,2.9342-3.678-1.08447Zm2.4486,7.49285L21.25,30.88977v2.53485L19.78052,30.91Zm3.48707-6.31121,3.50817-1.18164,2.33228,3.03137-3.678,1.08447Zm10.87219-4.28113-2.714,3.04529L28.16418,19.928l1.92176-2.72565ZM24.06036,12.81769l-2.06012,2.6322-2.059-2.63318L22,9.292ZM9.91455,18.07227l4.00079-.87195,1.921,2.72735-3.20794,1.19019Zm2.93024,4.565,1.9801-.73462L13.228,23.97827l-2.26838.77429Zm-1.55591,3.58819L13.701,25.4021l2.64935.78058-2.14447.67853Zm3.64868,1.977L18.19,27.17334l.08313,3.46332L14.52979,32.2793Zm10.7876,2.43549.08447-3.464,3.25165,1.03052.407,4.07684Zm4.06824-3.77478-2.14545-.68,2.65063-.781,2.41266.825Z" }) }); 15173 const embedPocketCastsIcon = { 15174 foreground: "#f43e37", 15175 src: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 15176 external_wp_components_namespaceObject.SVG, 15177 { 15178 width: "24", 15179 height: "24", 15180 viewBox: "0 0 24 24", 15181 fill: "none", 15182 xmlns: "http://www.w3.org/2000/svg", 15183 children: [ 15184 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15185 external_wp_components_namespaceObject.Path, 15186 { 15187 fillRule: "evenodd", 15188 clipRule: "evenodd", 15189 d: "M24,12A12,12,0,1,1,12,0,12,12,0,0,1,24,12Z" 15190 } 15191 ), 15192 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15193 external_wp_components_namespaceObject.Path, 15194 { 15195 fillRule: "evenodd", 15196 clipRule: "evenodd", 15197 d: "M2.67,12a9.33,9.33,0,0,1,18.66,0H19a7,7,0,1,0-7,7v2.33A9.33,9.33,0,0,1,2.67,12ZM12,17.6A5.6,5.6,0,1,1,17.6,12h-2A3.56,3.56,0,1,0,12,15.56Z", 15198 fill: "#fff" 15199 } 15200 ) 15201 ] 15202 } 15203 ) 15204 }; 15205 const embedBlueskyIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15206 external_wp_components_namespaceObject.Path, 15207 { 15208 fill: "#0a7aff", 15209 d: "M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z" 15210 } 15211 ) }); 15212 15213 15214 ;// ./node_modules/@wordpress/block-library/build-module/embed/embed-loading.js 15215 15216 15217 const EmbedLoading = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-embed is-loading", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }); 15218 var embed_loading_default = EmbedLoading; 15219 15220 15221 ;// ./node_modules/@wordpress/block-library/build-module/embed/embed-placeholder.js 15222 15223 15224 15225 15226 const EmbedPlaceholder = ({ 15227 icon, 15228 label, 15229 value, 15230 onSubmit, 15231 onChange, 15232 cannotEmbed, 15233 fallback, 15234 tryAgain 15235 }) => { 15236 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 15237 external_wp_components_namespaceObject.Placeholder, 15238 { 15239 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon, showColors: true }), 15240 label, 15241 className: "wp-block-embed", 15242 instructions: (0,external_wp_i18n_namespaceObject.__)( 15243 "Paste a link to the content you want to display on your site." 15244 ), 15245 children: [ 15246 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("form", { onSubmit, children: [ 15247 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15248 external_wp_components_namespaceObject.__experimentalInputControl, 15249 { 15250 __next40pxDefaultSize: true, 15251 type: "url", 15252 value: value || "", 15253 className: "wp-block-embed__placeholder-input", 15254 label, 15255 hideLabelFromVision: true, 15256 placeholder: (0,external_wp_i18n_namespaceObject.__)("Enter URL to embed here\u2026"), 15257 onChange 15258 } 15259 ), 15260 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { __next40pxDefaultSize: true, variant: "primary", type: "submit", children: (0,external_wp_i18n_namespaceObject._x)("Embed", "button label") }) 15261 ] }), 15262 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-embed__learn-more", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15263 external_wp_components_namespaceObject.ExternalLink, 15264 { 15265 href: (0,external_wp_i18n_namespaceObject.__)( 15266 "https://wordpress.org/documentation/article/embeds/" 15267 ), 15268 children: (0,external_wp_i18n_namespaceObject.__)("Learn more about embeds") 15269 } 15270 ) }), 15271 cannotEmbed && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 3, className: "components-placeholder__error", children: [ 15272 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "components-placeholder__instructions", children: (0,external_wp_i18n_namespaceObject.__)("Sorry, this content could not be embedded.") }), 15273 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 15274 external_wp_components_namespaceObject.__experimentalHStack, 15275 { 15276 expanded: false, 15277 spacing: 3, 15278 justify: "flex-start", 15279 children: [ 15280 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15281 external_wp_components_namespaceObject.Button, 15282 { 15283 __next40pxDefaultSize: true, 15284 variant: "secondary", 15285 onClick: tryAgain, 15286 children: (0,external_wp_i18n_namespaceObject._x)("Try again", "button label") 15287 } 15288 ), 15289 " ", 15290 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15291 external_wp_components_namespaceObject.Button, 15292 { 15293 __next40pxDefaultSize: true, 15294 variant: "secondary", 15295 onClick: fallback, 15296 children: (0,external_wp_i18n_namespaceObject._x)("Convert to link", "button label") 15297 } 15298 ) 15299 ] 15300 } 15301 ) 15302 ] }) 15303 ] 15304 } 15305 ); 15306 }; 15307 var embed_placeholder_default = EmbedPlaceholder; 15308 15309 15310 ;// ./node_modules/@wordpress/block-library/build-module/embed/wp-embed-preview.js 15311 15312 15313 15314 const attributeMap = { 15315 class: "className", 15316 frameborder: "frameBorder", 15317 marginheight: "marginHeight", 15318 marginwidth: "marginWidth" 15319 }; 15320 function WpEmbedPreview({ html }) { 15321 const ref = (0,external_wp_element_namespaceObject.useRef)(); 15322 const props = (0,external_wp_element_namespaceObject.useMemo)(() => { 15323 const doc = new window.DOMParser().parseFromString(html, "text/html"); 15324 const iframe = doc.querySelector("iframe"); 15325 const iframeProps = {}; 15326 if (!iframe) { 15327 return iframeProps; 15328 } 15329 Array.from(iframe.attributes).forEach(({ name, value }) => { 15330 if (name === "style") { 15331 return; 15332 } 15333 iframeProps[attributeMap[name] || name] = value; 15334 }); 15335 return iframeProps; 15336 }, [html]); 15337 (0,external_wp_element_namespaceObject.useEffect)(() => { 15338 const { ownerDocument } = ref.current; 15339 const { defaultView } = ownerDocument; 15340 function resizeWPembeds({ data: { secret, message, value } = {} }) { 15341 if (message !== "height" || secret !== props["data-secret"]) { 15342 return; 15343 } 15344 ref.current.height = value; 15345 } 15346 defaultView.addEventListener("message", resizeWPembeds); 15347 return () => { 15348 defaultView.removeEventListener("message", resizeWPembeds); 15349 }; 15350 }, []); 15351 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-embed__wrapper", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15352 "iframe", 15353 { 15354 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([ref, (0,external_wp_compose_namespaceObject.useFocusableIframe)()]), 15355 title: props.title, 15356 ...props 15357 } 15358 ) }); 15359 } 15360 15361 15362 ;// ./node_modules/@wordpress/block-library/build-module/embed/embed-preview.js 15363 15364 15365 15366 15367 15368 15369 15370 15371 15372 function EmbedPreview({ 15373 preview, 15374 previewable, 15375 url, 15376 type, 15377 isSelected, 15378 className, 15379 icon, 15380 label 15381 }) { 15382 const [interactive, setInteractive] = (0,external_wp_element_namespaceObject.useState)(false); 15383 if (!isSelected && interactive) { 15384 setInteractive(false); 15385 } 15386 const hideOverlay = () => { 15387 setInteractive(true); 15388 }; 15389 const { scripts } = preview; 15390 const html = "photo" === type ? getPhotoHtml(preview) : preview.html; 15391 const embedSourceUrl = (0,external_wp_url_namespaceObject.getAuthority)(url); 15392 const iframeTitle = (0,external_wp_i18n_namespaceObject.sprintf)( 15393 // translators: %s: host providing embed content e.g: www.youtube.com 15394 (0,external_wp_i18n_namespaceObject.__)("Embedded content from %s"), 15395 embedSourceUrl 15396 ); 15397 const sandboxClassnames = dist_clsx( 15398 type, 15399 className, 15400 "wp-block-embed__wrapper" 15401 ); 15402 const embedWrapper = "wp-embed" === type ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(WpEmbedPreview, { html }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-embed__wrapper", children: [ 15403 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15404 external_wp_components_namespaceObject.SandBox, 15405 { 15406 html, 15407 scripts, 15408 title: iframeTitle, 15409 type: sandboxClassnames, 15410 onFocus: hideOverlay 15411 } 15412 ), 15413 !interactive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15414 "div", 15415 { 15416 className: "block-library-embed__interactive-overlay", 15417 onMouseUp: hideOverlay 15418 } 15419 ) 15420 ] }); 15421 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: previewable ? embedWrapper : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 15422 external_wp_components_namespaceObject.Placeholder, 15423 { 15424 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon, showColors: true }), 15425 label, 15426 children: [ 15427 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "components-placeholder__error", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: url, children: url }) }), 15428 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "components-placeholder__error", children: (0,external_wp_i18n_namespaceObject.sprintf)( 15429 /* translators: %s: host providing embed content e.g: www.youtube.com */ 15430 (0,external_wp_i18n_namespaceObject.__)( 15431 "Embedded content from %s can't be previewed in the editor." 15432 ), 15433 embedSourceUrl 15434 ) }) 15435 ] 15436 } 15437 ) }); 15438 } 15439 15440 15441 ;// ./node_modules/@wordpress/block-library/build-module/embed/edit.js 15442 15443 15444 15445 15446 15447 15448 15449 15450 15451 15452 15453 15454 15455 15456 15457 15458 const EmbedEdit = (props) => { 15459 const { 15460 attributes: { 15461 providerNameSlug, 15462 previewable, 15463 responsive, 15464 url: attributesUrl 15465 }, 15466 attributes, 15467 isSelected, 15468 onReplace, 15469 setAttributes, 15470 insertBlocksAfter, 15471 onFocus 15472 } = props; 15473 const defaultEmbedInfo = { 15474 title: (0,external_wp_i18n_namespaceObject._x)("Embed", "block title"), 15475 icon: embedContentIcon 15476 }; 15477 const { icon, title } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo; 15478 const [url, setURL] = (0,external_wp_element_namespaceObject.useState)(attributesUrl); 15479 const [isEditingURL, setIsEditingURL] = (0,external_wp_element_namespaceObject.useState)(false); 15480 const { invalidateResolution } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 15481 const { 15482 preview, 15483 fetching, 15484 themeSupportsResponsive, 15485 cannotEmbed, 15486 hasResolved 15487 } = (0,external_wp_data_namespaceObject.useSelect)( 15488 (select) => { 15489 const { 15490 getEmbedPreview, 15491 isPreviewEmbedFallback, 15492 isRequestingEmbedPreview, 15493 getThemeSupports, 15494 hasFinishedResolution 15495 } = select(external_wp_coreData_namespaceObject.store); 15496 if (!attributesUrl) { 15497 return { fetching: false, cannotEmbed: false }; 15498 } 15499 const embedPreview = getEmbedPreview(attributesUrl); 15500 const previewIsFallback = isPreviewEmbedFallback(attributesUrl); 15501 const badEmbedProvider = embedPreview?.html === false && embedPreview?.type === void 0; 15502 const wordpressCantEmbed = embedPreview?.data?.status === 404; 15503 const validPreview = !!embedPreview && !badEmbedProvider && !wordpressCantEmbed; 15504 return { 15505 preview: validPreview ? embedPreview : void 0, 15506 fetching: isRequestingEmbedPreview(attributesUrl), 15507 themeSupportsResponsive: getThemeSupports()["responsive-embeds"], 15508 cannotEmbed: !validPreview || previewIsFallback, 15509 hasResolved: hasFinishedResolution("getEmbedPreview", [ 15510 attributesUrl 15511 ]) 15512 }; 15513 }, 15514 [attributesUrl] 15515 ); 15516 const getMergedAttributes = () => getMergedAttributesWithPreview( 15517 attributes, 15518 preview, 15519 title, 15520 responsive 15521 ); 15522 function toggleResponsive(newAllowResponsive) { 15523 const { className: className2 } = attributes; 15524 const { html } = preview; 15525 setAttributes({ 15526 allowResponsive: newAllowResponsive, 15527 className: getClassNames( 15528 html, 15529 className2, 15530 responsive && newAllowResponsive 15531 ) 15532 }); 15533 } 15534 (0,external_wp_element_namespaceObject.useEffect)(() => { 15535 if (preview?.html || !cannotEmbed || !hasResolved) { 15536 return; 15537 } 15538 const newURL = attributesUrl.replace(/\/$/, ""); 15539 setURL(newURL); 15540 setIsEditingURL(false); 15541 setAttributes({ url: newURL }); 15542 }, [ 15543 preview?.html, 15544 attributesUrl, 15545 cannotEmbed, 15546 hasResolved, 15547 setAttributes 15548 ]); 15549 (0,external_wp_element_namespaceObject.useEffect)(() => { 15550 if (!cannotEmbed || fetching || !url) { 15551 return; 15552 } 15553 if ((0,external_wp_url_namespaceObject.getAuthority)(url) === "x.com") { 15554 const newURL = new URL(url); 15555 newURL.host = "twitter.com"; 15556 setAttributes({ url: newURL.toString() }); 15557 } 15558 }, [url, cannotEmbed, fetching, setAttributes]); 15559 (0,external_wp_element_namespaceObject.useEffect)(() => { 15560 if (preview && !isEditingURL) { 15561 const mergedAttributes = getMergedAttributes(); 15562 const hasChanges = Object.keys(mergedAttributes).some( 15563 (key) => mergedAttributes[key] !== attributes[key] 15564 ); 15565 if (hasChanges) { 15566 setAttributes(mergedAttributes); 15567 } 15568 if (onReplace) { 15569 const upgradedBlock = createUpgradedEmbedBlock( 15570 props, 15571 mergedAttributes 15572 ); 15573 if (upgradedBlock) { 15574 onReplace(upgradedBlock); 15575 } 15576 } 15577 } 15578 }, [preview, isEditingURL]); 15579 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 15580 if (fetching) { 15581 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.View, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(embed_loading_default, {}) }); 15582 } 15583 const label = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("%s URL"), title); 15584 const showEmbedPlaceholder = !preview || cannotEmbed || isEditingURL; 15585 if (showEmbedPlaceholder) { 15586 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.View, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15587 embed_placeholder_default, 15588 { 15589 icon, 15590 label, 15591 onFocus, 15592 onSubmit: (event) => { 15593 if (event) { 15594 event.preventDefault(); 15595 } 15596 const blockClass = removeAspectRatioClasses( 15597 attributes.className 15598 ); 15599 setIsEditingURL(false); 15600 setAttributes({ url, className: blockClass }); 15601 }, 15602 value: url, 15603 cannotEmbed, 15604 onChange: (value) => setURL(value), 15605 fallback: () => fallback(url, onReplace), 15606 tryAgain: () => { 15607 invalidateResolution("getEmbedPreview", [url]); 15608 } 15609 } 15610 ) }); 15611 } 15612 const { 15613 caption, 15614 type, 15615 allowResponsive, 15616 className: classFromPreview 15617 } = getMergedAttributes(); 15618 const className = dist_clsx(classFromPreview, props.className); 15619 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 15620 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15621 embed_controls_default, 15622 { 15623 showEditButton: preview && !cannotEmbed, 15624 themeSupportsResponsive, 15625 blockSupportsResponsive: responsive, 15626 allowResponsive, 15627 toggleResponsive, 15628 switchBackToURLInput: () => setIsEditingURL(true) 15629 } 15630 ), 15631 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 15632 "figure", 15633 { 15634 ...blockProps, 15635 className: dist_clsx(blockProps.className, className, { 15636 [`is-type-$type}`]: type, 15637 [`is-provider-$providerNameSlug}`]: providerNameSlug, 15638 [`wp-block-embed-$providerNameSlug}`]: providerNameSlug 15639 }), 15640 children: [ 15641 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15642 EmbedPreview, 15643 { 15644 preview, 15645 previewable, 15646 className, 15647 url, 15648 type, 15649 caption, 15650 onCaptionChange: (value) => setAttributes({ caption: value }), 15651 isSelected, 15652 icon, 15653 label, 15654 insertBlocksAfter, 15655 attributes, 15656 setAttributes 15657 } 15658 ), 15659 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15660 Caption, 15661 { 15662 attributes, 15663 setAttributes, 15664 isSelected, 15665 insertBlocksAfter, 15666 label: (0,external_wp_i18n_namespaceObject.__)("Embed caption text"), 15667 showToolbarButton: isSelected 15668 } 15669 ) 15670 ] 15671 } 15672 ) 15673 ] }); 15674 }; 15675 var embed_edit_edit_default = EmbedEdit; 15676 15677 15678 ;// ./node_modules/@wordpress/block-library/build-module/embed/save.js 15679 15680 15681 15682 function embed_save_save({ attributes }) { 15683 const { url, caption, type, providerNameSlug } = attributes; 15684 if (!url) { 15685 return null; 15686 } 15687 const className = dist_clsx("wp-block-embed", { 15688 [`is-type-$type}`]: type, 15689 [`is-provider-$providerNameSlug}`]: providerNameSlug, 15690 [`wp-block-embed-$providerNameSlug}`]: providerNameSlug 15691 }); 15692 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 15693 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-embed__wrapper", children: ` 15694 $url} 15695 ` }), 15696 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 15697 external_wp_blockEditor_namespaceObject.RichText.Content, 15698 { 15699 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption"), 15700 tagName: "figcaption", 15701 value: caption 15702 } 15703 ) 15704 ] }); 15705 } 15706 15707 15708 ;// ./node_modules/@wordpress/block-library/build-module/embed/transforms.js 15709 15710 15711 15712 const { name: EMBED_BLOCK } = embed_block_namespaceObject; 15713 const embed_transforms_transforms = { 15714 from: [ 15715 { 15716 type: "raw", 15717 isMatch: (node) => node.nodeName === "P" && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent) && node.textContent?.match(/https/gi)?.length === 1, 15718 transform: (node) => { 15719 return (0,external_wp_blocks_namespaceObject.createBlock)(EMBED_BLOCK, { 15720 url: node.textContent.trim() 15721 }); 15722 } 15723 } 15724 ], 15725 to: [ 15726 { 15727 type: "block", 15728 blocks: ["core/paragraph"], 15729 isMatch: ({ url }) => !!url, 15730 transform: ({ url, caption, className }) => { 15731 let value = `<a href="$url}">$url}</a>`; 15732 if (caption?.trim()) { 15733 value += `<br />$caption}`; 15734 } 15735 return (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 15736 content: value, 15737 className: removeAspectRatioClasses(className) 15738 }); 15739 } 15740 } 15741 ] 15742 }; 15743 var embed_transforms_transforms_default = embed_transforms_transforms; 15744 15745 15746 ;// ./node_modules/@wordpress/block-library/build-module/embed/variations.js 15747 15748 15749 function getTitle(providerName) { 15750 return (0,external_wp_i18n_namespaceObject.sprintf)( 15751 /* translators: %s: provider name */ 15752 (0,external_wp_i18n_namespaceObject.__)("%s Embed"), 15753 providerName 15754 ); 15755 } 15756 const embed_variations_variations = [ 15757 { 15758 name: "twitter", 15759 title: getTitle("Twitter"), 15760 icon: embedTwitterIcon, 15761 keywords: ["tweet", (0,external_wp_i18n_namespaceObject.__)("social")], 15762 description: (0,external_wp_i18n_namespaceObject.__)("Embed a tweet."), 15763 patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i], 15764 attributes: { providerNameSlug: "twitter", responsive: true } 15765 }, 15766 { 15767 name: "youtube", 15768 title: getTitle("YouTube"), 15769 icon: embedYouTubeIcon, 15770 keywords: [(0,external_wp_i18n_namespaceObject.__)("music"), (0,external_wp_i18n_namespaceObject.__)("video")], 15771 description: (0,external_wp_i18n_namespaceObject.__)("Embed a YouTube video."), 15772 patterns: [ 15773 /^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, 15774 /^https?:\/\/youtu\.be\/.+/i 15775 ], 15776 attributes: { providerNameSlug: "youtube", responsive: true } 15777 }, 15778 { 15779 // Deprecate Facebook Embed per FB policy 15780 // See: https://developers.facebook.com/docs/plugins/oembed-legacy 15781 name: "facebook", 15782 title: getTitle("Facebook"), 15783 icon: embedFacebookIcon, 15784 keywords: [(0,external_wp_i18n_namespaceObject.__)("social")], 15785 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Facebook post."), 15786 scope: ["block"], 15787 patterns: [], 15788 attributes: { 15789 providerNameSlug: "facebook", 15790 previewable: false, 15791 responsive: true 15792 } 15793 }, 15794 { 15795 // Deprecate Instagram per FB policy 15796 // See: https://developers.facebook.com/docs/instagram/oembed-legacy 15797 name: "instagram", 15798 title: getTitle("Instagram"), 15799 icon: embedInstagramIcon, 15800 keywords: [(0,external_wp_i18n_namespaceObject.__)("image"), (0,external_wp_i18n_namespaceObject.__)("social")], 15801 description: (0,external_wp_i18n_namespaceObject.__)("Embed an Instagram post."), 15802 scope: ["block"], 15803 patterns: [], 15804 attributes: { providerNameSlug: "instagram", responsive: true } 15805 }, 15806 { 15807 name: "wordpress", 15808 title: getTitle("WordPress"), 15809 icon: embedWordPressIcon, 15810 keywords: [(0,external_wp_i18n_namespaceObject.__)("post"), (0,external_wp_i18n_namespaceObject.__)("blog")], 15811 description: (0,external_wp_i18n_namespaceObject.__)("Embed a WordPress post."), 15812 attributes: { 15813 providerNameSlug: "wordpress" 15814 } 15815 }, 15816 { 15817 name: "soundcloud", 15818 title: getTitle("SoundCloud"), 15819 icon: embedAudioIcon, 15820 keywords: [(0,external_wp_i18n_namespaceObject.__)("music"), (0,external_wp_i18n_namespaceObject.__)("audio")], 15821 description: (0,external_wp_i18n_namespaceObject.__)("Embed SoundCloud content."), 15822 patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i], 15823 attributes: { providerNameSlug: "soundcloud", responsive: true } 15824 }, 15825 { 15826 name: "spotify", 15827 title: getTitle("Spotify"), 15828 icon: embedSpotifyIcon, 15829 keywords: [(0,external_wp_i18n_namespaceObject.__)("music"), (0,external_wp_i18n_namespaceObject.__)("audio")], 15830 description: (0,external_wp_i18n_namespaceObject.__)("Embed Spotify content."), 15831 patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i], 15832 attributes: { providerNameSlug: "spotify", responsive: true } 15833 }, 15834 { 15835 name: "flickr", 15836 title: getTitle("Flickr"), 15837 icon: embedFlickrIcon, 15838 keywords: [(0,external_wp_i18n_namespaceObject.__)("image")], 15839 description: (0,external_wp_i18n_namespaceObject.__)("Embed Flickr content."), 15840 patterns: [ 15841 /^https?:\/\/(www\.)?flickr\.com\/.+/i, 15842 /^https?:\/\/flic\.kr\/.+/i 15843 ], 15844 attributes: { providerNameSlug: "flickr", responsive: true } 15845 }, 15846 { 15847 name: "vimeo", 15848 title: getTitle("Vimeo"), 15849 icon: embedVimeoIcon, 15850 keywords: [(0,external_wp_i18n_namespaceObject.__)("video")], 15851 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Vimeo video."), 15852 patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i], 15853 attributes: { providerNameSlug: "vimeo", responsive: true } 15854 }, 15855 { 15856 name: "animoto", 15857 title: getTitle("Animoto"), 15858 icon: embedAnimotoIcon, 15859 description: (0,external_wp_i18n_namespaceObject.__)("Embed an Animoto video."), 15860 patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i], 15861 attributes: { providerNameSlug: "animoto", responsive: true } 15862 }, 15863 { 15864 name: "cloudup", 15865 title: getTitle("Cloudup"), 15866 icon: embedContentIcon, 15867 description: (0,external_wp_i18n_namespaceObject.__)("Embed Cloudup content."), 15868 patterns: [/^https?:\/\/cloudup\.com\/.+/i], 15869 attributes: { providerNameSlug: "cloudup", responsive: true } 15870 }, 15871 { 15872 // Deprecated since CollegeHumor content is now powered by YouTube. 15873 name: "collegehumor", 15874 title: getTitle("CollegeHumor"), 15875 icon: embedVideoIcon, 15876 description: (0,external_wp_i18n_namespaceObject.__)("Embed CollegeHumor content."), 15877 scope: ["block"], 15878 patterns: [], 15879 attributes: { providerNameSlug: "collegehumor", responsive: true } 15880 }, 15881 { 15882 name: "crowdsignal", 15883 title: getTitle("Crowdsignal"), 15884 icon: embedContentIcon, 15885 keywords: ["polldaddy", (0,external_wp_i18n_namespaceObject.__)("survey")], 15886 description: (0,external_wp_i18n_namespaceObject.__)("Embed Crowdsignal (formerly Polldaddy) content."), 15887 patterns: [ 15888 /^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.crowdsignal\.net|.+\.survey\.fm)\/.+/i 15889 ], 15890 attributes: { providerNameSlug: "crowdsignal", responsive: true } 15891 }, 15892 { 15893 name: "dailymotion", 15894 title: getTitle("Dailymotion"), 15895 icon: embedDailymotionIcon, 15896 keywords: [(0,external_wp_i18n_namespaceObject.__)("video")], 15897 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Dailymotion video."), 15898 patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i], 15899 attributes: { providerNameSlug: "dailymotion", responsive: true } 15900 }, 15901 { 15902 name: "imgur", 15903 title: getTitle("Imgur"), 15904 icon: embedPhotoIcon, 15905 description: (0,external_wp_i18n_namespaceObject.__)("Embed Imgur content."), 15906 patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i], 15907 attributes: { providerNameSlug: "imgur", responsive: true } 15908 }, 15909 { 15910 name: "issuu", 15911 title: getTitle("Issuu"), 15912 icon: embedContentIcon, 15913 description: (0,external_wp_i18n_namespaceObject.__)("Embed Issuu content."), 15914 patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i], 15915 attributes: { providerNameSlug: "issuu", responsive: true } 15916 }, 15917 { 15918 name: "kickstarter", 15919 title: getTitle("Kickstarter"), 15920 icon: embedContentIcon, 15921 description: (0,external_wp_i18n_namespaceObject.__)("Embed Kickstarter content."), 15922 patterns: [ 15923 /^https?:\/\/(www\.)?kickstarter\.com\/.+/i, 15924 /^https?:\/\/kck\.st\/.+/i 15925 ], 15926 attributes: { providerNameSlug: "kickstarter", responsive: true } 15927 }, 15928 { 15929 name: "mixcloud", 15930 title: getTitle("Mixcloud"), 15931 icon: embedAudioIcon, 15932 keywords: [(0,external_wp_i18n_namespaceObject.__)("music"), (0,external_wp_i18n_namespaceObject.__)("audio")], 15933 description: (0,external_wp_i18n_namespaceObject.__)("Embed Mixcloud content."), 15934 patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i], 15935 attributes: { providerNameSlug: "mixcloud", responsive: true } 15936 }, 15937 { 15938 name: "pocket-casts", 15939 title: getTitle("Pocket Casts"), 15940 icon: embedPocketCastsIcon, 15941 keywords: [(0,external_wp_i18n_namespaceObject.__)("podcast"), (0,external_wp_i18n_namespaceObject.__)("audio")], 15942 description: (0,external_wp_i18n_namespaceObject.__)("Embed a podcast player from Pocket Casts."), 15943 patterns: [/^https:\/\/pca.st\/\w+/i], 15944 attributes: { providerNameSlug: "pocket-casts", responsive: true } 15945 }, 15946 { 15947 name: "reddit", 15948 title: getTitle("Reddit"), 15949 icon: embedRedditIcon, 15950 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Reddit thread."), 15951 patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i], 15952 attributes: { providerNameSlug: "reddit", responsive: true } 15953 }, 15954 { 15955 name: "reverbnation", 15956 title: getTitle("ReverbNation"), 15957 icon: embedAudioIcon, 15958 description: (0,external_wp_i18n_namespaceObject.__)("Embed ReverbNation content."), 15959 patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i], 15960 attributes: { providerNameSlug: "reverbnation", responsive: true } 15961 }, 15962 { 15963 name: "scribd", 15964 title: getTitle("Scribd"), 15965 icon: embedContentIcon, 15966 description: (0,external_wp_i18n_namespaceObject.__)("Embed Scribd content."), 15967 patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i], 15968 attributes: { providerNameSlug: "scribd", responsive: true } 15969 }, 15970 { 15971 name: "smugmug", 15972 title: getTitle("SmugMug"), 15973 icon: embedPhotoIcon, 15974 description: (0,external_wp_i18n_namespaceObject.__)("Embed SmugMug content."), 15975 patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i], 15976 attributes: { 15977 providerNameSlug: "smugmug", 15978 previewable: false, 15979 responsive: true 15980 } 15981 }, 15982 { 15983 name: "speaker-deck", 15984 title: getTitle("Speaker Deck"), 15985 icon: embedContentIcon, 15986 description: (0,external_wp_i18n_namespaceObject.__)("Embed Speaker Deck content."), 15987 patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i], 15988 attributes: { providerNameSlug: "speaker-deck", responsive: true } 15989 }, 15990 { 15991 name: "tiktok", 15992 title: getTitle("TikTok"), 15993 icon: embedVideoIcon, 15994 keywords: [(0,external_wp_i18n_namespaceObject.__)("video")], 15995 description: (0,external_wp_i18n_namespaceObject.__)("Embed a TikTok video."), 15996 patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i], 15997 attributes: { providerNameSlug: "tiktok", responsive: true } 15998 }, 15999 { 16000 name: "ted", 16001 title: getTitle("TED"), 16002 icon: embedVideoIcon, 16003 description: (0,external_wp_i18n_namespaceObject.__)("Embed a TED video."), 16004 patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i], 16005 attributes: { providerNameSlug: "ted", responsive: true } 16006 }, 16007 { 16008 name: "tumblr", 16009 title: getTitle("Tumblr"), 16010 icon: embedTumblrIcon, 16011 keywords: [(0,external_wp_i18n_namespaceObject.__)("social")], 16012 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Tumblr post."), 16013 patterns: [/^https?:\/\/(.+)\.tumblr\.com\/.+/i], 16014 attributes: { providerNameSlug: "tumblr", responsive: true } 16015 }, 16016 { 16017 name: "videopress", 16018 title: getTitle("VideoPress"), 16019 icon: embedVideoIcon, 16020 keywords: [(0,external_wp_i18n_namespaceObject.__)("video")], 16021 description: (0,external_wp_i18n_namespaceObject.__)("Embed a VideoPress video."), 16022 patterns: [/^https?:\/\/videopress\.com\/.+/i], 16023 attributes: { providerNameSlug: "videopress", responsive: true } 16024 }, 16025 { 16026 name: "wordpress-tv", 16027 title: getTitle("WordPress.tv"), 16028 icon: embedVideoIcon, 16029 description: (0,external_wp_i18n_namespaceObject.__)("Embed a WordPress.tv video."), 16030 patterns: [/^https?:\/\/wordpress\.tv\/.+/i], 16031 attributes: { providerNameSlug: "wordpress-tv", responsive: true } 16032 }, 16033 { 16034 name: "amazon-kindle", 16035 title: getTitle("Amazon Kindle"), 16036 icon: embedAmazonIcon, 16037 keywords: [(0,external_wp_i18n_namespaceObject.__)("ebook")], 16038 description: (0,external_wp_i18n_namespaceObject.__)("Embed Amazon Kindle content."), 16039 patterns: [ 16040 /^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, 16041 /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i 16042 ], 16043 attributes: { providerNameSlug: "amazon-kindle" } 16044 }, 16045 { 16046 name: "pinterest", 16047 title: getTitle("Pinterest"), 16048 icon: embedPinterestIcon, 16049 keywords: [(0,external_wp_i18n_namespaceObject.__)("social"), (0,external_wp_i18n_namespaceObject.__)("bookmark")], 16050 description: (0,external_wp_i18n_namespaceObject.__)("Embed Pinterest pins, boards, and profiles."), 16051 patterns: [ 16052 /^https?:\/\/([a-z]{2}|www)\.pinterest\.com(\.(au|mx))?\/.*/i 16053 ], 16054 attributes: { providerNameSlug: "pinterest" } 16055 }, 16056 { 16057 name: "wolfram-cloud", 16058 title: getTitle("Wolfram"), 16059 icon: embedWolframIcon, 16060 description: (0,external_wp_i18n_namespaceObject.__)("Embed Wolfram notebook content."), 16061 patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i], 16062 attributes: { providerNameSlug: "wolfram-cloud", responsive: true } 16063 }, 16064 { 16065 name: "bluesky", 16066 title: getTitle("Bluesky"), 16067 icon: embedBlueskyIcon, 16068 description: (0,external_wp_i18n_namespaceObject.__)("Embed a Bluesky post."), 16069 patterns: [/^https?:\/\/bsky\.app\/profile\/.+\/post\/.+/i], 16070 attributes: { providerNameSlug: "bluesky" } 16071 } 16072 ]; 16073 embed_variations_variations.forEach((variation) => { 16074 if (variation.isActive) { 16075 return; 16076 } 16077 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.providerNameSlug === variationAttributes.providerNameSlug; 16078 }); 16079 var embed_variations_variations_default = embed_variations_variations; 16080 16081 16082 ;// ./node_modules/@wordpress/block-library/build-module/embed/deprecated.js 16083 16084 16085 16086 16087 const { attributes: embed_deprecated_blockAttributes } = embed_block_namespaceObject; 16088 const deprecated_v2 = { 16089 attributes: embed_deprecated_blockAttributes, 16090 save({ attributes }) { 16091 const { url, caption, type, providerNameSlug } = attributes; 16092 if (!url) { 16093 return null; 16094 } 16095 const className = dist_clsx("wp-block-embed", { 16096 [`is-type-$type}`]: type, 16097 [`is-provider-$providerNameSlug}`]: providerNameSlug, 16098 [`wp-block-embed-$providerNameSlug}`]: providerNameSlug 16099 }); 16100 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 16101 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-embed__wrapper", children: ` 16102 $url} 16103 ` }), 16104 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 16105 ] }); 16106 } 16107 }; 16108 const embed_deprecated_v1 = { 16109 attributes: embed_deprecated_blockAttributes, 16110 save({ attributes: { url, caption, type, providerNameSlug } }) { 16111 if (!url) { 16112 return null; 16113 } 16114 const embedClassName = dist_clsx("wp-block-embed", { 16115 [`is-type-$type}`]: type, 16116 [`is-provider-$providerNameSlug}`]: providerNameSlug 16117 }); 16118 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { className: embedClassName, children: [ 16119 ` 16120 $url} 16121 `, 16122 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 16123 ] }); 16124 } 16125 }; 16126 const embed_deprecated_deprecated = [deprecated_v2, embed_deprecated_v1]; 16127 var embed_deprecated_deprecated_default = embed_deprecated_deprecated; 16128 16129 16130 ;// ./node_modules/@wordpress/block-library/build-module/embed/index.js 16131 16132 16133 16134 16135 16136 16137 16138 16139 const { name: embed_name } = embed_block_namespaceObject; 16140 const embed_settings = { 16141 icon: embedContentIcon, 16142 edit: embed_edit_edit_default, 16143 save: embed_save_save, 16144 transforms: embed_transforms_transforms_default, 16145 variations: embed_variations_variations_default, 16146 deprecated: embed_deprecated_deprecated_default 16147 }; 16148 const embed_init = () => initBlock({ name: embed_name, metadata: embed_block_namespaceObject, settings: embed_settings }); 16149 16150 16151 ;// ./node_modules/@wordpress/icons/build-module/library/file.js 16152 16153 16154 var file_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16155 external_wp_primitives_namespaceObject.Path, 16156 { 16157 fillRule: "evenodd", 16158 clipRule: "evenodd", 16159 d: "M12.848 8a1 1 0 0 1-.914-.594l-.723-1.63a.5.5 0 0 0-.447-.276H5a.5.5 0 0 0-.5.5v11.5a.5.5 0 0 0 .5.5h14a.5.5 0 0 0 .5-.5v-9A.5.5 0 0 0 19 8h-6.152Zm.612-1.5a.5.5 0 0 1-.462-.31l-.445-1.084A2 2 0 0 0 10.763 4H5a2 2 0 0 0-2 2v11.5a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-9a2 2 0 0 0-2-2h-5.54Z" 16160 } 16161 ) }); 16162 16163 16164 ;// ./node_modules/@wordpress/block-library/build-module/file/deprecated.js 16165 16166 16167 16168 16169 const deprecated_v3 = { 16170 attributes: { 16171 id: { 16172 type: "number" 16173 }, 16174 href: { 16175 type: "string" 16176 }, 16177 fileId: { 16178 type: "string", 16179 source: "attribute", 16180 selector: "a:not([download])", 16181 attribute: "id" 16182 }, 16183 fileName: { 16184 type: "string", 16185 source: "html", 16186 selector: "a:not([download])" 16187 }, 16188 textLinkHref: { 16189 type: "string", 16190 source: "attribute", 16191 selector: "a:not([download])", 16192 attribute: "href" 16193 }, 16194 textLinkTarget: { 16195 type: "string", 16196 source: "attribute", 16197 selector: "a:not([download])", 16198 attribute: "target" 16199 }, 16200 showDownloadButton: { 16201 type: "boolean", 16202 default: true 16203 }, 16204 downloadButtonText: { 16205 type: "string", 16206 source: "html", 16207 selector: "a[download]" 16208 }, 16209 displayPreview: { 16210 type: "boolean" 16211 }, 16212 previewHeight: { 16213 type: "number", 16214 default: 600 16215 } 16216 }, 16217 supports: { 16218 anchor: true, 16219 align: true 16220 }, 16221 save({ attributes }) { 16222 const { 16223 href, 16224 fileId, 16225 fileName, 16226 textLinkHref, 16227 textLinkTarget, 16228 showDownloadButton, 16229 downloadButtonText, 16230 displayPreview, 16231 previewHeight 16232 } = attributes; 16233 const pdfEmbedLabel = external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName) ? (0,external_wp_i18n_namespaceObject.__)("PDF embed") : (0,external_wp_i18n_namespaceObject.sprintf)( 16234 /* translators: %s: filename. */ 16235 (0,external_wp_i18n_namespaceObject.__)("Embed of %s."), 16236 fileName 16237 ); 16238 const hasFilename = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName); 16239 const describedById = hasFilename ? fileId : void 0; 16240 return href && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 16241 displayPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16242 "object", 16243 { 16244 className: "wp-block-file__embed", 16245 data: href, 16246 type: "application/pdf", 16247 style: { 16248 width: "100%", 16249 height: `$previewHeight}px` 16250 }, 16251 "aria-label": pdfEmbedLabel 16252 } 16253 ) }), 16254 hasFilename && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16255 "a", 16256 { 16257 id: describedById, 16258 href: textLinkHref, 16259 target: textLinkTarget, 16260 rel: textLinkTarget ? "noreferrer noopener" : void 0, 16261 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: fileName }) 16262 } 16263 ), 16264 showDownloadButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16265 "a", 16266 { 16267 href, 16268 className: dist_clsx( 16269 "wp-block-file__button", 16270 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 16271 ), 16272 download: true, 16273 "aria-describedby": describedById, 16274 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: downloadButtonText }) 16275 } 16276 ) 16277 ] }); 16278 } 16279 }; 16280 const file_deprecated_v2 = { 16281 attributes: { 16282 id: { 16283 type: "number" 16284 }, 16285 href: { 16286 type: "string" 16287 }, 16288 fileId: { 16289 type: "string", 16290 source: "attribute", 16291 selector: "a:not([download])", 16292 attribute: "id" 16293 }, 16294 fileName: { 16295 type: "string", 16296 source: "html", 16297 selector: "a:not([download])" 16298 }, 16299 textLinkHref: { 16300 type: "string", 16301 source: "attribute", 16302 selector: "a:not([download])", 16303 attribute: "href" 16304 }, 16305 textLinkTarget: { 16306 type: "string", 16307 source: "attribute", 16308 selector: "a:not([download])", 16309 attribute: "target" 16310 }, 16311 showDownloadButton: { 16312 type: "boolean", 16313 default: true 16314 }, 16315 downloadButtonText: { 16316 type: "string", 16317 source: "html", 16318 selector: "a[download]" 16319 }, 16320 displayPreview: { 16321 type: "boolean" 16322 }, 16323 previewHeight: { 16324 type: "number", 16325 default: 600 16326 } 16327 }, 16328 supports: { 16329 anchor: true, 16330 align: true 16331 }, 16332 save({ attributes }) { 16333 const { 16334 href, 16335 fileId, 16336 fileName, 16337 textLinkHref, 16338 textLinkTarget, 16339 showDownloadButton, 16340 downloadButtonText, 16341 displayPreview, 16342 previewHeight 16343 } = attributes; 16344 const pdfEmbedLabel = external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName) ? (0,external_wp_i18n_namespaceObject.__)("PDF embed") : (0,external_wp_i18n_namespaceObject.sprintf)( 16345 /* translators: %s: filename. */ 16346 (0,external_wp_i18n_namespaceObject.__)("Embed of %s."), 16347 fileName 16348 ); 16349 const hasFilename = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName); 16350 const describedById = hasFilename ? fileId : void 0; 16351 return href && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 16352 displayPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16353 "object", 16354 { 16355 className: "wp-block-file__embed", 16356 data: href, 16357 type: "application/pdf", 16358 style: { 16359 width: "100%", 16360 height: `$previewHeight}px` 16361 }, 16362 "aria-label": pdfEmbedLabel 16363 } 16364 ) }), 16365 hasFilename && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16366 "a", 16367 { 16368 id: describedById, 16369 href: textLinkHref, 16370 target: textLinkTarget, 16371 rel: textLinkTarget ? "noreferrer noopener" : void 0, 16372 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: fileName }) 16373 } 16374 ), 16375 showDownloadButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16376 "a", 16377 { 16378 href, 16379 className: "wp-block-file__button", 16380 download: true, 16381 "aria-describedby": describedById, 16382 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: downloadButtonText }) 16383 } 16384 ) 16385 ] }); 16386 } 16387 }; 16388 const file_deprecated_v1 = { 16389 attributes: { 16390 id: { 16391 type: "number" 16392 }, 16393 href: { 16394 type: "string" 16395 }, 16396 fileName: { 16397 type: "string", 16398 source: "html", 16399 selector: "a:not([download])" 16400 }, 16401 textLinkHref: { 16402 type: "string", 16403 source: "attribute", 16404 selector: "a:not([download])", 16405 attribute: "href" 16406 }, 16407 textLinkTarget: { 16408 type: "string", 16409 source: "attribute", 16410 selector: "a:not([download])", 16411 attribute: "target" 16412 }, 16413 showDownloadButton: { 16414 type: "boolean", 16415 default: true 16416 }, 16417 downloadButtonText: { 16418 type: "string", 16419 source: "html", 16420 selector: "a[download]" 16421 }, 16422 displayPreview: { 16423 type: "boolean" 16424 }, 16425 previewHeight: { 16426 type: "number", 16427 default: 600 16428 } 16429 }, 16430 supports: { 16431 anchor: true, 16432 align: true 16433 }, 16434 save({ attributes }) { 16435 const { 16436 href, 16437 fileName, 16438 textLinkHref, 16439 textLinkTarget, 16440 showDownloadButton, 16441 downloadButtonText, 16442 displayPreview, 16443 previewHeight 16444 } = attributes; 16445 const pdfEmbedLabel = external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName) ? (0,external_wp_i18n_namespaceObject.__)("PDF embed") : (0,external_wp_i18n_namespaceObject.sprintf)( 16446 /* translators: %s: filename. */ 16447 (0,external_wp_i18n_namespaceObject.__)("Embed of %s."), 16448 fileName 16449 ); 16450 return href && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 16451 displayPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16452 "object", 16453 { 16454 className: "wp-block-file__embed", 16455 data: href, 16456 type: "application/pdf", 16457 style: { 16458 width: "100%", 16459 height: `$previewHeight}px` 16460 }, 16461 "aria-label": pdfEmbedLabel 16462 } 16463 ) }), 16464 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16465 "a", 16466 { 16467 href: textLinkHref, 16468 target: textLinkTarget, 16469 rel: textLinkTarget ? "noreferrer noopener" : void 0, 16470 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: fileName }) 16471 } 16472 ), 16473 showDownloadButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16474 "a", 16475 { 16476 href, 16477 className: "wp-block-file__button", 16478 download: true, 16479 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: downloadButtonText }) 16480 } 16481 ) 16482 ] }); 16483 } 16484 }; 16485 const file_deprecated_deprecated = [deprecated_v3, file_deprecated_v2, file_deprecated_v1]; 16486 var file_deprecated_deprecated_default = file_deprecated_deprecated; 16487 16488 16489 ;// ./node_modules/@wordpress/block-library/build-module/file/inspector.js 16490 16491 16492 16493 16494 16495 16496 function FileBlockInspector({ 16497 hrefs, 16498 openInNewWindow, 16499 showDownloadButton, 16500 changeLinkDestinationOption, 16501 changeOpenInNewWindow, 16502 changeShowDownloadButton, 16503 displayPreview, 16504 changeDisplayPreview, 16505 previewHeight, 16506 changePreviewHeight 16507 }) { 16508 const { href, textLinkHref, attachmentPage } = hrefs; 16509 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 16510 let linkDestinationOptions = [{ value: href, label: (0,external_wp_i18n_namespaceObject.__)("URL") }]; 16511 if (attachmentPage) { 16512 linkDestinationOptions = [ 16513 { value: href, label: (0,external_wp_i18n_namespaceObject.__)("Media file") }, 16514 { value: attachmentPage, label: (0,external_wp_i18n_namespaceObject.__)("Attachment page") } 16515 ]; 16516 } 16517 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: [ 16518 href.endsWith(".pdf") && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 16519 external_wp_components_namespaceObject.__experimentalToolsPanel, 16520 { 16521 label: (0,external_wp_i18n_namespaceObject.__)("PDF settings"), 16522 resetAll: () => { 16523 changeDisplayPreview(true); 16524 changePreviewHeight(600); 16525 }, 16526 dropdownMenuProps, 16527 children: [ 16528 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16529 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 16530 { 16531 label: (0,external_wp_i18n_namespaceObject.__)("Show inline embed"), 16532 isShownByDefault: true, 16533 hasValue: () => !displayPreview, 16534 onDeselect: () => changeDisplayPreview(true), 16535 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16536 external_wp_components_namespaceObject.ToggleControl, 16537 { 16538 __nextHasNoMarginBottom: true, 16539 label: (0,external_wp_i18n_namespaceObject.__)("Show inline embed"), 16540 help: displayPreview ? (0,external_wp_i18n_namespaceObject.__)( 16541 "Note: Most phone and tablet browsers won't display embedded PDFs." 16542 ) : null, 16543 checked: !!displayPreview, 16544 onChange: changeDisplayPreview 16545 } 16546 ) 16547 } 16548 ), 16549 displayPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16550 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 16551 { 16552 label: (0,external_wp_i18n_namespaceObject.__)("Height in pixels"), 16553 isShownByDefault: true, 16554 hasValue: () => previewHeight !== 600, 16555 onDeselect: () => changePreviewHeight(600), 16556 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16557 external_wp_components_namespaceObject.RangeControl, 16558 { 16559 __nextHasNoMarginBottom: true, 16560 __next40pxDefaultSize: true, 16561 label: (0,external_wp_i18n_namespaceObject.__)("Height in pixels"), 16562 min: MIN_PREVIEW_HEIGHT, 16563 max: Math.max( 16564 MAX_PREVIEW_HEIGHT, 16565 previewHeight 16566 ), 16567 value: previewHeight, 16568 onChange: changePreviewHeight 16569 } 16570 ) 16571 } 16572 ) 16573 ] 16574 } 16575 ), 16576 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 16577 external_wp_components_namespaceObject.__experimentalToolsPanel, 16578 { 16579 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 16580 resetAll: () => { 16581 changeLinkDestinationOption(href); 16582 changeOpenInNewWindow(false); 16583 changeShowDownloadButton(true); 16584 }, 16585 dropdownMenuProps, 16586 children: [ 16587 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16588 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 16589 { 16590 label: (0,external_wp_i18n_namespaceObject.__)("Link to"), 16591 isShownByDefault: true, 16592 hasValue: () => textLinkHref !== href, 16593 onDeselect: () => changeLinkDestinationOption(href), 16594 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16595 external_wp_components_namespaceObject.SelectControl, 16596 { 16597 __next40pxDefaultSize: true, 16598 __nextHasNoMarginBottom: true, 16599 label: (0,external_wp_i18n_namespaceObject.__)("Link to"), 16600 value: textLinkHref, 16601 options: linkDestinationOptions, 16602 onChange: changeLinkDestinationOption 16603 } 16604 ) 16605 } 16606 ), 16607 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16608 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 16609 { 16610 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 16611 isShownByDefault: true, 16612 hasValue: () => !!openInNewWindow, 16613 onDeselect: () => changeOpenInNewWindow(false), 16614 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16615 external_wp_components_namespaceObject.ToggleControl, 16616 { 16617 __nextHasNoMarginBottom: true, 16618 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 16619 checked: openInNewWindow, 16620 onChange: changeOpenInNewWindow 16621 } 16622 ) 16623 } 16624 ), 16625 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16626 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 16627 { 16628 label: (0,external_wp_i18n_namespaceObject.__)("Show download button"), 16629 isShownByDefault: true, 16630 hasValue: () => !showDownloadButton, 16631 onDeselect: () => changeShowDownloadButton(true), 16632 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16633 external_wp_components_namespaceObject.ToggleControl, 16634 { 16635 __nextHasNoMarginBottom: true, 16636 label: (0,external_wp_i18n_namespaceObject.__)("Show download button"), 16637 checked: showDownloadButton, 16638 onChange: changeShowDownloadButton 16639 } 16640 ) 16641 } 16642 ) 16643 ] 16644 } 16645 ) 16646 ] }) }); 16647 } 16648 16649 16650 ;// ./node_modules/@wordpress/block-library/build-module/file/utils/index.js 16651 const browserSupportsPdfs = () => { 16652 if (window.navigator.pdfViewerEnabled) { 16653 return true; 16654 } 16655 if (window.navigator.userAgent.indexOf("Mobi") > -1) { 16656 return false; 16657 } 16658 if (window.navigator.userAgent.indexOf("Android") > -1) { 16659 return false; 16660 } 16661 if (window.navigator.userAgent.indexOf("Macintosh") > -1 && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2) { 16662 return false; 16663 } 16664 if (!!(window.ActiveXObject || "ActiveXObject" in window) && !(createActiveXObject("AcroPDF.PDF") || createActiveXObject("PDF.PdfCtrl"))) { 16665 return false; 16666 } 16667 return true; 16668 }; 16669 const createActiveXObject = (type) => { 16670 let ax; 16671 try { 16672 ax = new window.ActiveXObject(type); 16673 } catch (e) { 16674 ax = void 0; 16675 } 16676 return ax; 16677 }; 16678 16679 16680 ;// ./node_modules/@wordpress/block-library/build-module/file/edit.js 16681 16682 16683 16684 16685 16686 16687 16688 16689 16690 16691 16692 16693 16694 16695 16696 16697 16698 const MIN_PREVIEW_HEIGHT = 200; 16699 const MAX_PREVIEW_HEIGHT = 2e3; 16700 function ClipboardToolbarButton({ text, disabled }) { 16701 const { createNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 16702 const ref = (0,external_wp_compose_namespaceObject.useCopyToClipboard)(text, () => { 16703 createNotice("info", (0,external_wp_i18n_namespaceObject.__)("Copied URL to clipboard."), { 16704 isDismissible: true, 16705 type: "snackbar" 16706 }); 16707 }); 16708 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16709 external_wp_components_namespaceObject.ToolbarButton, 16710 { 16711 className: "components-clipboard-toolbar-button", 16712 ref, 16713 disabled, 16714 children: (0,external_wp_i18n_namespaceObject.__)("Copy URL") 16715 } 16716 ); 16717 } 16718 function FileEdit({ attributes, isSelected, setAttributes, clientId }) { 16719 const { 16720 id, 16721 fileName, 16722 href, 16723 textLinkHref, 16724 textLinkTarget, 16725 showDownloadButton, 16726 downloadButtonText, 16727 displayPreview, 16728 previewHeight 16729 } = attributes; 16730 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(attributes.blob); 16731 const { media } = (0,external_wp_data_namespaceObject.useSelect)( 16732 (select) => ({ 16733 media: id === void 0 ? void 0 : select(external_wp_coreData_namespaceObject.store).getEntityRecord( 16734 "postType", 16735 "attachment", 16736 id 16737 ) 16738 }), 16739 [id] 16740 ); 16741 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 16742 const { toggleSelection, __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 16743 useUploadMediaFromBlobURL({ 16744 url: temporaryURL, 16745 onChange: onSelectFile, 16746 onError: onUploadError 16747 }); 16748 (0,external_wp_element_namespaceObject.useEffect)(() => { 16749 if (external_wp_blockEditor_namespaceObject.RichText.isEmpty(downloadButtonText)) { 16750 __unstableMarkNextChangeAsNotPersistent(); 16751 setAttributes({ 16752 downloadButtonText: (0,external_wp_i18n_namespaceObject._x)("Download", "button label") 16753 }); 16754 } 16755 }, []); 16756 function onSelectFile(newMedia) { 16757 if (!newMedia || !newMedia.url) { 16758 setAttributes({ 16759 href: void 0, 16760 fileName: void 0, 16761 textLinkHref: void 0, 16762 id: void 0, 16763 fileId: void 0, 16764 displayPreview: void 0, 16765 previewHeight: void 0 16766 }); 16767 setTemporaryURL(); 16768 return; 16769 } 16770 if ((0,external_wp_blob_namespaceObject.isBlobURL)(newMedia.url)) { 16771 setTemporaryURL(newMedia.url); 16772 return; 16773 } 16774 const isPdf = ( 16775 // Media Library and REST API use different properties for mime type. 16776 (newMedia.mime || newMedia.mime_type) === "application/pdf" || (0,external_wp_url_namespaceObject.getFilename)(newMedia.url).toLowerCase().endsWith(".pdf") 16777 ); 16778 const pdfAttributes = { 16779 displayPreview: isPdf ? attributes.displayPreview ?? true : void 0, 16780 previewHeight: isPdf ? attributes.previewHeight ?? 600 : void 0 16781 }; 16782 setAttributes({ 16783 href: newMedia.url, 16784 fileName: newMedia.title, 16785 textLinkHref: newMedia.url, 16786 id: newMedia.id, 16787 fileId: `wp-block-file--media-$clientId}`, 16788 blob: void 0, 16789 ...pdfAttributes 16790 }); 16791 setTemporaryURL(); 16792 } 16793 function onUploadError(message) { 16794 setAttributes({ href: void 0 }); 16795 createErrorNotice(message, { type: "snackbar" }); 16796 } 16797 function changeLinkDestinationOption(newHref) { 16798 setAttributes({ textLinkHref: newHref }); 16799 } 16800 function changeOpenInNewWindow(newValue) { 16801 setAttributes({ 16802 textLinkTarget: newValue ? "_blank" : false 16803 }); 16804 } 16805 function changeShowDownloadButton(newValue) { 16806 setAttributes({ showDownloadButton: newValue }); 16807 } 16808 function changeDisplayPreview(newValue) { 16809 setAttributes({ displayPreview: newValue }); 16810 } 16811 function handleOnResizeStop(event, direction, elt, delta) { 16812 toggleSelection(true); 16813 const newHeight = parseInt(previewHeight + delta.height, 10); 16814 setAttributes({ previewHeight: newHeight }); 16815 } 16816 function changePreviewHeight(newValue) { 16817 const newHeight = Math.max( 16818 parseInt(newValue, 10), 16819 MIN_PREVIEW_HEIGHT 16820 ); 16821 setAttributes({ previewHeight: newHeight }); 16822 } 16823 const attachmentPage = media && media.link; 16824 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 16825 className: dist_clsx( 16826 !!temporaryURL && (0,external_wp_components_namespaceObject.__unstableGetAnimateClassName)({ type: "loading" }), 16827 { 16828 "is-transient": !!temporaryURL 16829 } 16830 ) 16831 }); 16832 const displayPreviewInEditor = browserSupportsPdfs() && displayPreview; 16833 if (!href && !temporaryURL) { 16834 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16835 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 16836 { 16837 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: file_default }), 16838 labels: { 16839 title: (0,external_wp_i18n_namespaceObject.__)("File"), 16840 instructions: (0,external_wp_i18n_namespaceObject.__)( 16841 "Drag and drop a file, upload, or choose from your library." 16842 ) 16843 }, 16844 onSelect: onSelectFile, 16845 onError: onUploadError, 16846 accept: "*" 16847 } 16848 ) }); 16849 } 16850 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 16851 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16852 FileBlockInspector, 16853 { 16854 hrefs: { 16855 href: href || temporaryURL, 16856 textLinkHref, 16857 attachmentPage 16858 }, 16859 ...{ 16860 openInNewWindow: !!textLinkTarget, 16861 showDownloadButton, 16862 changeLinkDestinationOption, 16863 changeOpenInNewWindow, 16864 changeShowDownloadButton, 16865 displayPreview, 16866 changeDisplayPreview, 16867 previewHeight, 16868 changePreviewHeight 16869 } 16870 } 16871 ), 16872 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: [ 16873 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16874 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 16875 { 16876 mediaId: id, 16877 mediaURL: href, 16878 accept: "*", 16879 onSelect: onSelectFile, 16880 onError: onUploadError, 16881 onReset: () => onSelectFile(void 0) 16882 } 16883 ), 16884 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16885 ClipboardToolbarButton, 16886 { 16887 text: href, 16888 disabled: (0,external_wp_blob_namespaceObject.isBlobURL)(href) 16889 } 16890 ) 16891 ] }), 16892 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 16893 displayPreviewInEditor && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 16894 external_wp_components_namespaceObject.ResizableBox, 16895 { 16896 size: { height: previewHeight, width: "100%" }, 16897 minHeight: MIN_PREVIEW_HEIGHT, 16898 maxHeight: MAX_PREVIEW_HEIGHT, 16899 grid: [1, 10], 16900 enable: { 16901 top: false, 16902 right: false, 16903 bottom: true, 16904 left: false, 16905 topRight: false, 16906 bottomRight: false, 16907 bottomLeft: false, 16908 topLeft: false 16909 }, 16910 onResizeStart: () => toggleSelection(false), 16911 onResizeStop: handleOnResizeStop, 16912 showHandle: isSelected, 16913 children: [ 16914 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16915 "object", 16916 { 16917 className: "wp-block-file__preview", 16918 data: href, 16919 type: "application/pdf", 16920 "aria-label": (0,external_wp_i18n_namespaceObject.__)( 16921 "Embed of the selected PDF file." 16922 ) 16923 } 16924 ), 16925 !isSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-file__preview-overlay" }) 16926 ] 16927 } 16928 ), 16929 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-file__content-wrapper", children: [ 16930 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16931 external_wp_blockEditor_namespaceObject.RichText, 16932 { 16933 identifier: "fileName", 16934 tagName: "a", 16935 value: fileName, 16936 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write file name\u2026"), 16937 withoutInteractiveFormatting: true, 16938 onChange: (text) => setAttributes({ 16939 fileName: removeAnchorTag(text) 16940 }), 16941 href: textLinkHref 16942 } 16943 ), 16944 showDownloadButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-file__button-richtext-wrapper", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16945 external_wp_blockEditor_namespaceObject.RichText, 16946 { 16947 identifier: "downloadButtonText", 16948 tagName: "div", 16949 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Download button text"), 16950 className: dist_clsx( 16951 "wp-block-file__button", 16952 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 16953 "button" 16954 ) 16955 ), 16956 value: downloadButtonText, 16957 withoutInteractiveFormatting: true, 16958 placeholder: (0,external_wp_i18n_namespaceObject.__)("Add text\u2026"), 16959 onChange: (text) => setAttributes({ 16960 downloadButtonText: removeAnchorTag(text) 16961 }) 16962 } 16963 ) }) 16964 ] }) 16965 ] }) 16966 ] }); 16967 } 16968 var file_edit_edit_default = FileEdit; 16969 16970 16971 ;// ./node_modules/@wordpress/block-library/build-module/file/block.json 16972 const file_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/file","title":"File","category":"media","description":"Add a link to a downloadable file.","keywords":["document","pdf","download"],"textdomain":"default","attributes":{"id":{"type":"number"},"blob":{"type":"string","role":"local"},"href":{"type":"string","role":"content"},"fileId":{"type":"string","source":"attribute","selector":"a:not([download])","attribute":"id"},"fileName":{"type":"rich-text","source":"rich-text","selector":"a:not([download])","role":"content"},"textLinkHref":{"type":"string","source":"attribute","selector":"a:not([download])","attribute":"href","role":"content"},"textLinkTarget":{"type":"string","source":"attribute","selector":"a:not([download])","attribute":"target"},"showDownloadButton":{"type":"boolean","default":true},"downloadButtonText":{"type":"rich-text","source":"rich-text","selector":"a[download]","role":"content"},"displayPreview":{"type":"boolean"},"previewHeight":{"type":"number","default":600}},"supports":{"anchor":true,"align":true,"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"link":true,"text":false,"__experimentalDefaultControls":{"background":true,"link":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"interactivity":true},"editorStyle":"wp-block-file-editor","style":"wp-block-file"}'); 16973 ;// ./node_modules/@wordpress/block-library/build-module/file/save.js 16974 16975 16976 16977 function file_save_save({ attributes }) { 16978 const { 16979 href, 16980 fileId, 16981 fileName, 16982 textLinkHref, 16983 textLinkTarget, 16984 showDownloadButton, 16985 downloadButtonText, 16986 displayPreview, 16987 previewHeight 16988 } = attributes; 16989 const pdfEmbedLabel = external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName) ? "PDF embed" : ( 16990 // To do: use toPlainText, but we need ensure it's RichTextData. See 16991 // https://github.com/WordPress/gutenberg/pull/56710. 16992 fileName.toString() 16993 ); 16994 const hasFilename = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(fileName); 16995 const describedById = hasFilename ? fileId : void 0; 16996 return href && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 16997 displayPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 16998 "object", 16999 { 17000 className: "wp-block-file__embed", 17001 data: href, 17002 type: "application/pdf", 17003 style: { 17004 width: "100%", 17005 height: `$previewHeight}px` 17006 }, 17007 "aria-label": pdfEmbedLabel 17008 } 17009 ) }), 17010 hasFilename && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17011 "a", 17012 { 17013 id: describedById, 17014 href: textLinkHref, 17015 target: textLinkTarget, 17016 rel: textLinkTarget ? "noreferrer noopener" : void 0, 17017 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: fileName }) 17018 } 17019 ), 17020 showDownloadButton && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17021 "a", 17022 { 17023 href, 17024 className: dist_clsx( 17025 "wp-block-file__button", 17026 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 17027 ), 17028 download: true, 17029 "aria-describedby": describedById, 17030 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: downloadButtonText }) 17031 } 17032 ) 17033 ] }); 17034 } 17035 17036 17037 ;// ./node_modules/@wordpress/block-library/build-module/file/transforms.js 17038 17039 17040 17041 17042 17043 const file_transforms_transforms = { 17044 from: [ 17045 { 17046 type: "files", 17047 isMatch(files) { 17048 return files.length > 0; 17049 }, 17050 // We define a lower priority (higher number) than the default of 10. This 17051 // ensures that the File block is only created as a fallback. 17052 priority: 15, 17053 transform: (files) => { 17054 const blocks = []; 17055 files.forEach((file) => { 17056 const blobURL = (0,external_wp_blob_namespaceObject.createBlobURL)(file); 17057 if (file.type.startsWith("video/")) { 17058 blocks.push( 17059 (0,external_wp_blocks_namespaceObject.createBlock)("core/video", { 17060 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 17061 }) 17062 ); 17063 } else if (file.type.startsWith("image/")) { 17064 blocks.push( 17065 (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 17066 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 17067 }) 17068 ); 17069 } else if (file.type.startsWith("audio/")) { 17070 blocks.push( 17071 (0,external_wp_blocks_namespaceObject.createBlock)("core/audio", { 17072 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 17073 }) 17074 ); 17075 } else { 17076 blocks.push( 17077 (0,external_wp_blocks_namespaceObject.createBlock)("core/file", { 17078 blob: blobURL, 17079 fileName: file.name 17080 }) 17081 ); 17082 } 17083 }); 17084 return blocks; 17085 } 17086 }, 17087 { 17088 type: "block", 17089 blocks: ["core/audio"], 17090 transform: (attributes) => { 17091 return (0,external_wp_blocks_namespaceObject.createBlock)("core/file", { 17092 href: attributes.src, 17093 fileName: attributes.caption, 17094 textLinkHref: attributes.src, 17095 id: attributes.id, 17096 anchor: attributes.anchor 17097 }); 17098 } 17099 }, 17100 { 17101 type: "block", 17102 blocks: ["core/video"], 17103 transform: (attributes) => { 17104 return (0,external_wp_blocks_namespaceObject.createBlock)("core/file", { 17105 href: attributes.src, 17106 fileName: attributes.caption, 17107 textLinkHref: attributes.src, 17108 id: attributes.id, 17109 anchor: attributes.anchor 17110 }); 17111 } 17112 }, 17113 { 17114 type: "block", 17115 blocks: ["core/image"], 17116 transform: (attributes) => { 17117 return (0,external_wp_blocks_namespaceObject.createBlock)("core/file", { 17118 href: attributes.url, 17119 fileName: attributes.caption || (0,external_wp_url_namespaceObject.getFilename)(attributes.url), 17120 textLinkHref: attributes.url, 17121 id: attributes.id, 17122 anchor: attributes.anchor 17123 }); 17124 } 17125 } 17126 ], 17127 to: [ 17128 { 17129 type: "block", 17130 blocks: ["core/audio"], 17131 isMatch: ({ id }) => { 17132 if (!id) { 17133 return false; 17134 } 17135 const { getEntityRecord } = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store); 17136 const media = getEntityRecord("postType", "attachment", id); 17137 return !!media && media.mime_type.includes("audio"); 17138 }, 17139 transform: (attributes) => { 17140 return (0,external_wp_blocks_namespaceObject.createBlock)("core/audio", { 17141 src: attributes.href, 17142 caption: attributes.fileName, 17143 id: attributes.id, 17144 anchor: attributes.anchor 17145 }); 17146 } 17147 }, 17148 { 17149 type: "block", 17150 blocks: ["core/video"], 17151 isMatch: ({ id }) => { 17152 if (!id) { 17153 return false; 17154 } 17155 const { getEntityRecord } = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store); 17156 const media = getEntityRecord("postType", "attachment", id); 17157 return !!media && media.mime_type.includes("video"); 17158 }, 17159 transform: (attributes) => { 17160 return (0,external_wp_blocks_namespaceObject.createBlock)("core/video", { 17161 src: attributes.href, 17162 caption: attributes.fileName, 17163 id: attributes.id, 17164 anchor: attributes.anchor 17165 }); 17166 } 17167 }, 17168 { 17169 type: "block", 17170 blocks: ["core/image"], 17171 isMatch: ({ id }) => { 17172 if (!id) { 17173 return false; 17174 } 17175 const { getEntityRecord } = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store); 17176 const media = getEntityRecord("postType", "attachment", id); 17177 return !!media && media.mime_type.includes("image"); 17178 }, 17179 transform: (attributes) => { 17180 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 17181 url: attributes.href, 17182 caption: attributes.fileName, 17183 id: attributes.id, 17184 anchor: attributes.anchor 17185 }); 17186 } 17187 } 17188 ] 17189 }; 17190 var file_transforms_transforms_default = file_transforms_transforms; 17191 17192 17193 ;// ./node_modules/@wordpress/block-library/build-module/file/index.js 17194 17195 17196 17197 17198 17199 17200 17201 17202 const { name: file_name } = file_block_namespaceObject; 17203 const file_settings = { 17204 icon: file_default, 17205 example: { 17206 attributes: { 17207 href: "https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg", 17208 fileName: (0,external_wp_i18n_namespaceObject._x)("Armstrong_Small_Step", "Name of the file") 17209 } 17210 }, 17211 transforms: file_transforms_transforms_default, 17212 deprecated: file_deprecated_deprecated_default, 17213 edit: file_edit_edit_default, 17214 save: file_save_save 17215 }; 17216 const file_init = () => initBlock({ name: file_name, metadata: file_block_namespaceObject, settings: file_settings }); 17217 17218 17219 ;// ./node_modules/@wordpress/block-library/build-module/form/utils.js 17220 17221 const formSubmissionNotificationSuccess = [ 17222 "core/form-submission-notification", 17223 { 17224 type: "success" 17225 }, 17226 [ 17227 [ 17228 "core/paragraph", 17229 { 17230 content: '<mark style="background-color:rgba(0, 0, 0, 0);color:#345C00" class="has-inline-color">' + (0,external_wp_i18n_namespaceObject.__)("Your form has been submitted successfully") + "</mark>" 17231 } 17232 ] 17233 ] 17234 ]; 17235 const formSubmissionNotificationError = [ 17236 "core/form-submission-notification", 17237 { 17238 type: "error" 17239 }, 17240 [ 17241 [ 17242 "core/paragraph", 17243 { 17244 content: '<mark style="background-color:rgba(0, 0, 0, 0);color:#CF2E2E" class="has-inline-color">' + (0,external_wp_i18n_namespaceObject.__)("There was an error submitting your form.") + "</mark>" 17245 } 17246 ] 17247 ] 17248 ]; 17249 17250 17251 ;// ./node_modules/@wordpress/block-library/build-module/form/edit.js 17252 17253 17254 17255 17256 17257 17258 17259 const form_edit_TEMPLATE = [ 17260 formSubmissionNotificationSuccess, 17261 formSubmissionNotificationError, 17262 [ 17263 "core/form-input", 17264 { 17265 type: "text", 17266 label: (0,external_wp_i18n_namespaceObject.__)("Name"), 17267 required: true 17268 } 17269 ], 17270 [ 17271 "core/form-input", 17272 { 17273 type: "email", 17274 label: (0,external_wp_i18n_namespaceObject.__)("Email"), 17275 required: true 17276 } 17277 ], 17278 [ 17279 "core/form-input", 17280 { 17281 type: "textarea", 17282 label: (0,external_wp_i18n_namespaceObject.__)("Comment"), 17283 required: true 17284 } 17285 ], 17286 ["core/form-submit-button", {}] 17287 ]; 17288 const form_edit_Edit = ({ attributes, setAttributes, clientId }) => { 17289 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 17290 const resetAllSettings = () => { 17291 setAttributes({ 17292 submissionMethod: "email", 17293 email: void 0, 17294 action: void 0, 17295 method: "post" 17296 }); 17297 }; 17298 const { action, method, email, submissionMethod } = attributes; 17299 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 17300 const { hasInnerBlocks } = (0,external_wp_data_namespaceObject.useSelect)( 17301 (select) => { 17302 const { getBlock } = select(external_wp_blockEditor_namespaceObject.store); 17303 const block = getBlock(clientId); 17304 return { 17305 hasInnerBlocks: !!(block && block.innerBlocks.length) 17306 }; 17307 }, 17308 [clientId] 17309 ); 17310 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 17311 template: form_edit_TEMPLATE, 17312 renderAppender: hasInnerBlocks ? void 0 : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender 17313 }); 17314 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 17315 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 17316 external_wp_components_namespaceObject.__experimentalToolsPanel, 17317 { 17318 dropdownMenuProps, 17319 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 17320 resetAll: resetAllSettings, 17321 children: [ 17322 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17323 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 17324 { 17325 hasValue: () => submissionMethod !== "email", 17326 label: (0,external_wp_i18n_namespaceObject.__)("Submissions method"), 17327 onDeselect: () => setAttributes({ 17328 submissionMethod: "email" 17329 }), 17330 isShownByDefault: true, 17331 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17332 external_wp_components_namespaceObject.SelectControl, 17333 { 17334 __nextHasNoMarginBottom: true, 17335 __next40pxDefaultSize: true, 17336 label: (0,external_wp_i18n_namespaceObject.__)("Submissions method"), 17337 options: [ 17338 // TODO: Allow plugins to add their own submission methods. 17339 { 17340 label: (0,external_wp_i18n_namespaceObject.__)("Send email"), 17341 value: "email" 17342 }, 17343 { 17344 label: (0,external_wp_i18n_namespaceObject.__)("- Custom -"), 17345 value: "custom" 17346 } 17347 ], 17348 value: submissionMethod, 17349 onChange: (value) => setAttributes({ submissionMethod: value }), 17350 help: submissionMethod === "custom" ? (0,external_wp_i18n_namespaceObject.__)( 17351 'Select the method to use for form submissions. Additional options for the "custom" mode can be found in the "Advanced" section.' 17352 ) : (0,external_wp_i18n_namespaceObject.__)( 17353 "Select the method to use for form submissions." 17354 ) 17355 } 17356 ) 17357 } 17358 ), 17359 submissionMethod === "email" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17360 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 17361 { 17362 hasValue: () => !!email, 17363 label: (0,external_wp_i18n_namespaceObject.__)("Email for form submissions"), 17364 onDeselect: () => setAttributes({ 17365 email: void 0, 17366 action: void 0, 17367 method: "post" 17368 }), 17369 isShownByDefault: true, 17370 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17371 external_wp_components_namespaceObject.TextControl, 17372 { 17373 __nextHasNoMarginBottom: true, 17374 __next40pxDefaultSize: true, 17375 autoComplete: "off", 17376 label: (0,external_wp_i18n_namespaceObject.__)("Email for form submissions"), 17377 value: email || "", 17378 required: true, 17379 onChange: (value) => { 17380 setAttributes({ email: value }); 17381 setAttributes({ 17382 action: `mailto:$value}` 17383 }); 17384 setAttributes({ method: "post" }); 17385 }, 17386 help: (0,external_wp_i18n_namespaceObject.__)( 17387 "The email address where form submissions will be sent. Separate multiple email addresses with a comma." 17388 ), 17389 type: "email" 17390 } 17391 ) 17392 } 17393 ) 17394 ] 17395 } 17396 ) }), 17397 submissionMethod !== "email" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: [ 17398 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17399 external_wp_components_namespaceObject.SelectControl, 17400 { 17401 __next40pxDefaultSize: true, 17402 __nextHasNoMarginBottom: true, 17403 label: (0,external_wp_i18n_namespaceObject.__)("Method"), 17404 options: [ 17405 { label: "Get", value: "get" }, 17406 { label: "Post", value: "post" } 17407 ], 17408 value: method, 17409 onChange: (value) => setAttributes({ method: value }), 17410 help: (0,external_wp_i18n_namespaceObject.__)( 17411 "Select the method to use for form submissions." 17412 ) 17413 } 17414 ), 17415 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17416 external_wp_components_namespaceObject.TextControl, 17417 { 17418 __next40pxDefaultSize: true, 17419 __nextHasNoMarginBottom: true, 17420 autoComplete: "off", 17421 label: (0,external_wp_i18n_namespaceObject.__)("Form action"), 17422 value: action, 17423 onChange: (newVal) => { 17424 setAttributes({ 17425 action: newVal 17426 }); 17427 }, 17428 help: (0,external_wp_i18n_namespaceObject.__)( 17429 "The URL where the form should be submitted." 17430 ), 17431 type: "url" 17432 } 17433 ) 17434 ] }), 17435 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17436 "form", 17437 { 17438 ...innerBlocksProps, 17439 encType: submissionMethod === "email" ? "text/plain" : null 17440 } 17441 ) 17442 ] }); 17443 }; 17444 var form_edit_edit_default = form_edit_Edit; 17445 17446 17447 ;// ./node_modules/@wordpress/block-library/build-module/form/block.json 17448 const form_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":true,"name":"core/form","title":"Form","category":"common","allowedBlocks":["core/paragraph","core/heading","core/form-input","core/form-submit-button","core/form-submission-notification","core/group","core/columns"],"description":"A form.","keywords":["container","wrapper","row","section"],"textdomain":"default","icon":"feedback","attributes":{"submissionMethod":{"type":"string","default":"email"},"method":{"type":"string","default":"post"},"action":{"type":"string"},"email":{"type":"string"}},"supports":{"anchor":true,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalTextDecoration":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalDefaultControls":{"fontSize":true}}}}'); 17449 ;// ./node_modules/@wordpress/block-library/build-module/form/save.js 17450 17451 17452 function form_save_save({ attributes }) { 17453 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 17454 const { submissionMethod } = attributes; 17455 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17456 "form", 17457 { 17458 ...blockProps, 17459 encType: submissionMethod === "email" ? "text/plain" : null, 17460 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 17461 } 17462 ); 17463 } 17464 17465 17466 ;// ./node_modules/@wordpress/block-library/build-module/form/variations.js 17467 17468 17469 const form_variations_variations = [ 17470 { 17471 name: "comment-form", 17472 title: (0,external_wp_i18n_namespaceObject.__)("Experimental Comment form"), 17473 description: (0,external_wp_i18n_namespaceObject.__)("A comment form for posts and pages."), 17474 attributes: { 17475 submissionMethod: "custom", 17476 action: "{SITE_URL}/wp-comments-post.php", 17477 method: "post", 17478 anchor: "comment-form" 17479 }, 17480 isDefault: false, 17481 innerBlocks: [ 17482 [ 17483 "core/form-input", 17484 { 17485 type: "text", 17486 name: "author", 17487 label: (0,external_wp_i18n_namespaceObject.__)("Name"), 17488 required: true, 17489 visibilityPermissions: "logged-out" 17490 } 17491 ], 17492 [ 17493 "core/form-input", 17494 { 17495 type: "email", 17496 name: "email", 17497 label: (0,external_wp_i18n_namespaceObject.__)("Email"), 17498 required: true, 17499 visibilityPermissions: "logged-out" 17500 } 17501 ], 17502 [ 17503 "core/form-input", 17504 { 17505 type: "textarea", 17506 name: "comment", 17507 label: (0,external_wp_i18n_namespaceObject.__)("Comment"), 17508 required: true, 17509 visibilityPermissions: "all" 17510 } 17511 ], 17512 ["core/form-submit-button", {}] 17513 ], 17514 scope: ["inserter", "transform"], 17515 isActive: (blockAttributes) => !blockAttributes?.type || blockAttributes?.type === "text" 17516 }, 17517 { 17518 name: "wp-privacy-form", 17519 title: (0,external_wp_i18n_namespaceObject.__)("Experimental Privacy Request Form"), 17520 keywords: ["GDPR"], 17521 description: (0,external_wp_i18n_namespaceObject.__)("A form to request data exports and/or deletion."), 17522 attributes: { 17523 submissionMethod: "custom", 17524 action: "", 17525 method: "post", 17526 anchor: "gdpr-form" 17527 }, 17528 isDefault: false, 17529 innerBlocks: [ 17530 formSubmissionNotificationSuccess, 17531 formSubmissionNotificationError, 17532 [ 17533 "core/paragraph", 17534 { 17535 content: (0,external_wp_i18n_namespaceObject.__)( 17536 "To request an export or deletion of your personal data on this site, please fill-in the form below. You can define the type of request you wish to perform, and your email address. Once the form is submitted, you will receive a confirmation email with instructions on the next steps." 17537 ) 17538 } 17539 ], 17540 [ 17541 "core/form-input", 17542 { 17543 type: "email", 17544 name: "email", 17545 label: (0,external_wp_i18n_namespaceObject.__)("Enter your email address."), 17546 required: true, 17547 visibilityPermissions: "all" 17548 } 17549 ], 17550 [ 17551 "core/form-input", 17552 { 17553 type: "checkbox", 17554 name: "export_personal_data", 17555 label: (0,external_wp_i18n_namespaceObject.__)("Request data export"), 17556 required: false, 17557 visibilityPermissions: "all" 17558 } 17559 ], 17560 [ 17561 "core/form-input", 17562 { 17563 type: "checkbox", 17564 name: "remove_personal_data", 17565 label: (0,external_wp_i18n_namespaceObject.__)("Request data deletion"), 17566 required: false, 17567 visibilityPermissions: "all" 17568 } 17569 ], 17570 ["core/form-submit-button", {}], 17571 [ 17572 "core/form-input", 17573 { 17574 type: "hidden", 17575 name: "wp-action", 17576 value: "wp_privacy_send_request" 17577 } 17578 ], 17579 [ 17580 "core/form-input", 17581 { 17582 type: "hidden", 17583 name: "wp-privacy-request", 17584 value: "1" 17585 } 17586 ] 17587 ], 17588 scope: ["inserter", "transform"], 17589 isActive: (blockAttributes) => !blockAttributes?.type || blockAttributes?.type === "text" 17590 } 17591 ]; 17592 var form_variations_variations_default = form_variations_variations; 17593 17594 17595 ;// ./node_modules/@wordpress/block-library/build-module/form/deprecated.js 17596 17597 17598 const form_deprecated_v1 = { 17599 // The block supports here are deliberately empty despite this 17600 // deprecated version of the block having adopted block supports. 17601 // The attributes added by these supports have been manually 17602 // added to this deprecated version's attributes definition so 17603 // that the data isn't lost on migration. All this is so that the 17604 // automatic application of block support classes doesn't occur 17605 // as this version of the block had a bug that overrode those 17606 // classes. If those block support classes are applied during the 17607 // deprecation process, this deprecation doesn't match and won't 17608 // run. 17609 // @see https://github.com/WordPress/gutenberg/pull/55755 17610 supports: {}, 17611 attributes: { 17612 submissionMethod: { 17613 type: "string", 17614 default: "email" 17615 }, 17616 method: { 17617 type: "string", 17618 default: "post" 17619 }, 17620 action: { 17621 type: "string" 17622 }, 17623 email: { 17624 type: "string" 17625 }, 17626 // The following attributes have been added to match the block 17627 // supports at the time of the deprecation. See above for details. 17628 anchor: { 17629 type: "string", 17630 source: "attribute", 17631 attribute: "id", 17632 selector: "*" 17633 }, 17634 backgroundColor: { 17635 type: "string" 17636 }, 17637 textColor: { 17638 type: "string" 17639 }, 17640 gradient: { 17641 type: "string" 17642 }, 17643 style: { 17644 type: "object" 17645 }, 17646 fontFamily: { 17647 type: "string" 17648 }, 17649 fontSize: { 17650 type: "string" 17651 } 17652 }, 17653 save({ attributes }) { 17654 const { submissionMethod } = attributes; 17655 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 17656 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes); 17657 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 17658 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 17659 // In this deprecated version, the block support is deliberately empty. 17660 // As a result, the useBlockProps.save() does not output style or id attributes, 17661 // so we apply them explicitly here. 17662 style: { 17663 ...colorProps.style, 17664 ...typographyProps.style, 17665 ...spacingProps.style 17666 }, 17667 id: attributes.anchor 17668 }); 17669 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17670 "form", 17671 { 17672 ...blockProps, 17673 className: "wp-block-form", 17674 encType: submissionMethod === "email" ? "text/plain" : null, 17675 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 17676 } 17677 ); 17678 } 17679 }; 17680 var form_deprecated_deprecated_default = [form_deprecated_v1]; 17681 17682 17683 ;// ./node_modules/@wordpress/block-library/build-module/form/index.js 17684 17685 17686 17687 17688 17689 17690 17691 const { name: form_name } = form_block_namespaceObject; 17692 const form_settings = { 17693 edit: form_edit_edit_default, 17694 save: form_save_save, 17695 deprecated: form_deprecated_deprecated_default, 17696 variations: form_variations_variations_default, 17697 example: {} 17698 }; 17699 const form_init = () => { 17700 const DISALLOWED_PARENTS = ["core/form"]; 17701 (0,external_wp_hooks_namespaceObject.addFilter)( 17702 "blockEditor.__unstableCanInsertBlockType", 17703 "core/block-library/preventInsertingFormIntoAnotherForm", 17704 (canInsert, blockType, rootClientId, { getBlock, getBlockParentsByBlockName }) => { 17705 if (blockType.name !== "core/form") { 17706 return canInsert; 17707 } 17708 for (const disallowedParentType of DISALLOWED_PARENTS) { 17709 const hasDisallowedParent = getBlock(rootClientId)?.name === disallowedParentType || getBlockParentsByBlockName( 17710 rootClientId, 17711 disallowedParentType 17712 ).length; 17713 if (hasDisallowedParent) { 17714 return false; 17715 } 17716 } 17717 return true; 17718 } 17719 ); 17720 return initBlock({ name: form_name, metadata: form_block_namespaceObject, settings: form_settings }); 17721 }; 17722 17723 17724 // EXTERNAL MODULE: ./node_modules/remove-accents/index.js 17725 var remove_accents = __webpack_require__(9681); 17726 var remove_accents_default = /*#__PURE__*/__webpack_require__.n(remove_accents); 17727 ;// external ["wp","dom"] 17728 const external_wp_dom_namespaceObject = window["wp"]["dom"]; 17729 ;// ./node_modules/@wordpress/block-library/build-module/form-input/deprecated.js 17730 17731 17732 17733 17734 17735 const getNameFromLabelV1 = (content) => { 17736 return remove_accents_default()((0,external_wp_dom_namespaceObject.__unstableStripHTML)(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, ""); 17737 }; 17738 const form_input_deprecated_v2 = { 17739 attributes: { 17740 type: { 17741 type: "string", 17742 default: "text" 17743 }, 17744 name: { 17745 type: "string" 17746 }, 17747 label: { 17748 type: "string", 17749 default: "Label", 17750 selector: ".wp-block-form-input__label-content", 17751 source: "html", 17752 role: "content" 17753 }, 17754 inlineLabel: { 17755 type: "boolean", 17756 default: false 17757 }, 17758 required: { 17759 type: "boolean", 17760 default: false, 17761 selector: ".wp-block-form-input__input", 17762 source: "attribute", 17763 attribute: "required" 17764 }, 17765 placeholder: { 17766 type: "string", 17767 selector: ".wp-block-form-input__input", 17768 source: "attribute", 17769 attribute: "placeholder", 17770 role: "content" 17771 }, 17772 value: { 17773 type: "string", 17774 default: "", 17775 selector: "input", 17776 source: "attribute", 17777 attribute: "value" 17778 }, 17779 visibilityPermissions: { 17780 type: "string", 17781 default: "all" 17782 } 17783 }, 17784 supports: { 17785 anchor: true, 17786 reusable: false, 17787 spacing: { 17788 margin: ["top", "bottom"] 17789 }, 17790 __experimentalBorder: { 17791 radius: true, 17792 __experimentalSkipSerialization: true, 17793 __experimentalDefaultControls: { 17794 radius: true 17795 } 17796 } 17797 }, 17798 save({ attributes }) { 17799 const { type, name, label, inlineLabel, required, placeholder, value } = attributes; 17800 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 17801 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 17802 const inputStyle = { 17803 ...borderProps.style, 17804 ...colorProps.style 17805 }; 17806 const inputClasses = dist_clsx( 17807 "wp-block-form-input__input", 17808 colorProps.className, 17809 borderProps.className 17810 ); 17811 const TagName = type === "textarea" ? "textarea" : "input"; 17812 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 17813 if ("hidden" === type) { 17814 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("input", { type, name, value }); 17815 } 17816 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 17817 "label", 17818 { 17819 className: dist_clsx("wp-block-form-input__label", { 17820 "is-label-inline": inlineLabel 17821 }), 17822 children: [ 17823 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: label }) }), 17824 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17825 TagName, 17826 { 17827 className: inputClasses, 17828 type: "textarea" === type ? void 0 : type, 17829 name: name || getNameFromLabelV1(label), 17830 required, 17831 "aria-required": required, 17832 placeholder: placeholder || void 0, 17833 style: inputStyle 17834 } 17835 ) 17836 ] 17837 } 17838 ) }); 17839 } 17840 }; 17841 const form_input_deprecated_v1 = { 17842 attributes: { 17843 type: { 17844 type: "string", 17845 default: "text" 17846 }, 17847 name: { 17848 type: "string" 17849 }, 17850 label: { 17851 type: "string", 17852 default: "Label", 17853 selector: ".wp-block-form-input__label-content", 17854 source: "html", 17855 role: "content" 17856 }, 17857 inlineLabel: { 17858 type: "boolean", 17859 default: false 17860 }, 17861 required: { 17862 type: "boolean", 17863 default: false, 17864 selector: ".wp-block-form-input__input", 17865 source: "attribute", 17866 attribute: "required" 17867 }, 17868 placeholder: { 17869 type: "string", 17870 selector: ".wp-block-form-input__input", 17871 source: "attribute", 17872 attribute: "placeholder", 17873 role: "content" 17874 }, 17875 value: { 17876 type: "string", 17877 default: "", 17878 selector: "input", 17879 source: "attribute", 17880 attribute: "value" 17881 }, 17882 visibilityPermissions: { 17883 type: "string", 17884 default: "all" 17885 } 17886 }, 17887 supports: { 17888 className: false, 17889 anchor: true, 17890 reusable: false, 17891 spacing: { 17892 margin: ["top", "bottom"] 17893 }, 17894 __experimentalBorder: { 17895 radius: true, 17896 __experimentalSkipSerialization: true, 17897 __experimentalDefaultControls: { 17898 radius: true 17899 } 17900 } 17901 }, 17902 save({ attributes }) { 17903 const { type, name, label, inlineLabel, required, placeholder, value } = attributes; 17904 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 17905 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 17906 const inputStyle = { 17907 ...borderProps.style, 17908 ...colorProps.style 17909 }; 17910 const inputClasses = dist_clsx( 17911 "wp-block-form-input__input", 17912 colorProps.className, 17913 borderProps.className 17914 ); 17915 const TagName = type === "textarea" ? "textarea" : "input"; 17916 if ("hidden" === type) { 17917 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("input", { type, name, value }); 17918 } 17919 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 17920 "label", 17921 { 17922 className: dist_clsx("wp-block-form-input__label", { 17923 "is-label-inline": inlineLabel 17924 }), 17925 children: [ 17926 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: label }) }), 17927 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17928 TagName, 17929 { 17930 className: inputClasses, 17931 type: "textarea" === type ? void 0 : type, 17932 name: name || getNameFromLabelV1(label), 17933 required, 17934 "aria-required": required, 17935 placeholder: placeholder || void 0, 17936 style: inputStyle 17937 } 17938 ) 17939 ] 17940 } 17941 ); 17942 } 17943 }; 17944 const form_input_deprecated_deprecated = [form_input_deprecated_v2, form_input_deprecated_v1]; 17945 var form_input_deprecated_deprecated_default = form_input_deprecated_deprecated; 17946 17947 17948 ;// ./node_modules/@wordpress/block-library/build-module/form-input/edit.js 17949 17950 17951 17952 17953 17954 17955 17956 function InputFieldBlock({ attributes, setAttributes, className }) { 17957 const { type, name, label, inlineLabel, required, placeholder, value } = attributes; 17958 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 17959 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 17960 const ref = (0,external_wp_element_namespaceObject.useRef)(); 17961 const TagName = type === "textarea" ? "textarea" : "input"; 17962 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 17963 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 17964 if (ref.current) { 17965 ref.current.focus(); 17966 } 17967 const isCheckboxOrRadio = type === "checkbox" || type === "radio"; 17968 const controls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 17969 "hidden" !== type && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 17970 external_wp_components_namespaceObject.__experimentalToolsPanel, 17971 { 17972 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 17973 resetAll: () => { 17974 setAttributes({ 17975 inlineLabel: false, 17976 required: false 17977 }); 17978 }, 17979 dropdownMenuProps, 17980 children: [ 17981 "checkbox" !== type && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17982 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 17983 { 17984 label: (0,external_wp_i18n_namespaceObject.__)("Inline label"), 17985 hasValue: () => !!inlineLabel, 17986 onDeselect: () => setAttributes({ inlineLabel: false }), 17987 isShownByDefault: true, 17988 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 17989 external_wp_components_namespaceObject.CheckboxControl, 17990 { 17991 __nextHasNoMarginBottom: true, 17992 label: (0,external_wp_i18n_namespaceObject.__)("Inline label"), 17993 checked: inlineLabel, 17994 onChange: (newVal) => { 17995 setAttributes({ 17996 inlineLabel: newVal 17997 }); 17998 } 17999 } 18000 ) 18001 } 18002 ), 18003 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18004 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 18005 { 18006 label: (0,external_wp_i18n_namespaceObject.__)("Required"), 18007 hasValue: () => !!required, 18008 onDeselect: () => setAttributes({ required: false }), 18009 isShownByDefault: true, 18010 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18011 external_wp_components_namespaceObject.CheckboxControl, 18012 { 18013 __nextHasNoMarginBottom: true, 18014 label: (0,external_wp_i18n_namespaceObject.__)("Required"), 18015 checked: required, 18016 onChange: (newVal) => { 18017 setAttributes({ 18018 required: newVal 18019 }); 18020 } 18021 } 18022 ) 18023 } 18024 ) 18025 ] 18026 } 18027 ) }), 18028 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18029 external_wp_components_namespaceObject.TextControl, 18030 { 18031 __next40pxDefaultSize: true, 18032 __nextHasNoMarginBottom: true, 18033 autoComplete: "off", 18034 label: (0,external_wp_i18n_namespaceObject.__)("Name"), 18035 value: name, 18036 onChange: (newVal) => { 18037 setAttributes({ 18038 name: newVal 18039 }); 18040 }, 18041 help: (0,external_wp_i18n_namespaceObject.__)( 18042 'Affects the "name" attribute of the input element, and is used as a name for the form submission results.' 18043 ) 18044 } 18045 ) }) 18046 ] }); 18047 const content = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18048 external_wp_blockEditor_namespaceObject.RichText, 18049 { 18050 tagName: "span", 18051 className: "wp-block-form-input__label-content", 18052 value: label, 18053 onChange: (newLabel) => setAttributes({ label: newLabel }), 18054 "aria-label": label ? (0,external_wp_i18n_namespaceObject.__)("Label") : (0,external_wp_i18n_namespaceObject.__)("Empty label"), 18055 "data-empty": !label, 18056 placeholder: (0,external_wp_i18n_namespaceObject.__)("Type the label for this input") 18057 } 18058 ); 18059 if ("hidden" === type) { 18060 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 18061 controls, 18062 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18063 "input", 18064 { 18065 type: "hidden", 18066 className: dist_clsx( 18067 className, 18068 "wp-block-form-input__input", 18069 colorProps.className, 18070 borderProps.className 18071 ), 18072 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Value"), 18073 value, 18074 onChange: (event) => setAttributes({ value: event.target.value }) 18075 } 18076 ) 18077 ] }); 18078 } 18079 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 18080 controls, 18081 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 18082 "span", 18083 { 18084 className: dist_clsx("wp-block-form-input__label", { 18085 "is-label-inline": inlineLabel || "checkbox" === type 18086 }), 18087 children: [ 18088 !isCheckboxOrRadio && content, 18089 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18090 TagName, 18091 { 18092 type: "textarea" === type ? void 0 : type, 18093 className: dist_clsx( 18094 className, 18095 "wp-block-form-input__input", 18096 colorProps.className, 18097 borderProps.className 18098 ), 18099 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Optional placeholder text"), 18100 placeholder: placeholder ? void 0 : (0,external_wp_i18n_namespaceObject.__)("Optional placeholder\u2026"), 18101 value: placeholder, 18102 onChange: (event) => setAttributes({ placeholder: event.target.value }), 18103 "aria-required": required, 18104 style: { 18105 ...borderProps.style, 18106 ...colorProps.style 18107 } 18108 } 18109 ), 18110 isCheckboxOrRadio && content 18111 ] 18112 } 18113 ) 18114 ] }); 18115 } 18116 var form_input_edit_edit_default = InputFieldBlock; 18117 18118 18119 ;// ./node_modules/@wordpress/block-library/build-module/form-input/block.json 18120 const form_input_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":true,"name":"core/form-input","title":"Input Field","category":"common","ancestor":["core/form"],"description":"The basic building block for forms.","keywords":["input","form"],"textdomain":"default","icon":"forms","attributes":{"type":{"type":"string","default":"text"},"name":{"type":"string"},"label":{"type":"rich-text","default":"Label","selector":".wp-block-form-input__label-content","source":"rich-text","role":"content"},"inlineLabel":{"type":"boolean","default":false},"required":{"type":"boolean","default":false,"selector":".wp-block-form-input__input","source":"attribute","attribute":"required"},"placeholder":{"type":"string","selector":".wp-block-form-input__input","source":"attribute","attribute":"placeholder","role":"content"},"value":{"type":"string","default":"","selector":"input","source":"attribute","attribute":"value"},"visibilityPermissions":{"type":"string","default":"all"}},"supports":{"anchor":true,"reusable":false,"spacing":{"margin":["top","bottom"]},"__experimentalBorder":{"radius":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"radius":true}}},"style":["wp-block-form-input"]}'); 18121 ;// ./node_modules/@wordpress/block-library/build-module/form-input/save.js 18122 18123 18124 18125 18126 18127 const getNameFromLabel = (content) => { 18128 return remove_accents_default()((0,external_wp_dom_namespaceObject.__unstableStripHTML)(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, ""); 18129 }; 18130 function form_input_save_save({ attributes }) { 18131 const { type, name, label, inlineLabel, required, placeholder, value } = attributes; 18132 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 18133 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 18134 const inputStyle = { 18135 ...borderProps.style, 18136 ...colorProps.style 18137 }; 18138 const inputClasses = dist_clsx( 18139 "wp-block-form-input__input", 18140 colorProps.className, 18141 borderProps.className 18142 ); 18143 const TagName = type === "textarea" ? "textarea" : "input"; 18144 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 18145 const isCheckboxOrRadio = type === "checkbox" || type === "radio"; 18146 if ("hidden" === type) { 18147 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("input", { type, name, value }); 18148 } 18149 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 18150 "label", 18151 { 18152 className: dist_clsx("wp-block-form-input__label", { 18153 "is-label-inline": inlineLabel 18154 }), 18155 children: [ 18156 !isCheckboxOrRadio && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: label }) }), 18157 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18158 TagName, 18159 { 18160 className: inputClasses, 18161 type: "textarea" === type ? void 0 : type, 18162 name: name || getNameFromLabel(label), 18163 required, 18164 "aria-required": required, 18165 placeholder: placeholder || void 0, 18166 style: inputStyle 18167 } 18168 ), 18169 isCheckboxOrRadio && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-form-input__label-content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: label }) }) 18170 ] 18171 } 18172 ) }); 18173 } 18174 18175 18176 ;// ./node_modules/@wordpress/block-library/build-module/form-input/variations.js 18177 18178 const form_input_variations_variations = [ 18179 { 18180 name: "text", 18181 title: (0,external_wp_i18n_namespaceObject.__)("Text Input"), 18182 icon: "edit-page", 18183 description: (0,external_wp_i18n_namespaceObject.__)("A generic text input."), 18184 attributes: { type: "text" }, 18185 isDefault: true, 18186 scope: ["inserter", "transform"], 18187 isActive: (blockAttributes) => !blockAttributes?.type || blockAttributes?.type === "text" 18188 }, 18189 { 18190 name: "textarea", 18191 title: (0,external_wp_i18n_namespaceObject.__)("Textarea Input"), 18192 icon: "testimonial", 18193 description: (0,external_wp_i18n_namespaceObject.__)( 18194 "A textarea input to allow entering multiple lines of text." 18195 ), 18196 attributes: { type: "textarea" }, 18197 isDefault: true, 18198 scope: ["inserter", "transform"], 18199 isActive: (blockAttributes) => blockAttributes?.type === "textarea" 18200 }, 18201 { 18202 name: "checkbox", 18203 title: (0,external_wp_i18n_namespaceObject.__)("Checkbox Input"), 18204 description: (0,external_wp_i18n_namespaceObject.__)("A simple checkbox input."), 18205 icon: "forms", 18206 attributes: { type: "checkbox", inlineLabel: true }, 18207 isDefault: true, 18208 scope: ["inserter", "transform"], 18209 isActive: (blockAttributes) => blockAttributes?.type === "checkbox" 18210 }, 18211 { 18212 name: "email", 18213 title: (0,external_wp_i18n_namespaceObject.__)("Email Input"), 18214 icon: "email", 18215 description: (0,external_wp_i18n_namespaceObject.__)("Used for email addresses."), 18216 attributes: { type: "email" }, 18217 isDefault: true, 18218 scope: ["inserter", "transform"], 18219 isActive: (blockAttributes) => blockAttributes?.type === "email" 18220 }, 18221 { 18222 name: "url", 18223 title: (0,external_wp_i18n_namespaceObject.__)("URL Input"), 18224 icon: "admin-site", 18225 description: (0,external_wp_i18n_namespaceObject.__)("Used for URLs."), 18226 attributes: { type: "url" }, 18227 isDefault: true, 18228 scope: ["inserter", "transform"], 18229 isActive: (blockAttributes) => blockAttributes?.type === "url" 18230 }, 18231 { 18232 name: "tel", 18233 title: (0,external_wp_i18n_namespaceObject.__)("Telephone Input"), 18234 icon: "phone", 18235 description: (0,external_wp_i18n_namespaceObject.__)("Used for phone numbers."), 18236 attributes: { type: "tel" }, 18237 isDefault: true, 18238 scope: ["inserter", "transform"], 18239 isActive: (blockAttributes) => blockAttributes?.type === "tel" 18240 }, 18241 { 18242 name: "number", 18243 title: (0,external_wp_i18n_namespaceObject.__)("Number Input"), 18244 icon: "edit-page", 18245 description: (0,external_wp_i18n_namespaceObject.__)("A numeric input."), 18246 attributes: { type: "number" }, 18247 isDefault: true, 18248 scope: ["inserter", "transform"], 18249 isActive: (blockAttributes) => blockAttributes?.type === "number" 18250 } 18251 ]; 18252 var form_input_variations_variations_default = form_input_variations_variations; 18253 18254 18255 ;// ./node_modules/@wordpress/block-library/build-module/form-input/index.js 18256 18257 18258 18259 18260 18261 18262 const { name: form_input_name } = form_input_block_namespaceObject; 18263 const form_input_settings = { 18264 deprecated: form_input_deprecated_deprecated_default, 18265 edit: form_input_edit_edit_default, 18266 save: form_input_save_save, 18267 variations: form_input_variations_variations_default, 18268 example: {} 18269 }; 18270 const form_input_init = () => initBlock({ name: form_input_name, metadata: form_input_block_namespaceObject, settings: form_input_settings }); 18271 18272 18273 ;// ./node_modules/@wordpress/block-library/build-module/form-submit-button/edit.js 18274 18275 18276 18277 const form_submit_button_edit_TEMPLATE = [ 18278 [ 18279 "core/buttons", 18280 {}, 18281 [ 18282 [ 18283 "core/button", 18284 { 18285 text: (0,external_wp_i18n_namespaceObject.__)("Submit"), 18286 tagName: "button", 18287 type: "submit" 18288 } 18289 ] 18290 ] 18291 ] 18292 ]; 18293 const form_submit_button_edit_Edit = () => { 18294 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 18295 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 18296 template: form_submit_button_edit_TEMPLATE, 18297 templateLock: "all" 18298 }); 18299 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-form-submit-wrapper", ...innerBlocksProps }); 18300 }; 18301 var form_submit_button_edit_edit_default = form_submit_button_edit_Edit; 18302 18303 18304 ;// ./node_modules/@wordpress/block-library/build-module/form-submit-button/block.json 18305 const form_submit_button_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":true,"name":"core/form-submit-button","title":"Form Submit Button","category":"common","icon":"button","ancestor":["core/form"],"allowedBlocks":["core/buttons","core/button"],"description":"A submission button for forms.","keywords":["submit","button","form"],"textdomain":"default","style":["wp-block-form-submit-button"]}'); 18306 ;// ./node_modules/@wordpress/block-library/build-module/form-submit-button/save.js 18307 18308 18309 function form_submit_button_save_save() { 18310 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 18311 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-form-submit-wrapper", ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 18312 } 18313 18314 18315 ;// ./node_modules/@wordpress/block-library/build-module/form-submit-button/index.js 18316 18317 18318 18319 18320 const { name: form_submit_button_name } = form_submit_button_block_namespaceObject; 18321 const form_submit_button_settings = { 18322 edit: form_submit_button_edit_edit_default, 18323 save: form_submit_button_save_save, 18324 example: {} 18325 }; 18326 const form_submit_button_init = () => initBlock({ name: form_submit_button_name, metadata: form_submit_button_block_namespaceObject, settings: form_submit_button_settings }); 18327 18328 18329 ;// ./node_modules/@wordpress/icons/build-module/library/group.js 18330 18331 18332 var group_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" }) }); 18333 18334 18335 ;// ./node_modules/@wordpress/block-library/build-module/form-submission-notification/edit.js 18336 18337 18338 18339 18340 18341 const form_submission_notification_edit_TEMPLATE = [ 18342 [ 18343 "core/paragraph", 18344 { 18345 content: (0,external_wp_i18n_namespaceObject.__)( 18346 "Enter the message you wish displayed for form submission error/success, and select the type of the message (success/error) from the block's options." 18347 ) 18348 } 18349 ] 18350 ]; 18351 const form_submission_notification_edit_Edit = ({ attributes, clientId }) => { 18352 const { type } = attributes; 18353 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 18354 className: dist_clsx("wp-block-form-submission-notification", { 18355 [`form-notification-type-$type}`]: type 18356 }) 18357 }); 18358 const { hasInnerBlocks } = (0,external_wp_data_namespaceObject.useSelect)( 18359 (select) => { 18360 const { getBlock } = select(external_wp_blockEditor_namespaceObject.store); 18361 const block = getBlock(clientId); 18362 return { 18363 hasInnerBlocks: !!(block && block.innerBlocks.length) 18364 }; 18365 }, 18366 [clientId] 18367 ); 18368 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 18369 template: form_submission_notification_edit_TEMPLATE, 18370 renderAppender: hasInnerBlocks ? void 0 : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender 18371 }); 18372 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18373 "div", 18374 { 18375 ...innerBlocksProps, 18376 "data-message-success": (0,external_wp_i18n_namespaceObject.__)("Submission success notification"), 18377 "data-message-error": (0,external_wp_i18n_namespaceObject.__)("Submission error notification") 18378 } 18379 ); 18380 }; 18381 var form_submission_notification_edit_edit_default = form_submission_notification_edit_Edit; 18382 18383 18384 ;// ./node_modules/@wordpress/block-library/build-module/form-submission-notification/block.json 18385 const form_submission_notification_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":true,"name":"core/form-submission-notification","title":"Form Submission Notification","category":"common","ancestor":["core/form"],"description":"Provide a notification message after the form has been submitted.","keywords":["form","feedback","notification","message"],"textdomain":"default","icon":"feedback","attributes":{"type":{"type":"string","default":"success"}}}'); 18386 ;// ./node_modules/@wordpress/block-library/build-module/form-submission-notification/save.js 18387 18388 18389 18390 function form_submission_notification_save_save({ attributes }) { 18391 const { type } = attributes; 18392 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18393 "div", 18394 { 18395 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save( 18396 external_wp_blockEditor_namespaceObject.useBlockProps.save({ 18397 className: dist_clsx("wp-block-form-submission-notification", { 18398 [`form-notification-type-$type}`]: type 18399 }) 18400 }) 18401 ) 18402 } 18403 ); 18404 } 18405 18406 18407 ;// ./node_modules/@wordpress/block-library/build-module/form-submission-notification/variations.js 18408 18409 const form_submission_notification_variations_variations = [ 18410 { 18411 name: "form-submission-success", 18412 title: (0,external_wp_i18n_namespaceObject.__)("Form Submission Success"), 18413 description: (0,external_wp_i18n_namespaceObject.__)("Success message for form submissions."), 18414 attributes: { 18415 type: "success" 18416 }, 18417 isDefault: true, 18418 innerBlocks: [ 18419 [ 18420 "core/paragraph", 18421 { 18422 content: (0,external_wp_i18n_namespaceObject.__)("Your form has been submitted successfully."), 18423 backgroundColor: "#00D084", 18424 textColor: "#000000", 18425 style: { 18426 elements: { link: { color: { text: "#000000" } } } 18427 } 18428 } 18429 ] 18430 ], 18431 scope: ["inserter", "transform"], 18432 isActive: (blockAttributes) => !blockAttributes?.type || blockAttributes?.type === "success" 18433 }, 18434 { 18435 name: "form-submission-error", 18436 title: (0,external_wp_i18n_namespaceObject.__)("Form Submission Error"), 18437 description: (0,external_wp_i18n_namespaceObject.__)("Error/failure message for form submissions."), 18438 attributes: { 18439 type: "error" 18440 }, 18441 isDefault: false, 18442 innerBlocks: [ 18443 [ 18444 "core/paragraph", 18445 { 18446 content: (0,external_wp_i18n_namespaceObject.__)("There was an error submitting your form."), 18447 backgroundColor: "#CF2E2E", 18448 textColor: "#FFFFFF", 18449 style: { 18450 elements: { link: { color: { text: "#FFFFFF" } } } 18451 } 18452 } 18453 ] 18454 ], 18455 scope: ["inserter", "transform"], 18456 isActive: (blockAttributes) => !blockAttributes?.type || blockAttributes?.type === "error" 18457 } 18458 ]; 18459 var form_submission_notification_variations_variations_default = form_submission_notification_variations_variations; 18460 18461 18462 ;// ./node_modules/@wordpress/block-library/build-module/form-submission-notification/index.js 18463 18464 18465 18466 18467 18468 18469 const { name: form_submission_notification_name } = form_submission_notification_block_namespaceObject; 18470 const form_submission_notification_settings = { 18471 icon: group_default, 18472 edit: form_submission_notification_edit_edit_default, 18473 save: form_submission_notification_save_save, 18474 variations: form_submission_notification_variations_variations_default, 18475 example: {} 18476 }; 18477 const form_submission_notification_init = () => initBlock({ name: form_submission_notification_name, metadata: form_submission_notification_block_namespaceObject, settings: form_submission_notification_settings }); 18478 18479 18480 ;// ./node_modules/@wordpress/icons/build-module/library/gallery.js 18481 18482 18483 var gallery_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18484 external_wp_primitives_namespaceObject.Path, 18485 { 18486 d: "M16.375 4.5H4.625a.125.125 0 0 0-.125.125v8.254l2.859-1.54a.75.75 0 0 1 .68-.016l2.384 1.142 2.89-2.074a.75.75 0 0 1 .874 0l2.313 1.66V4.625a.125.125 0 0 0-.125-.125Zm.125 9.398-2.75-1.975-2.813 2.02a.75.75 0 0 1-.76.067l-2.444-1.17L4.5 14.583v1.792c0 .069.056.125.125.125h11.75a.125.125 0 0 0 .125-.125v-2.477ZM4.625 3C3.728 3 3 3.728 3 4.625v11.75C3 17.273 3.728 18 4.625 18h11.75c.898 0 1.625-.727 1.625-1.625V4.625C18 3.728 17.273 3 16.375 3H4.625ZM20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z", 18487 fillRule: "evenodd", 18488 clipRule: "evenodd" 18489 } 18490 ) }); 18491 18492 18493 ;// ./node_modules/@wordpress/block-library/build-module/gallery/constants.js 18494 const LINK_DESTINATION_NONE = "none"; 18495 const LINK_DESTINATION_MEDIA = "media"; 18496 const LINK_DESTINATION_LIGHTBOX = "lightbox"; 18497 const LINK_DESTINATION_ATTACHMENT = "attachment"; 18498 const LINK_DESTINATION_MEDIA_WP_CORE = "file"; 18499 const LINK_DESTINATION_ATTACHMENT_WP_CORE = "post"; 18500 const constants_DEFAULT_MEDIA_SIZE_SLUG = "large"; 18501 18502 18503 ;// ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js 18504 18505 18506 18507 18508 18509 const DEPRECATED_LINK_DESTINATION_MEDIA = "file"; 18510 const DEPRECATED_LINK_DESTINATION_ATTACHMENT = "post"; 18511 function defaultColumnsNumberV1(attributes) { 18512 return Math.min(3, attributes?.images?.length); 18513 } 18514 function getHrefAndDestination(image, destination) { 18515 switch (destination) { 18516 case DEPRECATED_LINK_DESTINATION_MEDIA: 18517 return { 18518 href: image?.source_url || image?.url, 18519 // eslint-disable-line camelcase 18520 linkDestination: LINK_DESTINATION_MEDIA 18521 }; 18522 case DEPRECATED_LINK_DESTINATION_ATTACHMENT: 18523 return { 18524 href: image?.link, 18525 linkDestination: LINK_DESTINATION_ATTACHMENT 18526 }; 18527 case LINK_DESTINATION_MEDIA: 18528 return { 18529 href: image?.source_url || image?.url, 18530 // eslint-disable-line camelcase 18531 linkDestination: LINK_DESTINATION_MEDIA 18532 }; 18533 case LINK_DESTINATION_ATTACHMENT: 18534 return { 18535 href: image?.link, 18536 linkDestination: LINK_DESTINATION_ATTACHMENT 18537 }; 18538 case LINK_DESTINATION_NONE: 18539 return { 18540 href: void 0, 18541 linkDestination: LINK_DESTINATION_NONE 18542 }; 18543 } 18544 return {}; 18545 } 18546 function runV2Migration(attributes) { 18547 let linkTo = attributes.linkTo ? attributes.linkTo : "none"; 18548 if (linkTo === "post") { 18549 linkTo = "attachment"; 18550 } else if (linkTo === "file") { 18551 linkTo = "media"; 18552 } 18553 const imageBlocks = attributes.images.map((image) => { 18554 return getImageBlock(image, attributes.sizeSlug, linkTo); 18555 }); 18556 const { images, ids, ...restAttributes } = attributes; 18557 return [ 18558 { 18559 ...restAttributes, 18560 linkTo, 18561 allowResize: false 18562 }, 18563 imageBlocks 18564 ]; 18565 } 18566 function getImageBlock(image, sizeSlug, linkTo) { 18567 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 18568 ...image.id && { id: parseInt(image.id) }, 18569 url: image.url, 18570 alt: image.alt, 18571 caption: image.caption, 18572 sizeSlug, 18573 ...getHrefAndDestination(image, linkTo) 18574 }); 18575 } 18576 const deprecated_v7 = { 18577 attributes: { 18578 images: { 18579 type: "array", 18580 default: [], 18581 source: "query", 18582 selector: ".blocks-gallery-item", 18583 query: { 18584 url: { 18585 type: "string", 18586 source: "attribute", 18587 selector: "img", 18588 attribute: "src" 18589 }, 18590 fullUrl: { 18591 type: "string", 18592 source: "attribute", 18593 selector: "img", 18594 attribute: "data-full-url" 18595 }, 18596 link: { 18597 type: "string", 18598 source: "attribute", 18599 selector: "img", 18600 attribute: "data-link" 18601 }, 18602 alt: { 18603 type: "string", 18604 source: "attribute", 18605 selector: "img", 18606 attribute: "alt", 18607 default: "" 18608 }, 18609 id: { 18610 type: "string", 18611 source: "attribute", 18612 selector: "img", 18613 attribute: "data-id" 18614 }, 18615 caption: { 18616 type: "string", 18617 source: "html", 18618 selector: ".blocks-gallery-item__caption" 18619 } 18620 } 18621 }, 18622 ids: { 18623 type: "array", 18624 items: { 18625 type: "number" 18626 }, 18627 default: [] 18628 }, 18629 shortCodeTransforms: { 18630 type: "array", 18631 default: [], 18632 items: { 18633 type: "object" 18634 } 18635 }, 18636 columns: { 18637 type: "number", 18638 minimum: 1, 18639 maximum: 8 18640 }, 18641 caption: { 18642 type: "string", 18643 source: "html", 18644 selector: ".blocks-gallery-caption" 18645 }, 18646 imageCrop: { 18647 type: "boolean", 18648 default: true 18649 }, 18650 fixedHeight: { 18651 type: "boolean", 18652 default: true 18653 }, 18654 linkTarget: { 18655 type: "string" 18656 }, 18657 linkTo: { 18658 type: "string" 18659 }, 18660 sizeSlug: { 18661 type: "string", 18662 default: "large" 18663 }, 18664 allowResize: { 18665 type: "boolean", 18666 default: false 18667 } 18668 }, 18669 save({ attributes }) { 18670 const { caption, columns, imageCrop } = attributes; 18671 const className = dist_clsx("has-nested-images", { 18672 [`columns-$columns}`]: columns !== void 0, 18673 [`columns-default`]: columns === void 0, 18674 "is-cropped": imageCrop 18675 }); 18676 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }); 18677 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 18678 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...innerBlocksProps, children: [ 18679 innerBlocksProps.children, 18680 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18681 external_wp_blockEditor_namespaceObject.RichText.Content, 18682 { 18683 tagName: "figcaption", 18684 className: "blocks-gallery-caption", 18685 value: caption 18686 } 18687 ) 18688 ] }); 18689 } 18690 }; 18691 const deprecated_v6 = { 18692 attributes: { 18693 images: { 18694 type: "array", 18695 default: [], 18696 source: "query", 18697 selector: ".blocks-gallery-item", 18698 query: { 18699 url: { 18700 type: "string", 18701 source: "attribute", 18702 selector: "img", 18703 attribute: "src" 18704 }, 18705 fullUrl: { 18706 type: "string", 18707 source: "attribute", 18708 selector: "img", 18709 attribute: "data-full-url" 18710 }, 18711 link: { 18712 type: "string", 18713 source: "attribute", 18714 selector: "img", 18715 attribute: "data-link" 18716 }, 18717 alt: { 18718 type: "string", 18719 source: "attribute", 18720 selector: "img", 18721 attribute: "alt", 18722 default: "" 18723 }, 18724 id: { 18725 type: "string", 18726 source: "attribute", 18727 selector: "img", 18728 attribute: "data-id" 18729 }, 18730 caption: { 18731 type: "string", 18732 source: "html", 18733 selector: ".blocks-gallery-item__caption" 18734 } 18735 } 18736 }, 18737 ids: { 18738 type: "array", 18739 items: { 18740 type: "number" 18741 }, 18742 default: [] 18743 }, 18744 columns: { 18745 type: "number", 18746 minimum: 1, 18747 maximum: 8 18748 }, 18749 caption: { 18750 type: "string", 18751 source: "html", 18752 selector: ".blocks-gallery-caption" 18753 }, 18754 imageCrop: { 18755 type: "boolean", 18756 default: true 18757 }, 18758 fixedHeight: { 18759 type: "boolean", 18760 default: true 18761 }, 18762 linkTo: { 18763 type: "string" 18764 }, 18765 sizeSlug: { 18766 type: "string", 18767 default: "large" 18768 } 18769 }, 18770 supports: { 18771 anchor: true, 18772 align: true 18773 }, 18774 save({ attributes }) { 18775 const { 18776 images, 18777 columns = defaultColumnsNumberV1(attributes), 18778 imageCrop, 18779 caption, 18780 linkTo 18781 } = attributes; 18782 const className = `columns-$columns} $imageCrop ? "is-cropped" : ""}`; 18783 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 18784 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => { 18785 let href; 18786 switch (linkTo) { 18787 case DEPRECATED_LINK_DESTINATION_MEDIA: 18788 href = image.fullUrl || image.url; 18789 break; 18790 case DEPRECATED_LINK_DESTINATION_ATTACHMENT: 18791 href = image.link; 18792 break; 18793 } 18794 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18795 "img", 18796 { 18797 src: image.url, 18798 alt: image.alt, 18799 "data-id": image.id, 18800 "data-full-url": image.fullUrl, 18801 "data-link": image.link, 18802 className: image.id ? `wp-image-$image.id}` : null 18803 } 18804 ); 18805 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18806 "li", 18807 { 18808 className: "blocks-gallery-item", 18809 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 18810 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img, 18811 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18812 external_wp_blockEditor_namespaceObject.RichText.Content, 18813 { 18814 tagName: "figcaption", 18815 className: "blocks-gallery-item__caption", 18816 value: image.caption 18817 } 18818 ) 18819 ] }) 18820 }, 18821 image.id || image.url 18822 ); 18823 }) }), 18824 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18825 external_wp_blockEditor_namespaceObject.RichText.Content, 18826 { 18827 tagName: "figcaption", 18828 className: "blocks-gallery-caption", 18829 value: caption 18830 } 18831 ) 18832 ] }); 18833 }, 18834 migrate(attributes) { 18835 return runV2Migration(attributes); 18836 } 18837 }; 18838 const deprecated_v5 = { 18839 attributes: { 18840 images: { 18841 type: "array", 18842 default: [], 18843 source: "query", 18844 selector: ".blocks-gallery-item", 18845 query: { 18846 url: { 18847 type: "string", 18848 source: "attribute", 18849 selector: "img", 18850 attribute: "src" 18851 }, 18852 fullUrl: { 18853 type: "string", 18854 source: "attribute", 18855 selector: "img", 18856 attribute: "data-full-url" 18857 }, 18858 link: { 18859 type: "string", 18860 source: "attribute", 18861 selector: "img", 18862 attribute: "data-link" 18863 }, 18864 alt: { 18865 type: "string", 18866 source: "attribute", 18867 selector: "img", 18868 attribute: "alt", 18869 default: "" 18870 }, 18871 id: { 18872 type: "string", 18873 source: "attribute", 18874 selector: "img", 18875 attribute: "data-id" 18876 }, 18877 caption: { 18878 type: "string", 18879 source: "html", 18880 selector: ".blocks-gallery-item__caption" 18881 } 18882 } 18883 }, 18884 ids: { 18885 type: "array", 18886 items: { 18887 type: "number" 18888 }, 18889 default: [] 18890 }, 18891 columns: { 18892 type: "number", 18893 minimum: 1, 18894 maximum: 8 18895 }, 18896 caption: { 18897 type: "string", 18898 source: "html", 18899 selector: ".blocks-gallery-caption" 18900 }, 18901 imageCrop: { 18902 type: "boolean", 18903 default: true 18904 }, 18905 linkTo: { 18906 type: "string", 18907 default: "none" 18908 }, 18909 sizeSlug: { 18910 type: "string", 18911 default: "large" 18912 } 18913 }, 18914 supports: { 18915 align: true 18916 }, 18917 isEligible({ linkTo }) { 18918 return !linkTo || linkTo === "attachment" || linkTo === "media"; 18919 }, 18920 migrate(attributes) { 18921 return runV2Migration(attributes); 18922 }, 18923 save({ attributes }) { 18924 const { 18925 images, 18926 columns = defaultColumnsNumberV1(attributes), 18927 imageCrop, 18928 caption, 18929 linkTo 18930 } = attributes; 18931 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 18932 "figure", 18933 { 18934 className: `columns-$columns} $imageCrop ? "is-cropped" : ""}`, 18935 children: [ 18936 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => { 18937 let href; 18938 switch (linkTo) { 18939 case "media": 18940 href = image.fullUrl || image.url; 18941 break; 18942 case "attachment": 18943 href = image.link; 18944 break; 18945 } 18946 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18947 "img", 18948 { 18949 src: image.url, 18950 alt: image.alt, 18951 "data-id": image.id, 18952 "data-full-url": image.fullUrl, 18953 "data-link": image.link, 18954 className: image.id ? `wp-image-$image.id}` : null 18955 } 18956 ); 18957 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18958 "li", 18959 { 18960 className: "blocks-gallery-item", 18961 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 18962 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img, 18963 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18964 external_wp_blockEditor_namespaceObject.RichText.Content, 18965 { 18966 tagName: "figcaption", 18967 className: "blocks-gallery-item__caption", 18968 value: image.caption 18969 } 18970 ) 18971 ] }) 18972 }, 18973 image.id || image.url 18974 ); 18975 }) }), 18976 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 18977 external_wp_blockEditor_namespaceObject.RichText.Content, 18978 { 18979 tagName: "figcaption", 18980 className: "blocks-gallery-caption", 18981 value: caption 18982 } 18983 ) 18984 ] 18985 } 18986 ); 18987 } 18988 }; 18989 const deprecated_v4 = { 18990 attributes: { 18991 images: { 18992 type: "array", 18993 default: [], 18994 source: "query", 18995 selector: ".blocks-gallery-item", 18996 query: { 18997 url: { 18998 source: "attribute", 18999 selector: "img", 19000 attribute: "src" 19001 }, 19002 fullUrl: { 19003 source: "attribute", 19004 selector: "img", 19005 attribute: "data-full-url" 19006 }, 19007 link: { 19008 source: "attribute", 19009 selector: "img", 19010 attribute: "data-link" 19011 }, 19012 alt: { 19013 source: "attribute", 19014 selector: "img", 19015 attribute: "alt", 19016 default: "" 19017 }, 19018 id: { 19019 source: "attribute", 19020 selector: "img", 19021 attribute: "data-id" 19022 }, 19023 caption: { 19024 type: "string", 19025 source: "html", 19026 selector: ".blocks-gallery-item__caption" 19027 } 19028 } 19029 }, 19030 ids: { 19031 type: "array", 19032 default: [] 19033 }, 19034 columns: { 19035 type: "number" 19036 }, 19037 caption: { 19038 type: "string", 19039 source: "html", 19040 selector: ".blocks-gallery-caption" 19041 }, 19042 imageCrop: { 19043 type: "boolean", 19044 default: true 19045 }, 19046 linkTo: { 19047 type: "string", 19048 default: "none" 19049 } 19050 }, 19051 supports: { 19052 align: true 19053 }, 19054 isEligible({ ids }) { 19055 return ids && ids.some((id) => typeof id === "string"); 19056 }, 19057 migrate(attributes) { 19058 return runV2Migration(attributes); 19059 }, 19060 save({ attributes }) { 19061 const { 19062 images, 19063 columns = defaultColumnsNumberV1(attributes), 19064 imageCrop, 19065 caption, 19066 linkTo 19067 } = attributes; 19068 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 19069 "figure", 19070 { 19071 className: `columns-$columns} $imageCrop ? "is-cropped" : ""}`, 19072 children: [ 19073 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { className: "blocks-gallery-grid", children: images.map((image) => { 19074 let href; 19075 switch (linkTo) { 19076 case "media": 19077 href = image.fullUrl || image.url; 19078 break; 19079 case "attachment": 19080 href = image.link; 19081 break; 19082 } 19083 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19084 "img", 19085 { 19086 src: image.url, 19087 alt: image.alt, 19088 "data-id": image.id, 19089 "data-full-url": image.fullUrl, 19090 "data-link": image.link, 19091 className: image.id ? `wp-image-$image.id}` : null 19092 } 19093 ); 19094 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19095 "li", 19096 { 19097 className: "blocks-gallery-item", 19098 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 19099 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img, 19100 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(image.caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19101 external_wp_blockEditor_namespaceObject.RichText.Content, 19102 { 19103 tagName: "figcaption", 19104 className: "blocks-gallery-item__caption", 19105 value: image.caption 19106 } 19107 ) 19108 ] }) 19109 }, 19110 image.id || image.url 19111 ); 19112 }) }), 19113 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19114 external_wp_blockEditor_namespaceObject.RichText.Content, 19115 { 19116 tagName: "figcaption", 19117 className: "blocks-gallery-caption", 19118 value: caption 19119 } 19120 ) 19121 ] 19122 } 19123 ); 19124 } 19125 }; 19126 const gallery_deprecated_v3 = { 19127 attributes: { 19128 images: { 19129 type: "array", 19130 default: [], 19131 source: "query", 19132 selector: "ul.wp-block-gallery .blocks-gallery-item", 19133 query: { 19134 url: { 19135 source: "attribute", 19136 selector: "img", 19137 attribute: "src" 19138 }, 19139 fullUrl: { 19140 source: "attribute", 19141 selector: "img", 19142 attribute: "data-full-url" 19143 }, 19144 alt: { 19145 source: "attribute", 19146 selector: "img", 19147 attribute: "alt", 19148 default: "" 19149 }, 19150 id: { 19151 source: "attribute", 19152 selector: "img", 19153 attribute: "data-id" 19154 }, 19155 link: { 19156 source: "attribute", 19157 selector: "img", 19158 attribute: "data-link" 19159 }, 19160 caption: { 19161 type: "string", 19162 source: "html", 19163 selector: "figcaption" 19164 } 19165 } 19166 }, 19167 ids: { 19168 type: "array", 19169 default: [] 19170 }, 19171 columns: { 19172 type: "number" 19173 }, 19174 imageCrop: { 19175 type: "boolean", 19176 default: true 19177 }, 19178 linkTo: { 19179 type: "string", 19180 default: "none" 19181 } 19182 }, 19183 supports: { 19184 align: true 19185 }, 19186 save({ attributes }) { 19187 const { 19188 images, 19189 columns = defaultColumnsNumberV1(attributes), 19190 imageCrop, 19191 linkTo 19192 } = attributes; 19193 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19194 "ul", 19195 { 19196 className: `columns-$columns} $imageCrop ? "is-cropped" : ""}`, 19197 children: images.map((image) => { 19198 let href; 19199 switch (linkTo) { 19200 case "media": 19201 href = image.fullUrl || image.url; 19202 break; 19203 case "attachment": 19204 href = image.link; 19205 break; 19206 } 19207 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19208 "img", 19209 { 19210 src: image.url, 19211 alt: image.alt, 19212 "data-id": image.id, 19213 "data-full-url": image.fullUrl, 19214 "data-link": image.link, 19215 className: image.id ? `wp-image-$image.id}` : null 19216 } 19217 ); 19218 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19219 "li", 19220 { 19221 className: "blocks-gallery-item", 19222 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 19223 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img, 19224 image.caption && image.caption.length > 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19225 external_wp_blockEditor_namespaceObject.RichText.Content, 19226 { 19227 tagName: "figcaption", 19228 value: image.caption 19229 } 19230 ) 19231 ] }) 19232 }, 19233 image.id || image.url 19234 ); 19235 }) 19236 } 19237 ); 19238 }, 19239 migrate(attributes) { 19240 return runV2Migration(attributes); 19241 } 19242 }; 19243 const gallery_deprecated_v2 = { 19244 attributes: { 19245 images: { 19246 type: "array", 19247 default: [], 19248 source: "query", 19249 selector: "ul.wp-block-gallery .blocks-gallery-item", 19250 query: { 19251 url: { 19252 source: "attribute", 19253 selector: "img", 19254 attribute: "src" 19255 }, 19256 alt: { 19257 source: "attribute", 19258 selector: "img", 19259 attribute: "alt", 19260 default: "" 19261 }, 19262 id: { 19263 source: "attribute", 19264 selector: "img", 19265 attribute: "data-id" 19266 }, 19267 link: { 19268 source: "attribute", 19269 selector: "img", 19270 attribute: "data-link" 19271 }, 19272 caption: { 19273 type: "string", 19274 source: "html", 19275 selector: "figcaption" 19276 } 19277 } 19278 }, 19279 columns: { 19280 type: "number" 19281 }, 19282 imageCrop: { 19283 type: "boolean", 19284 default: true 19285 }, 19286 linkTo: { 19287 type: "string", 19288 default: "none" 19289 } 19290 }, 19291 isEligible({ images, ids }) { 19292 return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || images.some((id, index) => { 19293 if (!id && ids[index] !== null) { 19294 return true; 19295 } 19296 return parseInt(id, 10) !== ids[index]; 19297 })); 19298 }, 19299 migrate(attributes) { 19300 return runV2Migration(attributes); 19301 }, 19302 supports: { 19303 align: true 19304 }, 19305 save({ attributes }) { 19306 const { 19307 images, 19308 columns = defaultColumnsNumberV1(attributes), 19309 imageCrop, 19310 linkTo 19311 } = attributes; 19312 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19313 "ul", 19314 { 19315 className: `columns-$columns} $imageCrop ? "is-cropped" : ""}`, 19316 children: images.map((image) => { 19317 let href; 19318 switch (linkTo) { 19319 case "media": 19320 href = image.url; 19321 break; 19322 case "attachment": 19323 href = image.link; 19324 break; 19325 } 19326 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19327 "img", 19328 { 19329 src: image.url, 19330 alt: image.alt, 19331 "data-id": image.id, 19332 "data-link": image.link, 19333 className: image.id ? `wp-image-$image.id}` : null 19334 } 19335 ); 19336 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19337 "li", 19338 { 19339 className: "blocks-gallery-item", 19340 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { children: [ 19341 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img, 19342 image.caption && image.caption.length > 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19343 external_wp_blockEditor_namespaceObject.RichText.Content, 19344 { 19345 tagName: "figcaption", 19346 value: image.caption 19347 } 19348 ) 19349 ] }) 19350 }, 19351 image.id || image.url 19352 ); 19353 }) 19354 } 19355 ); 19356 } 19357 }; 19358 const gallery_deprecated_v1 = { 19359 attributes: { 19360 images: { 19361 type: "array", 19362 default: [], 19363 source: "query", 19364 selector: "div.wp-block-gallery figure.blocks-gallery-image img", 19365 query: { 19366 url: { 19367 source: "attribute", 19368 attribute: "src" 19369 }, 19370 alt: { 19371 source: "attribute", 19372 attribute: "alt", 19373 default: "" 19374 }, 19375 id: { 19376 source: "attribute", 19377 attribute: "data-id" 19378 } 19379 } 19380 }, 19381 columns: { 19382 type: "number" 19383 }, 19384 imageCrop: { 19385 type: "boolean", 19386 default: true 19387 }, 19388 linkTo: { 19389 type: "string", 19390 default: "none" 19391 }, 19392 align: { 19393 type: "string", 19394 default: "none" 19395 } 19396 }, 19397 supports: { 19398 align: true 19399 }, 19400 save({ attributes }) { 19401 const { 19402 images, 19403 columns = defaultColumnsNumberV1(attributes), 19404 align, 19405 imageCrop, 19406 linkTo 19407 } = attributes; 19408 const className = dist_clsx(`columns-$columns}`, { 19409 alignnone: align === "none", 19410 "is-cropped": imageCrop 19411 }); 19412 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className, children: images.map((image) => { 19413 let href; 19414 switch (linkTo) { 19415 case "media": 19416 href = image.url; 19417 break; 19418 case "attachment": 19419 href = image.link; 19420 break; 19421 } 19422 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19423 "img", 19424 { 19425 src: image.url, 19426 alt: image.alt, 19427 "data-id": image.id 19428 } 19429 ); 19430 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19431 "figure", 19432 { 19433 className: "blocks-gallery-image", 19434 children: href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: img }) : img 19435 }, 19436 image.id || image.url 19437 ); 19438 }) }); 19439 }, 19440 migrate(attributes) { 19441 return runV2Migration(attributes); 19442 } 19443 }; 19444 var gallery_deprecated_deprecated_default = [deprecated_v7, deprecated_v6, deprecated_v5, deprecated_v4, gallery_deprecated_v3, gallery_deprecated_v2, gallery_deprecated_v1]; 19445 19446 19447 ;// ./node_modules/@wordpress/icons/build-module/library/custom-link.js 19448 19449 19450 var custom_link_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.5 14.5h-1V16h1c2.2 0 4-1.8 4-4s-1.8-4-4-4h-1v1.5h1c1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5zm-4 1.5v-1.5h-1C6.1 14.5 5 13.4 5 12s1.1-2.5 2.5-2.5h1V8h-1c-2.2 0-4 1.8-4 4s1.8 4 4 4h1zm-1-3.2h5v-1.5h-5v1.5zM18 4H9c-1.1 0-2 .9-2 2v.5h1.5V6c0-.3.2-.5.5-.5h9c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5H7v.5c0 1.1.9 2 2 2h9c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2z" }) }); 19451 19452 19453 ;// ./node_modules/@wordpress/icons/build-module/library/image.js 19454 19455 19456 var image_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" }) }); 19457 19458 19459 ;// ./node_modules/@wordpress/block-library/build-module/gallery/shared-icon.js 19460 19461 19462 19463 const sharedIcon = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: gallery_default }); 19464 19465 19466 ;// ./node_modules/@wordpress/block-library/build-module/gallery/shared.js 19467 function defaultColumnsNumber(imageCount) { 19468 return imageCount ? Math.min(3, imageCount) : 3; 19469 } 19470 const pickRelevantMediaFiles = (image, sizeSlug = "large") => { 19471 const imageProps = Object.fromEntries( 19472 Object.entries(image ?? {}).filter( 19473 ([key]) => ["alt", "id", "link"].includes(key) 19474 ) 19475 ); 19476 imageProps.url = image?.sizes?.[sizeSlug]?.url || image?.media_details?.sizes?.[sizeSlug]?.source_url || image?.url || image?.source_url; 19477 const fullUrl = image?.sizes?.full?.url || image?.media_details?.sizes?.full?.source_url; 19478 if (fullUrl) { 19479 imageProps.fullUrl = fullUrl; 19480 } 19481 return imageProps; 19482 }; 19483 19484 19485 ;// ./node_modules/@wordpress/block-library/build-module/image/constants.js 19486 const constants_MIN_SIZE = 20; 19487 const constants_LINK_DESTINATION_NONE = "none"; 19488 const constants_LINK_DESTINATION_MEDIA = "media"; 19489 const constants_LINK_DESTINATION_ATTACHMENT = "attachment"; 19490 const LINK_DESTINATION_CUSTOM = "custom"; 19491 const constants_NEW_TAB_REL = ["noreferrer", "noopener"]; 19492 const constants_ALLOWED_MEDIA_TYPES = ["image"]; 19493 const MEDIA_ID_NO_FEATURED_IMAGE_SET = 0; 19494 const SIZED_LAYOUTS = ["flex", "grid"]; 19495 const image_constants_DEFAULT_MEDIA_SIZE_SLUG = "full"; 19496 19497 19498 ;// ./node_modules/@wordpress/block-library/build-module/gallery/utils.js 19499 19500 19501 function utils_getHrefAndDestination(image, galleryDestination, imageDestination, attributes, lightboxSetting) { 19502 switch (imageDestination ? imageDestination : galleryDestination) { 19503 case LINK_DESTINATION_MEDIA_WP_CORE: 19504 case LINK_DESTINATION_MEDIA: 19505 return { 19506 href: image?.source_url || image?.url, 19507 // eslint-disable-line camelcase 19508 linkDestination: constants_LINK_DESTINATION_MEDIA, 19509 lightbox: lightboxSetting?.enabled ? { ...attributes?.lightbox, enabled: false } : void 0 19510 }; 19511 case LINK_DESTINATION_ATTACHMENT_WP_CORE: 19512 case LINK_DESTINATION_ATTACHMENT: 19513 return { 19514 href: image?.link, 19515 linkDestination: constants_LINK_DESTINATION_ATTACHMENT, 19516 lightbox: lightboxSetting?.enabled ? { ...attributes?.lightbox, enabled: false } : void 0 19517 }; 19518 case LINK_DESTINATION_LIGHTBOX: 19519 return { 19520 href: void 0, 19521 lightbox: !lightboxSetting?.enabled ? { ...attributes?.lightbox, enabled: true } : void 0, 19522 linkDestination: constants_LINK_DESTINATION_NONE 19523 }; 19524 case LINK_DESTINATION_NONE: 19525 return { 19526 href: void 0, 19527 linkDestination: constants_LINK_DESTINATION_NONE, 19528 lightbox: void 0 19529 }; 19530 } 19531 return {}; 19532 } 19533 19534 19535 ;// ./node_modules/@wordpress/block-library/build-module/image/utils.js 19536 19537 function evalAspectRatio(value) { 19538 const [width, height = 1] = value.split("/").map(Number); 19539 const aspectRatio = width / height; 19540 return aspectRatio === Infinity || aspectRatio === 0 ? NaN : aspectRatio; 19541 } 19542 function removeNewTabRel(currentRel) { 19543 let newRel = currentRel; 19544 if (currentRel !== void 0 && newRel) { 19545 constants_NEW_TAB_REL.forEach((relVal) => { 19546 const regExp = new RegExp("\\b" + relVal + "\\b", "gi"); 19547 newRel = newRel.replace(regExp, ""); 19548 }); 19549 if (newRel !== currentRel) { 19550 newRel = newRel.trim(); 19551 } 19552 if (!newRel) { 19553 newRel = void 0; 19554 } 19555 } 19556 return newRel; 19557 } 19558 function getUpdatedLinkTargetSettings(value, { rel }) { 19559 const linkTarget = value ? "_blank" : void 0; 19560 let updatedRel; 19561 if (!linkTarget && !rel) { 19562 updatedRel = void 0; 19563 } else { 19564 updatedRel = removeNewTabRel(rel); 19565 } 19566 return { 19567 linkTarget, 19568 rel: updatedRel 19569 }; 19570 } 19571 function getImageSizeAttributes(image, size) { 19572 const url = image?.media_details?.sizes?.[size]?.source_url; 19573 if (url) { 19574 return { url, width: void 0, height: void 0, sizeSlug: size }; 19575 } 19576 return {}; 19577 } 19578 function isValidFileType(file) { 19579 return constants_ALLOWED_MEDIA_TYPES.some( 19580 (mediaType) => file.type.indexOf(mediaType) === 0 19581 ); 19582 } 19583 19584 19585 ;// ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js 19586 19587 19588 19589 19590 19591 function Gallery(props) { 19592 const { 19593 attributes, 19594 isSelected, 19595 setAttributes, 19596 mediaPlaceholder, 19597 insertBlocksAfter, 19598 blockProps, 19599 __unstableLayoutClassNames: layoutClassNames, 19600 isContentLocked, 19601 multiGallerySelection 19602 } = props; 19603 const { align, columns, imageCrop } = attributes; 19604 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 19605 "figure", 19606 { 19607 ...blockProps, 19608 className: dist_clsx( 19609 blockProps.className, 19610 layoutClassNames, 19611 "blocks-gallery-grid", 19612 { 19613 [`align$align}`]: align, 19614 [`columns-$columns}`]: columns !== void 0, 19615 [`columns-default`]: columns === void 0, 19616 "is-cropped": imageCrop 19617 } 19618 ), 19619 children: [ 19620 blockProps.children, 19621 isSelected && !blockProps.children && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.View, { className: "blocks-gallery-media-placeholder-wrapper", children: mediaPlaceholder }), 19622 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 19623 Caption, 19624 { 19625 attributes, 19626 setAttributes, 19627 isSelected, 19628 insertBlocksAfter, 19629 showToolbarButton: !multiGallerySelection && !isContentLocked, 19630 className: "blocks-gallery-caption", 19631 label: (0,external_wp_i18n_namespaceObject.__)("Gallery caption text"), 19632 placeholder: (0,external_wp_i18n_namespaceObject.__)("Add gallery caption") 19633 } 19634 ) 19635 ] 19636 } 19637 ); 19638 } 19639 19640 19641 ;// ./node_modules/@wordpress/block-library/build-module/gallery/use-image-sizes.js 19642 19643 function useImageSizes(images, isSelected, getSettings) { 19644 return (0,external_wp_element_namespaceObject.useMemo)(() => getImageSizing(), [images, isSelected]); 19645 function getImageSizing() { 19646 if (!images || images.length === 0) { 19647 return; 19648 } 19649 const { imageSizes } = getSettings(); 19650 let resizedImages = {}; 19651 if (isSelected) { 19652 resizedImages = images.reduce((currentResizedImages, img) => { 19653 if (!img.id) { 19654 return currentResizedImages; 19655 } 19656 const sizes = imageSizes.reduce((currentSizes, size) => { 19657 const defaultUrl = img.sizes?.[size.slug]?.url; 19658 const mediaDetailsUrl = img.media_details?.sizes?.[size.slug]?.source_url; 19659 return { 19660 ...currentSizes, 19661 [size.slug]: defaultUrl || mediaDetailsUrl 19662 }; 19663 }, {}); 19664 return { 19665 ...currentResizedImages, 19666 [parseInt(img.id, 10)]: sizes 19667 }; 19668 }, {}); 19669 } 19670 const resizedImageSizes = Object.values(resizedImages); 19671 return imageSizes.filter( 19672 ({ slug }) => resizedImageSizes.some((sizes) => sizes[slug]) 19673 ).map(({ name, slug }) => ({ value: slug, label: name })); 19674 } 19675 } 19676 19677 19678 ;// ./node_modules/@wordpress/block-library/build-module/gallery/use-get-new-images.js 19679 19680 function useGetNewImages(images, imageData) { 19681 const [currentImages, setCurrentImages] = (0,external_wp_element_namespaceObject.useState)([]); 19682 return (0,external_wp_element_namespaceObject.useMemo)(() => getNewImages(), [images, imageData]); 19683 function getNewImages() { 19684 let imagesUpdated = false; 19685 const newCurrentImages = currentImages.filter( 19686 (currentImg) => images.find((img) => { 19687 return currentImg.clientId === img.clientId; 19688 }) 19689 ); 19690 if (newCurrentImages.length < currentImages.length) { 19691 imagesUpdated = true; 19692 } 19693 images.forEach((image) => { 19694 if (image.fromSavedContent && !newCurrentImages.find( 19695 (currentImage) => currentImage.id === image.id 19696 )) { 19697 imagesUpdated = true; 19698 newCurrentImages.push(image); 19699 } 19700 }); 19701 const newImages = images.filter( 19702 (image) => !newCurrentImages.find( 19703 (currentImage) => image.clientId && currentImage.clientId === image.clientId 19704 ) && imageData?.find((img) => img.id === image.id) && !image.fromSavedContent 19705 ); 19706 if (imagesUpdated || newImages?.length > 0) { 19707 setCurrentImages([...newCurrentImages, ...newImages]); 19708 } 19709 return newImages.length > 0 ? newImages : null; 19710 } 19711 } 19712 19713 19714 ;// ./node_modules/@wordpress/block-library/build-module/gallery/use-get-media.js 19715 19716 19717 const EMPTY_IMAGE_MEDIA = []; 19718 function useGetMedia(innerBlockImages) { 19719 return (0,external_wp_data_namespaceObject.useSelect)( 19720 (select) => { 19721 const imageIds = innerBlockImages.map((imageBlock) => imageBlock.attributes.id).filter((id) => id !== void 0); 19722 if (imageIds.length === 0) { 19723 return EMPTY_IMAGE_MEDIA; 19724 } 19725 return select(external_wp_coreData_namespaceObject.store).getEntityRecords( 19726 "postType", 19727 "attachment", 19728 { 19729 include: imageIds.join(","), 19730 per_page: -1, 19731 orderby: "include" 19732 } 19733 ) ?? EMPTY_IMAGE_MEDIA; 19734 }, 19735 [innerBlockImages] 19736 ); 19737 } 19738 19739 19740 ;// ./node_modules/@wordpress/block-library/build-module/gallery/gap-styles.js 19741 19742 function GapStyles({ blockGap, clientId }) { 19743 const fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`; 19744 let gapValue = fallbackValue; 19745 let column = fallbackValue; 19746 let row; 19747 if (!!blockGap) { 19748 row = typeof blockGap === "string" ? (0,external_wp_blockEditor_namespaceObject.__experimentalGetGapCSSValue)(blockGap) : (0,external_wp_blockEditor_namespaceObject.__experimentalGetGapCSSValue)(blockGap?.top) || fallbackValue; 19749 column = typeof blockGap === "string" ? (0,external_wp_blockEditor_namespaceObject.__experimentalGetGapCSSValue)(blockGap) : (0,external_wp_blockEditor_namespaceObject.__experimentalGetGapCSSValue)(blockGap?.left) || fallbackValue; 19750 gapValue = row === column ? row : `$row} $column}`; 19751 } 19752 const gap = `#block-$clientId} { 19753 --wp--style--unstable-gallery-gap: $column === "0" ? "0px" : column}; 19754 gap: $gapValue} 19755 }`; 19756 (0,external_wp_blockEditor_namespaceObject.useStyleOverride)({ css: gap }); 19757 return null; 19758 } 19759 19760 19761 ;// ./node_modules/@wordpress/block-library/build-module/gallery/edit.js 19762 19763 19764 19765 19766 19767 19768 19769 19770 19771 19772 19773 19774 19775 19776 19777 19778 19779 19780 19781 19782 19783 19784 19785 const MAX_COLUMNS = 8; 19786 const LINK_OPTIONS = [ 19787 { 19788 icon: custom_link_default, 19789 label: (0,external_wp_i18n_namespaceObject.__)("Link images to attachment pages"), 19790 value: LINK_DESTINATION_ATTACHMENT, 19791 noticeText: (0,external_wp_i18n_namespaceObject.__)("Attachment Pages") 19792 }, 19793 { 19794 icon: image_default, 19795 label: (0,external_wp_i18n_namespaceObject.__)("Link images to media files"), 19796 value: LINK_DESTINATION_MEDIA, 19797 noticeText: (0,external_wp_i18n_namespaceObject.__)("Media Files") 19798 }, 19799 { 19800 icon: fullscreen_default, 19801 label: (0,external_wp_i18n_namespaceObject.__)("Enlarge on click"), 19802 value: LINK_DESTINATION_LIGHTBOX, 19803 noticeText: (0,external_wp_i18n_namespaceObject.__)("Lightbox effect"), 19804 infoText: (0,external_wp_i18n_namespaceObject.__)("Scale images with a lightbox effect") 19805 }, 19806 { 19807 icon: link_off_default, 19808 label: (0,external_wp_i18n_namespaceObject._x)("None", "Media item link option"), 19809 value: LINK_DESTINATION_NONE, 19810 noticeText: (0,external_wp_i18n_namespaceObject.__)("None") 19811 } 19812 ]; 19813 const edit_ALLOWED_MEDIA_TYPES = ["image"]; 19814 const PLACEHOLDER_TEXT = external_wp_element_namespaceObject.Platform.isNative ? (0,external_wp_i18n_namespaceObject.__)("Add media") : (0,external_wp_i18n_namespaceObject.__)("Drag and drop images, upload, or choose from your library."); 19815 const MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_namespaceObject.Platform.isNative ? { type: "stepper" } : {}; 19816 const gallery_edit_DEFAULT_BLOCK = { name: "core/image" }; 19817 const EMPTY_ARRAY = []; 19818 function GalleryEdit(props) { 19819 const { 19820 setAttributes, 19821 attributes, 19822 className, 19823 clientId, 19824 isSelected, 19825 insertBlocksAfter, 19826 isContentLocked, 19827 onFocus 19828 } = props; 19829 const [lightboxSetting, defaultRatios, themeRatios, showDefaultRatios] = (0,external_wp_blockEditor_namespaceObject.useSettings)( 19830 "blocks.core/image.lightbox", 19831 "dimensions.aspectRatios.default", 19832 "dimensions.aspectRatios.theme", 19833 "dimensions.defaultAspectRatios" 19834 ); 19835 const linkOptions = !lightboxSetting?.allowEditing ? LINK_OPTIONS.filter( 19836 (option) => option.value !== LINK_DESTINATION_LIGHTBOX 19837 ) : LINK_OPTIONS; 19838 const { 19839 columns, 19840 imageCrop, 19841 randomOrder, 19842 linkTarget, 19843 linkTo, 19844 sizeSlug, 19845 aspectRatio 19846 } = attributes; 19847 const { 19848 __unstableMarkNextChangeAsNotPersistent, 19849 replaceInnerBlocks, 19850 updateBlockAttributes, 19851 selectBlock 19852 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 19853 const { createSuccessNotice, createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 19854 const { 19855 getBlock, 19856 getSettings, 19857 innerBlockImages, 19858 blockWasJustInserted, 19859 multiGallerySelection 19860 } = (0,external_wp_data_namespaceObject.useSelect)( 19861 (select) => { 19862 const { 19863 getBlockName, 19864 getMultiSelectedBlockClientIds, 19865 getSettings: _getSettings, 19866 getBlock: _getBlock, 19867 wasBlockJustInserted 19868 } = select(external_wp_blockEditor_namespaceObject.store); 19869 const multiSelectedClientIds = getMultiSelectedBlockClientIds(); 19870 return { 19871 getBlock: _getBlock, 19872 getSettings: _getSettings, 19873 innerBlockImages: _getBlock(clientId)?.innerBlocks ?? EMPTY_ARRAY, 19874 blockWasJustInserted: wasBlockJustInserted( 19875 clientId, 19876 "inserter_menu" 19877 ), 19878 multiGallerySelection: multiSelectedClientIds.length && multiSelectedClientIds.every( 19879 (_clientId) => getBlockName(_clientId) === "core/gallery" 19880 ) 19881 }; 19882 }, 19883 [clientId] 19884 ); 19885 const images = (0,external_wp_element_namespaceObject.useMemo)( 19886 () => innerBlockImages?.map((block) => ({ 19887 clientId: block.clientId, 19888 id: block.attributes.id, 19889 url: block.attributes.url, 19890 attributes: block.attributes, 19891 fromSavedContent: Boolean(block.originalContent) 19892 })), 19893 [innerBlockImages] 19894 ); 19895 const imageData = useGetMedia(innerBlockImages); 19896 const newImages = useGetNewImages(images, imageData); 19897 const themeOptions = themeRatios?.map(({ name, ratio }) => ({ 19898 label: name, 19899 value: ratio 19900 })); 19901 const defaultOptions = defaultRatios?.map(({ name, ratio }) => ({ 19902 label: name, 19903 value: ratio 19904 })); 19905 const aspectRatioOptions = [ 19906 { 19907 label: (0,external_wp_i18n_namespaceObject._x)( 19908 "Original", 19909 "Aspect ratio option for dimensions control" 19910 ), 19911 value: "auto" 19912 }, 19913 ...showDefaultRatios ? defaultOptions || [] : [], 19914 ...themeOptions || [] 19915 ]; 19916 (0,external_wp_element_namespaceObject.useEffect)(() => { 19917 newImages?.forEach((newImage) => { 19918 __unstableMarkNextChangeAsNotPersistent(); 19919 updateBlockAttributes(newImage.clientId, { 19920 ...buildImageAttributes(newImage.attributes), 19921 id: newImage.id, 19922 align: void 0 19923 }); 19924 }); 19925 }, [newImages]); 19926 const imageSizeOptions = useImageSizes( 19927 imageData, 19928 isSelected, 19929 getSettings 19930 ); 19931 function buildImageAttributes(imageAttributes) { 19932 const image = imageAttributes.id ? imageData.find(({ id }) => id === imageAttributes.id) : null; 19933 let newClassName; 19934 if (imageAttributes.className && imageAttributes.className !== "") { 19935 newClassName = imageAttributes.className; 19936 } 19937 let newLinkTarget; 19938 if (imageAttributes.linkTarget || imageAttributes.rel) { 19939 newLinkTarget = { 19940 linkTarget: imageAttributes.linkTarget, 19941 rel: imageAttributes.rel 19942 }; 19943 } else { 19944 newLinkTarget = getUpdatedLinkTargetSettings( 19945 linkTarget, 19946 attributes 19947 ); 19948 } 19949 return { 19950 ...pickRelevantMediaFiles(image, sizeSlug), 19951 ...utils_getHrefAndDestination( 19952 image, 19953 linkTo, 19954 imageAttributes?.linkDestination 19955 ), 19956 ...newLinkTarget, 19957 className: newClassName, 19958 sizeSlug, 19959 caption: imageAttributes.caption || image.caption?.raw, 19960 alt: imageAttributes.alt || image.alt_text, 19961 aspectRatio: aspectRatio === "auto" ? void 0 : aspectRatio 19962 }; 19963 } 19964 function isValidFileType(file) { 19965 const nativeFileData = external_wp_element_namespaceObject.Platform.isNative && file.id ? imageData.find(({ id }) => id === file.id) : null; 19966 const mediaTypeSelector = nativeFileData ? nativeFileData?.media_type : file.type; 19967 return edit_ALLOWED_MEDIA_TYPES.some( 19968 (mediaType) => mediaTypeSelector?.indexOf(mediaType) === 0 19969 ) || file.blob; 19970 } 19971 function updateImages(selectedImages) { 19972 const newFileUploads = Object.prototype.toString.call(selectedImages) === "[object FileList]"; 19973 const imageArray = newFileUploads ? Array.from(selectedImages).map((file) => { 19974 if (!file.url) { 19975 return { 19976 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 19977 }; 19978 } 19979 return file; 19980 }) : selectedImages; 19981 if (!imageArray.every(isValidFileType)) { 19982 createErrorNotice( 19983 (0,external_wp_i18n_namespaceObject.__)( 19984 "If uploading to a gallery all files need to be image formats" 19985 ), 19986 { id: "gallery-upload-invalid-file", type: "snackbar" } 19987 ); 19988 } 19989 const processedImages = imageArray.filter((file) => file.url || isValidFileType(file)).map((file) => { 19990 if (!file.url) { 19991 return { 19992 blob: file.blob || (0,external_wp_blob_namespaceObject.createBlobURL)(file) 19993 }; 19994 } 19995 return file; 19996 }); 19997 const newOrderMap = processedImages.reduce( 19998 (result, image, index) => (result[image.id] = index, result), 19999 {} 20000 ); 20001 const existingImageBlocks = !newFileUploads ? innerBlockImages.filter( 20002 (block) => processedImages.find( 20003 (img) => img.id === block.attributes.id 20004 ) 20005 ) : innerBlockImages; 20006 const newImageList = processedImages.filter( 20007 (img) => !existingImageBlocks.find( 20008 (existingImg) => img.id === existingImg.attributes.id 20009 ) 20010 ); 20011 const newBlocks = newImageList.map((image) => { 20012 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 20013 id: image.id, 20014 blob: image.blob, 20015 url: image.url, 20016 caption: image.caption, 20017 alt: image.alt 20018 }); 20019 }); 20020 replaceInnerBlocks( 20021 clientId, 20022 existingImageBlocks.concat(newBlocks).sort( 20023 (a, b) => newOrderMap[a.attributes.id] - newOrderMap[b.attributes.id] 20024 ) 20025 ); 20026 if (newBlocks?.length > 0) { 20027 selectBlock(newBlocks[0].clientId); 20028 } 20029 } 20030 function onUploadError(message) { 20031 createErrorNotice(message, { type: "snackbar" }); 20032 } 20033 function setLinkTo(value) { 20034 setAttributes({ linkTo: value }); 20035 const changedAttributes = {}; 20036 const blocks = []; 20037 getBlock(clientId).innerBlocks.forEach((block) => { 20038 blocks.push(block.clientId); 20039 const image = block.attributes.id ? imageData.find(({ id }) => id === block.attributes.id) : null; 20040 changedAttributes[block.clientId] = utils_getHrefAndDestination( 20041 image, 20042 value, 20043 false, 20044 block.attributes, 20045 lightboxSetting 20046 ); 20047 }); 20048 updateBlockAttributes(blocks, changedAttributes, { 20049 uniqueByBlock: true 20050 }); 20051 const linkToText = [...linkOptions].find( 20052 (linkType) => linkType.value === value 20053 ); 20054 createSuccessNotice( 20055 (0,external_wp_i18n_namespaceObject.sprintf)( 20056 /* translators: %s: image size settings */ 20057 (0,external_wp_i18n_namespaceObject.__)("All gallery image links updated to: %s"), 20058 linkToText.noticeText 20059 ), 20060 { 20061 id: "gallery-attributes-linkTo", 20062 type: "snackbar" 20063 } 20064 ); 20065 } 20066 function setColumnsNumber(value) { 20067 setAttributes({ columns: value }); 20068 } 20069 function toggleImageCrop() { 20070 setAttributes({ imageCrop: !imageCrop }); 20071 } 20072 function toggleRandomOrder() { 20073 setAttributes({ randomOrder: !randomOrder }); 20074 } 20075 function toggleOpenInNewTab(openInNewTab) { 20076 const newLinkTarget = openInNewTab ? "_blank" : void 0; 20077 setAttributes({ linkTarget: newLinkTarget }); 20078 const changedAttributes = {}; 20079 const blocks = []; 20080 getBlock(clientId).innerBlocks.forEach((block) => { 20081 blocks.push(block.clientId); 20082 changedAttributes[block.clientId] = getUpdatedLinkTargetSettings( 20083 newLinkTarget, 20084 block.attributes 20085 ); 20086 }); 20087 updateBlockAttributes(blocks, changedAttributes, { 20088 uniqueByBlock: true 20089 }); 20090 const noticeText = openInNewTab ? (0,external_wp_i18n_namespaceObject.__)("All gallery images updated to open in new tab") : (0,external_wp_i18n_namespaceObject.__)("All gallery images updated to not open in new tab"); 20091 createSuccessNotice(noticeText, { 20092 id: "gallery-attributes-openInNewTab", 20093 type: "snackbar" 20094 }); 20095 } 20096 function updateImagesSize(newSizeSlug) { 20097 setAttributes({ sizeSlug: newSizeSlug }); 20098 const changedAttributes = {}; 20099 const blocks = []; 20100 getBlock(clientId).innerBlocks.forEach((block) => { 20101 blocks.push(block.clientId); 20102 const image = block.attributes.id ? imageData.find(({ id }) => id === block.attributes.id) : null; 20103 changedAttributes[block.clientId] = getImageSizeAttributes( 20104 image, 20105 newSizeSlug 20106 ); 20107 }); 20108 updateBlockAttributes(blocks, changedAttributes, { 20109 uniqueByBlock: true 20110 }); 20111 const imageSize = imageSizeOptions.find( 20112 (size) => size.value === newSizeSlug 20113 ); 20114 createSuccessNotice( 20115 (0,external_wp_i18n_namespaceObject.sprintf)( 20116 /* translators: %s: image size settings */ 20117 (0,external_wp_i18n_namespaceObject.__)("All gallery image sizes updated to: %s"), 20118 imageSize?.label ?? newSizeSlug 20119 ), 20120 { 20121 id: "gallery-attributes-sizeSlug", 20122 type: "snackbar" 20123 } 20124 ); 20125 } 20126 function setAspectRatio(value) { 20127 setAttributes({ aspectRatio: value }); 20128 const changedAttributes = {}; 20129 const blocks = []; 20130 getBlock(clientId).innerBlocks.forEach((block) => { 20131 blocks.push(block.clientId); 20132 changedAttributes[block.clientId] = { 20133 aspectRatio: value === "auto" ? void 0 : value 20134 }; 20135 }); 20136 updateBlockAttributes(blocks, changedAttributes, true); 20137 const aspectRatioText = aspectRatioOptions.find( 20138 (option) => option.value === value 20139 ); 20140 createSuccessNotice( 20141 (0,external_wp_i18n_namespaceObject.sprintf)( 20142 /* translators: %s: aspect ratio setting */ 20143 (0,external_wp_i18n_namespaceObject.__)("All gallery images updated to aspect ratio: %s"), 20144 aspectRatioText?.label || value 20145 ), 20146 { 20147 id: "gallery-attributes-aspectRatio", 20148 type: "snackbar" 20149 } 20150 ); 20151 } 20152 (0,external_wp_element_namespaceObject.useEffect)(() => { 20153 if (!linkTo) { 20154 __unstableMarkNextChangeAsNotPersistent(); 20155 setAttributes({ 20156 linkTo: window?.wp?.media?.view?.settings?.defaultProps?.link || LINK_DESTINATION_NONE 20157 }); 20158 } 20159 }, [linkTo]); 20160 const hasImages = !!images.length; 20161 const hasImageIds = hasImages && images.some((image) => !!image.id); 20162 const imagesUploading = images.some( 20163 (img) => !external_wp_element_namespaceObject.Platform.isNative ? !img.id && img.url?.indexOf("blob:") === 0 : img.url?.indexOf("file:") === 0 20164 ); 20165 const mediaPlaceholderProps = external_wp_element_namespaceObject.Platform.select({ 20166 web: { 20167 addToGallery: false, 20168 disableMediaButtons: imagesUploading, 20169 value: {} 20170 }, 20171 native: { 20172 addToGallery: hasImageIds, 20173 isAppender: hasImages, 20174 disableMediaButtons: hasImages && !isSelected || imagesUploading, 20175 value: hasImageIds ? images : {}, 20176 autoOpenMediaUpload: !hasImages && isSelected && blockWasJustInserted, 20177 onFocus 20178 } 20179 }); 20180 const mediaPlaceholder = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20181 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 20182 { 20183 handleUpload: false, 20184 icon: sharedIcon, 20185 labels: { 20186 title: (0,external_wp_i18n_namespaceObject.__)("Gallery"), 20187 instructions: PLACEHOLDER_TEXT 20188 }, 20189 onSelect: updateImages, 20190 accept: "image/*", 20191 allowedTypes: edit_ALLOWED_MEDIA_TYPES, 20192 multiple: true, 20193 onError: onUploadError, 20194 ...mediaPlaceholderProps 20195 } 20196 ); 20197 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 20198 className: dist_clsx(className, "has-nested-images") 20199 }); 20200 const nativeInnerBlockProps = external_wp_element_namespaceObject.Platform.isNative && { 20201 marginHorizontal: 0, 20202 marginVertical: 0 20203 }; 20204 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 20205 defaultBlock: gallery_edit_DEFAULT_BLOCK, 20206 directInsert: true, 20207 orientation: "horizontal", 20208 renderAppender: false, 20209 ...nativeInnerBlockProps 20210 }); 20211 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 20212 if (!hasImages) { 20213 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.View, { ...innerBlocksProps, children: [ 20214 innerBlocksProps.children, 20215 mediaPlaceholder 20216 ] }); 20217 } 20218 const hasLinkTo = linkTo && linkTo !== "none"; 20219 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 20220 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: [ 20221 external_wp_element_namespaceObject.Platform.isWeb && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 20222 external_wp_components_namespaceObject.__experimentalToolsPanel, 20223 { 20224 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 20225 resetAll: () => { 20226 setAttributes({ 20227 columns: void 0, 20228 imageCrop: true, 20229 randomOrder: false 20230 }); 20231 setAspectRatio("auto"); 20232 if (sizeSlug !== constants_DEFAULT_MEDIA_SIZE_SLUG) { 20233 updateImagesSize(constants_DEFAULT_MEDIA_SIZE_SLUG); 20234 } 20235 if (linkTarget) { 20236 toggleOpenInNewTab(false); 20237 } 20238 }, 20239 dropdownMenuProps, 20240 children: [ 20241 images.length > 1 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20242 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20243 { 20244 isShownByDefault: true, 20245 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 20246 hasValue: () => !!columns && columns !== images.length, 20247 onDeselect: () => setColumnsNumber(void 0), 20248 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20249 external_wp_components_namespaceObject.RangeControl, 20250 { 20251 __nextHasNoMarginBottom: true, 20252 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 20253 value: columns ? columns : defaultColumnsNumber( 20254 images.length 20255 ), 20256 onChange: setColumnsNumber, 20257 min: 1, 20258 max: Math.min( 20259 MAX_COLUMNS, 20260 images.length 20261 ), 20262 required: true, 20263 __next40pxDefaultSize: true 20264 } 20265 ) 20266 } 20267 ), 20268 imageSizeOptions?.length > 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20269 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20270 { 20271 isShownByDefault: true, 20272 label: (0,external_wp_i18n_namespaceObject.__)("Resolution"), 20273 hasValue: () => sizeSlug !== constants_DEFAULT_MEDIA_SIZE_SLUG, 20274 onDeselect: () => updateImagesSize(constants_DEFAULT_MEDIA_SIZE_SLUG), 20275 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20276 external_wp_components_namespaceObject.SelectControl, 20277 { 20278 __nextHasNoMarginBottom: true, 20279 label: (0,external_wp_i18n_namespaceObject.__)("Resolution"), 20280 help: (0,external_wp_i18n_namespaceObject.__)( 20281 "Select the size of the source images." 20282 ), 20283 value: sizeSlug, 20284 options: imageSizeOptions, 20285 onChange: updateImagesSize, 20286 hideCancelButton: true, 20287 size: "__unstable-large" 20288 } 20289 ) 20290 } 20291 ), 20292 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20293 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20294 { 20295 isShownByDefault: true, 20296 label: (0,external_wp_i18n_namespaceObject.__)("Crop images to fit"), 20297 hasValue: () => !imageCrop, 20298 onDeselect: () => setAttributes({ imageCrop: true }), 20299 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20300 external_wp_components_namespaceObject.ToggleControl, 20301 { 20302 __nextHasNoMarginBottom: true, 20303 label: (0,external_wp_i18n_namespaceObject.__)("Crop images to fit"), 20304 checked: !!imageCrop, 20305 onChange: toggleImageCrop 20306 } 20307 ) 20308 } 20309 ), 20310 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20311 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20312 { 20313 isShownByDefault: true, 20314 label: (0,external_wp_i18n_namespaceObject.__)("Randomize order"), 20315 hasValue: () => !!randomOrder, 20316 onDeselect: () => setAttributes({ randomOrder: false }), 20317 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20318 external_wp_components_namespaceObject.ToggleControl, 20319 { 20320 __nextHasNoMarginBottom: true, 20321 label: (0,external_wp_i18n_namespaceObject.__)("Randomize order"), 20322 checked: !!randomOrder, 20323 onChange: toggleRandomOrder 20324 } 20325 ) 20326 } 20327 ), 20328 hasLinkTo && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20329 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20330 { 20331 isShownByDefault: true, 20332 label: (0,external_wp_i18n_namespaceObject.__)("Open images in new tab"), 20333 hasValue: () => !!linkTarget, 20334 onDeselect: () => toggleOpenInNewTab(false), 20335 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20336 external_wp_components_namespaceObject.ToggleControl, 20337 { 20338 __nextHasNoMarginBottom: true, 20339 label: (0,external_wp_i18n_namespaceObject.__)("Open images in new tab"), 20340 checked: linkTarget === "_blank", 20341 onChange: toggleOpenInNewTab 20342 } 20343 ) 20344 } 20345 ), 20346 aspectRatioOptions.length > 1 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20347 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 20348 { 20349 hasValue: () => !!aspectRatio && aspectRatio !== "auto", 20350 label: (0,external_wp_i18n_namespaceObject.__)("Aspect ratio"), 20351 onDeselect: () => setAspectRatio("auto"), 20352 isShownByDefault: true, 20353 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20354 external_wp_components_namespaceObject.SelectControl, 20355 { 20356 __next40pxDefaultSize: true, 20357 __nextHasNoMarginBottom: true, 20358 label: (0,external_wp_i18n_namespaceObject.__)("Aspect ratio"), 20359 help: (0,external_wp_i18n_namespaceObject.__)( 20360 "Set a consistent aspect ratio for all images in the gallery." 20361 ), 20362 value: aspectRatio, 20363 options: aspectRatioOptions, 20364 onChange: setAspectRatio 20365 } 20366 ) 20367 } 20368 ) 20369 ] 20370 } 20371 ), 20372 external_wp_element_namespaceObject.Platform.isNative && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)("Settings"), children: [ 20373 images.length > 1 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20374 external_wp_components_namespaceObject.RangeControl, 20375 { 20376 __nextHasNoMarginBottom: true, 20377 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 20378 value: columns ? columns : defaultColumnsNumber(images.length), 20379 onChange: setColumnsNumber, 20380 min: 1, 20381 max: Math.min(MAX_COLUMNS, images.length), 20382 ...MOBILE_CONTROL_PROPS_RANGE_CONTROL, 20383 required: true, 20384 __next40pxDefaultSize: true 20385 } 20386 ), 20387 imageSizeOptions?.length > 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20388 external_wp_components_namespaceObject.SelectControl, 20389 { 20390 __nextHasNoMarginBottom: true, 20391 label: (0,external_wp_i18n_namespaceObject.__)("Resolution"), 20392 help: (0,external_wp_i18n_namespaceObject.__)( 20393 "Select the size of the source images." 20394 ), 20395 value: sizeSlug, 20396 options: imageSizeOptions, 20397 onChange: updateImagesSize, 20398 hideCancelButton: true, 20399 size: "__unstable-large" 20400 } 20401 ), 20402 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20403 external_wp_components_namespaceObject.SelectControl, 20404 { 20405 __nextHasNoMarginBottom: true, 20406 label: (0,external_wp_i18n_namespaceObject.__)("Link"), 20407 value: linkTo, 20408 onChange: setLinkTo, 20409 options: linkOptions, 20410 hideCancelButton: true, 20411 size: "__unstable-large" 20412 } 20413 ), 20414 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20415 external_wp_components_namespaceObject.ToggleControl, 20416 { 20417 __nextHasNoMarginBottom: true, 20418 label: (0,external_wp_i18n_namespaceObject.__)("Crop images to fit"), 20419 checked: !!imageCrop, 20420 onChange: toggleImageCrop 20421 } 20422 ), 20423 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20424 external_wp_components_namespaceObject.ToggleControl, 20425 { 20426 __nextHasNoMarginBottom: true, 20427 label: (0,external_wp_i18n_namespaceObject.__)("Randomize order"), 20428 checked: !!randomOrder, 20429 onChange: toggleRandomOrder 20430 } 20431 ), 20432 hasLinkTo && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20433 external_wp_components_namespaceObject.ToggleControl, 20434 { 20435 __nextHasNoMarginBottom: true, 20436 label: (0,external_wp_i18n_namespaceObject.__)("Open images in new tab"), 20437 checked: linkTarget === "_blank", 20438 onChange: toggleOpenInNewTab 20439 } 20440 ), 20441 aspectRatioOptions.length > 1 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20442 external_wp_components_namespaceObject.SelectControl, 20443 { 20444 __nextHasNoMarginBottom: true, 20445 label: (0,external_wp_i18n_namespaceObject.__)("Aspect Ratio"), 20446 help: (0,external_wp_i18n_namespaceObject.__)( 20447 "Set a consistent aspect ratio for all images in the gallery." 20448 ), 20449 value: aspectRatio, 20450 options: aspectRatioOptions, 20451 onChange: setAspectRatio, 20452 hideCancelButton: true, 20453 size: "__unstable-large" 20454 } 20455 ) 20456 ] }) 20457 ] }), 20458 external_wp_element_namespaceObject.Platform.isWeb ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20459 external_wp_components_namespaceObject.ToolbarDropdownMenu, 20460 { 20461 icon: link_default, 20462 label: (0,external_wp_i18n_namespaceObject.__)("Link"), 20463 children: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { children: linkOptions.map((linkItem) => { 20464 const isOptionSelected = linkTo === linkItem.value; 20465 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20466 external_wp_components_namespaceObject.MenuItem, 20467 { 20468 isSelected: isOptionSelected, 20469 className: dist_clsx( 20470 "components-dropdown-menu__menu-item", 20471 { 20472 "is-active": isOptionSelected 20473 } 20474 ), 20475 iconPosition: "left", 20476 icon: linkItem.icon, 20477 onClick: () => { 20478 setLinkTo(linkItem.value); 20479 onClose(); 20480 }, 20481 role: "menuitemradio", 20482 info: linkItem.infoText, 20483 children: linkItem.label 20484 }, 20485 linkItem.value 20486 ); 20487 }) }) 20488 } 20489 ) }) : null, 20490 external_wp_element_namespaceObject.Platform.isWeb && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 20491 !multiGallerySelection && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20492 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 20493 { 20494 allowedTypes: edit_ALLOWED_MEDIA_TYPES, 20495 accept: "image/*", 20496 handleUpload: false, 20497 onSelect: updateImages, 20498 name: (0,external_wp_i18n_namespaceObject.__)("Add"), 20499 multiple: true, 20500 mediaIds: images.filter((image) => image.id).map((image) => image.id), 20501 addToGallery: hasImageIds 20502 } 20503 ) }), 20504 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20505 GapStyles, 20506 { 20507 blockGap: attributes.style?.spacing?.blockGap, 20508 clientId 20509 } 20510 ) 20511 ] }), 20512 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20513 Gallery, 20514 { 20515 ...props, 20516 isContentLocked, 20517 images, 20518 mediaPlaceholder: !hasImages || external_wp_element_namespaceObject.Platform.isNative ? mediaPlaceholder : void 0, 20519 blockProps: innerBlocksProps, 20520 insertBlocksAfter, 20521 multiGallerySelection 20522 } 20523 ) 20524 ] }); 20525 } 20526 20527 20528 ;// ./node_modules/@wordpress/block-library/build-module/gallery/block.json 20529 const gallery_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/gallery","title":"Gallery","category":"media","allowedBlocks":["core/image"],"description":"Display multiple images in a rich gallery.","keywords":["images","photos"],"textdomain":"default","attributes":{"images":{"type":"array","default":[],"source":"query","selector":".blocks-gallery-item","query":{"url":{"type":"string","source":"attribute","selector":"img","attribute":"src"},"fullUrl":{"type":"string","source":"attribute","selector":"img","attribute":"data-full-url"},"link":{"type":"string","source":"attribute","selector":"img","attribute":"data-link"},"alt":{"type":"string","source":"attribute","selector":"img","attribute":"alt","default":""},"id":{"type":"string","source":"attribute","selector":"img","attribute":"data-id"},"caption":{"type":"rich-text","source":"rich-text","selector":".blocks-gallery-item__caption"}}},"ids":{"type":"array","items":{"type":"number"},"default":[]},"shortCodeTransforms":{"type":"array","items":{"type":"object"},"default":[]},"columns":{"type":"number","minimum":1,"maximum":8},"caption":{"type":"rich-text","source":"rich-text","selector":".blocks-gallery-caption","role":"content"},"imageCrop":{"type":"boolean","default":true},"randomOrder":{"type":"boolean","default":false},"fixedHeight":{"type":"boolean","default":true},"linkTarget":{"type":"string"},"linkTo":{"type":"string"},"sizeSlug":{"type":"string","default":"large"},"allowResize":{"type":"boolean","default":false},"aspectRatio":{"type":"string","default":"auto"}},"providesContext":{"allowResize":"allowResize","imageCrop":"imageCrop","fixedHeight":"fixedHeight"},"supports":{"anchor":true,"align":true,"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"color":true,"radius":true}},"html":false,"units":["px","em","rem","vh","vw"],"spacing":{"margin":true,"padding":true,"blockGap":["horizontal","vertical"],"__experimentalSkipSerialization":["blockGap"],"__experimentalDefaultControls":{"blockGap":true,"margin":false,"padding":false}},"color":{"text":false,"background":true,"gradients":true},"layout":{"allowSwitching":false,"allowInheriting":false,"allowEditing":false,"default":{"type":"flex"}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-gallery-editor","style":"wp-block-gallery"}'); 20530 ;// ./node_modules/@wordpress/block-library/build-module/gallery/save.js 20531 20532 20533 20534 function saveWithInnerBlocks({ attributes }) { 20535 const { caption, columns, imageCrop } = attributes; 20536 const className = dist_clsx("has-nested-images", { 20537 [`columns-$columns}`]: columns !== void 0, 20538 [`columns-default`]: columns === void 0, 20539 "is-cropped": imageCrop 20540 }); 20541 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }); 20542 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 20543 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...innerBlocksProps, children: [ 20544 innerBlocksProps.children, 20545 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 20546 external_wp_blockEditor_namespaceObject.RichText.Content, 20547 { 20548 tagName: "figcaption", 20549 className: dist_clsx( 20550 "blocks-gallery-caption", 20551 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption") 20552 ), 20553 value: caption 20554 } 20555 ) 20556 ] }); 20557 } 20558 20559 20560 ;// ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js 20561 20562 20563 20564 20565 const parseShortcodeIds = (ids) => { 20566 if (!ids) { 20567 return []; 20568 } 20569 return ids.split(",").map((id) => parseInt(id, 10)); 20570 }; 20571 function updateThirdPartyTransformToGallery(block) { 20572 if (block.name === "core/gallery" && block.attributes?.images.length > 0) { 20573 const innerBlocks = block.attributes.images.map( 20574 ({ url, id, alt }) => { 20575 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 20576 url, 20577 id: id ? parseInt(id, 10) : null, 20578 alt, 20579 sizeSlug: block.attributes.sizeSlug, 20580 linkDestination: block.attributes.linkDestination 20581 }); 20582 } 20583 ); 20584 delete block.attributes.ids; 20585 delete block.attributes.images; 20586 block.innerBlocks = innerBlocks; 20587 } 20588 return block; 20589 } 20590 (0,external_wp_hooks_namespaceObject.addFilter)( 20591 "blocks.switchToBlockType.transformedBlock", 20592 "core/gallery/update-third-party-transform-to", 20593 updateThirdPartyTransformToGallery 20594 ); 20595 function updateThirdPartyTransformFromGallery(toBlock, fromBlocks) { 20596 const from = Array.isArray(fromBlocks) ? fromBlocks : [fromBlocks]; 20597 const galleryBlock = from.find( 20598 (transformedBlock) => transformedBlock.name === "core/gallery" && transformedBlock.innerBlocks.length > 0 && !transformedBlock.attributes.images?.length > 0 && !toBlock.name.includes("core/") 20599 ); 20600 if (galleryBlock) { 20601 const images = galleryBlock.innerBlocks.map( 20602 ({ attributes: { url, id, alt } }) => ({ 20603 url, 20604 id: id ? parseInt(id, 10) : null, 20605 alt 20606 }) 20607 ); 20608 const ids = images.map(({ id }) => id); 20609 galleryBlock.attributes.images = images; 20610 galleryBlock.attributes.ids = ids; 20611 } 20612 return toBlock; 20613 } 20614 (0,external_wp_hooks_namespaceObject.addFilter)( 20615 "blocks.switchToBlockType.transformedBlock", 20616 "core/gallery/update-third-party-transform-from", 20617 updateThirdPartyTransformFromGallery 20618 ); 20619 const gallery_transforms_transforms = { 20620 from: [ 20621 { 20622 type: "block", 20623 isMultiBlock: true, 20624 blocks: ["core/image"], 20625 transform: (attributes) => { 20626 let { align, sizeSlug } = attributes[0]; 20627 align = attributes.every( 20628 (attribute) => attribute.align === align 20629 ) ? align : void 0; 20630 sizeSlug = attributes.every( 20631 (attribute) => attribute.sizeSlug === sizeSlug 20632 ) ? sizeSlug : void 0; 20633 const validImages = attributes.filter(({ url }) => url); 20634 const innerBlocks = validImages.map((image) => { 20635 image.width = void 0; 20636 image.height = void 0; 20637 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", image); 20638 }); 20639 return (0,external_wp_blocks_namespaceObject.createBlock)( 20640 "core/gallery", 20641 { 20642 align, 20643 sizeSlug 20644 }, 20645 innerBlocks 20646 ); 20647 } 20648 }, 20649 { 20650 type: "shortcode", 20651 tag: "gallery", 20652 transform({ named: { ids, columns = 3, link, orderby } }) { 20653 const imageIds = parseShortcodeIds(ids).map( 20654 (id) => parseInt(id, 10) 20655 ); 20656 let linkTo = LINK_DESTINATION_NONE; 20657 if (link === "post") { 20658 linkTo = LINK_DESTINATION_ATTACHMENT; 20659 } else if (link === "file") { 20660 linkTo = LINK_DESTINATION_MEDIA; 20661 } 20662 const galleryBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 20663 "core/gallery", 20664 { 20665 columns: parseInt(columns, 10), 20666 linkTo, 20667 randomOrder: orderby === "rand" 20668 }, 20669 imageIds.map( 20670 (imageId) => (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { id: imageId }) 20671 ) 20672 ); 20673 return galleryBlock; 20674 }, 20675 isMatch({ named }) { 20676 return void 0 !== named.ids; 20677 } 20678 }, 20679 { 20680 // When created by drag and dropping multiple files on an insertion point. Because multiple 20681 // files must not be transformed to a gallery when dropped within a gallery there is another transform 20682 // within the image block to handle that case. Therefore this transform has to have priority 1 20683 // set so that it overrides the image block transformation when multiple images are dropped outside 20684 // of a gallery block. 20685 type: "files", 20686 priority: 1, 20687 isMatch(files) { 20688 return files.length !== 1 && files.every( 20689 (file) => file.type.indexOf("image/") === 0 20690 ); 20691 }, 20692 transform(files) { 20693 const innerBlocks = files.map( 20694 (file) => (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 20695 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 20696 }) 20697 ); 20698 return (0,external_wp_blocks_namespaceObject.createBlock)("core/gallery", {}, innerBlocks); 20699 } 20700 } 20701 ], 20702 to: [ 20703 { 20704 type: "block", 20705 blocks: ["core/image"], 20706 transform: ({ align }, innerBlocks) => { 20707 if (innerBlocks.length > 0) { 20708 return innerBlocks.map( 20709 ({ 20710 attributes: { 20711 url, 20712 alt, 20713 caption, 20714 title, 20715 href, 20716 rel, 20717 linkClass, 20718 id, 20719 sizeSlug: imageSizeSlug, 20720 linkDestination, 20721 linkTarget, 20722 anchor, 20723 className 20724 } 20725 }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 20726 align, 20727 url, 20728 alt, 20729 caption, 20730 title, 20731 href, 20732 rel, 20733 linkClass, 20734 id, 20735 sizeSlug: imageSizeSlug, 20736 linkDestination, 20737 linkTarget, 20738 anchor, 20739 className 20740 }) 20741 ); 20742 } 20743 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { align }); 20744 } 20745 } 20746 ] 20747 }; 20748 var gallery_transforms_transforms_default = gallery_transforms_transforms; 20749 20750 20751 ;// ./node_modules/@wordpress/block-library/build-module/gallery/index.js 20752 20753 20754 20755 20756 20757 20758 20759 const { name: gallery_name } = gallery_block_namespaceObject; 20760 const gallery_settings = { 20761 icon: gallery_default, 20762 example: { 20763 attributes: { 20764 columns: 2 20765 }, 20766 innerBlocks: [ 20767 { 20768 name: "core/image", 20769 attributes: { 20770 url: "https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg" 20771 } 20772 }, 20773 { 20774 name: "core/image", 20775 attributes: { 20776 url: "https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg" 20777 } 20778 } 20779 ] 20780 }, 20781 transforms: gallery_transforms_transforms_default, 20782 edit: GalleryEdit, 20783 save: saveWithInnerBlocks, 20784 deprecated: gallery_deprecated_deprecated_default 20785 }; 20786 const gallery_init = () => initBlock({ name: gallery_name, metadata: gallery_block_namespaceObject, settings: gallery_settings }); 20787 20788 20789 ;// ./node_modules/@wordpress/block-library/build-module/group/deprecated.js 20790 20791 20792 20793 const migrateAttributes = (attributes) => { 20794 if (!attributes.tagName) { 20795 attributes = { 20796 ...attributes, 20797 tagName: "div" 20798 }; 20799 } 20800 if (!attributes.customTextColor && !attributes.customBackgroundColor) { 20801 return attributes; 20802 } 20803 const style = { color: {} }; 20804 if (attributes.customTextColor) { 20805 style.color.text = attributes.customTextColor; 20806 } 20807 if (attributes.customBackgroundColor) { 20808 style.color.background = attributes.customBackgroundColor; 20809 } 20810 const { customTextColor, customBackgroundColor, ...restAttributes } = attributes; 20811 return { 20812 ...restAttributes, 20813 style 20814 }; 20815 }; 20816 const group_deprecated_deprecated = [ 20817 // Version with default layout. 20818 { 20819 attributes: { 20820 tagName: { 20821 type: "string", 20822 default: "div" 20823 }, 20824 templateLock: { 20825 type: ["string", "boolean"], 20826 enum: ["all", "insert", false] 20827 } 20828 }, 20829 supports: { 20830 __experimentalOnEnter: true, 20831 __experimentalSettings: true, 20832 align: ["wide", "full"], 20833 anchor: true, 20834 ariaLabel: true, 20835 html: false, 20836 color: { 20837 gradients: true, 20838 link: true, 20839 __experimentalDefaultControls: { 20840 background: true, 20841 text: true 20842 } 20843 }, 20844 spacing: { 20845 margin: ["top", "bottom"], 20846 padding: true, 20847 blockGap: true, 20848 __experimentalDefaultControls: { 20849 padding: true, 20850 blockGap: true 20851 } 20852 }, 20853 __experimentalBorder: { 20854 color: true, 20855 radius: true, 20856 style: true, 20857 width: true, 20858 __experimentalDefaultControls: { 20859 color: true, 20860 radius: true, 20861 style: true, 20862 width: true 20863 } 20864 }, 20865 typography: { 20866 fontSize: true, 20867 lineHeight: true, 20868 __experimentalFontStyle: true, 20869 __experimentalFontWeight: true, 20870 __experimentalLetterSpacing: true, 20871 __experimentalTextTransform: true, 20872 __experimentalDefaultControls: { 20873 fontSize: true 20874 } 20875 }, 20876 layout: true 20877 }, 20878 save({ attributes: { tagName: Tag } }) { 20879 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(external_wp_blockEditor_namespaceObject.useBlockProps.save()) }); 20880 }, 20881 isEligible: ({ layout }) => layout?.inherit || layout?.contentSize && layout?.type !== "constrained", 20882 migrate: (attributes) => { 20883 const { layout = null } = attributes; 20884 if (layout?.inherit || layout?.contentSize) { 20885 return { 20886 ...attributes, 20887 layout: { 20888 ...layout, 20889 type: "constrained" 20890 } 20891 }; 20892 } 20893 } 20894 }, 20895 // Version of the block with the double div. 20896 { 20897 attributes: { 20898 tagName: { 20899 type: "string", 20900 default: "div" 20901 }, 20902 templateLock: { 20903 type: ["string", "boolean"], 20904 enum: ["all", "insert", false] 20905 } 20906 }, 20907 supports: { 20908 align: ["wide", "full"], 20909 anchor: true, 20910 color: { 20911 gradients: true, 20912 link: true 20913 }, 20914 spacing: { 20915 padding: true 20916 }, 20917 __experimentalBorder: { 20918 radius: true 20919 } 20920 }, 20921 save({ attributes }) { 20922 const { tagName: Tag } = attributes; 20923 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) }); 20924 } 20925 }, 20926 // Version of the block without global styles support 20927 { 20928 attributes: { 20929 backgroundColor: { 20930 type: "string" 20931 }, 20932 customBackgroundColor: { 20933 type: "string" 20934 }, 20935 textColor: { 20936 type: "string" 20937 }, 20938 customTextColor: { 20939 type: "string" 20940 } 20941 }, 20942 supports: { 20943 align: ["wide", "full"], 20944 anchor: true, 20945 html: false 20946 }, 20947 migrate: migrateAttributes, 20948 save({ attributes }) { 20949 const { 20950 backgroundColor, 20951 customBackgroundColor, 20952 textColor, 20953 customTextColor 20954 } = attributes; 20955 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 20956 "background-color", 20957 backgroundColor 20958 ); 20959 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 20960 const className = dist_clsx(backgroundClass, textClass, { 20961 "has-text-color": textColor || customTextColor, 20962 "has-background": backgroundColor || customBackgroundColor 20963 }); 20964 const styles = { 20965 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 20966 color: textClass ? void 0 : customTextColor 20967 }; 20968 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) }); 20969 } 20970 }, 20971 // Version of the group block with a bug that made text color class not applied. 20972 { 20973 attributes: { 20974 backgroundColor: { 20975 type: "string" 20976 }, 20977 customBackgroundColor: { 20978 type: "string" 20979 }, 20980 textColor: { 20981 type: "string" 20982 }, 20983 customTextColor: { 20984 type: "string" 20985 } 20986 }, 20987 migrate: migrateAttributes, 20988 supports: { 20989 align: ["wide", "full"], 20990 anchor: true, 20991 html: false 20992 }, 20993 save({ attributes }) { 20994 const { 20995 backgroundColor, 20996 customBackgroundColor, 20997 textColor, 20998 customTextColor 20999 } = attributes; 21000 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 21001 "background-color", 21002 backgroundColor 21003 ); 21004 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 21005 const className = dist_clsx(backgroundClass, { 21006 "has-text-color": textColor || customTextColor, 21007 "has-background": backgroundColor || customBackgroundColor 21008 }); 21009 const styles = { 21010 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 21011 color: textClass ? void 0 : customTextColor 21012 }; 21013 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-group__inner-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) }); 21014 } 21015 }, 21016 // v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`. 21017 { 21018 attributes: { 21019 backgroundColor: { 21020 type: "string" 21021 }, 21022 customBackgroundColor: { 21023 type: "string" 21024 } 21025 }, 21026 supports: { 21027 align: ["wide", "full"], 21028 anchor: true, 21029 html: false 21030 }, 21031 migrate: migrateAttributes, 21032 save({ attributes }) { 21033 const { backgroundColor, customBackgroundColor } = attributes; 21034 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 21035 "background-color", 21036 backgroundColor 21037 ); 21038 const className = dist_clsx(backgroundClass, { 21039 "has-background": backgroundColor || customBackgroundColor 21040 }); 21041 const styles = { 21042 backgroundColor: backgroundClass ? void 0 : customBackgroundColor 21043 }; 21044 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className, style: styles, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 21045 } 21046 } 21047 ]; 21048 var group_deprecated_deprecated_default = group_deprecated_deprecated; 21049 21050 21051 ;// ./node_modules/@wordpress/block-library/build-module/group/placeholder.js 21052 21053 21054 21055 21056 21057 21058 21059 const getGroupPlaceholderIcons = (name = "group") => { 21060 const icons = { 21061 group: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21062 external_wp_components_namespaceObject.SVG, 21063 { 21064 xmlns: "http://www.w3.org/2000/svg", 21065 width: "48", 21066 height: "48", 21067 viewBox: "0 0 48 48", 21068 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Z" }) 21069 } 21070 ), 21071 "group-row": /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21072 external_wp_components_namespaceObject.SVG, 21073 { 21074 xmlns: "http://www.w3.org/2000/svg", 21075 width: "48", 21076 height: "48", 21077 viewBox: "0 0 48 48", 21078 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10Z" }) 21079 } 21080 ), 21081 "group-stack": /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21082 external_wp_components_namespaceObject.SVG, 21083 { 21084 xmlns: "http://www.w3.org/2000/svg", 21085 width: "48", 21086 height: "48", 21087 viewBox: "0 0 48 48", 21088 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm0 17a2 2 0 0 1 2-2h44a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V27Z" }) 21089 } 21090 ), 21091 "group-grid": /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21092 external_wp_components_namespaceObject.SVG, 21093 { 21094 xmlns: "http://www.w3.org/2000/svg", 21095 width: "48", 21096 height: "48", 21097 viewBox: "0 0 48 48", 21098 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M0 10a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V10Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V10ZM0 27a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V27Zm25 0a2 2 0 0 1 2-2h19a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H27a2 2 0 0 1-2-2V27Z" }) 21099 } 21100 ) 21101 }; 21102 return icons?.[name]; 21103 }; 21104 function useShouldShowPlaceHolder({ 21105 attributes = { 21106 style: void 0, 21107 backgroundColor: void 0, 21108 textColor: void 0, 21109 fontSize: void 0 21110 }, 21111 usedLayoutType = "", 21112 hasInnerBlocks = false 21113 }) { 21114 const { style, backgroundColor, textColor, fontSize } = attributes; 21115 const [showPlaceholder, setShowPlaceholder] = (0,external_wp_element_namespaceObject.useState)( 21116 !hasInnerBlocks && !backgroundColor && !fontSize && !textColor && !style && usedLayoutType !== "flex" && usedLayoutType !== "grid" 21117 ); 21118 (0,external_wp_element_namespaceObject.useEffect)(() => { 21119 if (!!hasInnerBlocks || !!backgroundColor || !!fontSize || !!textColor || !!style || usedLayoutType === "flex") { 21120 setShowPlaceholder(false); 21121 } 21122 }, [ 21123 backgroundColor, 21124 fontSize, 21125 textColor, 21126 style, 21127 usedLayoutType, 21128 hasInnerBlocks 21129 ]); 21130 return [showPlaceholder, setShowPlaceholder]; 21131 } 21132 function GroupPlaceHolder({ name, onSelect }) { 21133 const variations = (0,external_wp_data_namespaceObject.useSelect)( 21134 (select) => select(external_wp_blocks_namespaceObject.store).getBlockVariations(name, "block"), 21135 [name] 21136 ); 21137 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 21138 className: "wp-block-group__placeholder" 21139 }); 21140 (0,external_wp_element_namespaceObject.useEffect)(() => { 21141 if (variations && variations.length === 1) { 21142 onSelect(variations[0]); 21143 } 21144 }, [onSelect, variations]); 21145 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21146 external_wp_components_namespaceObject.Placeholder, 21147 { 21148 instructions: (0,external_wp_i18n_namespaceObject.__)("Group blocks together. Select a layout:"), 21149 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21150 "ul", 21151 { 21152 role: "list", 21153 className: "wp-block-group-placeholder__variations", 21154 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Block variations"), 21155 children: variations.map((variation) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21156 external_wp_components_namespaceObject.Button, 21157 { 21158 __next40pxDefaultSize: true, 21159 variant: "tertiary", 21160 icon: getGroupPlaceholderIcons( 21161 variation.name 21162 ), 21163 iconSize: 48, 21164 onClick: () => onSelect(variation), 21165 className: "wp-block-group-placeholder__variation-button", 21166 label: `$variation.title}: $variation.description}` 21167 } 21168 ) }, variation.name)) 21169 } 21170 ) 21171 } 21172 ) }); 21173 } 21174 var placeholder_default = GroupPlaceHolder; 21175 21176 21177 ;// ./node_modules/@wordpress/block-library/build-module/group/edit.js 21178 21179 21180 21181 21182 21183 21184 21185 21186 const { HTMLElementControl: edit_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 21187 function GroupEditControls({ tagName, onSelectTagName, clientId }) { 21188 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21189 edit_HTMLElementControl, 21190 { 21191 tagName, 21192 onChange: onSelectTagName, 21193 clientId, 21194 options: [ 21195 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 21196 { label: "<header>", value: "header" }, 21197 { label: "<main>", value: "main" }, 21198 { label: "<section>", value: "section" }, 21199 { label: "<article>", value: "article" }, 21200 { label: "<aside>", value: "aside" }, 21201 { label: "<footer>", value: "footer" } 21202 ] 21203 } 21204 ) }); 21205 } 21206 function GroupEdit({ attributes, name, setAttributes, clientId }) { 21207 const { hasInnerBlocks, themeSupportsLayout } = (0,external_wp_data_namespaceObject.useSelect)( 21208 (select) => { 21209 const { getBlock, getSettings } = select(external_wp_blockEditor_namespaceObject.store); 21210 const block = getBlock(clientId); 21211 return { 21212 hasInnerBlocks: !!(block && block.innerBlocks.length), 21213 themeSupportsLayout: getSettings()?.supportsLayout 21214 }; 21215 }, 21216 [clientId] 21217 ); 21218 const { 21219 tagName: TagName = "div", 21220 templateLock, 21221 allowedBlocks, 21222 layout = {} 21223 } = attributes; 21224 const { type = "default" } = layout; 21225 const layoutSupportEnabled = themeSupportsLayout || type === "flex" || type === "grid"; 21226 const ref = (0,external_wp_element_namespaceObject.useRef)(); 21227 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ ref }); 21228 const [showPlaceholder, setShowPlaceholder] = useShouldShowPlaceHolder({ 21229 attributes, 21230 usedLayoutType: type, 21231 hasInnerBlocks 21232 }); 21233 let renderAppender; 21234 if (showPlaceholder) { 21235 renderAppender = false; 21236 } else if (!hasInnerBlocks) { 21237 renderAppender = external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender; 21238 } 21239 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 21240 layoutSupportEnabled ? blockProps : { className: "wp-block-group__inner-container" }, 21241 { 21242 dropZoneElement: ref.current, 21243 templateLock, 21244 allowedBlocks, 21245 renderAppender 21246 } 21247 ); 21248 const { selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 21249 const selectVariation = (nextVariation) => { 21250 setAttributes(nextVariation.attributes); 21251 selectBlock(clientId, -1); 21252 setShowPlaceholder(false); 21253 }; 21254 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 21255 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21256 GroupEditControls, 21257 { 21258 tagName: TagName, 21259 onSelectTagName: (value) => setAttributes({ tagName: value }), 21260 clientId 21261 } 21262 ), 21263 showPlaceholder && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.View, { children: [ 21264 innerBlocksProps.children, 21265 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21266 placeholder_default, 21267 { 21268 name, 21269 onSelect: selectVariation 21270 } 21271 ) 21272 ] }), 21273 layoutSupportEnabled && !showPlaceholder && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps }), 21274 !layoutSupportEnabled && !showPlaceholder && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) }) 21275 ] }); 21276 } 21277 var group_edit_edit_default = GroupEdit; 21278 21279 21280 ;// ./node_modules/@wordpress/block-library/build-module/group/block.json 21281 const group_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/group","title":"Group","category":"design","description":"Gather blocks in a layout container.","keywords":["container","wrapper","row","section"],"textdomain":"default","attributes":{"tagName":{"type":"string","default":"div"},"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false]}},"supports":{"__experimentalOnEnter":true,"__experimentalOnMerge":true,"__experimentalSettings":true,"align":["wide","full"],"anchor":true,"ariaLabel":true,"html":false,"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"color":{"gradients":true,"heading":true,"button":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"shadow":true,"spacing":{"margin":["top","bottom"],"padding":true,"blockGap":true,"__experimentalDefaultControls":{"padding":true,"blockGap":true}},"dimensions":{"minHeight":true},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"position":{"sticky":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"layout":{"allowSizingOnChildren":true},"interactivity":{"clientNavigation":true},"allowedBlocks":true},"editorStyle":"wp-block-group-editor","style":"wp-block-group"}'); 21282 ;// ./node_modules/@wordpress/block-library/build-module/group/save.js 21283 21284 21285 function group_save_save({ attributes: { tagName: Tag } }) { 21286 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(external_wp_blockEditor_namespaceObject.useBlockProps.save()) }); 21287 } 21288 21289 21290 ;// ./node_modules/@wordpress/block-library/build-module/group/transforms.js 21291 21292 const group_transforms_transforms = { 21293 from: [ 21294 { 21295 type: "block", 21296 isMultiBlock: true, 21297 blocks: ["*"], 21298 __experimentalConvert(blocks) { 21299 const alignments = ["wide", "full"]; 21300 const widestAlignment = blocks.reduce( 21301 (accumulator, block) => { 21302 const { align } = block.attributes; 21303 return alignments.indexOf(align) > alignments.indexOf(accumulator) ? align : accumulator; 21304 }, 21305 void 0 21306 ); 21307 const groupInnerBlocks = blocks.map((block) => { 21308 return (0,external_wp_blocks_namespaceObject.createBlock)( 21309 block.name, 21310 block.attributes, 21311 block.innerBlocks 21312 ); 21313 }); 21314 return (0,external_wp_blocks_namespaceObject.createBlock)( 21315 "core/group", 21316 { 21317 align: widestAlignment, 21318 layout: { type: "constrained" } 21319 }, 21320 groupInnerBlocks 21321 ); 21322 } 21323 } 21324 ] 21325 }; 21326 var group_transforms_transforms_default = group_transforms_transforms; 21327 21328 21329 ;// ./node_modules/@wordpress/icons/build-module/library/row.js 21330 21331 21332 var row_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 6.5h5a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4V16h5a.5.5 0 0 0 .5-.5v-7A.5.5 0 0 0 9 8H4V6.5Zm16 0h-5a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h5V16h-5a.5.5 0 0 1-.5-.5v-7A.5.5 0 0 1 15 8h5V6.5Z" }) }); 21333 21334 21335 ;// ./node_modules/@wordpress/icons/build-module/library/stack.js 21336 21337 21338 var stack_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.5 4v5a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2V4H8v5a.5.5 0 0 0 .5.5h7A.5.5 0 0 0 16 9V4h1.5Zm0 16v-5a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v5H8v-5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v5h1.5Z" }) }); 21339 21340 21341 ;// ./node_modules/@wordpress/icons/build-module/library/grid.js 21342 21343 21344 var grid_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21345 external_wp_primitives_namespaceObject.Path, 21346 { 21347 d: "m3 5c0-1.10457.89543-2 2-2h13.5c1.1046 0 2 .89543 2 2v13.5c0 1.1046-.8954 2-2 2h-13.5c-1.10457 0-2-.8954-2-2zm2-.5h6v6.5h-6.5v-6c0-.27614.22386-.5.5-.5zm-.5 8v6c0 .2761.22386.5.5.5h6v-6.5zm8 0v6.5h6c.2761 0 .5-.2239.5-.5v-6zm0-8v6.5h6.5v-6c0-.27614-.2239-.5-.5-.5z", 21348 fillRule: "evenodd", 21349 clipRule: "evenodd" 21350 } 21351 ) }); 21352 21353 21354 ;// ./node_modules/@wordpress/block-library/build-module/group/variations.js 21355 21356 21357 const example = { 21358 innerBlocks: [ 21359 { 21360 name: "core/paragraph", 21361 attributes: { 21362 content: (0,external_wp_i18n_namespaceObject.__)("One.") 21363 } 21364 }, 21365 { 21366 name: "core/paragraph", 21367 attributes: { 21368 content: (0,external_wp_i18n_namespaceObject.__)("Two.") 21369 } 21370 }, 21371 { 21372 name: "core/paragraph", 21373 attributes: { 21374 content: (0,external_wp_i18n_namespaceObject.__)("Three.") 21375 } 21376 }, 21377 { 21378 name: "core/paragraph", 21379 attributes: { 21380 content: (0,external_wp_i18n_namespaceObject.__)("Four.") 21381 } 21382 }, 21383 { 21384 name: "core/paragraph", 21385 attributes: { 21386 content: (0,external_wp_i18n_namespaceObject.__)("Five.") 21387 } 21388 }, 21389 { 21390 name: "core/paragraph", 21391 attributes: { 21392 content: (0,external_wp_i18n_namespaceObject.__)("Six.") 21393 } 21394 } 21395 ] 21396 }; 21397 const group_variations_variations = [ 21398 { 21399 name: "group", 21400 title: (0,external_wp_i18n_namespaceObject.__)("Group"), 21401 description: (0,external_wp_i18n_namespaceObject.__)("Gather blocks in a container."), 21402 attributes: { layout: { type: "constrained" } }, 21403 isDefault: true, 21404 scope: ["block", "inserter", "transform"], 21405 icon: group_default 21406 }, 21407 { 21408 name: "group-row", 21409 title: (0,external_wp_i18n_namespaceObject._x)("Row", "single horizontal line"), 21410 description: (0,external_wp_i18n_namespaceObject.__)("Arrange blocks horizontally."), 21411 attributes: { layout: { type: "flex", flexWrap: "nowrap" } }, 21412 scope: ["block", "inserter", "transform"], 21413 isActive: ["layout.type"], 21414 icon: row_default, 21415 example 21416 }, 21417 { 21418 name: "group-stack", 21419 title: (0,external_wp_i18n_namespaceObject.__)("Stack"), 21420 description: (0,external_wp_i18n_namespaceObject.__)("Arrange blocks vertically."), 21421 attributes: { layout: { type: "flex", orientation: "vertical" } }, 21422 scope: ["block", "inserter", "transform"], 21423 isActive: ["layout.type", "layout.orientation"], 21424 icon: stack_default, 21425 example 21426 }, 21427 { 21428 name: "group-grid", 21429 title: (0,external_wp_i18n_namespaceObject.__)("Grid"), 21430 description: (0,external_wp_i18n_namespaceObject.__)("Arrange blocks in a grid."), 21431 attributes: { layout: { type: "grid" } }, 21432 scope: ["block", "inserter", "transform"], 21433 isActive: ["layout.type"], 21434 icon: grid_default, 21435 example 21436 } 21437 ]; 21438 var group_variations_variations_default = group_variations_variations; 21439 21440 21441 ;// ./node_modules/@wordpress/block-library/build-module/group/index.js 21442 21443 21444 21445 21446 21447 21448 21449 21450 21451 const { name: group_name } = group_block_namespaceObject; 21452 const group_settings = { 21453 icon: group_default, 21454 example: { 21455 attributes: { 21456 layout: { 21457 type: "constrained", 21458 justifyContent: "center" 21459 }, 21460 style: { 21461 spacing: { 21462 padding: { 21463 top: "4em", 21464 right: "3em", 21465 bottom: "4em", 21466 left: "3em" 21467 } 21468 } 21469 } 21470 }, 21471 innerBlocks: [ 21472 { 21473 name: "core/heading", 21474 attributes: { 21475 content: (0,external_wp_i18n_namespaceObject.__)("La Mancha"), 21476 textAlign: "center" 21477 } 21478 }, 21479 { 21480 name: "core/paragraph", 21481 attributes: { 21482 align: "center", 21483 content: (0,external_wp_i18n_namespaceObject.__)( 21484 "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing." 21485 ) 21486 } 21487 }, 21488 { 21489 name: "core/spacer", 21490 attributes: { 21491 height: "10px" 21492 } 21493 }, 21494 { 21495 name: "core/button", 21496 attributes: { 21497 text: (0,external_wp_i18n_namespaceObject.__)("Read more") 21498 } 21499 } 21500 ], 21501 viewportWidth: 600 21502 }, 21503 transforms: group_transforms_transforms_default, 21504 edit: group_edit_edit_default, 21505 save: group_save_save, 21506 deprecated: group_deprecated_deprecated_default, 21507 variations: group_variations_variations_default 21508 }; 21509 const group_init = () => initBlock({ name: group_name, metadata: group_block_namespaceObject, settings: group_settings }); 21510 21511 21512 ;// ./node_modules/@wordpress/icons/build-module/library/heading.js 21513 21514 21515 var heading_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6 5V18.5911L12 13.8473L18 18.5911V5H6Z" }) }); 21516 21517 21518 ;// ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js 21519 21520 21521 21522 const blockSupports = { 21523 className: false, 21524 anchor: true 21525 }; 21526 const heading_deprecated_blockAttributes = { 21527 align: { 21528 type: "string" 21529 }, 21530 content: { 21531 type: "string", 21532 source: "html", 21533 selector: "h1,h2,h3,h4,h5,h6", 21534 default: "" 21535 }, 21536 level: { 21537 type: "number", 21538 default: 2 21539 }, 21540 placeholder: { 21541 type: "string" 21542 } 21543 }; 21544 const deprecated_migrateCustomColors = (attributes) => { 21545 if (!attributes.customTextColor) { 21546 return attributes; 21547 } 21548 const style = { 21549 color: { 21550 text: attributes.customTextColor 21551 } 21552 }; 21553 const { customTextColor, ...restAttributes } = attributes; 21554 return { 21555 ...restAttributes, 21556 style 21557 }; 21558 }; 21559 const TEXT_ALIGN_OPTIONS = ["left", "right", "center"]; 21560 const migrateTextAlign = (attributes) => { 21561 const { align, ...rest } = attributes; 21562 return TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, textAlign: align } : attributes; 21563 }; 21564 const heading_deprecated_v1 = { 21565 supports: blockSupports, 21566 attributes: { 21567 ...heading_deprecated_blockAttributes, 21568 customTextColor: { 21569 type: "string" 21570 }, 21571 textColor: { 21572 type: "string" 21573 } 21574 }, 21575 migrate: (attributes) => deprecated_migrateCustomColors(migrateTextAlign(attributes)), 21576 save({ attributes }) { 21577 const { align, level, content, textColor, customTextColor } = attributes; 21578 const tagName = "h" + level; 21579 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 21580 const className = dist_clsx({ 21581 [textClass]: textClass 21582 }); 21583 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21584 external_wp_blockEditor_namespaceObject.RichText.Content, 21585 { 21586 className: className ? className : void 0, 21587 tagName, 21588 style: { 21589 textAlign: align, 21590 color: textClass ? void 0 : customTextColor 21591 }, 21592 value: content 21593 } 21594 ); 21595 } 21596 }; 21597 const heading_deprecated_v2 = { 21598 attributes: { 21599 ...heading_deprecated_blockAttributes, 21600 customTextColor: { 21601 type: "string" 21602 }, 21603 textColor: { 21604 type: "string" 21605 } 21606 }, 21607 migrate: (attributes) => deprecated_migrateCustomColors(migrateTextAlign(attributes)), 21608 save({ attributes }) { 21609 const { align, content, customTextColor, level, textColor } = attributes; 21610 const tagName = "h" + level; 21611 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 21612 const className = dist_clsx({ 21613 [textClass]: textClass, 21614 [`has-text-align-$align}`]: align 21615 }); 21616 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21617 external_wp_blockEditor_namespaceObject.RichText.Content, 21618 { 21619 className: className ? className : void 0, 21620 tagName, 21621 style: { 21622 color: textClass ? void 0 : customTextColor 21623 }, 21624 value: content 21625 } 21626 ); 21627 }, 21628 supports: blockSupports 21629 }; 21630 const heading_deprecated_v3 = { 21631 supports: blockSupports, 21632 attributes: { 21633 ...heading_deprecated_blockAttributes, 21634 customTextColor: { 21635 type: "string" 21636 }, 21637 textColor: { 21638 type: "string" 21639 } 21640 }, 21641 migrate: (attributes) => deprecated_migrateCustomColors(migrateTextAlign(attributes)), 21642 save({ attributes }) { 21643 const { align, content, customTextColor, level, textColor } = attributes; 21644 const tagName = "h" + level; 21645 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 21646 const className = dist_clsx({ 21647 [textClass]: textClass, 21648 "has-text-color": textColor || customTextColor, 21649 [`has-text-align-$align}`]: align 21650 }); 21651 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21652 external_wp_blockEditor_namespaceObject.RichText.Content, 21653 { 21654 className: className ? className : void 0, 21655 tagName, 21656 style: { 21657 color: textClass ? void 0 : customTextColor 21658 }, 21659 value: content 21660 } 21661 ); 21662 } 21663 }; 21664 const heading_deprecated_v4 = { 21665 supports: { 21666 align: ["wide", "full"], 21667 anchor: true, 21668 className: false, 21669 color: { link: true }, 21670 fontSize: true, 21671 lineHeight: true, 21672 __experimentalSelector: { 21673 "core/heading/h1": "h1", 21674 "core/heading/h2": "h2", 21675 "core/heading/h3": "h3", 21676 "core/heading/h4": "h4", 21677 "core/heading/h5": "h5", 21678 "core/heading/h6": "h6" 21679 }, 21680 __unstablePasteTextInline: true 21681 }, 21682 attributes: heading_deprecated_blockAttributes, 21683 isEligible: ({ align }) => TEXT_ALIGN_OPTIONS.includes(align), 21684 migrate: migrateTextAlign, 21685 save({ attributes }) { 21686 const { align, content, level } = attributes; 21687 const TagName = "h" + level; 21688 const className = dist_clsx({ 21689 [`has-text-align-$align}`]: align 21690 }); 21691 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 21692 } 21693 }; 21694 const heading_deprecated_v5 = { 21695 supports: { 21696 align: ["wide", "full"], 21697 anchor: true, 21698 className: false, 21699 color: { 21700 gradients: true, 21701 link: true, 21702 __experimentalDefaultControls: { 21703 background: true, 21704 text: true 21705 } 21706 }, 21707 spacing: { 21708 margin: true, 21709 padding: true 21710 }, 21711 typography: { 21712 fontSize: true, 21713 lineHeight: true, 21714 __experimentalFontFamily: true, 21715 __experimentalFontStyle: true, 21716 __experimentalFontWeight: true, 21717 __experimentalLetterSpacing: true, 21718 __experimentalTextTransform: true, 21719 __experimentalTextDecoration: true, 21720 __experimentalDefaultControls: { 21721 fontSize: true, 21722 fontAppearance: true, 21723 textTransform: true 21724 } 21725 }, 21726 __experimentalSelector: "h1,h2,h3,h4,h5,h6", 21727 __unstablePasteTextInline: true, 21728 __experimentalSlashInserter: true 21729 }, 21730 attributes: { 21731 textAlign: { 21732 type: "string" 21733 }, 21734 content: { 21735 type: "string", 21736 source: "html", 21737 selector: "h1,h2,h3,h4,h5,h6", 21738 default: "", 21739 role: "content" 21740 }, 21741 level: { 21742 type: "number", 21743 default: 2 21744 }, 21745 placeholder: { 21746 type: "string" 21747 } 21748 }, 21749 save({ attributes }) { 21750 const { textAlign, content, level } = attributes; 21751 const TagName = "h" + level; 21752 const className = dist_clsx({ 21753 [`has-text-align-$textAlign}`]: textAlign 21754 }); 21755 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 21756 } 21757 }; 21758 const heading_deprecated_deprecated = [heading_deprecated_v5, heading_deprecated_v4, heading_deprecated_v3, heading_deprecated_v2, heading_deprecated_v1]; 21759 var heading_deprecated_deprecated_default = heading_deprecated_deprecated; 21760 21761 21762 ;// ./node_modules/@wordpress/block-library/build-module/heading/autogenerate-anchors.js 21763 21764 const autogenerate_anchors_anchors = {}; 21765 const getTextWithoutMarkup = (text) => { 21766 const dummyElement = document.createElement("div"); 21767 dummyElement.innerHTML = text; 21768 return dummyElement.innerText; 21769 }; 21770 const getSlug = (content) => { 21771 return remove_accents_default()(getTextWithoutMarkup(content)).replace(/[^\p{L}\p{N}]+/gu, "-").toLowerCase().replace(/(^-+)|(-+$)/g, ""); 21772 }; 21773 const generateAnchor = (clientId, content) => { 21774 const slug = getSlug(content); 21775 if ("" === slug) { 21776 return null; 21777 } 21778 delete autogenerate_anchors_anchors[clientId]; 21779 let anchor = slug; 21780 let i = 0; 21781 while (Object.values(autogenerate_anchors_anchors).includes(anchor)) { 21782 i += 1; 21783 anchor = slug + "-" + i; 21784 } 21785 return anchor; 21786 }; 21787 const setAnchor = (clientId, anchor) => { 21788 autogenerate_anchors_anchors[clientId] = anchor; 21789 }; 21790 21791 21792 ;// ./node_modules/@wordpress/block-library/build-module/heading/edit.js 21793 21794 21795 21796 21797 21798 21799 21800 function HeadingEdit({ 21801 attributes, 21802 setAttributes, 21803 mergeBlocks, 21804 onReplace, 21805 style, 21806 clientId 21807 }) { 21808 const { textAlign, content, level, levelOptions, placeholder, anchor } = attributes; 21809 const tagName = "h" + level; 21810 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 21811 className: dist_clsx({ 21812 [`has-text-align-$textAlign}`]: textAlign 21813 }), 21814 style 21815 }); 21816 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 21817 const { canGenerateAnchors } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 21818 const { getGlobalBlockCount, getSettings } = select(external_wp_blockEditor_namespaceObject.store); 21819 const settings = getSettings(); 21820 return { 21821 canGenerateAnchors: !!settings.generateAnchors || getGlobalBlockCount("core/table-of-contents") > 0 21822 }; 21823 }, []); 21824 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 21825 (0,external_wp_element_namespaceObject.useEffect)(() => { 21826 if (!canGenerateAnchors) { 21827 return; 21828 } 21829 if (!anchor && content) { 21830 __unstableMarkNextChangeAsNotPersistent(); 21831 setAttributes({ 21832 anchor: generateAnchor(clientId, content) 21833 }); 21834 } 21835 setAnchor(clientId, anchor); 21836 return () => setAnchor(clientId, null); 21837 }, [anchor, content, clientId, canGenerateAnchors]); 21838 const onContentChange = (value) => { 21839 const newAttrs = { content: value }; 21840 if (canGenerateAnchors && (!anchor || !value || generateAnchor(clientId, content) === anchor)) { 21841 newAttrs.anchor = generateAnchor(clientId, value); 21842 } 21843 setAttributes(newAttrs); 21844 }; 21845 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 21846 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 21847 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21848 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 21849 { 21850 value: level, 21851 options: levelOptions, 21852 onChange: (newLevel) => setAttributes({ level: newLevel }) 21853 } 21854 ), 21855 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21856 external_wp_blockEditor_namespaceObject.AlignmentControl, 21857 { 21858 value: textAlign, 21859 onChange: (nextAlign) => { 21860 setAttributes({ textAlign: nextAlign }); 21861 } 21862 } 21863 ) 21864 ] }), 21865 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 21866 external_wp_blockEditor_namespaceObject.RichText, 21867 { 21868 identifier: "content", 21869 tagName, 21870 value: content, 21871 onChange: onContentChange, 21872 onMerge: mergeBlocks, 21873 onReplace, 21874 onRemove: () => onReplace([]), 21875 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)("Heading"), 21876 textAlign, 21877 ...external_wp_element_namespaceObject.Platform.isNative && { deleteEnter: true }, 21878 ...blockProps 21879 } 21880 ) 21881 ] }); 21882 } 21883 var heading_edit_edit_default = HeadingEdit; 21884 21885 21886 ;// ./node_modules/@wordpress/block-library/build-module/heading/block.json 21887 const heading_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/heading","title":"Heading","category":"text","description":"Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.","keywords":["title","subtitle"],"textdomain":"default","attributes":{"textAlign":{"type":"string"},"content":{"type":"rich-text","source":"rich-text","selector":"h1,h2,h3,h4,h5,h6","role":"content"},"level":{"type":"number","default":2},"levelOptions":{"type":"array"},"placeholder":{"type":"string"}},"supports":{"align":["wide","full"],"anchor":true,"className":true,"splitting":true,"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalWritingMode":true,"fitText":true,"__experimentalDefaultControls":{"fontSize":true}},"__unstablePasteTextInline":true,"__experimentalSlashInserter":true,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-heading-editor","style":"wp-block-heading"}'); 21888 ;// ./node_modules/@wordpress/block-library/build-module/heading/save.js 21889 21890 21891 21892 function heading_save_save({ attributes }) { 21893 const { textAlign, content, level } = attributes; 21894 const TagName = "h" + level; 21895 const className = dist_clsx({ 21896 [`has-text-align-$textAlign}`]: textAlign 21897 }); 21898 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 21899 } 21900 21901 21902 ;// ./node_modules/@wordpress/block-library/build-module/heading/shared.js 21903 function getLevelFromHeadingNodeName(nodeName) { 21904 return Number(nodeName.substr(1)); 21905 } 21906 21907 21908 ;// ./node_modules/@wordpress/block-library/build-module/heading/transforms.js 21909 21910 21911 21912 const heading_transforms_transforms = { 21913 from: [ 21914 { 21915 type: "block", 21916 isMultiBlock: true, 21917 blocks: ["core/paragraph"], 21918 transform: (attributes) => attributes.map((_attributes) => { 21919 const { content, anchor, align: textAlign } = _attributes; 21920 return (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { 21921 ...getTransformedAttributes( 21922 _attributes, 21923 "core/heading", 21924 ({ content: contentBinding }) => ({ 21925 content: contentBinding 21926 }) 21927 ), 21928 content, 21929 anchor, 21930 textAlign 21931 }); 21932 }) 21933 }, 21934 { 21935 type: "raw", 21936 selector: "h1,h2,h3,h4,h5,h6", 21937 schema: ({ phrasingContentSchema, isPaste }) => { 21938 const schema = { 21939 children: phrasingContentSchema, 21940 attributes: isPaste ? [] : ["style", "id"] 21941 }; 21942 return { 21943 h1: schema, 21944 h2: schema, 21945 h3: schema, 21946 h4: schema, 21947 h5: schema, 21948 h6: schema 21949 }; 21950 }, 21951 transform(node) { 21952 const attributes = (0,external_wp_blocks_namespaceObject.getBlockAttributes)( 21953 "core/heading", 21954 node.outerHTML 21955 ); 21956 const { textAlign } = node.style || {}; 21957 attributes.level = getLevelFromHeadingNodeName(node.nodeName); 21958 if (textAlign === "left" || textAlign === "center" || textAlign === "right") { 21959 attributes.align = textAlign; 21960 } 21961 return (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", attributes); 21962 } 21963 }, 21964 ...[1, 2, 3, 4, 5, 6].map((level) => ({ 21965 type: "prefix", 21966 prefix: Array(level + 1).join("#"), 21967 transform(content) { 21968 return (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { 21969 level, 21970 content 21971 }); 21972 } 21973 })), 21974 ...[1, 2, 3, 4, 5, 6].map((level) => ({ 21975 type: "enter", 21976 regExp: new RegExp(`^/(h|H)$level}$`), 21977 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { level }) 21978 })) 21979 ], 21980 to: [ 21981 { 21982 type: "block", 21983 isMultiBlock: true, 21984 blocks: ["core/paragraph"], 21985 transform: (attributes) => attributes.map((_attributes) => { 21986 const { content, textAlign: align } = _attributes; 21987 return (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 21988 ...getTransformedAttributes( 21989 _attributes, 21990 "core/paragraph", 21991 ({ content: contentBinding }) => ({ 21992 content: contentBinding 21993 }) 21994 ), 21995 content, 21996 align 21997 }); 21998 }) 21999 } 22000 ] 22001 }; 22002 var heading_transforms_transforms_default = heading_transforms_transforms; 22003 22004 22005 ;// ./node_modules/@wordpress/block-library/build-module/heading/index.js 22006 22007 22008 22009 22010 22011 22012 22013 22014 const { name: heading_name } = heading_block_namespaceObject; 22015 const heading_settings = { 22016 icon: heading_default, 22017 example: { 22018 attributes: { 22019 content: (0,external_wp_i18n_namespaceObject.__)("Code is Poetry"), 22020 level: 2, 22021 textAlign: "center" 22022 } 22023 }, 22024 __experimentalLabel(attributes, { context }) { 22025 const { content, level } = attributes; 22026 const customName = attributes?.metadata?.name; 22027 const hasContent = content?.trim().length > 0; 22028 if (context === "list-view" && (customName || hasContent)) { 22029 return customName || content; 22030 } 22031 if (context === "accessibility") { 22032 return !hasContent ? (0,external_wp_i18n_namespaceObject.sprintf)( 22033 /* translators: accessibility text. %s: heading level. */ 22034 (0,external_wp_i18n_namespaceObject.__)("Level %s. Empty."), 22035 level 22036 ) : (0,external_wp_i18n_namespaceObject.sprintf)( 22037 /* translators: accessibility text. 1: heading level. 2: heading content. */ 22038 (0,external_wp_i18n_namespaceObject.__)("Level %1$s. %2$s"), 22039 level, 22040 content 22041 ); 22042 } 22043 }, 22044 transforms: heading_transforms_transforms_default, 22045 deprecated: heading_deprecated_deprecated_default, 22046 merge(attributes, attributesToMerge) { 22047 return { 22048 content: (attributes.content || "") + (attributesToMerge.content || "") 22049 }; 22050 }, 22051 edit: heading_edit_edit_default, 22052 save: heading_save_save 22053 }; 22054 const heading_init = () => initBlock({ name: heading_name, metadata: heading_block_namespaceObject, settings: heading_settings }); 22055 22056 22057 ;// ./node_modules/@wordpress/icons/build-module/library/home.js 22058 22059 22060 var home_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 4L4 7.9V20h16V7.9L12 4zm6.5 14.5H14V13h-4v5.5H5.5V8.8L12 5.7l6.5 3.1v9.7z" }) }); 22061 22062 22063 ;// ./node_modules/@wordpress/block-library/build-module/home-link/block.json 22064 const home_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/home-link","category":"design","parent":["core/navigation"],"title":"Home Link","description":"Create a link that always points to the homepage of the site. Usually not necessary if there is already a site title link present in the header.","textdomain":"default","attributes":{"label":{"type":"string"}},"usesContext":["textColor","customTextColor","backgroundColor","customBackgroundColor","fontSize","customFontSize","style"],"supports":{"reusable":false,"html":false,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-home-link-editor","style":"wp-block-home-link"}'); 22065 ;// ./node_modules/@wordpress/block-library/build-module/home-link/edit.js 22066 22067 22068 22069 22070 22071 22072 const preventDefault = (event) => event.preventDefault(); 22073 function HomeEdit({ attributes, setAttributes, context }) { 22074 const homeUrl = (0,external_wp_data_namespaceObject.useSelect)((select) => { 22075 return select(external_wp_coreData_namespaceObject.store).getEntityRecord("root", "__unstableBase")?.home; 22076 }, []); 22077 const { textColor, backgroundColor, style } = context; 22078 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 22079 className: dist_clsx("wp-block-navigation-item", { 22080 "has-text-color": !!textColor || !!style?.color?.text, 22081 [`has-$textColor}-color`]: !!textColor, 22082 "has-background": !!backgroundColor || !!style?.color?.background, 22083 [`has-$backgroundColor}-background-color`]: !!backgroundColor 22084 }), 22085 style: { 22086 color: style?.color?.text, 22087 backgroundColor: style?.color?.background 22088 } 22089 }); 22090 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22091 "a", 22092 { 22093 className: "wp-block-home-link__content wp-block-navigation-item__content", 22094 href: homeUrl, 22095 onClick: preventDefault, 22096 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22097 external_wp_blockEditor_namespaceObject.RichText, 22098 { 22099 identifier: "label", 22100 className: "wp-block-home-link__label", 22101 value: attributes.label ?? (0,external_wp_i18n_namespaceObject.__)("Home"), 22102 onChange: (labelValue) => { 22103 setAttributes({ label: labelValue }); 22104 }, 22105 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Home link text"), 22106 placeholder: (0,external_wp_i18n_namespaceObject.__)("Add home link"), 22107 withoutInteractiveFormatting: true 22108 } 22109 ) 22110 } 22111 ) }); 22112 } 22113 22114 22115 ;// ./node_modules/@wordpress/block-library/build-module/home-link/save.js 22116 22117 22118 function home_link_save_save() { 22119 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 22120 } 22121 22122 22123 ;// ./node_modules/@wordpress/block-library/build-module/home-link/index.js 22124 22125 22126 22127 22128 22129 22130 const { name: home_link_name } = home_link_block_namespaceObject; 22131 const home_link_settings = { 22132 icon: home_default, 22133 edit: HomeEdit, 22134 save: home_link_save_save, 22135 example: { 22136 attributes: { 22137 label: (0,external_wp_i18n_namespaceObject._x)("Home Link", "block example") 22138 } 22139 } 22140 }; 22141 const home_link_init = () => initBlock({ name: home_link_name, metadata: home_link_block_namespaceObject, settings: home_link_settings }); 22142 22143 22144 ;// ./node_modules/@wordpress/icons/build-module/library/html.js 22145 22146 22147 var html_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z" }) }); 22148 22149 22150 ;// ./node_modules/@wordpress/block-library/build-module/html/preview.js 22151 22152 22153 22154 22155 22156 22157 const DEFAULT_STYLES = ` 22158 html,body,:root { 22159 margin: 0 !important; 22160 padding: 0 !important; 22161 overflow: visible !important; 22162 min-height: auto !important; 22163 } 22164 `; 22165 function HTMLEditPreview({ content, isSelected }) { 22166 const settingStyles = (0,external_wp_data_namespaceObject.useSelect)( 22167 (select) => select(external_wp_blockEditor_namespaceObject.store).getSettings().styles, 22168 [] 22169 ); 22170 const styles = (0,external_wp_element_namespaceObject.useMemo)( 22171 () => [ 22172 DEFAULT_STYLES, 22173 ...(0,external_wp_blockEditor_namespaceObject.transformStyles)( 22174 (settingStyles ?? []).filter((style) => style.css) 22175 ) 22176 ], 22177 [settingStyles] 22178 ); 22179 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 22180 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22181 external_wp_components_namespaceObject.SandBox, 22182 { 22183 html: content, 22184 styles, 22185 title: (0,external_wp_i18n_namespaceObject.__)("Custom HTML Preview"), 22186 tabIndex: -1 22187 } 22188 ), 22189 !isSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "block-library-html__preview-overlay" }) 22190 ] }); 22191 } 22192 22193 22194 ;// ./node_modules/@wordpress/block-library/build-module/html/edit.js 22195 22196 22197 22198 22199 22200 22201 22202 22203 function HTMLEdit({ attributes, setAttributes, isSelected }) { 22204 const [isPreview, setIsPreview] = (0,external_wp_element_namespaceObject.useState)(); 22205 const isDisabled = (0,external_wp_element_namespaceObject.useContext)(external_wp_components_namespaceObject.Disabled.Context); 22206 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(HTMLEdit, "html-edit-desc"); 22207 const isPreviewMode = (0,external_wp_data_namespaceObject.useSelect)((select) => { 22208 return select(external_wp_blockEditor_namespaceObject.store).getSettings().isPreviewMode; 22209 }, []); 22210 function switchToPreview() { 22211 setIsPreview(true); 22212 } 22213 function switchToHTML() { 22214 setIsPreview(false); 22215 } 22216 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 22217 className: "block-library-html__edit", 22218 "aria-describedby": isPreview ? instanceId : void 0 22219 }); 22220 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 22221 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.ToolbarGroup, { children: [ 22222 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22223 external_wp_components_namespaceObject.ToolbarButton, 22224 { 22225 isPressed: !isPreview, 22226 onClick: switchToHTML, 22227 children: "HTML" 22228 } 22229 ), 22230 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22231 external_wp_components_namespaceObject.ToolbarButton, 22232 { 22233 isPressed: isPreview, 22234 onClick: switchToPreview, 22235 children: (0,external_wp_i18n_namespaceObject.__)("Preview") 22236 } 22237 ) 22238 ] }) }), 22239 isPreview || isPreviewMode || isDisabled ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 22240 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22241 HTMLEditPreview, 22242 { 22243 content: attributes.content, 22244 isSelected 22245 } 22246 ), 22247 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { id: instanceId, children: (0,external_wp_i18n_namespaceObject.__)( 22248 "HTML preview is not yet fully accessible. Please switch screen reader to virtualized mode to navigate the below iFrame." 22249 ) }) 22250 ] }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22251 external_wp_blockEditor_namespaceObject.PlainText, 22252 { 22253 value: attributes.content, 22254 onChange: (content) => setAttributes({ content }), 22255 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write HTML\u2026"), 22256 "aria-label": (0,external_wp_i18n_namespaceObject.__)("HTML") 22257 } 22258 ) 22259 ] }); 22260 } 22261 22262 22263 ;// ./node_modules/@wordpress/block-library/build-module/html/block.json 22264 const html_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/html","title":"Custom HTML","category":"widgets","description":"Add custom HTML code and preview it as you edit.","keywords":["embed"],"textdomain":"default","attributes":{"content":{"type":"string","source":"raw","role":"content"}},"supports":{"customClassName":false,"className":false,"html":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-html-editor"}'); 22265 ;// ./node_modules/@wordpress/block-library/build-module/html/save.js 22266 22267 22268 function html_save_save({ attributes }) { 22269 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: attributes.content }); 22270 } 22271 22272 22273 ;// ./node_modules/@wordpress/block-library/build-module/html/transforms.js 22274 22275 22276 const html_transforms_transforms = { 22277 from: [ 22278 { 22279 type: "block", 22280 blocks: ["core/code"], 22281 transform: ({ content: html }) => { 22282 return (0,external_wp_blocks_namespaceObject.createBlock)("core/html", { 22283 // The code block may output HTML formatting, so convert it 22284 // to plain text. 22285 content: (0,external_wp_richText_namespaceObject.create)({ html }).text 22286 }); 22287 } 22288 } 22289 ] 22290 }; 22291 var html_transforms_transforms_default = html_transforms_transforms; 22292 22293 22294 ;// ./node_modules/@wordpress/block-library/build-module/html/index.js 22295 22296 22297 22298 22299 22300 22301 22302 const { name: html_name } = html_block_namespaceObject; 22303 const html_settings = { 22304 icon: html_default, 22305 example: { 22306 attributes: { 22307 content: "<marquee>" + (0,external_wp_i18n_namespaceObject.__)("Welcome to the wonderful world of blocks\u2026") + "</marquee>" 22308 } 22309 }, 22310 edit: HTMLEdit, 22311 save: html_save_save, 22312 transforms: html_transforms_transforms_default 22313 }; 22314 const html_init = () => initBlock({ name: html_name, metadata: html_block_namespaceObject, settings: html_settings }); 22315 22316 22317 ;// ./node_modules/@wordpress/block-library/build-module/image/deprecated.js 22318 22319 22320 22321 const image_deprecated_v1 = { 22322 attributes: { 22323 url: { 22324 type: "string", 22325 source: "attribute", 22326 selector: "img", 22327 attribute: "src" 22328 }, 22329 alt: { 22330 type: "string", 22331 source: "attribute", 22332 selector: "img", 22333 attribute: "alt", 22334 default: "" 22335 }, 22336 caption: { 22337 type: "array", 22338 source: "children", 22339 selector: "figcaption" 22340 }, 22341 href: { 22342 type: "string", 22343 source: "attribute", 22344 selector: "a", 22345 attribute: "href" 22346 }, 22347 id: { 22348 type: "number" 22349 }, 22350 align: { 22351 type: "string" 22352 }, 22353 width: { 22354 type: "number" 22355 }, 22356 height: { 22357 type: "number" 22358 } 22359 }, 22360 save({ attributes }) { 22361 const { url, alt, caption, align, href, width, height } = attributes; 22362 const extraImageProps = width || height ? { width, height } : {}; 22363 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { src: url, alt, ...extraImageProps }); 22364 let figureStyle = {}; 22365 if (width) { 22366 figureStyle = { width }; 22367 } else if (align === "left" || align === "right") { 22368 figureStyle = { maxWidth: "50%" }; 22369 } 22370 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 22371 "figure", 22372 { 22373 className: align ? `align$align}` : null, 22374 style: figureStyle, 22375 children: [ 22376 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: image }) : image, 22377 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 22378 ] 22379 } 22380 ); 22381 } 22382 }; 22383 const image_deprecated_v2 = { 22384 attributes: { 22385 url: { 22386 type: "string", 22387 source: "attribute", 22388 selector: "img", 22389 attribute: "src" 22390 }, 22391 alt: { 22392 type: "string", 22393 source: "attribute", 22394 selector: "img", 22395 attribute: "alt", 22396 default: "" 22397 }, 22398 caption: { 22399 type: "array", 22400 source: "children", 22401 selector: "figcaption" 22402 }, 22403 href: { 22404 type: "string", 22405 source: "attribute", 22406 selector: "a", 22407 attribute: "href" 22408 }, 22409 id: { 22410 type: "number" 22411 }, 22412 align: { 22413 type: "string" 22414 }, 22415 width: { 22416 type: "number" 22417 }, 22418 height: { 22419 type: "number" 22420 } 22421 }, 22422 save({ attributes }) { 22423 const { url, alt, caption, align, href, width, height, id } = attributes; 22424 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22425 "img", 22426 { 22427 src: url, 22428 alt, 22429 className: id ? `wp-image-$id}` : null, 22430 width, 22431 height 22432 } 22433 ); 22434 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { className: align ? `align$align}` : null, children: [ 22435 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: image }) : image, 22436 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 22437 ] }); 22438 } 22439 }; 22440 const image_deprecated_v3 = { 22441 attributes: { 22442 url: { 22443 type: "string", 22444 source: "attribute", 22445 selector: "img", 22446 attribute: "src" 22447 }, 22448 alt: { 22449 type: "string", 22450 source: "attribute", 22451 selector: "img", 22452 attribute: "alt", 22453 default: "" 22454 }, 22455 caption: { 22456 type: "array", 22457 source: "children", 22458 selector: "figcaption" 22459 }, 22460 href: { 22461 type: "string", 22462 source: "attribute", 22463 selector: "figure > a", 22464 attribute: "href" 22465 }, 22466 id: { 22467 type: "number" 22468 }, 22469 align: { 22470 type: "string" 22471 }, 22472 width: { 22473 type: "number" 22474 }, 22475 height: { 22476 type: "number" 22477 }, 22478 linkDestination: { 22479 type: "string", 22480 default: "none" 22481 } 22482 }, 22483 save({ attributes }) { 22484 const { url, alt, caption, align, href, width, height, id } = attributes; 22485 const classes = dist_clsx({ 22486 [`align$align}`]: align, 22487 "is-resized": width || height 22488 }); 22489 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22490 "img", 22491 { 22492 src: url, 22493 alt, 22494 className: id ? `wp-image-$id}` : null, 22495 width, 22496 height 22497 } 22498 ); 22499 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { className: classes, children: [ 22500 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href, children: image }) : image, 22501 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 22502 ] }); 22503 } 22504 }; 22505 const image_deprecated_v4 = { 22506 attributes: { 22507 align: { 22508 type: "string" 22509 }, 22510 url: { 22511 type: "string", 22512 source: "attribute", 22513 selector: "img", 22514 attribute: "src" 22515 }, 22516 alt: { 22517 type: "string", 22518 source: "attribute", 22519 selector: "img", 22520 attribute: "alt", 22521 default: "" 22522 }, 22523 caption: { 22524 type: "string", 22525 source: "html", 22526 selector: "figcaption" 22527 }, 22528 title: { 22529 type: "string", 22530 source: "attribute", 22531 selector: "img", 22532 attribute: "title" 22533 }, 22534 href: { 22535 type: "string", 22536 source: "attribute", 22537 selector: "figure > a", 22538 attribute: "href" 22539 }, 22540 rel: { 22541 type: "string", 22542 source: "attribute", 22543 selector: "figure > a", 22544 attribute: "rel" 22545 }, 22546 linkClass: { 22547 type: "string", 22548 source: "attribute", 22549 selector: "figure > a", 22550 attribute: "class" 22551 }, 22552 id: { 22553 type: "number" 22554 }, 22555 width: { 22556 type: "number" 22557 }, 22558 height: { 22559 type: "number" 22560 }, 22561 sizeSlug: { 22562 type: "string" 22563 }, 22564 linkDestination: { 22565 type: "string" 22566 }, 22567 linkTarget: { 22568 type: "string", 22569 source: "attribute", 22570 selector: "figure > a", 22571 attribute: "target" 22572 } 22573 }, 22574 supports: { 22575 anchor: true 22576 }, 22577 save({ attributes }) { 22578 const { 22579 url, 22580 alt, 22581 caption, 22582 align, 22583 href, 22584 rel, 22585 linkClass, 22586 width, 22587 height, 22588 id, 22589 linkTarget, 22590 sizeSlug, 22591 title 22592 } = attributes; 22593 const newRel = !rel ? void 0 : rel; 22594 const classes = dist_clsx({ 22595 [`align$align}`]: align, 22596 [`size-$sizeSlug}`]: sizeSlug, 22597 "is-resized": width || height 22598 }); 22599 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22600 "img", 22601 { 22602 src: url, 22603 alt, 22604 className: id ? `wp-image-$id}` : null, 22605 width, 22606 height, 22607 title 22608 } 22609 ); 22610 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 22611 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22612 "a", 22613 { 22614 className: linkClass, 22615 href, 22616 target: linkTarget, 22617 rel: newRel, 22618 children: image 22619 } 22620 ) : image, 22621 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 22622 ] }); 22623 if ("left" === align || "right" === align || "center" === align) { 22624 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: classes, children: figure }) }); 22625 } 22626 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 22627 } 22628 }; 22629 const image_deprecated_v5 = { 22630 attributes: { 22631 align: { 22632 type: "string" 22633 }, 22634 url: { 22635 type: "string", 22636 source: "attribute", 22637 selector: "img", 22638 attribute: "src" 22639 }, 22640 alt: { 22641 type: "string", 22642 source: "attribute", 22643 selector: "img", 22644 attribute: "alt", 22645 default: "" 22646 }, 22647 caption: { 22648 type: "string", 22649 source: "html", 22650 selector: "figcaption" 22651 }, 22652 title: { 22653 type: "string", 22654 source: "attribute", 22655 selector: "img", 22656 attribute: "title" 22657 }, 22658 href: { 22659 type: "string", 22660 source: "attribute", 22661 selector: "figure > a", 22662 attribute: "href" 22663 }, 22664 rel: { 22665 type: "string", 22666 source: "attribute", 22667 selector: "figure > a", 22668 attribute: "rel" 22669 }, 22670 linkClass: { 22671 type: "string", 22672 source: "attribute", 22673 selector: "figure > a", 22674 attribute: "class" 22675 }, 22676 id: { 22677 type: "number" 22678 }, 22679 width: { 22680 type: "number" 22681 }, 22682 height: { 22683 type: "number" 22684 }, 22685 sizeSlug: { 22686 type: "string" 22687 }, 22688 linkDestination: { 22689 type: "string" 22690 }, 22691 linkTarget: { 22692 type: "string", 22693 source: "attribute", 22694 selector: "figure > a", 22695 attribute: "target" 22696 } 22697 }, 22698 supports: { 22699 anchor: true, 22700 color: { 22701 __experimentalDuotone: "img", 22702 text: false, 22703 background: false 22704 }, 22705 __experimentalBorder: { 22706 radius: true, 22707 __experimentalDefaultControls: { 22708 radius: true 22709 } 22710 }, 22711 __experimentalStyle: { 22712 spacing: { 22713 margin: "0 0 1em 0" 22714 } 22715 } 22716 }, 22717 save({ attributes }) { 22718 const { 22719 url, 22720 alt, 22721 caption, 22722 align, 22723 href, 22724 rel, 22725 linkClass, 22726 width, 22727 height, 22728 id, 22729 linkTarget, 22730 sizeSlug, 22731 title 22732 } = attributes; 22733 const newRel = !rel ? void 0 : rel; 22734 const classes = dist_clsx({ 22735 [`align$align}`]: align, 22736 [`size-$sizeSlug}`]: sizeSlug, 22737 "is-resized": width || height 22738 }); 22739 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22740 "img", 22741 { 22742 src: url, 22743 alt, 22744 className: id ? `wp-image-$id}` : null, 22745 width, 22746 height, 22747 title 22748 } 22749 ); 22750 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 22751 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22752 "a", 22753 { 22754 className: linkClass, 22755 href, 22756 target: linkTarget, 22757 rel: newRel, 22758 children: image 22759 } 22760 ) : image, 22761 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 22762 ] }); 22763 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 22764 } 22765 }; 22766 const image_deprecated_v6 = { 22767 attributes: { 22768 align: { 22769 type: "string" 22770 }, 22771 url: { 22772 type: "string", 22773 source: "attribute", 22774 selector: "img", 22775 attribute: "src", 22776 role: "content" 22777 }, 22778 alt: { 22779 type: "string", 22780 source: "attribute", 22781 selector: "img", 22782 attribute: "alt", 22783 default: "", 22784 role: "content" 22785 }, 22786 caption: { 22787 type: "string", 22788 source: "html", 22789 selector: "figcaption", 22790 role: "content" 22791 }, 22792 title: { 22793 type: "string", 22794 source: "attribute", 22795 selector: "img", 22796 attribute: "title", 22797 role: "content" 22798 }, 22799 href: { 22800 type: "string", 22801 source: "attribute", 22802 selector: "figure > a", 22803 attribute: "href", 22804 role: "content" 22805 }, 22806 rel: { 22807 type: "string", 22808 source: "attribute", 22809 selector: "figure > a", 22810 attribute: "rel" 22811 }, 22812 linkClass: { 22813 type: "string", 22814 source: "attribute", 22815 selector: "figure > a", 22816 attribute: "class" 22817 }, 22818 id: { 22819 type: "number", 22820 role: "content" 22821 }, 22822 width: { 22823 type: "number" 22824 }, 22825 height: { 22826 type: "number" 22827 }, 22828 aspectRatio: { 22829 type: "string" 22830 }, 22831 scale: { 22832 type: "string" 22833 }, 22834 sizeSlug: { 22835 type: "string" 22836 }, 22837 linkDestination: { 22838 type: "string" 22839 }, 22840 linkTarget: { 22841 type: "string", 22842 source: "attribute", 22843 selector: "figure > a", 22844 attribute: "target" 22845 } 22846 }, 22847 supports: { 22848 anchor: true, 22849 color: { 22850 text: false, 22851 background: false 22852 }, 22853 filter: { 22854 duotone: true 22855 }, 22856 __experimentalBorder: { 22857 color: true, 22858 radius: true, 22859 width: true, 22860 __experimentalSkipSerialization: true, 22861 __experimentalDefaultControls: { 22862 color: true, 22863 radius: true, 22864 width: true 22865 } 22866 } 22867 }, 22868 migrate(attributes) { 22869 const { height, width } = attributes; 22870 return { 22871 ...attributes, 22872 width: typeof width === "number" ? `$width}px` : width, 22873 height: typeof height === "number" ? `$height}px` : height 22874 }; 22875 }, 22876 save({ attributes }) { 22877 const { 22878 url, 22879 alt, 22880 caption, 22881 align, 22882 href, 22883 rel, 22884 linkClass, 22885 width, 22886 height, 22887 aspectRatio, 22888 scale, 22889 id, 22890 linkTarget, 22891 sizeSlug, 22892 title 22893 } = attributes; 22894 const newRel = !rel ? void 0 : rel; 22895 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 22896 const classes = dist_clsx({ 22897 [`align$align}`]: align, 22898 [`size-$sizeSlug}`]: sizeSlug, 22899 "is-resized": width || height, 22900 "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0 22901 }); 22902 const imageClasses = dist_clsx(borderProps.className, { 22903 [`wp-image-$id}`]: !!id 22904 }); 22905 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22906 "img", 22907 { 22908 src: url, 22909 alt, 22910 className: imageClasses || void 0, 22911 style: { 22912 ...borderProps.style, 22913 aspectRatio, 22914 objectFit: scale 22915 }, 22916 width, 22917 height, 22918 title 22919 } 22920 ); 22921 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 22922 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22923 "a", 22924 { 22925 className: linkClass, 22926 href, 22927 target: linkTarget, 22928 rel: newRel, 22929 children: image 22930 } 22931 ) : image, 22932 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 22933 external_wp_blockEditor_namespaceObject.RichText.Content, 22934 { 22935 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 22936 "caption" 22937 ), 22938 tagName: "figcaption", 22939 value: caption 22940 } 22941 ) 22942 ] }); 22943 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 22944 } 22945 }; 22946 const image_deprecated_v7 = { 22947 attributes: { 22948 align: { 22949 type: "string" 22950 }, 22951 url: { 22952 type: "string", 22953 source: "attribute", 22954 selector: "img", 22955 attribute: "src", 22956 role: "content" 22957 }, 22958 alt: { 22959 type: "string", 22960 source: "attribute", 22961 selector: "img", 22962 attribute: "alt", 22963 default: "", 22964 role: "content" 22965 }, 22966 caption: { 22967 type: "string", 22968 source: "html", 22969 selector: "figcaption", 22970 role: "content" 22971 }, 22972 title: { 22973 type: "string", 22974 source: "attribute", 22975 selector: "img", 22976 attribute: "title", 22977 role: "content" 22978 }, 22979 href: { 22980 type: "string", 22981 source: "attribute", 22982 selector: "figure > a", 22983 attribute: "href", 22984 role: "content" 22985 }, 22986 rel: { 22987 type: "string", 22988 source: "attribute", 22989 selector: "figure > a", 22990 attribute: "rel" 22991 }, 22992 linkClass: { 22993 type: "string", 22994 source: "attribute", 22995 selector: "figure > a", 22996 attribute: "class" 22997 }, 22998 id: { 22999 type: "number", 23000 role: "content" 23001 }, 23002 width: { 23003 type: "number" 23004 }, 23005 height: { 23006 type: "number" 23007 }, 23008 aspectRatio: { 23009 type: "string" 23010 }, 23011 scale: { 23012 type: "string" 23013 }, 23014 sizeSlug: { 23015 type: "string" 23016 }, 23017 linkDestination: { 23018 type: "string" 23019 }, 23020 linkTarget: { 23021 type: "string", 23022 source: "attribute", 23023 selector: "figure > a", 23024 attribute: "target" 23025 } 23026 }, 23027 supports: { 23028 anchor: true, 23029 color: { 23030 text: false, 23031 background: false 23032 }, 23033 filter: { 23034 duotone: true 23035 }, 23036 __experimentalBorder: { 23037 color: true, 23038 radius: true, 23039 width: true, 23040 __experimentalSkipSerialization: true, 23041 __experimentalDefaultControls: { 23042 color: true, 23043 radius: true, 23044 width: true 23045 } 23046 } 23047 }, 23048 migrate({ width, height, ...attributes }) { 23049 return { 23050 ...attributes, 23051 width: `$width}px`, 23052 height: `$height}px` 23053 }; 23054 }, 23055 save({ attributes }) { 23056 const { 23057 url, 23058 alt, 23059 caption, 23060 align, 23061 href, 23062 rel, 23063 linkClass, 23064 width, 23065 height, 23066 aspectRatio, 23067 scale, 23068 id, 23069 linkTarget, 23070 sizeSlug, 23071 title 23072 } = attributes; 23073 const newRel = !rel ? void 0 : rel; 23074 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 23075 const classes = dist_clsx({ 23076 [`align$align}`]: align, 23077 [`size-$sizeSlug}`]: sizeSlug, 23078 "is-resized": width || height, 23079 "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0 23080 }); 23081 const imageClasses = dist_clsx(borderProps.className, { 23082 [`wp-image-$id}`]: !!id 23083 }); 23084 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23085 "img", 23086 { 23087 src: url, 23088 alt, 23089 className: imageClasses || void 0, 23090 style: { 23091 ...borderProps.style, 23092 aspectRatio, 23093 objectFit: scale, 23094 width, 23095 height 23096 }, 23097 width, 23098 height, 23099 title 23100 } 23101 ); 23102 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23103 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23104 "a", 23105 { 23106 className: linkClass, 23107 href, 23108 target: linkTarget, 23109 rel: newRel, 23110 children: image 23111 } 23112 ) : image, 23113 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23114 external_wp_blockEditor_namespaceObject.RichText.Content, 23115 { 23116 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 23117 "caption" 23118 ), 23119 tagName: "figcaption", 23120 value: caption 23121 } 23122 ) 23123 ] }); 23124 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 23125 } 23126 }; 23127 const deprecated_v8 = { 23128 attributes: { 23129 align: { 23130 type: "string" 23131 }, 23132 behaviors: { 23133 type: "object" 23134 }, 23135 url: { 23136 type: "string", 23137 source: "attribute", 23138 selector: "img", 23139 attribute: "src", 23140 role: "content" 23141 }, 23142 alt: { 23143 type: "string", 23144 source: "attribute", 23145 selector: "img", 23146 attribute: "alt", 23147 default: "", 23148 role: "content" 23149 }, 23150 caption: { 23151 type: "string", 23152 source: "html", 23153 selector: "figcaption", 23154 role: "content" 23155 }, 23156 title: { 23157 type: "string", 23158 source: "attribute", 23159 selector: "img", 23160 attribute: "title", 23161 role: "content" 23162 }, 23163 href: { 23164 type: "string", 23165 source: "attribute", 23166 selector: "figure > a", 23167 attribute: "href", 23168 role: "content" 23169 }, 23170 rel: { 23171 type: "string", 23172 source: "attribute", 23173 selector: "figure > a", 23174 attribute: "rel" 23175 }, 23176 linkClass: { 23177 type: "string", 23178 source: "attribute", 23179 selector: "figure > a", 23180 attribute: "class" 23181 }, 23182 id: { 23183 type: "number", 23184 role: "content" 23185 }, 23186 width: { 23187 type: "string" 23188 }, 23189 height: { 23190 type: "string" 23191 }, 23192 aspectRatio: { 23193 type: "string" 23194 }, 23195 scale: { 23196 type: "string" 23197 }, 23198 sizeSlug: { 23199 type: "string" 23200 }, 23201 linkDestination: { 23202 type: "string" 23203 }, 23204 linkTarget: { 23205 type: "string", 23206 source: "attribute", 23207 selector: "figure > a", 23208 attribute: "target" 23209 } 23210 }, 23211 supports: { 23212 anchor: true, 23213 color: { 23214 text: false, 23215 background: false 23216 }, 23217 filter: { 23218 duotone: true 23219 }, 23220 __experimentalBorder: { 23221 color: true, 23222 radius: true, 23223 width: true, 23224 __experimentalSkipSerialization: true, 23225 __experimentalDefaultControls: { 23226 color: true, 23227 radius: true, 23228 width: true 23229 } 23230 } 23231 }, 23232 migrate({ width, height, ...attributes }) { 23233 if (!attributes.behaviors?.lightbox) { 23234 return attributes; 23235 } 23236 const { 23237 behaviors: { 23238 lightbox: { enabled } 23239 } 23240 } = attributes; 23241 const newAttributes = { 23242 ...attributes, 23243 lightbox: { 23244 enabled 23245 } 23246 }; 23247 delete newAttributes.behaviors; 23248 return newAttributes; 23249 }, 23250 isEligible(attributes) { 23251 return !!attributes.behaviors; 23252 }, 23253 save({ attributes }) { 23254 const { 23255 url, 23256 alt, 23257 caption, 23258 align, 23259 href, 23260 rel, 23261 linkClass, 23262 width, 23263 height, 23264 aspectRatio, 23265 scale, 23266 id, 23267 linkTarget, 23268 sizeSlug, 23269 title 23270 } = attributes; 23271 const newRel = !rel ? void 0 : rel; 23272 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 23273 const classes = dist_clsx({ 23274 [`align$align}`]: align, 23275 [`size-$sizeSlug}`]: sizeSlug, 23276 "is-resized": width || height, 23277 "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0 23278 }); 23279 const imageClasses = dist_clsx(borderProps.className, { 23280 [`wp-image-$id}`]: !!id 23281 }); 23282 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23283 "img", 23284 { 23285 src: url, 23286 alt, 23287 className: imageClasses || void 0, 23288 style: { 23289 ...borderProps.style, 23290 aspectRatio, 23291 objectFit: scale, 23292 width, 23293 height 23294 }, 23295 title 23296 } 23297 ); 23298 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23299 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23300 "a", 23301 { 23302 className: linkClass, 23303 href, 23304 target: linkTarget, 23305 rel: newRel, 23306 children: image 23307 } 23308 ) : image, 23309 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23310 external_wp_blockEditor_namespaceObject.RichText.Content, 23311 { 23312 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 23313 "caption" 23314 ), 23315 tagName: "figcaption", 23316 value: caption 23317 } 23318 ) 23319 ] }); 23320 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 23321 } 23322 }; 23323 var image_deprecated_deprecated_default = [deprecated_v8, image_deprecated_v7, image_deprecated_v6, image_deprecated_v5, image_deprecated_v4, image_deprecated_v3, image_deprecated_v2, image_deprecated_v1]; 23324 23325 23326 ;// ./node_modules/@wordpress/icons/build-module/library/plugins.js 23327 23328 23329 var plugins_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10.5 4v4h3V4H15v4h1.5a1 1 0 011 1v4l-3 4v2a1 1 0 01-1 1h-3a1 1 0 01-1-1v-2l-3-4V9a1 1 0 011-1H9V4h1.5zm.5 12.5v2h2v-2l3-4v-3H8v3l3 4z" }) }); 23330 23331 23332 ;// ./node_modules/@wordpress/icons/build-module/library/chevron-down.js 23333 23334 23335 var chevron_down_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.5 11.6L12 16l-5.5-4.4.9-1.2L12 14l4.5-3.6 1 1.2z" }) }); 23336 23337 23338 ;// ./node_modules/@wordpress/icons/build-module/library/crop.js 23339 23340 23341 var crop_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 20v-2h2v-1.5H7.75a.25.25 0 0 1-.25-.25V4H6v2H4v1.5h2v8.75c0 .966.784 1.75 1.75 1.75h8.75v2H18ZM9.273 7.5h6.977a.25.25 0 0 1 .25.25v6.977H18V7.75A1.75 1.75 0 0 0 16.25 6H9.273v1.5Z" }) }); 23342 23343 23344 ;// ./node_modules/@wordpress/icons/build-module/library/overlay-text.js 23345 23346 23347 var overlay_text_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z" }) }); 23348 23349 23350 ;// ./node_modules/@wordpress/icons/build-module/library/upload.js 23351 23352 23353 var upload_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z" }) }); 23354 23355 23356 ;// ./node_modules/@wordpress/block-library/build-module/image/image.js 23357 23358 23359 23360 23361 23362 23363 23364 23365 23366 23367 23368 23369 23370 23371 23372 23373 23374 23375 23376 23377 const { DimensionsTool, ResolutionTool: image_ResolutionTool } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 23378 const scaleOptions = [ 23379 { 23380 value: "cover", 23381 label: (0,external_wp_i18n_namespaceObject._x)("Cover", "Scale option for dimensions control"), 23382 help: (0,external_wp_i18n_namespaceObject.__)("Image covers the space evenly.") 23383 }, 23384 { 23385 value: "contain", 23386 label: (0,external_wp_i18n_namespaceObject._x)("Contain", "Scale option for dimensions control"), 23387 help: (0,external_wp_i18n_namespaceObject.__)("Image is contained without distortion.") 23388 } 23389 ]; 23390 const WRITEMODE_POPOVER_PROPS = { 23391 placement: "bottom-start" 23392 }; 23393 const ImageWrapper = ({ href, children }) => { 23394 if (!href) { 23395 return children; 23396 } 23397 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23398 "a", 23399 { 23400 href, 23401 onClick: (event) => event.preventDefault(), 23402 "aria-disabled": true, 23403 style: { 23404 // When the Image block is linked, 23405 // it's wrapped with a disabled <a /> tag. 23406 // Restore cursor style so it doesn't appear 'clickable' 23407 // and remove pointer events. Safari needs the display property. 23408 pointerEvents: "none", 23409 cursor: "default", 23410 display: "inline" 23411 }, 23412 children 23413 } 23414 ); 23415 }; 23416 function ContentOnlyControls({ 23417 attributes, 23418 setAttributes, 23419 lockAltControls, 23420 lockAltControlsMessage, 23421 lockTitleControls, 23422 lockTitleControlsMessage 23423 }) { 23424 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 23425 const [isAltDialogOpen, setIsAltDialogOpen] = (0,external_wp_element_namespaceObject.useState)(false); 23426 const [isTitleDialogOpen, setIsTitleDialogOpen] = (0,external_wp_element_namespaceObject.useState)(false); 23427 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23428 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarItem, { ref: setPopoverAnchor, children: (toggleProps) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23429 external_wp_components_namespaceObject.DropdownMenu, 23430 { 23431 icon: chevron_down_default, 23432 label: (0,external_wp_i18n_namespaceObject.__)("More"), 23433 toggleProps: { 23434 ...toggleProps, 23435 description: (0,external_wp_i18n_namespaceObject.__)("Displays more controls.") 23436 }, 23437 popoverProps: WRITEMODE_POPOVER_PROPS, 23438 children: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23439 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23440 external_wp_components_namespaceObject.MenuItem, 23441 { 23442 onClick: () => { 23443 setIsAltDialogOpen(true); 23444 onClose(); 23445 }, 23446 "aria-haspopup": "dialog", 23447 children: (0,external_wp_i18n_namespaceObject._x)( 23448 "Alternative text", 23449 "Alternative text for an image. Block toolbar label, a low character count is preferred." 23450 ) 23451 } 23452 ), 23453 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23454 external_wp_components_namespaceObject.MenuItem, 23455 { 23456 onClick: () => { 23457 setIsTitleDialogOpen(true); 23458 onClose(); 23459 }, 23460 "aria-haspopup": "dialog", 23461 children: (0,external_wp_i18n_namespaceObject.__)("Title text") 23462 } 23463 ) 23464 ] }) 23465 } 23466 ) }), 23467 isAltDialogOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23468 external_wp_components_namespaceObject.Popover, 23469 { 23470 placement: "bottom-start", 23471 anchor: popoverAnchor, 23472 onClose: () => setIsAltDialogOpen(false), 23473 offset: 13, 23474 variant: "toolbar", 23475 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-image__toolbar_content_textarea__container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23476 external_wp_components_namespaceObject.TextareaControl, 23477 { 23478 className: "wp-block-image__toolbar_content_textarea", 23479 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 23480 value: attributes.alt || "", 23481 onChange: (value) => setAttributes({ alt: value }), 23482 disabled: lockAltControls, 23483 help: lockAltControls ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: lockAltControlsMessage }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23484 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23485 external_wp_components_namespaceObject.ExternalLink, 23486 { 23487 href: ( 23488 // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. 23489 (0,external_wp_i18n_namespaceObject.__)( 23490 "https://www.w3.org/WAI/tutorials/images/decision-tree/" 23491 ) 23492 ), 23493 children: (0,external_wp_i18n_namespaceObject.__)( 23494 "Describe the purpose of the image." 23495 ) 23496 } 23497 ), 23498 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 23499 (0,external_wp_i18n_namespaceObject.__)("Leave empty if decorative.") 23500 ] }), 23501 __nextHasNoMarginBottom: true 23502 } 23503 ) }) 23504 } 23505 ), 23506 isTitleDialogOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23507 external_wp_components_namespaceObject.Popover, 23508 { 23509 placement: "bottom-start", 23510 anchor: popoverAnchor, 23511 onClose: () => setIsTitleDialogOpen(false), 23512 offset: 13, 23513 variant: "toolbar", 23514 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-image__toolbar_content_textarea__container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23515 external_wp_components_namespaceObject.TextControl, 23516 { 23517 __next40pxDefaultSize: true, 23518 className: "wp-block-image__toolbar_content_textarea", 23519 __nextHasNoMarginBottom: true, 23520 label: (0,external_wp_i18n_namespaceObject.__)("Title attribute"), 23521 value: attributes.title || "", 23522 onChange: (value) => setAttributes({ 23523 title: value 23524 }), 23525 disabled: lockTitleControls, 23526 help: lockTitleControls ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: lockTitleControlsMessage }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23527 (0,external_wp_i18n_namespaceObject.__)( 23528 "Describe the role of this image on the page." 23529 ), 23530 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute", children: (0,external_wp_i18n_namespaceObject.__)( 23531 "(Note: many devices and browsers do not display this text.)" 23532 ) }) 23533 ] }) 23534 } 23535 ) }) 23536 } 23537 ) 23538 ] }); 23539 } 23540 function image_Image({ 23541 temporaryURL, 23542 attributes, 23543 setAttributes, 23544 isSingleSelected, 23545 insertBlocksAfter, 23546 onReplace, 23547 onSelectImage, 23548 onSelectURL, 23549 onUploadError, 23550 context, 23551 clientId, 23552 blockEditingMode, 23553 parentLayoutType, 23554 maxContentWidth 23555 }) { 23556 const { 23557 url = "", 23558 alt, 23559 align, 23560 id, 23561 href, 23562 rel, 23563 linkClass, 23564 linkDestination, 23565 title, 23566 width, 23567 height, 23568 aspectRatio, 23569 scale, 23570 linkTarget, 23571 sizeSlug, 23572 lightbox, 23573 metadata 23574 } = attributes; 23575 const [imageElement, setImageElement] = (0,external_wp_element_namespaceObject.useState)(); 23576 const [resizeDelta, setResizeDelta] = (0,external_wp_element_namespaceObject.useState)(null); 23577 const [pixelSize, setPixelSize] = (0,external_wp_element_namespaceObject.useState)({}); 23578 const [offsetTop, setOffsetTop] = (0,external_wp_element_namespaceObject.useState)(0); 23579 const setResizeObserved = (0,external_wp_compose_namespaceObject.useResizeObserver)(([entry]) => { 23580 if (!resizeDelta) { 23581 const [box] = entry.borderBoxSize; 23582 setPixelSize({ width: box.inlineSize, height: box.blockSize }); 23583 } 23584 setOffsetTop(entry.target.offsetTop); 23585 }); 23586 const effectResizeableBoxPlacement = (0,external_wp_element_namespaceObject.useCallback)(() => { 23587 setOffsetTop(imageElement?.offsetTop ?? 0); 23588 }, [imageElement]); 23589 const setRefs = (0,external_wp_compose_namespaceObject.useMergeRefs)([setImageElement, setResizeObserved]); 23590 const { allowResize = true } = context; 23591 const image = (0,external_wp_data_namespaceObject.useSelect)( 23592 (select) => id && isSingleSelected ? select(external_wp_coreData_namespaceObject.store).getEntityRecord( 23593 "postType", 23594 "attachment", 23595 id, 23596 { context: "view" } 23597 ) : null, 23598 [id, isSingleSelected] 23599 ); 23600 const { canInsertCover, imageEditing, imageSizes, maxWidth } = (0,external_wp_data_namespaceObject.useSelect)( 23601 (select) => { 23602 const { getBlockRootClientId, canInsertBlockType, getSettings: getSettings2 } = select(external_wp_blockEditor_namespaceObject.store); 23603 const rootClientId = getBlockRootClientId(clientId); 23604 const settings = getSettings2(); 23605 return { 23606 imageEditing: settings.imageEditing, 23607 imageSizes: settings.imageSizes, 23608 maxWidth: settings.maxWidth, 23609 canInsertCover: canInsertBlockType( 23610 "core/cover", 23611 rootClientId 23612 ) 23613 }; 23614 }, 23615 [clientId] 23616 ); 23617 const { getBlock, getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 23618 const { replaceBlocks, toggleSelection } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 23619 const { createErrorNotice, createSuccessNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 23620 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 23621 const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)("medium"); 23622 const isWideAligned = ["wide", "full"].includes(align); 23623 const [ 23624 { loadedNaturalWidth, loadedNaturalHeight }, 23625 setLoadedNaturalSize 23626 ] = (0,external_wp_element_namespaceObject.useState)({}); 23627 const [isEditingImage, setIsEditingImage] = (0,external_wp_element_namespaceObject.useState)(false); 23628 const [externalBlob, setExternalBlob] = (0,external_wp_element_namespaceObject.useState)(); 23629 const [hasImageErrored, setHasImageErrored] = (0,external_wp_element_namespaceObject.useState)(false); 23630 const hasNonContentControls = blockEditingMode === "default"; 23631 const isContentOnlyMode = blockEditingMode === "contentOnly"; 23632 const isResizable = allowResize && hasNonContentControls && !isWideAligned && isLargeViewport; 23633 const imageSizeOptions = imageSizes.filter( 23634 ({ slug }) => image?.media_details?.sizes?.[slug]?.source_url 23635 ).map(({ name, slug }) => ({ value: slug, label: name })); 23636 (0,external_wp_element_namespaceObject.useEffect)(() => { 23637 if (!isExternalImage(id, url) || !isSingleSelected || !getSettings().mediaUpload) { 23638 setExternalBlob(); 23639 return; 23640 } 23641 if (externalBlob) { 23642 return; 23643 } 23644 window.fetch(url.includes("?") ? url : url + "?").then((response) => response.blob()).then((blob) => setExternalBlob(blob)).catch(() => { 23645 }); 23646 }, [id, url, isSingleSelected, externalBlob, getSettings]); 23647 const { naturalWidth, naturalHeight } = (0,external_wp_element_namespaceObject.useMemo)(() => { 23648 return { 23649 naturalWidth: imageElement?.naturalWidth || loadedNaturalWidth || void 0, 23650 naturalHeight: imageElement?.naturalHeight || loadedNaturalHeight || void 0 23651 }; 23652 }, [loadedNaturalWidth, loadedNaturalHeight, imageElement?.complete]); 23653 function onImageError() { 23654 setHasImageErrored(true); 23655 const embedBlock = createUpgradedEmbedBlock({ attributes: { url } }); 23656 if (void 0 !== embedBlock) { 23657 onReplace(embedBlock); 23658 } 23659 } 23660 function onImageLoad(event) { 23661 setHasImageErrored(false); 23662 setLoadedNaturalSize({ 23663 loadedNaturalWidth: event.target?.naturalWidth, 23664 loadedNaturalHeight: event.target?.naturalHeight 23665 }); 23666 } 23667 function onSetHref(props) { 23668 setAttributes(props); 23669 } 23670 function onSetLightbox(enable) { 23671 if (enable && !lightboxSetting?.enabled) { 23672 setAttributes({ 23673 lightbox: { enabled: true } 23674 }); 23675 } else if (!enable && lightboxSetting?.enabled) { 23676 setAttributes({ 23677 lightbox: { enabled: false } 23678 }); 23679 } else { 23680 setAttributes({ 23681 lightbox: void 0 23682 }); 23683 } 23684 } 23685 function resetLightbox() { 23686 if (lightboxSetting?.enabled && lightboxSetting?.allowEditing) { 23687 setAttributes({ 23688 lightbox: { enabled: false } 23689 }); 23690 } else { 23691 setAttributes({ 23692 lightbox: void 0 23693 }); 23694 } 23695 } 23696 function onSetTitle(value) { 23697 setAttributes({ title: value }); 23698 } 23699 function updateAlt(newAlt) { 23700 setAttributes({ alt: newAlt }); 23701 } 23702 function updateImage(newSizeSlug) { 23703 const newUrl = image?.media_details?.sizes?.[newSizeSlug]?.source_url; 23704 if (!newUrl) { 23705 return null; 23706 } 23707 setAttributes({ 23708 url: newUrl, 23709 sizeSlug: newSizeSlug 23710 }); 23711 } 23712 function uploadExternal() { 23713 const { mediaUpload } = getSettings(); 23714 if (!mediaUpload) { 23715 return; 23716 } 23717 mediaUpload({ 23718 filesList: [externalBlob], 23719 onFileChange([img2]) { 23720 onSelectImage(img2); 23721 if ((0,external_wp_blob_namespaceObject.isBlobURL)(img2.url)) { 23722 return; 23723 } 23724 setExternalBlob(); 23725 createSuccessNotice((0,external_wp_i18n_namespaceObject.__)("Image uploaded."), { 23726 type: "snackbar" 23727 }); 23728 }, 23729 allowedTypes: constants_ALLOWED_MEDIA_TYPES, 23730 onError(message) { 23731 createErrorNotice(message, { type: "snackbar" }); 23732 } 23733 }); 23734 } 23735 (0,external_wp_element_namespaceObject.useEffect)(() => { 23736 if (!isSingleSelected) { 23737 setIsEditingImage(false); 23738 } 23739 }, [isSingleSelected]); 23740 const canEditImage = id && naturalWidth && naturalHeight && imageEditing; 23741 const allowCrop = isSingleSelected && canEditImage && !isEditingImage && !isContentOnlyMode; 23742 function switchToCover() { 23743 replaceBlocks( 23744 clientId, 23745 (0,external_wp_blocks_namespaceObject.switchToBlockType)(getBlock(clientId), "core/cover") 23746 ); 23747 } 23748 const dimensionsUnitsOptions = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 23749 availableUnits: ["px"] 23750 }); 23751 const [lightboxSetting] = (0,external_wp_blockEditor_namespaceObject.useSettings)("lightbox"); 23752 const showLightboxSetting = ( 23753 // If a block-level override is set, we should give users the option to 23754 // remove that override, even if the lightbox UI is disabled in the settings. 23755 !!lightbox && lightbox?.enabled !== lightboxSetting?.enabled || lightboxSetting?.allowEditing 23756 ); 23757 const lightboxChecked = !!lightbox?.enabled || !lightbox && !!lightboxSetting?.enabled; 23758 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 23759 const dimensionsControl = isResizable && (SIZED_LAYOUTS.includes(parentLayoutType) ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23760 DimensionsTool, 23761 { 23762 value: { aspectRatio }, 23763 onChange: ({ aspectRatio: newAspectRatio }) => { 23764 setAttributes({ 23765 aspectRatio: newAspectRatio, 23766 scale: "cover" 23767 }); 23768 }, 23769 defaultAspectRatio: "auto", 23770 tools: ["aspectRatio"] 23771 } 23772 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23773 DimensionsTool, 23774 { 23775 value: { width, height, scale, aspectRatio }, 23776 onChange: ({ 23777 width: newWidth, 23778 height: newHeight, 23779 scale: newScale, 23780 aspectRatio: newAspectRatio 23781 }) => { 23782 setAttributes({ 23783 // CSS includes `height: auto`, but we need 23784 // `width: auto` to fix the aspect ratio when 23785 // only height is set due to the width and 23786 // height attributes set via the server. 23787 width: !newWidth && newHeight ? "auto" : newWidth, 23788 height: newHeight, 23789 scale: newScale, 23790 aspectRatio: newAspectRatio 23791 }); 23792 }, 23793 defaultScale: "cover", 23794 defaultAspectRatio: "auto", 23795 scaleOptions, 23796 unitsOptions: dimensionsUnitsOptions 23797 } 23798 )); 23799 const resetAll = () => { 23800 setAttributes({ 23801 alt: void 0, 23802 width: void 0, 23803 height: void 0, 23804 scale: void 0, 23805 aspectRatio: void 0, 23806 lightbox: void 0 23807 }); 23808 updateImage(image_constants_DEFAULT_MEDIA_SIZE_SLUG); 23809 }; 23810 const sizeControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23811 external_wp_components_namespaceObject.__experimentalToolsPanel, 23812 { 23813 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 23814 resetAll, 23815 dropdownMenuProps, 23816 children: dimensionsControl 23817 } 23818 ) }); 23819 const arePatternOverridesEnabled = metadata?.bindings?.__default?.source === "core/pattern-overrides"; 23820 const { 23821 lockUrlControls = false, 23822 lockHrefControls = false, 23823 lockAltControls = false, 23824 lockAltControlsMessage, 23825 lockTitleControls = false, 23826 lockTitleControlsMessage, 23827 hideCaptionControls = false 23828 } = (0,external_wp_data_namespaceObject.useSelect)( 23829 (select) => { 23830 if (!isSingleSelected) { 23831 return {}; 23832 } 23833 const { 23834 url: urlBinding, 23835 alt: altBinding, 23836 title: titleBinding, 23837 caption: captionBinding 23838 } = metadata?.bindings || {}; 23839 const hasParentPattern = !!context["pattern/overrides"]; 23840 const urlBindingSource = (0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 23841 urlBinding?.source 23842 ); 23843 const altBindingSource = (0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 23844 altBinding?.source 23845 ); 23846 const titleBindingSource = (0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 23847 titleBinding?.source 23848 ); 23849 return { 23850 lockUrlControls: !!urlBinding && !urlBindingSource?.canUserEditValue?.({ 23851 select, 23852 context, 23853 args: urlBinding?.args 23854 }), 23855 lockHrefControls: ( 23856 // Disable editing the link of the URL if the image is inside a pattern instance. 23857 // This is a temporary solution until we support overriding the link on the frontend. 23858 hasParentPattern || arePatternOverridesEnabled 23859 ), 23860 hideCaptionControls: !!captionBinding, 23861 lockAltControls: !!altBinding && !altBindingSource?.canUserEditValue?.({ 23862 select, 23863 context, 23864 args: altBinding?.args 23865 }), 23866 lockAltControlsMessage: altBindingSource?.label ? (0,external_wp_i18n_namespaceObject.sprintf)( 23867 /* translators: %s: Label of the bindings source. */ 23868 (0,external_wp_i18n_namespaceObject.__)("Connected to %s"), 23869 altBindingSource.label 23870 ) : (0,external_wp_i18n_namespaceObject.__)("Connected to dynamic data"), 23871 lockTitleControls: !!titleBinding && !titleBindingSource?.canUserEditValue?.({ 23872 select, 23873 context, 23874 args: titleBinding?.args 23875 }), 23876 lockTitleControlsMessage: titleBindingSource?.label ? (0,external_wp_i18n_namespaceObject.sprintf)( 23877 /* translators: %s: Label of the bindings source. */ 23878 (0,external_wp_i18n_namespaceObject.__)("Connected to %s"), 23879 titleBindingSource.label 23880 ) : (0,external_wp_i18n_namespaceObject.__)("Connected to dynamic data") 23881 }; 23882 }, 23883 [ 23884 arePatternOverridesEnabled, 23885 context, 23886 isSingleSelected, 23887 metadata?.bindings 23888 ] 23889 ); 23890 const showUrlInput = isSingleSelected && !isEditingImage && !lockHrefControls && !lockUrlControls; 23891 const showCoverControls = isSingleSelected && canInsertCover && !isContentOnlyMode; 23892 const showBlockControls = showUrlInput || allowCrop || showCoverControls; 23893 const mediaReplaceFlow = isSingleSelected && !isEditingImage && !lockUrlControls && // For contentOnly mode, put this button in its own area so it has borders around it. 23894 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: isContentOnlyMode ? "inline" : "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23895 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 23896 { 23897 mediaId: id, 23898 mediaURL: url, 23899 allowedTypes: constants_ALLOWED_MEDIA_TYPES, 23900 accept: "image/*", 23901 onSelect: onSelectImage, 23902 onSelectURL, 23903 onError: onUploadError, 23904 name: !url ? (0,external_wp_i18n_namespaceObject.__)("Add image") : (0,external_wp_i18n_namespaceObject.__)("Replace"), 23905 onReset: () => onSelectImage(void 0) 23906 } 23907 ) }); 23908 const controls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23909 showBlockControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 23910 showUrlInput && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23911 external_wp_blockEditor_namespaceObject.__experimentalImageURLInputUI, 23912 { 23913 url: href || "", 23914 onChangeUrl: onSetHref, 23915 linkDestination, 23916 mediaUrl: image && image.source_url || url, 23917 mediaLink: image && image.link, 23918 linkTarget, 23919 linkClass, 23920 rel, 23921 showLightboxSetting, 23922 lightboxEnabled: lightboxChecked, 23923 onSetLightbox, 23924 resetLightbox 23925 } 23926 ), 23927 allowCrop && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23928 external_wp_components_namespaceObject.ToolbarButton, 23929 { 23930 onClick: () => setIsEditingImage(true), 23931 icon: crop_default, 23932 label: (0,external_wp_i18n_namespaceObject.__)("Crop") 23933 } 23934 ), 23935 showCoverControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23936 external_wp_components_namespaceObject.ToolbarButton, 23937 { 23938 icon: overlay_text_default, 23939 label: (0,external_wp_i18n_namespaceObject.__)("Add text over image"), 23940 onClick: switchToCover 23941 } 23942 ) 23943 ] }), 23944 isSingleSelected && externalBlob && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23945 external_wp_components_namespaceObject.ToolbarButton, 23946 { 23947 onClick: uploadExternal, 23948 icon: upload_default, 23949 label: (0,external_wp_i18n_namespaceObject.__)("Upload to Media Library") 23950 } 23951 ) }) }), 23952 isContentOnlyMode && // Add some extra controls for content attributes when content only mode is active. 23953 // With content only mode active, the inspector is hidden, so users need another way 23954 // to edit these attributes. 23955 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23956 ContentOnlyControls, 23957 { 23958 attributes, 23959 setAttributes, 23960 lockAltControls, 23961 lockAltControlsMessage, 23962 lockTitleControls, 23963 lockTitleControlsMessage 23964 } 23965 ) }), 23966 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 23967 external_wp_components_namespaceObject.__experimentalToolsPanel, 23968 { 23969 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 23970 resetAll, 23971 dropdownMenuProps, 23972 children: [ 23973 isSingleSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23974 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 23975 { 23976 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 23977 isShownByDefault: true, 23978 hasValue: () => !!alt, 23979 onDeselect: () => setAttributes({ alt: void 0 }), 23980 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23981 external_wp_components_namespaceObject.TextareaControl, 23982 { 23983 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 23984 value: alt || "", 23985 onChange: updateAlt, 23986 readOnly: lockAltControls, 23987 help: lockAltControls ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: lockAltControlsMessage }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 23988 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 23989 external_wp_components_namespaceObject.ExternalLink, 23990 { 23991 href: ( 23992 // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. 23993 (0,external_wp_i18n_namespaceObject.__)( 23994 "https://www.w3.org/WAI/tutorials/images/decision-tree/" 23995 ) 23996 ), 23997 children: (0,external_wp_i18n_namespaceObject.__)( 23998 "Describe the purpose of the image." 23999 ) 24000 } 24001 ), 24002 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 24003 (0,external_wp_i18n_namespaceObject.__)( 24004 "Leave empty if decorative." 24005 ) 24006 ] }), 24007 __nextHasNoMarginBottom: true 24008 } 24009 ) 24010 } 24011 ), 24012 dimensionsControl, 24013 !!imageSizeOptions.length && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24014 image_ResolutionTool, 24015 { 24016 value: sizeSlug, 24017 defaultValue: image_constants_DEFAULT_MEDIA_SIZE_SLUG, 24018 onChange: updateImage, 24019 options: imageSizeOptions 24020 } 24021 ) 24022 ] 24023 } 24024 ) }), 24025 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24026 external_wp_components_namespaceObject.TextControl, 24027 { 24028 __nextHasNoMarginBottom: true, 24029 __next40pxDefaultSize: true, 24030 label: (0,external_wp_i18n_namespaceObject.__)("Title attribute"), 24031 value: title || "", 24032 onChange: onSetTitle, 24033 readOnly: lockTitleControls, 24034 help: lockTitleControls ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: lockTitleControlsMessage }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24035 (0,external_wp_i18n_namespaceObject.__)( 24036 "Describe the role of this image on the page." 24037 ), 24038 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute", children: (0,external_wp_i18n_namespaceObject.__)( 24039 "(Note: many devices and browsers do not display this text.)" 24040 ) }) 24041 ] }) 24042 } 24043 ) }) 24044 ] }); 24045 const filename = (0,external_wp_url_namespaceObject.getFilename)(url); 24046 let defaultedAlt; 24047 if (alt) { 24048 defaultedAlt = alt; 24049 } else if (filename) { 24050 defaultedAlt = (0,external_wp_i18n_namespaceObject.sprintf)( 24051 /* translators: %s: file name */ 24052 (0,external_wp_i18n_namespaceObject.__)("This image has an empty alt attribute; its file name is %s"), 24053 filename 24054 ); 24055 } else { 24056 defaultedAlt = (0,external_wp_i18n_namespaceObject.__)("This image has an empty alt attribute"); 24057 } 24058 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 24059 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 24060 const isRounded = attributes.className?.includes("is-style-rounded"); 24061 const { postType, postId, queryId } = context; 24062 const isDescendentOfQueryLoop = Number.isFinite(queryId); 24063 let img = temporaryURL && hasImageErrored ? ( 24064 // Show a placeholder during upload when the blob URL can't be loaded. This can 24065 // happen when the user uploads a HEIC image in a browser that doesn't support them. 24066 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24067 external_wp_components_namespaceObject.Placeholder, 24068 { 24069 className: "wp-block-image__placeholder", 24070 withIllustration: true, 24071 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 24072 } 24073 ) 24074 ) : ( 24075 // Disable reason: Image itself is not meant to be interactive, but 24076 // should direct focus to block. 24077 /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 24078 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24079 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24080 "img", 24081 { 24082 src: temporaryURL || url, 24083 alt: defaultedAlt, 24084 onError: onImageError, 24085 onLoad: onImageLoad, 24086 ref: setRefs, 24087 className: borderProps.className, 24088 width: naturalWidth, 24089 height: naturalHeight, 24090 style: { 24091 aspectRatio, 24092 ...resizeDelta ? { 24093 width: pixelSize.width + resizeDelta.width, 24094 height: pixelSize.height + resizeDelta.height 24095 } : { width, height }, 24096 objectFit: scale, 24097 ...borderProps.style, 24098 ...shadowProps.style 24099 } 24100 } 24101 ), 24102 temporaryURL && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 24103 ] }) 24104 ); 24105 if (canEditImage && isEditingImage) { 24106 img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ImageWrapper, { href, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24107 external_wp_blockEditor_namespaceObject.__experimentalImageEditor, 24108 { 24109 id, 24110 url, 24111 ...pixelSize, 24112 naturalHeight, 24113 naturalWidth, 24114 onSaveImage: (imageAttributes) => setAttributes(imageAttributes), 24115 onFinishEditing: () => { 24116 setIsEditingImage(false); 24117 }, 24118 borderProps: isRounded ? void 0 : borderProps 24119 } 24120 ) }); 24121 } else { 24122 img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ImageWrapper, { href, children: img }); 24123 } 24124 let resizableBox; 24125 if (isResizable && isSingleSelected && !isEditingImage && !SIZED_LAYOUTS.includes(parentLayoutType)) { 24126 const numericRatio = aspectRatio && evalAspectRatio(aspectRatio); 24127 const customRatio = pixelSize.width / pixelSize.height; 24128 const naturalRatio = naturalWidth / naturalHeight; 24129 const ratio = numericRatio || customRatio || naturalRatio || 1; 24130 const minWidth = naturalWidth < naturalHeight ? constants_MIN_SIZE : constants_MIN_SIZE * ratio; 24131 const minHeight = naturalHeight < naturalWidth ? constants_MIN_SIZE : constants_MIN_SIZE / ratio; 24132 const maxWidthBuffer = maxWidth * 2.5; 24133 const maxResizeWidth = maxContentWidth || maxWidthBuffer; 24134 let showRightHandle = false; 24135 let showLeftHandle = false; 24136 if (align === "center") { 24137 showRightHandle = true; 24138 showLeftHandle = true; 24139 } else if ((0,external_wp_i18n_namespaceObject.isRTL)()) { 24140 if (align === "left") { 24141 showRightHandle = true; 24142 } else { 24143 showLeftHandle = true; 24144 } 24145 } else { 24146 if (align === "right") { 24147 showLeftHandle = true; 24148 } else { 24149 showRightHandle = true; 24150 } 24151 } 24152 resizableBox = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24153 external_wp_components_namespaceObject.ResizableBox, 24154 { 24155 ref: effectResizeableBoxPlacement, 24156 style: { 24157 position: "absolute", 24158 // To match the vertical-align: bottom of the img (from style.scss) 24159 // syncs the top with the img. This matters when the img height is 24160 // less than the line-height. 24161 inset: `$offsetTop}px 0 0 0` 24162 }, 24163 size: pixelSize, 24164 minWidth, 24165 maxWidth: maxResizeWidth, 24166 minHeight, 24167 maxHeight: maxResizeWidth / ratio, 24168 lockAspectRatio: ratio, 24169 enable: { 24170 top: false, 24171 right: showRightHandle, 24172 bottom: true, 24173 left: showLeftHandle 24174 }, 24175 onResizeStart: () => { 24176 toggleSelection(false); 24177 }, 24178 onResize: (event, direction, elt, delta) => { 24179 setResizeDelta(delta); 24180 }, 24181 onResizeStop: (event, direction, elt, delta) => { 24182 toggleSelection(true); 24183 setResizeDelta(null); 24184 setPixelSize((current) => ({ 24185 width: current.width + delta.width, 24186 height: current.height + delta.height 24187 })); 24188 if (maxContentWidth && // Only do this if the image is bigger than the container to prevent it from being squished. 24189 // TODO: Remove this check if the image support setting 100% width. 24190 naturalWidth >= maxContentWidth && Math.abs(elt.offsetWidth - maxContentWidth) < 10) { 24191 setAttributes({ 24192 width: void 0, 24193 height: void 0 24194 }); 24195 return; 24196 } 24197 setAttributes({ 24198 width: `$elt.offsetWidth}px`, 24199 height: "auto", 24200 aspectRatio: ratio === naturalRatio ? void 0 : String(ratio) 24201 }); 24202 }, 24203 resizeRatio: align === "center" ? 2 : 1 24204 } 24205 ); 24206 } 24207 if (!url && !temporaryURL) { 24208 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24209 mediaReplaceFlow, 24210 metadata?.bindings ? controls : sizeControls 24211 ] }); 24212 } 24213 const setPostFeatureImage = () => { 24214 editEntityRecord("postType", postType, postId, { 24215 featured_media: id 24216 }); 24217 createSuccessNotice((0,external_wp_i18n_namespaceObject.__)("Post featured image updated."), { 24218 type: "snackbar" 24219 }); 24220 }; 24221 const featuredImageControl = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockSettingsMenuControls, { children: ({ selectedClientIds }) => selectedClientIds.length === 1 && !isDescendentOfQueryLoop && postId && id && clientId === selectedClientIds[0] && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuItem, { onClick: setPostFeatureImage, children: (0,external_wp_i18n_namespaceObject.__)("Set as featured image") }) }); 24222 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24223 mediaReplaceFlow, 24224 controls, 24225 featuredImageControl, 24226 img, 24227 resizableBox, 24228 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24229 Caption, 24230 { 24231 attributes, 24232 setAttributes, 24233 isSelected: isSingleSelected, 24234 insertBlocksAfter, 24235 label: (0,external_wp_i18n_namespaceObject.__)("Image caption text"), 24236 showToolbarButton: isSingleSelected && (hasNonContentControls || isContentOnlyMode) && !hideCaptionControls 24237 } 24238 ) 24239 ] }); 24240 } 24241 24242 24243 ;// ./node_modules/@wordpress/block-library/build-module/image/use-max-width-observer.js 24244 24245 24246 24247 function useMaxWidthObserver() { 24248 const [contentResizeListener, { width }] = (0,external_wp_compose_namespaceObject.useResizeObserver)(); 24249 const observerRef = (0,external_wp_element_namespaceObject.useRef)(); 24250 const maxWidthObserver = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24251 "div", 24252 { 24253 className: "wp-block", 24254 "aria-hidden": "true", 24255 style: { 24256 position: "absolute", 24257 inset: 0, 24258 width: "100%", 24259 height: 0, 24260 margin: 0 24261 }, 24262 ref: observerRef, 24263 children: contentResizeListener 24264 } 24265 ); 24266 return [maxWidthObserver, width]; 24267 } 24268 24269 24270 ;// ./node_modules/@wordpress/block-library/build-module/image/edit.js 24271 24272 24273 24274 24275 24276 24277 24278 24279 24280 24281 24282 24283 24284 24285 24286 24287 24288 const edit_pickRelevantMediaFiles = (image, size) => { 24289 const imageProps = Object.fromEntries( 24290 Object.entries(image ?? {}).filter( 24291 ([key]) => ["alt", "id", "link", "caption"].includes(key) 24292 ) 24293 ); 24294 imageProps.url = image?.sizes?.[size]?.url || image?.media_details?.sizes?.[size]?.source_url || image.url; 24295 return imageProps; 24296 }; 24297 const isExternalImage = (id, url) => url && !id && !(0,external_wp_blob_namespaceObject.isBlobURL)(url); 24298 function hasSize(image, size) { 24299 return "url" in (image?.sizes?.[size] ?? {}) || "source_url" in (image?.media_details?.sizes?.[size] ?? {}); 24300 } 24301 function ImageEdit({ 24302 attributes, 24303 setAttributes, 24304 isSelected: isSingleSelected, 24305 className, 24306 insertBlocksAfter, 24307 onReplace, 24308 context, 24309 clientId, 24310 __unstableParentLayout: parentLayout 24311 }) { 24312 const { 24313 url = "", 24314 caption, 24315 id, 24316 width, 24317 height, 24318 sizeSlug, 24319 aspectRatio, 24320 scale, 24321 align, 24322 metadata 24323 } = attributes; 24324 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(attributes.blob); 24325 const containerRef = (0,external_wp_element_namespaceObject.useRef)(); 24326 const layoutType = parentLayout?.type || parentLayout?.default?.type; 24327 const isMaxWidthContainerWidth = !layoutType || layoutType !== "flex" && layoutType !== "grid"; 24328 const [maxWidthObserver, maxContentWidth] = useMaxWidthObserver(); 24329 const [placeholderResizeListener, { width: placeholderWidth }] = (0,external_wp_compose_namespaceObject.useResizeObserver)(); 24330 const isSmallContainer = placeholderWidth && placeholderWidth < 160; 24331 const captionRef = (0,external_wp_element_namespaceObject.useRef)(); 24332 (0,external_wp_element_namespaceObject.useEffect)(() => { 24333 captionRef.current = caption; 24334 }, [caption]); 24335 const { __unstableMarkNextChangeAsNotPersistent, replaceBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 24336 (0,external_wp_element_namespaceObject.useEffect)(() => { 24337 if (["wide", "full"].includes(align)) { 24338 __unstableMarkNextChangeAsNotPersistent(); 24339 setAttributes({ 24340 width: void 0, 24341 height: void 0, 24342 aspectRatio: void 0, 24343 scale: void 0 24344 }); 24345 } 24346 }, [__unstableMarkNextChangeAsNotPersistent, align, setAttributes]); 24347 const { 24348 getSettings, 24349 getBlockRootClientId, 24350 getBlockName, 24351 canInsertBlockType 24352 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 24353 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 24354 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 24355 function onUploadError(message) { 24356 createErrorNotice(message, { type: "snackbar" }); 24357 setAttributes({ 24358 src: void 0, 24359 id: void 0, 24360 url: void 0, 24361 blob: void 0 24362 }); 24363 } 24364 function onSelectImagesList(images) { 24365 const win = containerRef.current?.ownerDocument.defaultView; 24366 if (images.every((file) => file instanceof win.File)) { 24367 const files = images; 24368 const rootClientId = getBlockRootClientId(clientId); 24369 if (files.some((file) => !isValidFileType(file))) { 24370 createErrorNotice( 24371 (0,external_wp_i18n_namespaceObject.__)( 24372 "If uploading to a gallery all files need to be image formats" 24373 ), 24374 { id: "gallery-upload-invalid-file", type: "snackbar" } 24375 ); 24376 } 24377 const imageBlocks = files.filter((file) => isValidFileType(file)).map( 24378 (file) => (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 24379 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 24380 }) 24381 ); 24382 if (getBlockName(rootClientId) === "core/gallery") { 24383 replaceBlock(clientId, imageBlocks); 24384 } else if (canInsertBlockType("core/gallery", rootClientId)) { 24385 const galleryBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 24386 "core/gallery", 24387 {}, 24388 imageBlocks 24389 ); 24390 replaceBlock(clientId, galleryBlock); 24391 } 24392 } 24393 } 24394 function onSelectImage(media) { 24395 if (Array.isArray(media)) { 24396 onSelectImagesList(media); 24397 return; 24398 } 24399 if (!media || !media.url) { 24400 setAttributes({ 24401 url: void 0, 24402 alt: void 0, 24403 id: void 0, 24404 title: void 0, 24405 caption: void 0, 24406 blob: void 0 24407 }); 24408 setTemporaryURL(); 24409 return; 24410 } 24411 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { 24412 setTemporaryURL(media.url); 24413 return; 24414 } 24415 const { imageDefaultSize } = getSettings(); 24416 let newSize = image_constants_DEFAULT_MEDIA_SIZE_SLUG; 24417 if (sizeSlug && hasSize(media, sizeSlug)) { 24418 newSize = sizeSlug; 24419 } else if (hasSize(media, imageDefaultSize)) { 24420 newSize = imageDefaultSize; 24421 } 24422 let mediaAttributes = edit_pickRelevantMediaFiles(media, newSize); 24423 if (typeof mediaAttributes.caption === "string" && mediaAttributes.caption.includes("\n")) { 24424 mediaAttributes.caption = mediaAttributes.caption.replace( 24425 /\n/g, 24426 "<br>" 24427 ); 24428 } 24429 if (captionRef.current && !mediaAttributes.caption) { 24430 const { caption: omittedCaption, ...restMediaAttributes } = mediaAttributes; 24431 mediaAttributes = restMediaAttributes; 24432 } 24433 let additionalAttributes; 24434 if (!media.id || media.id !== id) { 24435 additionalAttributes = { 24436 sizeSlug: newSize 24437 }; 24438 } 24439 let linkDestination = attributes.linkDestination; 24440 if (!linkDestination) { 24441 switch (window?.wp?.media?.view?.settings?.defaultProps?.link || constants_LINK_DESTINATION_NONE) { 24442 case "file": 24443 case constants_LINK_DESTINATION_MEDIA: 24444 linkDestination = constants_LINK_DESTINATION_MEDIA; 24445 break; 24446 case "post": 24447 case constants_LINK_DESTINATION_ATTACHMENT: 24448 linkDestination = constants_LINK_DESTINATION_ATTACHMENT; 24449 break; 24450 case LINK_DESTINATION_CUSTOM: 24451 linkDestination = LINK_DESTINATION_CUSTOM; 24452 break; 24453 case constants_LINK_DESTINATION_NONE: 24454 linkDestination = constants_LINK_DESTINATION_NONE; 24455 break; 24456 } 24457 } 24458 let href; 24459 switch (linkDestination) { 24460 case constants_LINK_DESTINATION_MEDIA: 24461 href = media.url; 24462 break; 24463 case constants_LINK_DESTINATION_ATTACHMENT: 24464 href = media.link; 24465 break; 24466 } 24467 mediaAttributes.href = href; 24468 setAttributes({ 24469 blob: void 0, 24470 ...mediaAttributes, 24471 ...additionalAttributes, 24472 linkDestination 24473 }); 24474 setTemporaryURL(); 24475 } 24476 function onSelectURL(newURL) { 24477 if (newURL !== url) { 24478 setAttributes({ 24479 blob: void 0, 24480 url: newURL, 24481 id: void 0, 24482 sizeSlug: getSettings().imageDefaultSize 24483 }); 24484 setTemporaryURL(); 24485 } 24486 } 24487 useUploadMediaFromBlobURL({ 24488 url: temporaryURL, 24489 allowedTypes: constants_ALLOWED_MEDIA_TYPES, 24490 onChange: onSelectImage, 24491 onError: onUploadError 24492 }); 24493 const isExternal = isExternalImage(id, url); 24494 const src = isExternal ? url : void 0; 24495 const mediaPreview = !!url && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24496 "img", 24497 { 24498 alt: (0,external_wp_i18n_namespaceObject.__)("Edit image"), 24499 title: (0,external_wp_i18n_namespaceObject.__)("Edit image"), 24500 className: "edit-image-preview", 24501 src: url 24502 } 24503 ); 24504 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 24505 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 24506 const classes = dist_clsx(className, { 24507 "is-transient": !!temporaryURL, 24508 "is-resized": !!width || !!height, 24509 [`size-$sizeSlug}`]: sizeSlug, 24510 "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0 24511 }); 24512 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 24513 ref: containerRef, 24514 className: classes 24515 }); 24516 const { lockUrlControls = false, lockUrlControlsMessage } = (0,external_wp_data_namespaceObject.useSelect)( 24517 (select) => { 24518 if (!isSingleSelected) { 24519 return {}; 24520 } 24521 const blockBindingsSource = (0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 24522 metadata?.bindings?.url?.source 24523 ); 24524 return { 24525 lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({ 24526 select, 24527 context, 24528 args: metadata?.bindings?.url?.args 24529 }), 24530 lockUrlControlsMessage: blockBindingsSource?.label ? (0,external_wp_i18n_namespaceObject.sprintf)( 24531 /* translators: %s: Label of the bindings source. */ 24532 (0,external_wp_i18n_namespaceObject.__)("Connected to %s"), 24533 blockBindingsSource.label 24534 ) : (0,external_wp_i18n_namespaceObject.__)("Connected to dynamic data") 24535 }; 24536 }, 24537 [context, isSingleSelected, metadata?.bindings?.url] 24538 ); 24539 const placeholder = (content) => { 24540 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 24541 external_wp_components_namespaceObject.Placeholder, 24542 { 24543 className: dist_clsx("block-editor-media-placeholder", { 24544 [borderProps.className]: !!borderProps.className && !isSingleSelected 24545 }), 24546 icon: !isSmallContainer && (lockUrlControls ? plugins_default : image_default), 24547 withIllustration: !isSingleSelected || isSmallContainer, 24548 label: !isSmallContainer && (0,external_wp_i18n_namespaceObject.__)("Image"), 24549 instructions: !lockUrlControls && !isSmallContainer && (0,external_wp_i18n_namespaceObject.__)( 24550 "Drag and drop an image, upload, or choose from your library." 24551 ), 24552 style: { 24553 aspectRatio: !(width && height) && aspectRatio ? aspectRatio : void 0, 24554 width: height && aspectRatio ? "100%" : width, 24555 height: width && aspectRatio ? "100%" : height, 24556 objectFit: scale, 24557 ...borderProps.style, 24558 ...shadowProps.style 24559 }, 24560 children: [ 24561 lockUrlControls && !isSmallContainer && lockUrlControlsMessage, 24562 !lockUrlControls && !isSmallContainer && content, 24563 placeholderResizeListener 24564 ] 24565 } 24566 ); 24567 }; 24568 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24569 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...blockProps, children: [ 24570 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24571 image_Image, 24572 { 24573 temporaryURL, 24574 attributes, 24575 setAttributes, 24576 isSingleSelected, 24577 insertBlocksAfter, 24578 onReplace, 24579 onSelectImage, 24580 onSelectURL, 24581 onUploadError, 24582 context, 24583 clientId, 24584 blockEditingMode, 24585 parentLayoutType: layoutType, 24586 maxContentWidth 24587 } 24588 ), 24589 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24590 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 24591 { 24592 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: image_default }), 24593 onSelect: onSelectImage, 24594 onSelectURL, 24595 onError: onUploadError, 24596 placeholder, 24597 accept: "image/*", 24598 allowedTypes: constants_ALLOWED_MEDIA_TYPES, 24599 handleUpload: (files) => files.length === 1, 24600 value: { id, src }, 24601 mediaPreview, 24602 disableMediaButtons: temporaryURL || url 24603 } 24604 ) 24605 ] }), 24606 // The listener cannot be placed as the first element as it will break the in-between inserter. 24607 // See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120 24608 isSingleSelected && isMaxWidthContainerWidth && maxWidthObserver 24609 ] }); 24610 } 24611 var image_edit_edit_default = ImageEdit; 24612 24613 24614 ;// ./node_modules/@wordpress/block-library/build-module/image/block.json 24615 const image_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/image","title":"Image","category":"media","usesContext":["allowResize","imageCrop","fixedHeight","postId","postType","queryId"],"description":"Insert an image to make a visual statement.","keywords":["img","photo","picture"],"textdomain":"default","attributes":{"blob":{"type":"string","role":"local"},"url":{"type":"string","source":"attribute","selector":"img","attribute":"src","role":"content"},"alt":{"type":"string","source":"attribute","selector":"img","attribute":"alt","default":"","role":"content"},"caption":{"type":"rich-text","source":"rich-text","selector":"figcaption","role":"content"},"lightbox":{"type":"object","enabled":{"type":"boolean"}},"title":{"type":"string","source":"attribute","selector":"img","attribute":"title","role":"content"},"href":{"type":"string","source":"attribute","selector":"figure > a","attribute":"href","role":"content"},"rel":{"type":"string","source":"attribute","selector":"figure > a","attribute":"rel"},"linkClass":{"type":"string","source":"attribute","selector":"figure > a","attribute":"class"},"id":{"type":"number","role":"content"},"width":{"type":"string"},"height":{"type":"string"},"aspectRatio":{"type":"string"},"scale":{"type":"string"},"sizeSlug":{"type":"string"},"linkDestination":{"type":"string"},"linkTarget":{"type":"string","source":"attribute","selector":"figure > a","attribute":"target"}},"supports":{"interactivity":true,"align":["left","center","right","wide","full"],"anchor":true,"color":{"text":false,"background":false},"filter":{"duotone":true},"spacing":{"margin":true},"__experimentalBorder":{"color":true,"radius":true,"width":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"color":true,"radius":true,"width":true}},"shadow":{"__experimentalSkipSerialization":true}},"selectors":{"border":".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder","shadow":".wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder","filter":{"duotone":".wp-block-image img, .wp-block-image .components-placeholder"}},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"rounded","label":"Rounded"}],"editorStyle":"wp-block-image-editor","style":"wp-block-image"}'); 24616 ;// ./node_modules/@wordpress/block-library/build-module/image/save.js 24617 24618 24619 24620 function image_save_save({ attributes }) { 24621 const { 24622 url, 24623 alt, 24624 caption, 24625 align, 24626 href, 24627 rel, 24628 linkClass, 24629 width, 24630 height, 24631 aspectRatio, 24632 scale, 24633 id, 24634 linkTarget, 24635 sizeSlug, 24636 title, 24637 metadata: { bindings = {} } = {} 24638 } = attributes; 24639 const newRel = !rel ? void 0 : rel; 24640 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 24641 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 24642 const classes = dist_clsx({ 24643 // All other align classes are handled by block supports. 24644 // `{ align: 'none' }` is unique to transforms for the image block. 24645 alignnone: "none" === align, 24646 [`size-$sizeSlug}`]: sizeSlug, 24647 "is-resized": width || height, 24648 "has-custom-border": !!borderProps.className || borderProps.style && Object.keys(borderProps.style).length > 0 24649 }); 24650 const imageClasses = dist_clsx(borderProps.className, { 24651 [`wp-image-$id}`]: !!id 24652 }); 24653 const image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24654 "img", 24655 { 24656 src: url, 24657 alt, 24658 className: imageClasses || void 0, 24659 style: { 24660 ...borderProps.style, 24661 ...shadowProps.style, 24662 aspectRatio, 24663 objectFit: scale, 24664 width, 24665 height 24666 }, 24667 title 24668 } 24669 ); 24670 const displayCaption = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) || bindings.caption || bindings?.__default?.source === "core/pattern-overrides"; 24671 const figure = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 24672 href ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24673 "a", 24674 { 24675 className: linkClass, 24676 href, 24677 target: linkTarget, 24678 rel: newRel, 24679 children: image 24680 } 24681 ) : image, 24682 displayCaption && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24683 external_wp_blockEditor_namespaceObject.RichText.Content, 24684 { 24685 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption"), 24686 tagName: "figcaption", 24687 value: caption 24688 } 24689 ) 24690 ] }); 24691 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className: classes }), children: figure }); 24692 } 24693 24694 24695 ;// ./node_modules/@wordpress/block-library/build-module/image/transforms.js 24696 24697 24698 function stripFirstImage(attributes, { shortcode }) { 24699 const { body } = document.implementation.createHTMLDocument(""); 24700 body.innerHTML = shortcode.content; 24701 let nodeToRemove = body.querySelector("img"); 24702 while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) { 24703 nodeToRemove = nodeToRemove.parentNode; 24704 } 24705 if (nodeToRemove) { 24706 nodeToRemove.parentNode.removeChild(nodeToRemove); 24707 } 24708 return body.innerHTML.trim(); 24709 } 24710 function getFirstAnchorAttributeFormHTML(html, attributeName) { 24711 const { body } = document.implementation.createHTMLDocument(""); 24712 body.innerHTML = html; 24713 const { firstElementChild } = body; 24714 if (firstElementChild && firstElementChild.nodeName === "A") { 24715 return firstElementChild.getAttribute(attributeName) || void 0; 24716 } 24717 } 24718 const imageSchema = { 24719 img: { 24720 attributes: ["src", "alt", "title"], 24721 classes: [ 24722 "alignleft", 24723 "aligncenter", 24724 "alignright", 24725 "alignnone", 24726 /^wp-image-\d+$/ 24727 ] 24728 } 24729 }; 24730 const schema = ({ phrasingContentSchema }) => ({ 24731 figure: { 24732 require: ["img"], 24733 children: { 24734 ...imageSchema, 24735 a: { 24736 attributes: ["href", "rel", "target"], 24737 classes: ["*"], 24738 children: imageSchema 24739 }, 24740 figcaption: { 24741 children: phrasingContentSchema 24742 } 24743 } 24744 } 24745 }); 24746 const image_transforms_transforms = { 24747 from: [ 24748 { 24749 type: "raw", 24750 isMatch: (node) => node.nodeName === "FIGURE" && !!node.querySelector("img"), 24751 schema, 24752 transform: (node) => { 24753 const className = node.className + " " + node.querySelector("img").className; 24754 const alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec( 24755 className 24756 ); 24757 const anchor = node.id === "" ? void 0 : node.id; 24758 const align = alignMatches ? alignMatches[1] : void 0; 24759 const idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec( 24760 className 24761 ); 24762 const id = idMatches ? Number(idMatches[1]) : void 0; 24763 const anchorElement = node.querySelector("a"); 24764 const linkDestination = anchorElement && anchorElement.href ? "custom" : void 0; 24765 const href = anchorElement && anchorElement.href ? anchorElement.href : void 0; 24766 const rel = anchorElement && anchorElement.rel ? anchorElement.rel : void 0; 24767 const linkClass = anchorElement && anchorElement.className ? anchorElement.className : void 0; 24768 const attributes = (0,external_wp_blocks_namespaceObject.getBlockAttributes)( 24769 "core/image", 24770 node.outerHTML, 24771 { 24772 align, 24773 id, 24774 linkDestination, 24775 href, 24776 rel, 24777 linkClass, 24778 anchor 24779 } 24780 ); 24781 if ((0,external_wp_blob_namespaceObject.isBlobURL)(attributes.url)) { 24782 attributes.blob = attributes.url; 24783 delete attributes.url; 24784 } 24785 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", attributes); 24786 } 24787 }, 24788 { 24789 // Note: when dragging and dropping multiple files onto a gallery this overrides the 24790 // gallery transform in order to add new images to the gallery instead of 24791 // creating a new gallery. 24792 type: "files", 24793 isMatch(files) { 24794 return files.every( 24795 (file) => file.type.indexOf("image/") === 0 24796 ); 24797 }, 24798 transform(files) { 24799 const blocks = files.map((file) => { 24800 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 24801 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 24802 }); 24803 }); 24804 return blocks; 24805 } 24806 }, 24807 { 24808 type: "shortcode", 24809 tag: "caption", 24810 attributes: { 24811 url: { 24812 type: "string", 24813 source: "attribute", 24814 attribute: "src", 24815 selector: "img" 24816 }, 24817 alt: { 24818 type: "string", 24819 source: "attribute", 24820 attribute: "alt", 24821 selector: "img" 24822 }, 24823 caption: { 24824 shortcode: stripFirstImage 24825 }, 24826 href: { 24827 shortcode: (attributes, { shortcode }) => { 24828 return getFirstAnchorAttributeFormHTML( 24829 shortcode.content, 24830 "href" 24831 ); 24832 } 24833 }, 24834 rel: { 24835 shortcode: (attributes, { shortcode }) => { 24836 return getFirstAnchorAttributeFormHTML( 24837 shortcode.content, 24838 "rel" 24839 ); 24840 } 24841 }, 24842 linkClass: { 24843 shortcode: (attributes, { shortcode }) => { 24844 return getFirstAnchorAttributeFormHTML( 24845 shortcode.content, 24846 "class" 24847 ); 24848 } 24849 }, 24850 id: { 24851 type: "number", 24852 shortcode: ({ named: { id } }) => { 24853 if (!id) { 24854 return; 24855 } 24856 return parseInt(id.replace("attachment_", ""), 10); 24857 } 24858 }, 24859 align: { 24860 type: "string", 24861 shortcode: ({ named: { align = "alignnone" } }) => { 24862 return align.replace("align", ""); 24863 } 24864 } 24865 } 24866 } 24867 ] 24868 }; 24869 var image_transforms_transforms_default = image_transforms_transforms; 24870 24871 24872 ;// ./node_modules/@wordpress/block-library/build-module/image/index.js 24873 24874 24875 24876 24877 24878 24879 24880 24881 const { name: image_name } = image_block_namespaceObject; 24882 const image_settings = { 24883 icon: image_default, 24884 example: { 24885 attributes: { 24886 sizeSlug: "large", 24887 url: "https://s.w.org/images/core/5.3/MtBlanc1.jpg", 24888 // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block. 24889 caption: (0,external_wp_i18n_namespaceObject.__)("Mont Blanc appears\u2014still, snowy, and serene.") 24890 } 24891 }, 24892 __experimentalLabel(attributes, { context }) { 24893 const customName = attributes?.metadata?.name; 24894 if (context === "list-view" && customName) { 24895 return customName; 24896 } 24897 if (context === "accessibility") { 24898 const { caption, alt, url } = attributes; 24899 if (!url) { 24900 return (0,external_wp_i18n_namespaceObject.__)("Empty"); 24901 } 24902 if (!alt) { 24903 return caption || ""; 24904 } 24905 return alt + (caption ? ". " + caption : ""); 24906 } 24907 }, 24908 getEditWrapperProps(attributes) { 24909 return { 24910 "data-align": attributes.align 24911 }; 24912 }, 24913 transforms: image_transforms_transforms_default, 24914 edit: image_edit_edit_default, 24915 save: image_save_save, 24916 deprecated: image_deprecated_deprecated_default 24917 }; 24918 const image_init = () => initBlock({ name: image_name, metadata: image_block_namespaceObject, settings: image_settings }); 24919 24920 24921 ;// ./node_modules/@wordpress/icons/build-module/library/comment.js 24922 24923 24924 var comment_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12.9c0 .6.5 1.1 1.1 1.1.3 0 .5-.1.8-.3L8.5 17H18c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5H7.9l-2.4 2.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v9z" }) }); 24925 24926 24927 ;// ./node_modules/@wordpress/block-library/build-module/latest-comments/block.json 24928 const latest_comments_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/latest-comments","title":"Latest Comments","category":"widgets","description":"Display a list of your most recent comments.","keywords":["recent comments"],"textdomain":"default","attributes":{"commentsToShow":{"type":"number","default":5,"minimum":1,"maximum":100},"displayAvatar":{"type":"boolean","default":true},"displayDate":{"type":"boolean","default":true},"displayExcerpt":{"type":"boolean","default":true}},"supports":{"align":true,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-latest-comments-editor","style":"wp-block-latest-comments"}'); 24929 ;// ./node_modules/@wordpress/block-library/build-module/latest-comments/edit.js 24930 24931 24932 24933 24934 24935 24936 const MIN_COMMENTS = 1; 24937 const MAX_COMMENTS = 100; 24938 function LatestComments({ attributes, setAttributes }) { 24939 const { commentsToShow, displayAvatar, displayDate, displayExcerpt } = attributes; 24940 const serverSideAttributes = { 24941 ...attributes, 24942 style: { 24943 ...attributes?.style, 24944 spacing: void 0 24945 } 24946 }; 24947 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 24948 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: [ 24949 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 24950 external_wp_components_namespaceObject.__experimentalToolsPanel, 24951 { 24952 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 24953 resetAll: () => { 24954 setAttributes({ 24955 commentsToShow: 5, 24956 displayAvatar: true, 24957 displayDate: true, 24958 displayExcerpt: true 24959 }); 24960 }, 24961 dropdownMenuProps, 24962 children: [ 24963 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24964 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 24965 { 24966 hasValue: () => !displayAvatar, 24967 label: (0,external_wp_i18n_namespaceObject.__)("Display avatar"), 24968 onDeselect: () => setAttributes({ displayAvatar: true }), 24969 isShownByDefault: true, 24970 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24971 external_wp_components_namespaceObject.ToggleControl, 24972 { 24973 __nextHasNoMarginBottom: true, 24974 label: (0,external_wp_i18n_namespaceObject.__)("Display avatar"), 24975 checked: displayAvatar, 24976 onChange: () => setAttributes({ 24977 displayAvatar: !displayAvatar 24978 }) 24979 } 24980 ) 24981 } 24982 ), 24983 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24984 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 24985 { 24986 hasValue: () => !displayDate, 24987 label: (0,external_wp_i18n_namespaceObject.__)("Display date"), 24988 onDeselect: () => setAttributes({ displayDate: true }), 24989 isShownByDefault: true, 24990 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 24991 external_wp_components_namespaceObject.ToggleControl, 24992 { 24993 __nextHasNoMarginBottom: true, 24994 label: (0,external_wp_i18n_namespaceObject.__)("Display date"), 24995 checked: displayDate, 24996 onChange: () => setAttributes({ displayDate: !displayDate }) 24997 } 24998 ) 24999 } 25000 ), 25001 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25002 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25003 { 25004 hasValue: () => !displayExcerpt, 25005 label: (0,external_wp_i18n_namespaceObject.__)("Display excerpt"), 25006 onDeselect: () => setAttributes({ displayExcerpt: true }), 25007 isShownByDefault: true, 25008 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25009 external_wp_components_namespaceObject.ToggleControl, 25010 { 25011 __nextHasNoMarginBottom: true, 25012 label: (0,external_wp_i18n_namespaceObject.__)("Display excerpt"), 25013 checked: displayExcerpt, 25014 onChange: () => setAttributes({ 25015 displayExcerpt: !displayExcerpt 25016 }) 25017 } 25018 ) 25019 } 25020 ), 25021 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25022 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25023 { 25024 hasValue: () => commentsToShow !== 5, 25025 label: (0,external_wp_i18n_namespaceObject.__)("Number of comments"), 25026 onDeselect: () => setAttributes({ commentsToShow: 5 }), 25027 isShownByDefault: true, 25028 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25029 external_wp_components_namespaceObject.RangeControl, 25030 { 25031 __nextHasNoMarginBottom: true, 25032 __next40pxDefaultSize: true, 25033 label: (0,external_wp_i18n_namespaceObject.__)("Number of comments"), 25034 value: commentsToShow, 25035 onChange: (value) => setAttributes({ commentsToShow: value }), 25036 min: MIN_COMMENTS, 25037 max: MAX_COMMENTS, 25038 required: true 25039 } 25040 ) 25041 } 25042 ) 25043 ] 25044 } 25045 ) }), 25046 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25047 (external_wp_serverSideRender_default()), 25048 { 25049 block: "core/latest-comments", 25050 attributes: serverSideAttributes, 25051 urlQueryArgs: { _locale: "site" } 25052 } 25053 ) }) 25054 ] }); 25055 } 25056 25057 25058 ;// ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js 25059 25060 25061 25062 25063 const { name: latest_comments_name } = latest_comments_block_namespaceObject; 25064 const latest_comments_settings = { 25065 icon: comment_default, 25066 example: {}, 25067 edit: LatestComments 25068 }; 25069 const latest_comments_init = () => initBlock({ name: latest_comments_name, metadata: latest_comments_block_namespaceObject, settings: latest_comments_settings }); 25070 25071 25072 ;// ./node_modules/@wordpress/icons/build-module/library/post-list.js 25073 25074 25075 var post_list_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 5.5H6a.5.5 0 0 0-.5.5v12a.5.5 0 0 0 .5.5h12a.5.5 0 0 0 .5-.5V6a.5.5 0 0 0-.5-.5ZM6 4h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Zm1 5h1.5v1.5H7V9Zm1.5 4.5H7V15h1.5v-1.5ZM10 9h7v1.5h-7V9Zm7 4.5h-7V15h7v-1.5Z" }) }); 25076 25077 25078 ;// ./node_modules/@wordpress/block-library/build-module/latest-posts/block.json 25079 const latest_posts_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/latest-posts","title":"Latest Posts","category":"widgets","description":"Display a list of your most recent posts.","keywords":["recent posts"],"textdomain":"default","attributes":{"categories":{"type":"array","items":{"type":"object"}},"selectedAuthor":{"type":"number"},"postsToShow":{"type":"number","default":5},"displayPostContent":{"type":"boolean","default":false},"displayPostContentRadio":{"type":"string","default":"excerpt"},"excerptLength":{"type":"number","default":55},"displayAuthor":{"type":"boolean","default":false},"displayPostDate":{"type":"boolean","default":false},"postLayout":{"type":"string","default":"list"},"columns":{"type":"number","default":3},"order":{"type":"string","default":"desc"},"orderBy":{"type":"string","default":"date"},"displayFeaturedImage":{"type":"boolean","default":false},"featuredImageAlign":{"type":"string","enum":["left","center","right"]},"featuredImageSizeSlug":{"type":"string","default":"thumbnail"},"featuredImageSizeWidth":{"type":"number","default":null},"featuredImageSizeHeight":{"type":"number","default":null},"addLinkToFeaturedImage":{"type":"boolean","default":false}},"supports":{"align":true,"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-latest-posts-editor","style":"wp-block-latest-posts"}'); 25080 ;// ./node_modules/@wordpress/block-library/build-module/latest-posts/deprecated.js 25081 25082 const { attributes: deprecated_attributes } = latest_posts_block_namespaceObject; 25083 var latest_posts_deprecated_deprecated_default = [ 25084 { 25085 attributes: { 25086 ...deprecated_attributes, 25087 categories: { 25088 type: "string" 25089 } 25090 }, 25091 supports: { 25092 align: true, 25093 html: false 25094 }, 25095 migrate: (oldAttributes) => { 25096 return { 25097 ...oldAttributes, 25098 categories: [{ id: Number(oldAttributes.categories) }] 25099 }; 25100 }, 25101 isEligible: ({ categories }) => categories && "string" === typeof categories, 25102 save: () => null 25103 } 25104 ]; 25105 25106 25107 ;// ./node_modules/@wordpress/icons/build-module/library/align-none.js 25108 25109 25110 var align_none_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM5 9h14v6H5V9Z" }) }); 25111 25112 25113 ;// ./node_modules/@wordpress/icons/build-module/library/position-left.js 25114 25115 25116 var position_left_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M5 5.5h8V4H5v1.5ZM5 20h8v-1.5H5V20ZM19 9H5v6h14V9Z" }) }); 25117 25118 25119 ;// ./node_modules/@wordpress/icons/build-module/library/position-center.js 25120 25121 25122 var position_center_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5H5V4h14v1.5ZM19 20H5v-1.5h14V20ZM7 9h10v6H7V9Z" }) }); 25123 25124 25125 ;// ./node_modules/@wordpress/icons/build-module/library/position-right.js 25126 25127 25128 var position_right_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 5.5h-8V4h8v1.5ZM19 20h-8v-1.5h8V20ZM5 9h14v6H5V9Z" }) }); 25129 25130 25131 ;// ./node_modules/@wordpress/icons/build-module/library/list.js 25132 25133 25134 var list_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z" }) }); 25135 25136 25137 ;// ./node_modules/@wordpress/block-library/build-module/latest-posts/constants.js 25138 const MIN_EXCERPT_LENGTH = 10; 25139 const MAX_EXCERPT_LENGTH = 100; 25140 const MAX_POSTS_COLUMNS = 6; 25141 const DEFAULT_EXCERPT_LENGTH = 55; 25142 25143 25144 ;// ./node_modules/@wordpress/block-library/build-module/latest-posts/edit.js 25145 25146 25147 25148 25149 25150 25151 25152 25153 25154 25155 25156 25157 25158 25159 const CATEGORIES_LIST_QUERY = { 25160 per_page: -1, 25161 _fields: "id,name", 25162 context: "view" 25163 }; 25164 const USERS_LIST_QUERY = { 25165 per_page: -1, 25166 has_published_posts: ["post"], 25167 context: "view" 25168 }; 25169 const imageAlignmentOptions = [ 25170 { 25171 value: "none", 25172 icon: align_none_default, 25173 label: (0,external_wp_i18n_namespaceObject.__)("None") 25174 }, 25175 { 25176 value: "left", 25177 icon: position_left_default, 25178 label: (0,external_wp_i18n_namespaceObject.__)("Left") 25179 }, 25180 { 25181 value: "center", 25182 icon: position_center_default, 25183 label: (0,external_wp_i18n_namespaceObject.__)("Center") 25184 }, 25185 { 25186 value: "right", 25187 icon: position_right_default, 25188 label: (0,external_wp_i18n_namespaceObject.__)("Right") 25189 } 25190 ]; 25191 function getFeaturedImageDetails(post, size) { 25192 const image = post._embedded?.["wp:featuredmedia"]?.["0"]; 25193 return { 25194 url: image?.media_details?.sizes?.[size]?.source_url ?? image?.source_url, 25195 alt: image?.alt_text 25196 }; 25197 } 25198 function getCurrentAuthor(post) { 25199 return post._embedded?.author?.[0]; 25200 } 25201 function Controls({ attributes, setAttributes, postCount }) { 25202 const { 25203 postsToShow, 25204 order, 25205 orderBy, 25206 categories, 25207 selectedAuthor, 25208 displayFeaturedImage, 25209 displayPostContentRadio, 25210 displayPostContent, 25211 displayPostDate, 25212 displayAuthor, 25213 postLayout, 25214 columns, 25215 excerptLength, 25216 featuredImageAlign, 25217 featuredImageSizeSlug, 25218 featuredImageSizeWidth, 25219 featuredImageSizeHeight, 25220 addLinkToFeaturedImage 25221 } = attributes; 25222 const { 25223 imageSizes, 25224 defaultImageWidth, 25225 defaultImageHeight, 25226 categoriesList, 25227 authorList 25228 } = (0,external_wp_data_namespaceObject.useSelect)( 25229 (select) => { 25230 const { getEntityRecords, getUsers } = select(external_wp_coreData_namespaceObject.store); 25231 const settings = select(external_wp_blockEditor_namespaceObject.store).getSettings(); 25232 return { 25233 defaultImageWidth: settings.imageDimensions?.[featuredImageSizeSlug]?.width ?? 0, 25234 defaultImageHeight: settings.imageDimensions?.[featuredImageSizeSlug]?.height ?? 0, 25235 imageSizes: settings.imageSizes, 25236 categoriesList: getEntityRecords( 25237 "taxonomy", 25238 "category", 25239 CATEGORIES_LIST_QUERY 25240 ), 25241 authorList: getUsers(USERS_LIST_QUERY) 25242 }; 25243 }, 25244 [featuredImageSizeSlug] 25245 ); 25246 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 25247 const imageSizeOptions = imageSizes.filter(({ slug }) => slug !== "full").map(({ name, slug }) => ({ 25248 value: slug, 25249 label: name 25250 })); 25251 const categorySuggestions = categoriesList?.reduce( 25252 (accumulator, category) => ({ 25253 ...accumulator, 25254 [category.name]: category 25255 }), 25256 {} 25257 ) ?? {}; 25258 const selectCategories = (tokens) => { 25259 const hasNoSuggestion = tokens.some( 25260 (token) => typeof token === "string" && !categorySuggestions[token] 25261 ); 25262 if (hasNoSuggestion) { 25263 return; 25264 } 25265 const allCategories = tokens.map((token) => { 25266 return typeof token === "string" ? categorySuggestions[token] : token; 25267 }); 25268 if (allCategories.includes(null)) { 25269 return false; 25270 } 25271 setAttributes({ categories: allCategories }); 25272 }; 25273 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 25274 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 25275 external_wp_components_namespaceObject.__experimentalToolsPanel, 25276 { 25277 label: (0,external_wp_i18n_namespaceObject.__)("Post content"), 25278 resetAll: () => setAttributes({ 25279 displayPostContent: false, 25280 displayPostContentRadio: "excerpt", 25281 excerptLength: DEFAULT_EXCERPT_LENGTH 25282 }), 25283 dropdownMenuProps, 25284 children: [ 25285 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25286 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25287 { 25288 hasValue: () => !!displayPostContent, 25289 label: (0,external_wp_i18n_namespaceObject.__)("Display post content"), 25290 onDeselect: () => setAttributes({ displayPostContent: false }), 25291 isShownByDefault: true, 25292 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25293 external_wp_components_namespaceObject.ToggleControl, 25294 { 25295 __nextHasNoMarginBottom: true, 25296 label: (0,external_wp_i18n_namespaceObject.__)("Display post content"), 25297 checked: displayPostContent, 25298 onChange: (value) => setAttributes({ displayPostContent: value }) 25299 } 25300 ) 25301 } 25302 ), 25303 displayPostContent && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25304 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25305 { 25306 hasValue: () => displayPostContentRadio !== "excerpt", 25307 label: (0,external_wp_i18n_namespaceObject.__)("Content length"), 25308 onDeselect: () => setAttributes({ 25309 displayPostContentRadio: "excerpt" 25310 }), 25311 isShownByDefault: true, 25312 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25313 external_wp_components_namespaceObject.RadioControl, 25314 { 25315 label: (0,external_wp_i18n_namespaceObject.__)("Content length"), 25316 selected: displayPostContentRadio, 25317 options: [ 25318 { label: (0,external_wp_i18n_namespaceObject.__)("Excerpt"), value: "excerpt" }, 25319 { 25320 label: (0,external_wp_i18n_namespaceObject.__)("Full post"), 25321 value: "full_post" 25322 } 25323 ], 25324 onChange: (value) => setAttributes({ 25325 displayPostContentRadio: value 25326 }) 25327 } 25328 ) 25329 } 25330 ), 25331 displayPostContent && displayPostContentRadio === "excerpt" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25332 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25333 { 25334 hasValue: () => excerptLength !== DEFAULT_EXCERPT_LENGTH, 25335 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words"), 25336 onDeselect: () => setAttributes({ 25337 excerptLength: DEFAULT_EXCERPT_LENGTH 25338 }), 25339 isShownByDefault: true, 25340 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25341 external_wp_components_namespaceObject.RangeControl, 25342 { 25343 __nextHasNoMarginBottom: true, 25344 __next40pxDefaultSize: true, 25345 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words"), 25346 value: excerptLength, 25347 onChange: (value) => setAttributes({ excerptLength: value }), 25348 min: MIN_EXCERPT_LENGTH, 25349 max: MAX_EXCERPT_LENGTH 25350 } 25351 ) 25352 } 25353 ) 25354 ] 25355 } 25356 ), 25357 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 25358 external_wp_components_namespaceObject.__experimentalToolsPanel, 25359 { 25360 label: (0,external_wp_i18n_namespaceObject.__)("Post meta"), 25361 resetAll: () => setAttributes({ 25362 displayAuthor: false, 25363 displayPostDate: false 25364 }), 25365 dropdownMenuProps, 25366 children: [ 25367 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25368 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25369 { 25370 hasValue: () => !!displayAuthor, 25371 label: (0,external_wp_i18n_namespaceObject.__)("Display author name"), 25372 onDeselect: () => setAttributes({ displayAuthor: false }), 25373 isShownByDefault: true, 25374 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25375 external_wp_components_namespaceObject.ToggleControl, 25376 { 25377 __nextHasNoMarginBottom: true, 25378 label: (0,external_wp_i18n_namespaceObject.__)("Display author name"), 25379 checked: displayAuthor, 25380 onChange: (value) => setAttributes({ displayAuthor: value }) 25381 } 25382 ) 25383 } 25384 ), 25385 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25386 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25387 { 25388 hasValue: () => !!displayPostDate, 25389 label: (0,external_wp_i18n_namespaceObject.__)("Display post date"), 25390 onDeselect: () => setAttributes({ displayPostDate: false }), 25391 isShownByDefault: true, 25392 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25393 external_wp_components_namespaceObject.ToggleControl, 25394 { 25395 __nextHasNoMarginBottom: true, 25396 label: (0,external_wp_i18n_namespaceObject.__)("Display post date"), 25397 checked: displayPostDate, 25398 onChange: (value) => setAttributes({ displayPostDate: value }) 25399 } 25400 ) 25401 } 25402 ) 25403 ] 25404 } 25405 ), 25406 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 25407 external_wp_components_namespaceObject.__experimentalToolsPanel, 25408 { 25409 label: (0,external_wp_i18n_namespaceObject.__)("Featured image"), 25410 resetAll: () => setAttributes({ 25411 displayFeaturedImage: false, 25412 featuredImageAlign: void 0, 25413 featuredImageSizeSlug: "thumbnail", 25414 featuredImageSizeWidth: null, 25415 featuredImageSizeHeight: null, 25416 addLinkToFeaturedImage: false 25417 }), 25418 dropdownMenuProps, 25419 children: [ 25420 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25421 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25422 { 25423 hasValue: () => !!displayFeaturedImage, 25424 label: (0,external_wp_i18n_namespaceObject.__)("Display featured image"), 25425 onDeselect: () => setAttributes({ displayFeaturedImage: false }), 25426 isShownByDefault: true, 25427 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25428 external_wp_components_namespaceObject.ToggleControl, 25429 { 25430 __nextHasNoMarginBottom: true, 25431 label: (0,external_wp_i18n_namespaceObject.__)("Display featured image"), 25432 checked: displayFeaturedImage, 25433 onChange: (value) => setAttributes({ displayFeaturedImage: value }) 25434 } 25435 ) 25436 } 25437 ), 25438 displayFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 25439 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25440 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25441 { 25442 hasValue: () => featuredImageSizeSlug !== "thumbnail" || featuredImageSizeWidth !== null || featuredImageSizeHeight !== null, 25443 label: (0,external_wp_i18n_namespaceObject.__)("Image size"), 25444 onDeselect: () => setAttributes({ 25445 featuredImageSizeSlug: "thumbnail", 25446 featuredImageSizeWidth: null, 25447 featuredImageSizeHeight: null 25448 }), 25449 isShownByDefault: true, 25450 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25451 external_wp_blockEditor_namespaceObject.__experimentalImageSizeControl, 25452 { 25453 onChange: (value) => { 25454 const newAttrs = {}; 25455 if (value.hasOwnProperty("width")) { 25456 newAttrs.featuredImageSizeWidth = value.width; 25457 } 25458 if (value.hasOwnProperty("height")) { 25459 newAttrs.featuredImageSizeHeight = value.height; 25460 } 25461 setAttributes(newAttrs); 25462 }, 25463 slug: featuredImageSizeSlug, 25464 width: featuredImageSizeWidth, 25465 height: featuredImageSizeHeight, 25466 imageWidth: defaultImageWidth, 25467 imageHeight: defaultImageHeight, 25468 imageSizeOptions, 25469 imageSizeHelp: (0,external_wp_i18n_namespaceObject.__)( 25470 "Select the size of the source image." 25471 ), 25472 onChangeImage: (value) => setAttributes({ 25473 featuredImageSizeSlug: value, 25474 featuredImageSizeWidth: void 0, 25475 featuredImageSizeHeight: void 0 25476 }) 25477 } 25478 ) 25479 } 25480 ), 25481 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25482 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25483 { 25484 hasValue: () => !!featuredImageAlign, 25485 label: (0,external_wp_i18n_namespaceObject.__)("Image alignment"), 25486 onDeselect: () => setAttributes({ 25487 featuredImageAlign: void 0 25488 }), 25489 isShownByDefault: true, 25490 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25491 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 25492 { 25493 className: "editor-latest-posts-image-alignment-control", 25494 __nextHasNoMarginBottom: true, 25495 __next40pxDefaultSize: true, 25496 label: (0,external_wp_i18n_namespaceObject.__)("Image alignment"), 25497 value: featuredImageAlign || "none", 25498 onChange: (value) => setAttributes({ 25499 featuredImageAlign: value !== "none" ? value : void 0 25500 }), 25501 children: imageAlignmentOptions.map( 25502 ({ value, icon, label }) => { 25503 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25504 external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, 25505 { 25506 value, 25507 icon, 25508 label 25509 }, 25510 value 25511 ); 25512 } 25513 ) 25514 } 25515 ) 25516 } 25517 ), 25518 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25519 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25520 { 25521 hasValue: () => !!addLinkToFeaturedImage, 25522 label: (0,external_wp_i18n_namespaceObject.__)("Add link to featured image"), 25523 onDeselect: () => setAttributes({ 25524 addLinkToFeaturedImage: false 25525 }), 25526 isShownByDefault: true, 25527 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25528 external_wp_components_namespaceObject.ToggleControl, 25529 { 25530 __nextHasNoMarginBottom: true, 25531 label: (0,external_wp_i18n_namespaceObject.__)("Add link to featured image"), 25532 checked: addLinkToFeaturedImage, 25533 onChange: (value) => setAttributes({ 25534 addLinkToFeaturedImage: value 25535 }) 25536 } 25537 ) 25538 } 25539 ) 25540 ] }) 25541 ] 25542 } 25543 ), 25544 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 25545 external_wp_components_namespaceObject.__experimentalToolsPanel, 25546 { 25547 label: (0,external_wp_i18n_namespaceObject.__)("Sorting and filtering"), 25548 resetAll: () => setAttributes({ 25549 order: "desc", 25550 orderBy: "date", 25551 postsToShow: 5, 25552 categories: void 0, 25553 selectedAuthor: void 0, 25554 columns: 3 25555 }), 25556 dropdownMenuProps, 25557 children: [ 25558 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25559 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25560 { 25561 hasValue: () => order !== "desc" || orderBy !== "date" || postsToShow !== 5 || categories?.length > 0 || !!selectedAuthor, 25562 label: (0,external_wp_i18n_namespaceObject.__)("Sort and filter"), 25563 onDeselect: () => setAttributes({ 25564 order: "desc", 25565 orderBy: "date", 25566 postsToShow: 5, 25567 categories: void 0, 25568 selectedAuthor: void 0 25569 }), 25570 isShownByDefault: true, 25571 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25572 external_wp_components_namespaceObject.QueryControls, 25573 { 25574 ...{ order, orderBy }, 25575 numberOfItems: postsToShow, 25576 onOrderChange: (value) => setAttributes({ order: value }), 25577 onOrderByChange: (value) => setAttributes({ orderBy: value }), 25578 onNumberOfItemsChange: (value) => setAttributes({ postsToShow: value }), 25579 categorySuggestions, 25580 onCategoryChange: selectCategories, 25581 selectedCategories: categories, 25582 onAuthorChange: (value) => setAttributes({ 25583 selectedAuthor: "" !== value ? Number(value) : void 0 25584 }), 25585 authorList: authorList ?? [], 25586 selectedAuthorId: selectedAuthor 25587 } 25588 ) 25589 } 25590 ), 25591 postLayout === "grid" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25592 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 25593 { 25594 hasValue: () => columns !== 3, 25595 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 25596 onDeselect: () => setAttributes({ 25597 columns: 3 25598 }), 25599 isShownByDefault: true, 25600 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25601 external_wp_components_namespaceObject.RangeControl, 25602 { 25603 __nextHasNoMarginBottom: true, 25604 __next40pxDefaultSize: true, 25605 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 25606 value: columns, 25607 onChange: (value) => setAttributes({ columns: value }), 25608 min: 2, 25609 max: !postCount ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, postCount), 25610 required: true 25611 } 25612 ) 25613 } 25614 ) 25615 ] 25616 } 25617 ) 25618 ] }); 25619 } 25620 function LatestPostsEdit({ attributes, setAttributes }) { 25621 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(LatestPostsEdit); 25622 const { 25623 postsToShow, 25624 order, 25625 orderBy, 25626 categories, 25627 selectedAuthor, 25628 displayFeaturedImage, 25629 displayPostContentRadio, 25630 displayPostContent, 25631 displayPostDate, 25632 displayAuthor, 25633 postLayout, 25634 columns, 25635 excerptLength, 25636 featuredImageAlign, 25637 featuredImageSizeSlug, 25638 featuredImageSizeWidth, 25639 featuredImageSizeHeight, 25640 addLinkToFeaturedImage 25641 } = attributes; 25642 const { latestPosts } = (0,external_wp_data_namespaceObject.useSelect)( 25643 (select) => { 25644 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 25645 const catIds = categories && categories.length > 0 ? categories.map((cat) => cat.id) : []; 25646 const latestPostsQuery = Object.fromEntries( 25647 Object.entries({ 25648 categories: catIds, 25649 author: selectedAuthor, 25650 order, 25651 orderby: orderBy, 25652 per_page: postsToShow, 25653 _embed: "author,wp:featuredmedia", 25654 ignore_sticky: true 25655 }).filter(([, value]) => typeof value !== "undefined") 25656 ); 25657 return { 25658 latestPosts: getEntityRecords( 25659 "postType", 25660 "post", 25661 latestPostsQuery 25662 ) 25663 }; 25664 }, 25665 [postsToShow, order, orderBy, categories, selectedAuthor] 25666 ); 25667 const { createWarningNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 25668 const showRedirectionPreventedNotice = (event) => { 25669 event.preventDefault(); 25670 createWarningNotice((0,external_wp_i18n_namespaceObject.__)("Links are disabled in the editor."), { 25671 id: `block-library/core/latest-posts/redirection-prevented/$instanceId}`, 25672 type: "snackbar" 25673 }); 25674 }; 25675 const hasPosts = !!latestPosts?.length; 25676 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25677 Controls, 25678 { 25679 attributes, 25680 setAttributes, 25681 postCount: latestPosts?.length ?? 0 25682 } 25683 ) }); 25684 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 25685 className: dist_clsx({ 25686 "wp-block-latest-posts__list": true, 25687 "is-grid": postLayout === "grid", 25688 "has-dates": displayPostDate, 25689 "has-author": displayAuthor, 25690 [`columns-$columns}`]: postLayout === "grid" 25691 }) 25692 }); 25693 if (!hasPosts) { 25694 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 25695 inspectorControls, 25696 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { icon: pin_default, label: (0,external_wp_i18n_namespaceObject.__)("Latest Posts"), children: !Array.isArray(latestPosts) ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) : (0,external_wp_i18n_namespaceObject.__)("No posts found.") }) 25697 ] }); 25698 } 25699 const displayPosts = latestPosts.length > postsToShow ? latestPosts.slice(0, postsToShow) : latestPosts; 25700 const layoutControls = [ 25701 { 25702 icon: list_default, 25703 title: (0,external_wp_i18n_namespaceObject._x)("List view", "Latest posts block display setting"), 25704 onClick: () => setAttributes({ postLayout: "list" }), 25705 isActive: postLayout === "list" 25706 }, 25707 { 25708 icon: grid_default, 25709 title: (0,external_wp_i18n_namespaceObject._x)("Grid view", "Latest posts block display setting"), 25710 onClick: () => setAttributes({ postLayout: "grid" }), 25711 isActive: postLayout === "grid" 25712 } 25713 ]; 25714 const dateFormat = (0,external_wp_date_namespaceObject.getSettings)().formats.date; 25715 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 25716 inspectorControls, 25717 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { controls: layoutControls }) }), 25718 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...blockProps, children: displayPosts.map((post) => { 25719 const titleTrimmed = post.title.rendered.trim(); 25720 let excerpt = post.excerpt.rendered; 25721 const currentAuthor = getCurrentAuthor(post); 25722 const excerptElement = document.createElement("div"); 25723 excerptElement.innerHTML = excerpt; 25724 excerpt = excerptElement.textContent || excerptElement.innerText || ""; 25725 const { url: imageSourceUrl, alt: featuredImageAlt } = getFeaturedImageDetails(post, featuredImageSizeSlug); 25726 const imageClasses = dist_clsx({ 25727 "wp-block-latest-posts__featured-image": true, 25728 [`align$featuredImageAlign}`]: !!featuredImageAlign 25729 }); 25730 const renderFeaturedImage = displayFeaturedImage && imageSourceUrl; 25731 const featuredImage = renderFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25732 "img", 25733 { 25734 src: imageSourceUrl, 25735 alt: featuredImageAlt, 25736 style: { 25737 maxWidth: featuredImageSizeWidth, 25738 maxHeight: featuredImageSizeHeight 25739 } 25740 } 25741 ); 25742 const needsReadMore = excerptLength < excerpt.trim().split(" ").length && post.excerpt.raw === ""; 25743 const postExcerpt = needsReadMore ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 25744 excerpt.trim().split(" ", excerptLength).join(" "), 25745 (0,external_wp_element_namespaceObject.createInterpolateElement)( 25746 (0,external_wp_i18n_namespaceObject.sprintf)( 25747 /* translators: 1: Hidden accessibility text: Post title */ 25748 (0,external_wp_i18n_namespaceObject.__)( 25749 "\u2026 <a>Read more<span>: %1$s</span></a>" 25750 ), 25751 titleTrimmed || (0,external_wp_i18n_namespaceObject.__)("(no title)") 25752 ), 25753 { 25754 a: ( 25755 // eslint-disable-next-line jsx-a11y/anchor-has-content 25756 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25757 "a", 25758 { 25759 className: "wp-block-latest-posts__read-more", 25760 href: post.link, 25761 rel: "noopener noreferrer", 25762 onClick: showRedirectionPreventedNotice 25763 } 25764 ) 25765 ), 25766 span: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "screen-reader-text" }) 25767 } 25768 ) 25769 ] }) : excerpt; 25770 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { children: [ 25771 renderFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: imageClasses, children: addLinkToFeaturedImage ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25772 "a", 25773 { 25774 href: post.link, 25775 onClick: showRedirectionPreventedNotice, 25776 children: featuredImage 25777 } 25778 ) : featuredImage }), 25779 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25780 "a", 25781 { 25782 className: "wp-block-latest-posts__post-title", 25783 href: post.link, 25784 dangerouslySetInnerHTML: !!titleTrimmed ? { 25785 __html: titleTrimmed 25786 } : void 0, 25787 onClick: showRedirectionPreventedNotice, 25788 children: !titleTrimmed ? (0,external_wp_i18n_namespaceObject.__)("(no title)") : null 25789 } 25790 ), 25791 displayAuthor && currentAuthor && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-latest-posts__post-author", children: (0,external_wp_i18n_namespaceObject.sprintf)( 25792 /* translators: byline. %s: author. */ 25793 (0,external_wp_i18n_namespaceObject.__)("by %s"), 25794 currentAuthor.name 25795 ) }), 25796 displayPostDate && post.date_gmt && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25797 "time", 25798 { 25799 dateTime: (0,external_wp_date_namespaceObject.format)("c", post.date_gmt), 25800 className: "wp-block-latest-posts__post-date", 25801 children: (0,external_wp_date_namespaceObject.dateI18n)(dateFormat, post.date_gmt) 25802 } 25803 ), 25804 displayPostContent && displayPostContentRadio === "excerpt" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-latest-posts__post-excerpt", children: postExcerpt }), 25805 displayPostContent && displayPostContentRadio === "full_post" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 25806 "div", 25807 { 25808 className: "wp-block-latest-posts__post-full-content", 25809 dangerouslySetInnerHTML: { 25810 __html: post.content.raw.trim() 25811 } 25812 } 25813 ) 25814 ] }, post.id); 25815 }) }) 25816 ] }); 25817 } 25818 25819 25820 ;// ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js 25821 25822 25823 25824 25825 25826 const { name: latest_posts_name } = latest_posts_block_namespaceObject; 25827 const latest_posts_settings = { 25828 icon: post_list_default, 25829 example: {}, 25830 edit: LatestPostsEdit, 25831 deprecated: latest_posts_deprecated_deprecated_default 25832 }; 25833 const latest_posts_init = () => initBlock({ name: latest_posts_name, metadata: latest_posts_block_namespaceObject, settings: latest_posts_settings }); 25834 25835 25836 ;// ./node_modules/@wordpress/block-library/build-module/list/utils.js 25837 25838 const LIST_STYLES = { 25839 A: "upper-alpha", 25840 a: "lower-alpha", 25841 I: "upper-roman", 25842 i: "lower-roman" 25843 }; 25844 function createListBlockFromDOMElement(listElement) { 25845 const type = listElement.getAttribute("type"); 25846 const listAttributes = { 25847 ordered: "OL" === listElement.tagName, 25848 anchor: listElement.id === "" ? void 0 : listElement.id, 25849 start: listElement.getAttribute("start") ? parseInt(listElement.getAttribute("start"), 10) : void 0, 25850 reversed: listElement.hasAttribute("reversed") ? true : void 0, 25851 type: type && LIST_STYLES[type] ? LIST_STYLES[type] : void 0 25852 }; 25853 const innerBlocks = Array.from(listElement.children).map( 25854 (listItem) => { 25855 const children = Array.from(listItem.childNodes).filter( 25856 (node) => node.nodeType !== node.TEXT_NODE || node.textContent.trim().length !== 0 25857 ); 25858 children.reverse(); 25859 const [nestedList, ...nodes] = children; 25860 const hasNestedList = nestedList?.tagName === "UL" || nestedList?.tagName === "OL"; 25861 if (!hasNestedList) { 25862 return (0,external_wp_blocks_namespaceObject.createBlock)("core/list-item", { 25863 content: listItem.innerHTML 25864 }); 25865 } 25866 const htmlNodes = nodes.map((node) => { 25867 if (node.nodeType === node.TEXT_NODE) { 25868 return node.textContent; 25869 } 25870 return node.outerHTML; 25871 }); 25872 htmlNodes.reverse(); 25873 const childAttributes = { 25874 content: htmlNodes.join("").trim() 25875 }; 25876 const childInnerBlocks = [ 25877 createListBlockFromDOMElement(nestedList) 25878 ]; 25879 return (0,external_wp_blocks_namespaceObject.createBlock)( 25880 "core/list-item", 25881 childAttributes, 25882 childInnerBlocks 25883 ); 25884 } 25885 ); 25886 return (0,external_wp_blocks_namespaceObject.createBlock)("core/list", listAttributes, innerBlocks); 25887 } 25888 function migrateToListV2(attributes) { 25889 const { values, start, reversed, ordered, type, ...otherAttributes } = attributes; 25890 const list = document.createElement(ordered ? "ol" : "ul"); 25891 list.innerHTML = values; 25892 if (start) { 25893 list.setAttribute("start", start); 25894 } 25895 if (reversed) { 25896 list.setAttribute("reversed", true); 25897 } 25898 if (type) { 25899 list.setAttribute("type", type); 25900 } 25901 const [listBlock] = (0,external_wp_blocks_namespaceObject.rawHandler)({ HTML: list.outerHTML }); 25902 return [ 25903 { ...otherAttributes, ...listBlock.attributes }, 25904 listBlock.innerBlocks 25905 ]; 25906 } 25907 function migrateTypeToInlineStyle(attributes) { 25908 const { type } = attributes; 25909 if (type && LIST_STYLES[type]) { 25910 return { 25911 ...attributes, 25912 type: LIST_STYLES[type] 25913 }; 25914 } 25915 return attributes; 25916 } 25917 25918 25919 ;// ./node_modules/@wordpress/block-library/build-module/list/deprecated.js 25920 25921 25922 25923 25924 const v0 = { 25925 attributes: { 25926 ordered: { 25927 type: "boolean", 25928 default: false, 25929 role: "content" 25930 }, 25931 values: { 25932 type: "string", 25933 source: "html", 25934 selector: "ol,ul", 25935 multiline: "li", 25936 __unstableMultilineWrapperTags: ["ol", "ul"], 25937 default: "", 25938 role: "content" 25939 }, 25940 type: { 25941 type: "string" 25942 }, 25943 start: { 25944 type: "number" 25945 }, 25946 reversed: { 25947 type: "boolean" 25948 }, 25949 placeholder: { 25950 type: "string" 25951 } 25952 }, 25953 supports: { 25954 anchor: true, 25955 className: false, 25956 typography: { 25957 fontSize: true, 25958 __experimentalFontFamily: true 25959 }, 25960 color: { 25961 gradients: true, 25962 link: true 25963 }, 25964 __unstablePasteTextInline: true, 25965 __experimentalSelector: "ol,ul", 25966 __experimentalSlashInserter: true 25967 }, 25968 save({ attributes }) { 25969 const { ordered, values, type, reversed, start } = attributes; 25970 const TagName = ordered ? "ol" : "ul"; 25971 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: values, multiline: "li" }) }); 25972 }, 25973 migrate: migrate_font_family_default, 25974 isEligible({ style }) { 25975 return style?.typography?.fontFamily; 25976 } 25977 }; 25978 const list_deprecated_v1 = { 25979 attributes: { 25980 ordered: { 25981 type: "boolean", 25982 default: false, 25983 role: "content" 25984 }, 25985 values: { 25986 type: "string", 25987 source: "html", 25988 selector: "ol,ul", 25989 multiline: "li", 25990 __unstableMultilineWrapperTags: ["ol", "ul"], 25991 default: "", 25992 role: "content" 25993 }, 25994 type: { 25995 type: "string" 25996 }, 25997 start: { 25998 type: "number" 25999 }, 26000 reversed: { 26001 type: "boolean" 26002 }, 26003 placeholder: { 26004 type: "string" 26005 } 26006 }, 26007 supports: { 26008 anchor: true, 26009 className: false, 26010 typography: { 26011 fontSize: true, 26012 __experimentalFontFamily: true, 26013 lineHeight: true, 26014 __experimentalFontStyle: true, 26015 __experimentalFontWeight: true, 26016 __experimentalLetterSpacing: true, 26017 __experimentalTextTransform: true, 26018 __experimentalDefaultControls: { 26019 fontSize: true 26020 } 26021 }, 26022 color: { 26023 gradients: true, 26024 link: true, 26025 __experimentalDefaultControls: { 26026 background: true, 26027 text: true 26028 } 26029 }, 26030 __unstablePasteTextInline: true, 26031 __experimentalSelector: "ol,ul", 26032 __experimentalSlashInserter: true 26033 }, 26034 save({ attributes }) { 26035 const { ordered, values, type, reversed, start } = attributes; 26036 const TagName = ordered ? "ol" : "ul"; 26037 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: values, multiline: "li" }) }); 26038 }, 26039 migrate: migrateToListV2 26040 }; 26041 const list_deprecated_v2 = { 26042 attributes: { 26043 ordered: { 26044 type: "boolean", 26045 default: false, 26046 role: "content" 26047 }, 26048 values: { 26049 type: "string", 26050 source: "html", 26051 selector: "ol,ul", 26052 multiline: "li", 26053 __unstableMultilineWrapperTags: ["ol", "ul"], 26054 default: "", 26055 role: "content" 26056 }, 26057 type: { 26058 type: "string" 26059 }, 26060 start: { 26061 type: "number" 26062 }, 26063 reversed: { 26064 type: "boolean" 26065 }, 26066 placeholder: { 26067 type: "string" 26068 } 26069 }, 26070 supports: { 26071 anchor: true, 26072 className: false, 26073 typography: { 26074 fontSize: true, 26075 lineHeight: true, 26076 __experimentalFontFamily: true, 26077 __experimentalFontWeight: true, 26078 __experimentalFontStyle: true, 26079 __experimentalTextTransform: true, 26080 __experimentalTextDecoration: true, 26081 __experimentalLetterSpacing: true, 26082 __experimentalDefaultControls: { 26083 fontSize: true 26084 } 26085 }, 26086 color: { 26087 gradients: true, 26088 link: true, 26089 __experimentalDefaultControls: { 26090 background: true, 26091 text: true 26092 } 26093 }, 26094 spacing: { 26095 margin: true, 26096 padding: true, 26097 __experimentalDefaultControls: { 26098 margin: false, 26099 padding: false 26100 } 26101 }, 26102 __unstablePasteTextInline: true, 26103 __experimentalSelector: "ol,ul", 26104 __experimentalSlashInserter: true 26105 }, 26106 isEligible({ type }) { 26107 return !!type; 26108 }, 26109 save({ attributes }) { 26110 const { ordered, type, reversed, start } = attributes; 26111 const TagName = ordered ? "ol" : "ul"; 26112 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ type, reversed, start }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 26113 }, 26114 migrate: migrateTypeToInlineStyle 26115 }; 26116 const list_deprecated_v3 = { 26117 attributes: { 26118 ordered: { 26119 type: "boolean", 26120 default: false, 26121 role: "content" 26122 }, 26123 values: { 26124 type: "string", 26125 source: "html", 26126 selector: "ol,ul", 26127 multiline: "li", 26128 __unstableMultilineWrapperTags: ["ol", "ul"], 26129 default: "", 26130 role: "content" 26131 }, 26132 type: { 26133 type: "string" 26134 }, 26135 start: { 26136 type: "number" 26137 }, 26138 reversed: { 26139 type: "boolean" 26140 }, 26141 placeholder: { 26142 type: "string" 26143 } 26144 }, 26145 supports: { 26146 anchor: true, 26147 className: false, 26148 typography: { 26149 fontSize: true, 26150 lineHeight: true, 26151 __experimentalFontFamily: true, 26152 __experimentalFontWeight: true, 26153 __experimentalFontStyle: true, 26154 __experimentalTextTransform: true, 26155 __experimentalTextDecoration: true, 26156 __experimentalLetterSpacing: true, 26157 __experimentalDefaultControls: { 26158 fontSize: true 26159 } 26160 }, 26161 color: { 26162 gradients: true, 26163 link: true, 26164 __experimentalDefaultControls: { 26165 background: true, 26166 text: true 26167 } 26168 }, 26169 spacing: { 26170 margin: true, 26171 padding: true, 26172 __experimentalDefaultControls: { 26173 margin: false, 26174 padding: false 26175 } 26176 }, 26177 __unstablePasteTextInline: true, 26178 __experimentalSelector: "ol,ul", 26179 __experimentalOnMerge: "true", 26180 __experimentalSlashInserter: true 26181 }, 26182 save({ attributes }) { 26183 const { ordered, type, reversed, start } = attributes; 26184 const TagName = ordered ? "ol" : "ul"; 26185 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26186 TagName, 26187 { 26188 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 26189 reversed, 26190 start, 26191 style: { 26192 listStyleType: ordered && type !== "decimal" ? type : void 0 26193 } 26194 }), 26195 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 26196 } 26197 ); 26198 } 26199 }; 26200 var list_deprecated_deprecated_default = [list_deprecated_v3, list_deprecated_v2, list_deprecated_v1, v0]; 26201 26202 26203 ;// ./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js 26204 26205 26206 var format_outdent_rtl_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z" }) }); 26207 26208 26209 ;// ./node_modules/@wordpress/icons/build-module/library/format-outdent.js 26210 26211 26212 var format_outdent_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z" }) }); 26213 26214 26215 ;// ./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js 26216 26217 26218 var format_list_bullets_rtl_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" }) }); 26219 26220 26221 ;// ./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js 26222 26223 26224 var format_list_bullets_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }) }); 26225 26226 26227 ;// ./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js 26228 26229 26230 var format_list_numbered_rtl_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z" }) }); 26231 26232 26233 ;// ./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js 26234 26235 26236 var format_list_numbered_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z" }) }); 26237 26238 26239 ;// external ["wp","deprecated"] 26240 const external_wp_deprecated_namespaceObject = window["wp"]["deprecated"]; 26241 var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_namespaceObject); 26242 ;// ./node_modules/@wordpress/block-library/build-module/list/ordered-list-settings.js 26243 26244 26245 26246 26247 26248 26249 const LIST_STYLE_OPTIONS = [ 26250 { 26251 label: (0,external_wp_i18n_namespaceObject.__)("Numbers"), 26252 value: "decimal" 26253 }, 26254 { 26255 label: (0,external_wp_i18n_namespaceObject.__)("Uppercase letters"), 26256 value: "upper-alpha" 26257 }, 26258 { 26259 label: (0,external_wp_i18n_namespaceObject.__)("Lowercase letters"), 26260 value: "lower-alpha" 26261 }, 26262 { 26263 label: (0,external_wp_i18n_namespaceObject.__)("Uppercase Roman numerals"), 26264 value: "upper-roman" 26265 }, 26266 { 26267 label: (0,external_wp_i18n_namespaceObject.__)("Lowercase Roman numerals"), 26268 value: "lower-roman" 26269 } 26270 ]; 26271 const OrderedListSettings = ({ setAttributes, reversed, start, type }) => { 26272 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 26273 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: external_wp_element_namespaceObject.Platform.isNative ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)("Settings"), children: [ 26274 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26275 external_wp_components_namespaceObject.SelectControl, 26276 { 26277 __next40pxDefaultSize: true, 26278 __nextHasNoMarginBottom: true, 26279 label: (0,external_wp_i18n_namespaceObject.__)("List style"), 26280 options: LIST_STYLE_OPTIONS, 26281 value: type, 26282 onChange: (newValue) => setAttributes({ type: newValue }) 26283 } 26284 ), 26285 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26286 external_wp_components_namespaceObject.TextControl, 26287 { 26288 __next40pxDefaultSize: true, 26289 __nextHasNoMarginBottom: true, 26290 label: (0,external_wp_i18n_namespaceObject.__)("Start value"), 26291 type: "number", 26292 onChange: (value) => { 26293 const int = parseInt(value, 10); 26294 setAttributes({ 26295 // It should be possible to unset the value, 26296 // e.g. with an empty string. 26297 start: isNaN(int) ? void 0 : int 26298 }); 26299 }, 26300 value: Number.isInteger(start) ? start.toString(10) : "", 26301 step: "1" 26302 } 26303 ), 26304 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26305 external_wp_components_namespaceObject.ToggleControl, 26306 { 26307 __nextHasNoMarginBottom: true, 26308 label: (0,external_wp_i18n_namespaceObject.__)("Reverse order"), 26309 checked: reversed || false, 26310 onChange: (value) => { 26311 setAttributes({ 26312 // Unset the attribute if not reversed. 26313 reversed: value || void 0 26314 }); 26315 } 26316 } 26317 ) 26318 ] }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 26319 external_wp_components_namespaceObject.__experimentalToolsPanel, 26320 { 26321 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 26322 resetAll: () => { 26323 setAttributes({ 26324 type: void 0, 26325 start: void 0, 26326 reversed: void 0 26327 }); 26328 }, 26329 dropdownMenuProps, 26330 children: [ 26331 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26332 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 26333 { 26334 label: (0,external_wp_i18n_namespaceObject.__)("List style"), 26335 isShownByDefault: true, 26336 hasValue: () => !!type, 26337 onDeselect: () => setAttributes({ 26338 type: void 0 26339 }), 26340 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26341 external_wp_components_namespaceObject.SelectControl, 26342 { 26343 __next40pxDefaultSize: true, 26344 __nextHasNoMarginBottom: true, 26345 label: (0,external_wp_i18n_namespaceObject.__)("List style"), 26346 options: LIST_STYLE_OPTIONS, 26347 value: type || "decimal", 26348 onChange: (newValue) => setAttributes({ type: newValue }) 26349 } 26350 ) 26351 } 26352 ), 26353 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26354 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 26355 { 26356 label: (0,external_wp_i18n_namespaceObject.__)("Start value"), 26357 isShownByDefault: true, 26358 hasValue: () => !!start, 26359 onDeselect: () => setAttributes({ 26360 start: void 0 26361 }), 26362 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26363 external_wp_components_namespaceObject.TextControl, 26364 { 26365 __next40pxDefaultSize: true, 26366 __nextHasNoMarginBottom: true, 26367 label: (0,external_wp_i18n_namespaceObject.__)("Start value"), 26368 type: "number", 26369 onChange: (value) => { 26370 const int = parseInt(value, 10); 26371 setAttributes({ 26372 // It should be possible to unset the value, 26373 // e.g. with an empty string. 26374 start: isNaN(int) ? void 0 : int 26375 }); 26376 }, 26377 value: Number.isInteger(start) ? start.toString(10) : "", 26378 step: "1" 26379 } 26380 ) 26381 } 26382 ), 26383 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26384 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 26385 { 26386 label: (0,external_wp_i18n_namespaceObject.__)("Reverse order"), 26387 isShownByDefault: true, 26388 hasValue: () => !!reversed, 26389 onDeselect: () => setAttributes({ 26390 reversed: void 0 26391 }), 26392 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26393 external_wp_components_namespaceObject.ToggleControl, 26394 { 26395 __nextHasNoMarginBottom: true, 26396 label: (0,external_wp_i18n_namespaceObject.__)("Reverse order"), 26397 checked: reversed || false, 26398 onChange: (value) => { 26399 setAttributes({ 26400 // Unset the attribute if not reversed. 26401 reversed: value || void 0 26402 }); 26403 } 26404 } 26405 ) 26406 } 26407 ) 26408 ] 26409 } 26410 ) }); 26411 }; 26412 var ordered_list_settings_default = OrderedListSettings; 26413 26414 26415 ;// ./node_modules/@wordpress/block-library/build-module/list/tag-name.js 26416 26417 26418 function TagName(props, ref) { 26419 const { ordered, ...extraProps } = props; 26420 const Tag = ordered ? "ol" : "ul"; 26421 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ref, ...extraProps }); 26422 } 26423 var tag_name_default = (0,external_wp_element_namespaceObject.forwardRef)(TagName); 26424 26425 26426 ;// ./node_modules/@wordpress/block-library/build-module/list/edit.js 26427 26428 26429 26430 26431 26432 26433 26434 26435 26436 26437 26438 26439 const list_edit_DEFAULT_BLOCK = { 26440 name: "core/list-item" 26441 }; 26442 const list_edit_TEMPLATE = [["core/list-item"]]; 26443 const NATIVE_MARGIN_SPACING = 8; 26444 function useMigrateOnLoad(attributes, clientId) { 26445 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 26446 const { updateBlockAttributes, replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 26447 (0,external_wp_element_namespaceObject.useEffect)(() => { 26448 if (!attributes.values) { 26449 return; 26450 } 26451 const [newAttributes, newInnerBlocks] = migrateToListV2(attributes); 26452 external_wp_deprecated_default()("Value attribute on the list block", { 26453 since: "6.0", 26454 version: "6.5", 26455 alternative: "inner blocks" 26456 }); 26457 registry.batch(() => { 26458 updateBlockAttributes(clientId, newAttributes); 26459 replaceInnerBlocks(clientId, newInnerBlocks); 26460 }); 26461 }, [attributes.values]); 26462 } 26463 function useOutdentList(clientId) { 26464 const { replaceBlocks, selectionChange } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 26465 const { getBlockRootClientId, getBlockAttributes, getBlock } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 26466 return (0,external_wp_element_namespaceObject.useCallback)(() => { 26467 const parentBlockId = getBlockRootClientId(clientId); 26468 const parentBlockAttributes = getBlockAttributes(parentBlockId); 26469 const newParentBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 26470 "core/list-item", 26471 parentBlockAttributes 26472 ); 26473 const { innerBlocks } = getBlock(clientId); 26474 replaceBlocks([parentBlockId], [newParentBlock, ...innerBlocks]); 26475 selectionChange(innerBlocks[innerBlocks.length - 1].clientId); 26476 }, [clientId]); 26477 } 26478 function IndentUI({ clientId }) { 26479 const outdentList = useOutdentList(clientId); 26480 const canOutdent = (0,external_wp_data_namespaceObject.useSelect)( 26481 (select) => { 26482 const { getBlockRootClientId, getBlockName } = select(external_wp_blockEditor_namespaceObject.store); 26483 return getBlockName(getBlockRootClientId(clientId)) === "core/list-item"; 26484 }, 26485 [clientId] 26486 ); 26487 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26488 external_wp_components_namespaceObject.ToolbarButton, 26489 { 26490 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_outdent_rtl_default : format_outdent_default, 26491 title: (0,external_wp_i18n_namespaceObject.__)("Outdent"), 26492 description: (0,external_wp_i18n_namespaceObject.__)("Outdent list item"), 26493 disabled: !canOutdent, 26494 onClick: outdentList 26495 } 26496 ) }); 26497 } 26498 function list_edit_Edit({ attributes, setAttributes, clientId, style }) { 26499 const { ordered, type, reversed, start } = attributes; 26500 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 26501 style: { 26502 ...external_wp_element_namespaceObject.Platform.isNative && style, 26503 listStyleType: ordered && type !== "decimal" ? type : void 0 26504 } 26505 }); 26506 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 26507 defaultBlock: list_edit_DEFAULT_BLOCK, 26508 directInsert: true, 26509 template: list_edit_TEMPLATE, 26510 templateLock: false, 26511 templateInsertUpdatesSelection: true, 26512 ...external_wp_element_namespaceObject.Platform.isNative && { 26513 marginVertical: NATIVE_MARGIN_SPACING, 26514 marginHorizontal: NATIVE_MARGIN_SPACING, 26515 renderAppender: false 26516 }, 26517 __experimentalCaptureToolbars: true 26518 }); 26519 useMigrateOnLoad(attributes, clientId); 26520 const controls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 26521 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26522 external_wp_components_namespaceObject.ToolbarButton, 26523 { 26524 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_list_bullets_rtl_default : format_list_bullets_default, 26525 title: (0,external_wp_i18n_namespaceObject.__)("Unordered"), 26526 description: (0,external_wp_i18n_namespaceObject.__)("Convert to unordered list"), 26527 isActive: ordered === false, 26528 onClick: () => { 26529 setAttributes({ ordered: false }); 26530 } 26531 } 26532 ), 26533 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26534 external_wp_components_namespaceObject.ToolbarButton, 26535 { 26536 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_list_numbered_rtl_default : format_list_numbered_default, 26537 title: (0,external_wp_i18n_namespaceObject.__)("Ordered"), 26538 description: (0,external_wp_i18n_namespaceObject.__)("Convert to ordered list"), 26539 isActive: ordered === true, 26540 onClick: () => { 26541 setAttributes({ ordered: true }); 26542 } 26543 } 26544 ), 26545 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(IndentUI, { clientId }) 26546 ] }); 26547 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 26548 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26549 tag_name_default, 26550 { 26551 ordered, 26552 reversed, 26553 start, 26554 ...innerBlocksProps 26555 } 26556 ), 26557 controls, 26558 ordered && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26559 ordered_list_settings_default, 26560 { 26561 ...{ 26562 setAttributes, 26563 reversed, 26564 start, 26565 type 26566 } 26567 } 26568 ) 26569 ] }); 26570 } 26571 26572 26573 ;// ./node_modules/@wordpress/block-library/build-module/list/block.json 26574 const list_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/list","title":"List","category":"text","allowedBlocks":["core/list-item"],"description":"An organized collection of items displayed in a specific order.","keywords":["bullet list","ordered list","numbered list"],"textdomain":"default","attributes":{"ordered":{"type":"boolean","default":false,"role":"content"},"values":{"type":"string","source":"html","selector":"ol,ul","multiline":"li","default":"","role":"content"},"type":{"type":"string"},"start":{"type":"number"},"reversed":{"type":"boolean"},"placeholder":{"type":"string"}},"supports":{"anchor":true,"html":false,"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"__unstablePasteTextInline":true,"__experimentalOnMerge":true,"__experimentalSlashInserter":true,"interactivity":{"clientNavigation":true}},"selectors":{"border":".wp-block-list:not(.wp-block-list .wp-block-list)"},"editorStyle":"wp-block-list-editor","style":"wp-block-list"}'); 26575 ;// ./node_modules/@wordpress/block-library/build-module/list/save.js 26576 26577 26578 function list_save_save({ attributes }) { 26579 const { ordered, type, reversed, start } = attributes; 26580 const TagName = ordered ? "ol" : "ul"; 26581 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26582 TagName, 26583 { 26584 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 26585 reversed, 26586 start, 26587 style: { 26588 listStyleType: ordered && type !== "decimal" ? type : void 0 26589 } 26590 }), 26591 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 26592 } 26593 ); 26594 } 26595 26596 26597 ;// ./node_modules/@wordpress/block-library/build-module/list/transforms.js 26598 26599 26600 26601 function getListContentSchema({ phrasingContentSchema }) { 26602 const listContentSchema = { 26603 ...phrasingContentSchema, 26604 ul: {}, 26605 ol: { attributes: ["type", "start", "reversed"] } 26606 }; 26607 ["ul", "ol"].forEach((tag) => { 26608 listContentSchema[tag].children = { 26609 li: { 26610 children: listContentSchema 26611 } 26612 }; 26613 }); 26614 return listContentSchema; 26615 } 26616 function getListContentFlat(blocks) { 26617 return blocks.flatMap(({ name, attributes, innerBlocks = [] }) => { 26618 if (name === "core/list-item") { 26619 return [attributes.content, ...getListContentFlat(innerBlocks)]; 26620 } 26621 return getListContentFlat(innerBlocks); 26622 }); 26623 } 26624 const list_transforms_transforms = { 26625 from: [ 26626 { 26627 type: "block", 26628 isMultiBlock: true, 26629 blocks: ["core/paragraph", "core/heading"], 26630 transform: (blockAttributes) => { 26631 let childBlocks = []; 26632 if (blockAttributes.length > 1) { 26633 childBlocks = blockAttributes.map(({ content }) => { 26634 return (0,external_wp_blocks_namespaceObject.createBlock)("core/list-item", { content }); 26635 }); 26636 } else if (blockAttributes.length === 1) { 26637 const value = (0,external_wp_richText_namespaceObject.create)({ 26638 html: blockAttributes[0].content 26639 }); 26640 childBlocks = (0,external_wp_richText_namespaceObject.split)(value, "\n").map((result) => { 26641 return (0,external_wp_blocks_namespaceObject.createBlock)("core/list-item", { 26642 content: (0,external_wp_richText_namespaceObject.toHTMLString)({ value: result }) 26643 }); 26644 }); 26645 } 26646 return (0,external_wp_blocks_namespaceObject.createBlock)( 26647 "core/list", 26648 { 26649 anchor: blockAttributes.anchor 26650 }, 26651 childBlocks 26652 ); 26653 } 26654 }, 26655 { 26656 type: "raw", 26657 selector: "ol,ul", 26658 schema: (args) => ({ 26659 ol: getListContentSchema(args).ol, 26660 ul: getListContentSchema(args).ul 26661 }), 26662 transform: createListBlockFromDOMElement 26663 }, 26664 ...["*", "-"].map((prefix) => ({ 26665 type: "prefix", 26666 prefix, 26667 transform(content) { 26668 return (0,external_wp_blocks_namespaceObject.createBlock)("core/list", {}, [ 26669 (0,external_wp_blocks_namespaceObject.createBlock)("core/list-item", { content }) 26670 ]); 26671 } 26672 })), 26673 ...["1.", "1)"].map((prefix) => ({ 26674 type: "prefix", 26675 prefix, 26676 transform(content) { 26677 return (0,external_wp_blocks_namespaceObject.createBlock)( 26678 "core/list", 26679 { 26680 ordered: true 26681 }, 26682 [(0,external_wp_blocks_namespaceObject.createBlock)("core/list-item", { content })] 26683 ); 26684 } 26685 })) 26686 ], 26687 to: [ 26688 ...["core/paragraph", "core/heading"].map((block) => ({ 26689 type: "block", 26690 blocks: [block], 26691 transform: (_attributes, childBlocks) => { 26692 return getListContentFlat(childBlocks).map( 26693 (content) => (0,external_wp_blocks_namespaceObject.createBlock)(block, { 26694 content 26695 }) 26696 ); 26697 } 26698 })) 26699 ] 26700 }; 26701 var list_transforms_transforms_default = list_transforms_transforms; 26702 26703 26704 ;// ./node_modules/@wordpress/block-library/build-module/list/index.js 26705 26706 26707 26708 26709 26710 26711 26712 26713 const { name: list_name } = list_block_namespaceObject; 26714 const list_settings = { 26715 icon: list_default, 26716 example: { 26717 innerBlocks: [ 26718 { 26719 name: "core/list-item", 26720 attributes: { content: (0,external_wp_i18n_namespaceObject.__)("Alice.") } 26721 }, 26722 { 26723 name: "core/list-item", 26724 attributes: { content: (0,external_wp_i18n_namespaceObject.__)("The White Rabbit.") } 26725 }, 26726 { 26727 name: "core/list-item", 26728 attributes: { content: (0,external_wp_i18n_namespaceObject.__)("The Cheshire Cat.") } 26729 }, 26730 { 26731 name: "core/list-item", 26732 attributes: { content: (0,external_wp_i18n_namespaceObject.__)("The Mad Hatter.") } 26733 }, 26734 { 26735 name: "core/list-item", 26736 attributes: { content: (0,external_wp_i18n_namespaceObject.__)("The Queen of Hearts.") } 26737 } 26738 ] 26739 }, 26740 transforms: list_transforms_transforms_default, 26741 edit: list_edit_Edit, 26742 save: list_save_save, 26743 deprecated: list_deprecated_deprecated_default 26744 }; 26745 const list_init = () => initBlock({ name: list_name, metadata: list_block_namespaceObject, settings: list_settings }); 26746 26747 26748 ;// ./node_modules/@wordpress/icons/build-module/library/math.js 26749 26750 26751 var math_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.2 6.8c-.7 0-1.4.5-1.6 1.1l-2.8 7.5-1.2-1.8c-.1-.2-.4-.3-.6-.3H3v1.5h1.6l1.2 1.8c.6.9 1.9.7 2.2-.3l2.9-7.9s.1-.2.2-.2h7.8V6.7h-7.8Zm5.3 3.4-1.9 1.9-1.9-1.9-1.1 1.1 1.9 1.9-1.9 1.9 1.1 1.1 1.9-1.9 1.9 1.9 1.1-1.1-1.9-1.9 1.9-1.9-1.1-1.1Z" }) }); 26752 26753 26754 ;// ./node_modules/@wordpress/block-library/build-module/math/edit.js 26755 26756 26757 26758 26759 26760 26761 26762 const { Badge } = unlock(external_wp_components_namespaceObject.privateApis); 26763 function MathEdit({ attributes, setAttributes, isSelected }) { 26764 const { latex } = attributes; 26765 const [blockRef, setBlockRef] = (0,external_wp_element_namespaceObject.useState)(); 26766 const [error, setError] = (0,external_wp_element_namespaceObject.useState)(null); 26767 const [latexToMathML, setLatexToMathML] = (0,external_wp_element_namespaceObject.useState)(); 26768 const initialLatex = (0,external_wp_element_namespaceObject.useRef)(attributes.latex); 26769 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 26770 (0,external_wp_element_namespaceObject.useEffect)(() => { 26771 Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 3533, 23)).then((module) => { 26772 setLatexToMathML(() => module.default); 26773 if (initialLatex.current) { 26774 __unstableMarkNextChangeAsNotPersistent(); 26775 setAttributes({ 26776 mathML: module.default(initialLatex.current, { 26777 displayMode: true 26778 }) 26779 }); 26780 } 26781 }); 26782 }, [ 26783 initialLatex, 26784 setAttributes, 26785 __unstableMarkNextChangeAsNotPersistent 26786 ]); 26787 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 26788 ref: setBlockRef, 26789 position: "relative" 26790 }); 26791 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 26792 attributes.mathML ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26793 "math", 26794 { 26795 display: "block", 26796 dangerouslySetInnerHTML: { __html: attributes.mathML } 26797 } 26798 ) : "\u200B", 26799 isSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26800 external_wp_components_namespaceObject.Popover, 26801 { 26802 placement: "bottom-start", 26803 offset: 8, 26804 anchor: blockRef, 26805 focusOnMount: "firstContentElement", 26806 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { style: { padding: "4px", minWidth: "300px" }, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 1, children: [ 26807 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26808 external_wp_components_namespaceObject.TextareaControl, 26809 { 26810 __nextHasNoMarginBottom: true, 26811 __next40pxDefaultSize: true, 26812 label: (0,external_wp_i18n_namespaceObject.__)("LaTeX math syntax"), 26813 hideLabelFromVision: true, 26814 value: latex, 26815 onChange: (newLatex) => { 26816 if (!latexToMathML) { 26817 setAttributes({ latex: newLatex }); 26818 return; 26819 } 26820 let mathML = ""; 26821 try { 26822 mathML = latexToMathML(newLatex, { 26823 displayMode: true 26824 }); 26825 setError(null); 26826 } catch (err) { 26827 setError(err.message); 26828 } 26829 setAttributes({ 26830 mathML, 26831 latex: newLatex 26832 }); 26833 }, 26834 placeholder: (0,external_wp_i18n_namespaceObject.__)("e.g., x^2, \\frac{a}{b}") 26835 } 26836 ), 26837 error && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 26838 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26839 Badge, 26840 { 26841 intent: "error", 26842 className: "wp-block-math__error", 26843 children: error 26844 } 26845 ), 26846 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("style", { children: ".wp-block-math__error .components-badge__content{white-space:normal}" }) 26847 ] }) 26848 ] }) }) 26849 } 26850 ) 26851 ] }); 26852 } 26853 26854 26855 ;// ./node_modules/@wordpress/block-library/build-module/math/block.json 26856 const math_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/math","title":"Math","category":"text","description":"Display mathematical notation using LaTeX.","keywords":["equation","formula","latex","mathematics"],"textdomain":"default","attributes":{"latex":{"type":"string","role":"content"},"mathML":{"type":"string","source":"html","selector":"math"}}}'); 26857 ;// ./node_modules/@wordpress/block-library/build-module/math/save.js 26858 26859 26860 function math_save_save({ attributes }) { 26861 const { latex, mathML } = attributes; 26862 if (!latex) { 26863 return null; 26864 } 26865 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 26866 "math", 26867 { 26868 ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), 26869 display: "block", 26870 dangerouslySetInnerHTML: { __html: mathML } 26871 } 26872 ); 26873 } 26874 26875 26876 ;// ./node_modules/@wordpress/block-library/build-module/math/index.js 26877 26878 26879 26880 26881 26882 const { name: math_name } = math_block_namespaceObject; 26883 const math_settings = { 26884 icon: math_default, 26885 example: { 26886 attributes: { 26887 latex: "x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}", 26888 mathML: '<semantics><mrow><mi>x</mi><mo>=</mo><mfrac><mrow><mo lspace="0em" rspace="0em">\u2212</mo><mi>b</mi><mo>\xB1</mo><msqrt><mrow><msup><mi>b</mi><mn>2</mn></msup><mo>\u2212</mo><mn>4</mn><mi>a</mi><mi>c</mi></mrow></msqrt></mrow><mrow><mn>2</mn><mi>a</mi></mrow></mfrac></mrow><annotation encoding="application/x-tex">x = \\frac{-b \\pm \\sqrt{b^2-4ac}}{2a}</annotation></semantics>' 26889 }, 26890 viewportWidth: 300 26891 }, 26892 edit: MathEdit, 26893 save: math_save_save 26894 }; 26895 const math_init = () => initBlock({ name: math_name, metadata: math_block_namespaceObject, settings: math_settings }); 26896 26897 26898 ;// ./node_modules/@wordpress/icons/build-module/library/list-item.js 26899 26900 26901 var list_item_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 11v1.5h8V11h-8zm-6-1c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" }) }); 26902 26903 26904 ;// ./node_modules/@wordpress/block-library/build-module/list-item/block.json 26905 const list_item_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/list-item","title":"List Item","category":"text","parent":["core/list"],"allowedBlocks":["core/list"],"description":"An individual item within a list.","textdomain":"default","attributes":{"placeholder":{"type":"string"},"content":{"type":"rich-text","source":"rich-text","selector":"li","role":"content"}},"supports":{"anchor":true,"className":false,"splitting":true,"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true},"color":{"gradients":true,"link":true,"background":true,"__experimentalDefaultControls":{"text":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"selectors":{"root":".wp-block-list > li","border":".wp-block-list:not(.wp-block-list .wp-block-list) > li"}}'); 26906 ;// ./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js 26907 26908 26909 var format_indent_rtl_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z" }) }); 26910 26911 26912 ;// ./node_modules/@wordpress/icons/build-module/library/format-indent.js 26913 26914 26915 var format_indent_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z" }) }); 26916 26917 26918 ;// ./node_modules/@wordpress/block-library/build-module/list-item/hooks/use-indent-list-item.js 26919 26920 26921 26922 26923 function useIndentListItem(clientId) { 26924 const { replaceBlocks, selectionChange, multiSelect } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 26925 const { 26926 getBlock, 26927 getPreviousBlockClientId, 26928 getSelectionStart, 26929 getSelectionEnd, 26930 hasMultiSelection, 26931 getMultiSelectedBlockClientIds 26932 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 26933 return (0,external_wp_element_namespaceObject.useCallback)(() => { 26934 const _hasMultiSelection = hasMultiSelection(); 26935 const clientIds = _hasMultiSelection ? getMultiSelectedBlockClientIds() : [clientId]; 26936 const clonedBlocks = clientIds.map( 26937 (_clientId) => (0,external_wp_blocks_namespaceObject.cloneBlock)(getBlock(_clientId)) 26938 ); 26939 const previousSiblingId = getPreviousBlockClientId(clientId); 26940 const newListItem = (0,external_wp_blocks_namespaceObject.cloneBlock)(getBlock(previousSiblingId)); 26941 if (!newListItem.innerBlocks?.length) { 26942 newListItem.innerBlocks = [(0,external_wp_blocks_namespaceObject.createBlock)("core/list")]; 26943 } 26944 newListItem.innerBlocks[newListItem.innerBlocks.length - 1].innerBlocks.push(...clonedBlocks); 26945 const selectionStart = getSelectionStart(); 26946 const selectionEnd = getSelectionEnd(); 26947 replaceBlocks([previousSiblingId, ...clientIds], [newListItem]); 26948 if (!_hasMultiSelection) { 26949 selectionChange( 26950 clonedBlocks[0].clientId, 26951 selectionEnd.attributeKey, 26952 selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, 26953 selectionEnd.offset 26954 ); 26955 } else { 26956 multiSelect( 26957 clonedBlocks[0].clientId, 26958 clonedBlocks[clonedBlocks.length - 1].clientId 26959 ); 26960 } 26961 return true; 26962 }, [clientId]); 26963 } 26964 26965 26966 ;// ./node_modules/@wordpress/block-library/build-module/list-item/hooks/use-outdent-list-item.js 26967 26968 26969 26970 26971 function useOutdentListItem() { 26972 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 26973 const { 26974 moveBlocksToPosition, 26975 removeBlock, 26976 insertBlock, 26977 updateBlockListSettings 26978 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 26979 const { 26980 getBlockRootClientId, 26981 getBlockName, 26982 getBlockOrder, 26983 getBlockIndex, 26984 getSelectedBlockClientIds, 26985 getBlock, 26986 getBlockListSettings 26987 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 26988 function getParentListItemId(id) { 26989 const listId = getBlockRootClientId(id); 26990 const parentListItemId = getBlockRootClientId(listId); 26991 if (!parentListItemId) { 26992 return; 26993 } 26994 if (getBlockName(parentListItemId) !== "core/list-item") { 26995 return; 26996 } 26997 return parentListItemId; 26998 } 26999 return (0,external_wp_element_namespaceObject.useCallback)((clientIds = getSelectedBlockClientIds()) => { 27000 if (!Array.isArray(clientIds)) { 27001 clientIds = [clientIds]; 27002 } 27003 if (!clientIds.length) { 27004 return; 27005 } 27006 const firstClientId = clientIds[0]; 27007 if (getBlockName(firstClientId) !== "core/list-item") { 27008 return; 27009 } 27010 const parentListItemId = getParentListItemId(firstClientId); 27011 if (!parentListItemId) { 27012 return; 27013 } 27014 const parentListId = getBlockRootClientId(firstClientId); 27015 const lastClientId = clientIds[clientIds.length - 1]; 27016 const order = getBlockOrder(parentListId); 27017 const followingListItems = order.slice( 27018 getBlockIndex(lastClientId) + 1 27019 ); 27020 registry.batch(() => { 27021 if (followingListItems.length) { 27022 let nestedListId = getBlockOrder(firstClientId)[0]; 27023 if (!nestedListId) { 27024 const nestedListBlock = (0,external_wp_blocks_namespaceObject.cloneBlock)( 27025 getBlock(parentListId), 27026 {}, 27027 [] 27028 ); 27029 nestedListId = nestedListBlock.clientId; 27030 insertBlock(nestedListBlock, 0, firstClientId, false); 27031 updateBlockListSettings( 27032 nestedListId, 27033 getBlockListSettings(parentListId) 27034 ); 27035 } 27036 moveBlocksToPosition( 27037 followingListItems, 27038 parentListId, 27039 nestedListId 27040 ); 27041 } 27042 moveBlocksToPosition( 27043 clientIds, 27044 parentListId, 27045 getBlockRootClientId(parentListItemId), 27046 getBlockIndex(parentListItemId) + 1 27047 ); 27048 if (!getBlockOrder(parentListId).length) { 27049 const shouldSelectParent = false; 27050 removeBlock(parentListId, shouldSelectParent); 27051 } 27052 }); 27053 return true; 27054 }, []); 27055 } 27056 27057 27058 ;// ./node_modules/@wordpress/block-library/build-module/list-item/hooks/use-enter.js 27059 27060 27061 27062 27063 27064 27065 27066 function use_enter_useEnter(props) { 27067 const { replaceBlocks, selectionChange } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 27068 const { getBlock, getBlockRootClientId, getBlockIndex, getBlockName } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 27069 const propsRef = (0,external_wp_element_namespaceObject.useRef)(props); 27070 propsRef.current = props; 27071 const outdentListItem = useOutdentListItem(); 27072 return (0,external_wp_compose_namespaceObject.useRefEffect)((element) => { 27073 function onKeyDown(event) { 27074 if (event.defaultPrevented || event.keyCode !== external_wp_keycodes_namespaceObject.ENTER) { 27075 return; 27076 } 27077 const { content, clientId } = propsRef.current; 27078 if (content.length) { 27079 return; 27080 } 27081 event.preventDefault(); 27082 const canOutdent = getBlockName( 27083 getBlockRootClientId( 27084 getBlockRootClientId(propsRef.current.clientId) 27085 ) 27086 ) === "core/list-item"; 27087 if (canOutdent) { 27088 outdentListItem(); 27089 return; 27090 } 27091 const topParentListBlock = getBlock( 27092 getBlockRootClientId(clientId) 27093 ); 27094 const blockIndex = getBlockIndex(clientId); 27095 const head = (0,external_wp_blocks_namespaceObject.cloneBlock)({ 27096 ...topParentListBlock, 27097 innerBlocks: topParentListBlock.innerBlocks.slice( 27098 0, 27099 blockIndex 27100 ) 27101 }); 27102 const middle = (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()); 27103 const after = [ 27104 ...topParentListBlock.innerBlocks[blockIndex].innerBlocks[0]?.innerBlocks || [], 27105 ...topParentListBlock.innerBlocks.slice(blockIndex + 1) 27106 ]; 27107 const tail = after.length ? [ 27108 (0,external_wp_blocks_namespaceObject.cloneBlock)({ 27109 ...topParentListBlock, 27110 innerBlocks: after 27111 }) 27112 ] : []; 27113 replaceBlocks( 27114 topParentListBlock.clientId, 27115 [head, middle, ...tail], 27116 1 27117 ); 27118 selectionChange(middle.clientId); 27119 } 27120 element.addEventListener("keydown", onKeyDown); 27121 return () => { 27122 element.removeEventListener("keydown", onKeyDown); 27123 }; 27124 }, []); 27125 } 27126 27127 27128 ;// ./node_modules/@wordpress/block-library/build-module/list-item/hooks/use-space.js 27129 27130 27131 27132 27133 27134 27135 function useSpace(clientId) { 27136 const { getSelectionStart, getSelectionEnd, getBlockIndex } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 27137 const indentListItem = useIndentListItem(clientId); 27138 const outdentListItem = useOutdentListItem(); 27139 return (0,external_wp_compose_namespaceObject.useRefEffect)( 27140 (element) => { 27141 function onKeyDown(event) { 27142 const { keyCode, shiftKey, altKey, metaKey, ctrlKey } = event; 27143 if (event.defaultPrevented || keyCode !== external_wp_keycodes_namespaceObject.SPACE && keyCode !== external_wp_keycodes_namespaceObject.TAB || // Only override when no modifiers are pressed. 27144 altKey || metaKey || ctrlKey) { 27145 return; 27146 } 27147 const selectionStart = getSelectionStart(); 27148 const selectionEnd = getSelectionEnd(); 27149 if (selectionStart.offset === 0 && selectionEnd.offset === 0) { 27150 if (shiftKey) { 27151 if (keyCode === external_wp_keycodes_namespaceObject.TAB) { 27152 if (outdentListItem()) { 27153 event.preventDefault(); 27154 } 27155 } 27156 } else if (getBlockIndex(clientId) !== 0) { 27157 if (indentListItem()) { 27158 event.preventDefault(); 27159 } 27160 } 27161 } 27162 } 27163 element.addEventListener("keydown", onKeyDown); 27164 return () => { 27165 element.removeEventListener("keydown", onKeyDown); 27166 }; 27167 }, 27168 [clientId, indentListItem] 27169 ); 27170 } 27171 27172 27173 ;// ./node_modules/@wordpress/block-library/build-module/list-item/hooks/use-merge.js 27174 27175 27176 27177 function useMerge(clientId, onMerge) { 27178 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 27179 const { 27180 getPreviousBlockClientId, 27181 getNextBlockClientId, 27182 getBlockOrder, 27183 getBlockRootClientId, 27184 getBlockName 27185 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 27186 const { mergeBlocks, moveBlocksToPosition } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 27187 const outdentListItem = useOutdentListItem(); 27188 function getTrailingId(id) { 27189 const order = getBlockOrder(id); 27190 if (!order.length) { 27191 return id; 27192 } 27193 return getTrailingId(order[order.length - 1]); 27194 } 27195 function getParentListItemId(id) { 27196 const listId = getBlockRootClientId(id); 27197 const parentListItemId = getBlockRootClientId(listId); 27198 if (!parentListItemId) { 27199 return; 27200 } 27201 if (getBlockName(parentListItemId) !== "core/list-item") { 27202 return; 27203 } 27204 return parentListItemId; 27205 } 27206 function _getNextId(id) { 27207 const next = getNextBlockClientId(id); 27208 if (next) { 27209 return next; 27210 } 27211 const parentListItemId = getParentListItemId(id); 27212 if (!parentListItemId) { 27213 return; 27214 } 27215 return _getNextId(parentListItemId); 27216 } 27217 function getNextId(id) { 27218 const order = getBlockOrder(id); 27219 if (!order.length) { 27220 return _getNextId(id); 27221 } 27222 return getBlockOrder(order[0])[0]; 27223 } 27224 return (forward) => { 27225 function mergeWithNested(clientIdA, clientIdB) { 27226 registry.batch(() => { 27227 const [nestedListClientId] = getBlockOrder(clientIdB); 27228 if (nestedListClientId) { 27229 if (getPreviousBlockClientId(clientIdB) === clientIdA && !getBlockOrder(clientIdA).length) { 27230 moveBlocksToPosition( 27231 [nestedListClientId], 27232 clientIdB, 27233 clientIdA 27234 ); 27235 } else { 27236 moveBlocksToPosition( 27237 getBlockOrder(nestedListClientId), 27238 nestedListClientId, 27239 getBlockRootClientId(clientIdA) 27240 ); 27241 } 27242 } 27243 mergeBlocks(clientIdA, clientIdB); 27244 }); 27245 } 27246 if (forward) { 27247 const nextBlockClientId = getNextId(clientId); 27248 if (!nextBlockClientId) { 27249 onMerge(forward); 27250 return; 27251 } 27252 if (getParentListItemId(nextBlockClientId)) { 27253 outdentListItem(nextBlockClientId); 27254 } else { 27255 mergeWithNested(clientId, nextBlockClientId); 27256 } 27257 } else { 27258 const previousBlockClientId = getPreviousBlockClientId(clientId); 27259 if (getParentListItemId(clientId)) { 27260 outdentListItem(clientId); 27261 } else if (previousBlockClientId) { 27262 const trailingId = getTrailingId(previousBlockClientId); 27263 mergeWithNested(trailingId, clientId); 27264 } else { 27265 onMerge(forward); 27266 } 27267 } 27268 }; 27269 } 27270 27271 27272 ;// ./node_modules/@wordpress/block-library/build-module/list-item/edit.js 27273 27274 27275 27276 27277 27278 27279 27280 27281 27282 function edit_IndentUI({ clientId }) { 27283 const indentListItem = useIndentListItem(clientId); 27284 const outdentListItem = useOutdentListItem(); 27285 const { canIndent, canOutdent } = (0,external_wp_data_namespaceObject.useSelect)( 27286 (select) => { 27287 const { getBlockIndex, getBlockRootClientId, getBlockName } = select(external_wp_blockEditor_namespaceObject.store); 27288 return { 27289 canIndent: getBlockIndex(clientId) > 0, 27290 canOutdent: getBlockName( 27291 getBlockRootClientId(getBlockRootClientId(clientId)) 27292 ) === "core/list-item" 27293 }; 27294 }, 27295 [clientId] 27296 ); 27297 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 27298 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27299 external_wp_components_namespaceObject.ToolbarButton, 27300 { 27301 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_outdent_rtl_default : format_outdent_default, 27302 title: (0,external_wp_i18n_namespaceObject.__)("Outdent"), 27303 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.shift("Tab"), 27304 description: (0,external_wp_i18n_namespaceObject.__)("Outdent list item"), 27305 disabled: !canOutdent, 27306 onClick: () => outdentListItem() 27307 } 27308 ), 27309 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27310 external_wp_components_namespaceObject.ToolbarButton, 27311 { 27312 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_indent_rtl_default : format_indent_default, 27313 title: (0,external_wp_i18n_namespaceObject.__)("Indent"), 27314 shortcut: "Tab", 27315 description: (0,external_wp_i18n_namespaceObject.__)("Indent list item"), 27316 disabled: !canIndent, 27317 onClick: () => indentListItem() 27318 } 27319 ) 27320 ] }); 27321 } 27322 function ListItemEdit({ 27323 attributes, 27324 setAttributes, 27325 clientId, 27326 mergeBlocks 27327 }) { 27328 const { placeholder, content } = attributes; 27329 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 27330 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 27331 renderAppender: false, 27332 __unstableDisableDropZone: true 27333 }); 27334 const useEnterRef = use_enter_useEnter({ content, clientId }); 27335 const useSpaceRef = useSpace(clientId); 27336 const onMerge = useMerge(clientId, mergeBlocks); 27337 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 27338 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { ...innerBlocksProps, children: [ 27339 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27340 external_wp_blockEditor_namespaceObject.RichText, 27341 { 27342 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([useEnterRef, useSpaceRef]), 27343 identifier: "content", 27344 tagName: "div", 27345 onChange: (nextContent) => setAttributes({ content: nextContent }), 27346 value: content, 27347 "aria-label": (0,external_wp_i18n_namespaceObject.__)("List text"), 27348 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)("List"), 27349 onMerge 27350 } 27351 ), 27352 innerBlocksProps.children 27353 ] }), 27354 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(edit_IndentUI, { clientId }) }) 27355 ] }); 27356 } 27357 27358 27359 ;// ./node_modules/@wordpress/block-library/build-module/list-item/save.js 27360 27361 27362 function list_item_save_save({ attributes }) { 27363 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 27364 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: attributes.content }), 27365 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 27366 ] }); 27367 } 27368 27369 27370 ;// ./node_modules/@wordpress/block-library/build-module/list-item/transforms.js 27371 27372 const list_item_transforms_transforms = { 27373 to: [ 27374 { 27375 type: "block", 27376 blocks: ["core/paragraph"], 27377 transform: (attributes, innerBlocks = []) => [ 27378 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", attributes), 27379 ...innerBlocks.map((block) => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)) 27380 ] 27381 } 27382 ] 27383 }; 27384 var list_item_transforms_transforms_default = list_item_transforms_transforms; 27385 27386 27387 ;// ./node_modules/@wordpress/block-library/build-module/list-item/index.js 27388 27389 27390 27391 27392 27393 27394 27395 27396 const { name: list_item_name } = list_item_block_namespaceObject; 27397 const list_item_settings = { 27398 icon: list_item_default, 27399 edit: ListItemEdit, 27400 save: list_item_save_save, 27401 merge(attributes, attributesToMerge) { 27402 return { 27403 ...attributes, 27404 content: attributes.content + attributesToMerge.content 27405 }; 27406 }, 27407 transforms: list_item_transforms_transforms_default, 27408 [unlock(external_wp_blockEditor_namespaceObject.privateApis).requiresWrapperOnCopy]: true 27409 }; 27410 const list_item_init = () => initBlock({ name: list_item_name, metadata: list_item_block_namespaceObject, settings: list_item_settings }); 27411 27412 27413 ;// ./node_modules/@wordpress/icons/build-module/library/login.js 27414 27415 27416 var login_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z" }) }); 27417 27418 27419 ;// ./node_modules/@wordpress/block-library/build-module/loginout/edit.js 27420 27421 27422 27423 27424 27425 function LoginOutEdit({ attributes, setAttributes }) { 27426 const { displayLoginAsForm, redirectToCurrent } = attributes; 27427 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 27428 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 27429 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 27430 external_wp_components_namespaceObject.__experimentalToolsPanel, 27431 { 27432 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 27433 resetAll: () => { 27434 setAttributes({ 27435 displayLoginAsForm: false, 27436 redirectToCurrent: true 27437 }); 27438 }, 27439 dropdownMenuProps, 27440 children: [ 27441 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27442 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 27443 { 27444 label: (0,external_wp_i18n_namespaceObject.__)("Display login as form"), 27445 isShownByDefault: true, 27446 hasValue: () => displayLoginAsForm, 27447 onDeselect: () => setAttributes({ displayLoginAsForm: false }), 27448 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27449 external_wp_components_namespaceObject.ToggleControl, 27450 { 27451 __nextHasNoMarginBottom: true, 27452 label: (0,external_wp_i18n_namespaceObject.__)("Display login as form"), 27453 checked: displayLoginAsForm, 27454 onChange: () => setAttributes({ 27455 displayLoginAsForm: !displayLoginAsForm 27456 }) 27457 } 27458 ) 27459 } 27460 ), 27461 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27462 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 27463 { 27464 label: (0,external_wp_i18n_namespaceObject.__)("Redirect to current URL"), 27465 isShownByDefault: true, 27466 hasValue: () => !redirectToCurrent, 27467 onDeselect: () => setAttributes({ redirectToCurrent: true }), 27468 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27469 external_wp_components_namespaceObject.ToggleControl, 27470 { 27471 __nextHasNoMarginBottom: true, 27472 label: (0,external_wp_i18n_namespaceObject.__)("Redirect to current URL"), 27473 checked: redirectToCurrent, 27474 onChange: () => setAttributes({ 27475 redirectToCurrent: !redirectToCurrent 27476 }) 27477 } 27478 ) 27479 } 27480 ) 27481 ] 27482 } 27483 ) }), 27484 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27485 "div", 27486 { 27487 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 27488 className: "logged-in" 27489 }), 27490 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: "#login-pseudo-link", children: (0,external_wp_i18n_namespaceObject.__)("Log out") }) 27491 } 27492 ) 27493 ] }); 27494 } 27495 27496 27497 ;// ./node_modules/@wordpress/block-library/build-module/loginout/block.json 27498 const loginout_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/loginout","title":"Login/out","category":"theme","description":"Show login & logout links.","keywords":["login","logout","form"],"textdomain":"default","attributes":{"displayLoginAsForm":{"type":"boolean","default":false},"redirectToCurrent":{"type":"boolean","default":true}},"example":{"viewportWidth":350},"supports":{"className":true,"color":{"background":true,"text":false,"gradients":true,"link":true},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"interactivity":{"clientNavigation":true}},"style":"wp-block-loginout"}'); 27499 ;// ./node_modules/@wordpress/block-library/build-module/loginout/index.js 27500 27501 27502 27503 27504 const { name: loginout_name } = loginout_block_namespaceObject; 27505 const loginout_settings = { 27506 icon: login_default, 27507 edit: LoginOutEdit 27508 }; 27509 const loginout_init = () => initBlock({ name: loginout_name, metadata: loginout_block_namespaceObject, settings: loginout_settings }); 27510 27511 27512 ;// ./node_modules/@wordpress/icons/build-module/library/media-and-text.js 27513 27514 27515 var media_and_text_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M3 6v11.5h8V6H3Zm11 3h7V7.5h-7V9Zm7 3.5h-7V11h7v1.5ZM14 16h7v-1.5h-7V16Z" }) }); 27516 27517 27518 ;// ./node_modules/@wordpress/block-library/build-module/media-text/constants.js 27519 27520 const media_text_constants_DEFAULT_MEDIA_SIZE_SLUG = "full"; 27521 const WIDTH_CONSTRAINT_PERCENTAGE = 15; 27522 const media_text_constants_LINK_DESTINATION_MEDIA = "media"; 27523 const media_text_constants_LINK_DESTINATION_ATTACHMENT = "attachment"; 27524 const constants_TEMPLATE = [ 27525 [ 27526 "core/paragraph", 27527 { 27528 placeholder: (0,external_wp_i18n_namespaceObject._x)("Content\u2026", "content placeholder") 27529 } 27530 ] 27531 ]; 27532 27533 27534 ;// ./node_modules/@wordpress/block-library/build-module/media-text/deprecated.js 27535 27536 27537 27538 27539 27540 const v1ToV5ImageFillStyles = (url, focalPoint) => { 27541 return url ? { 27542 backgroundImage: `url($url})`, 27543 backgroundPosition: focalPoint ? `$focalPoint.x * 100}% $focalPoint.y * 100}%` : `50% 50%` 27544 } : {}; 27545 }; 27546 const v6ToV7ImageFillStyles = (url, focalPoint) => { 27547 return url ? { 27548 backgroundImage: `url($url})`, 27549 backgroundPosition: focalPoint ? `$Math.round(focalPoint.x * 100)}% $Math.round( 27550 focalPoint.y * 100 27551 )}%` : `50% 50%` 27552 } : {}; 27553 }; 27554 const DEFAULT_MEDIA_WIDTH = 50; 27555 const noop = () => { 27556 }; 27557 const media_text_deprecated_migrateCustomColors = (attributes) => { 27558 if (!attributes.customBackgroundColor) { 27559 return attributes; 27560 } 27561 const style = { 27562 color: { 27563 background: attributes.customBackgroundColor 27564 } 27565 }; 27566 const { customBackgroundColor, ...restAttributes } = attributes; 27567 return { 27568 ...restAttributes, 27569 style 27570 }; 27571 }; 27572 const migrateDefaultAlign = (attributes) => { 27573 if (attributes.align) { 27574 return attributes; 27575 } 27576 return { 27577 ...attributes, 27578 align: "wide" 27579 }; 27580 }; 27581 const v0Attributes = { 27582 align: { 27583 type: "string", 27584 default: "wide" 27585 }, 27586 mediaAlt: { 27587 type: "string", 27588 source: "attribute", 27589 selector: "figure img", 27590 attribute: "alt", 27591 default: "" 27592 }, 27593 mediaPosition: { 27594 type: "string", 27595 default: "left" 27596 }, 27597 mediaId: { 27598 type: "number" 27599 }, 27600 mediaType: { 27601 type: "string" 27602 }, 27603 mediaWidth: { 27604 type: "number", 27605 default: 50 27606 }, 27607 isStackedOnMobile: { 27608 type: "boolean", 27609 default: false 27610 } 27611 }; 27612 const v4ToV5BlockAttributes = { 27613 ...v0Attributes, 27614 isStackedOnMobile: { 27615 type: "boolean", 27616 default: true 27617 }, 27618 mediaUrl: { 27619 type: "string", 27620 source: "attribute", 27621 selector: "figure video,figure img", 27622 attribute: "src" 27623 }, 27624 mediaLink: { 27625 type: "string" 27626 }, 27627 linkDestination: { 27628 type: "string" 27629 }, 27630 linkTarget: { 27631 type: "string", 27632 source: "attribute", 27633 selector: "figure a", 27634 attribute: "target" 27635 }, 27636 href: { 27637 type: "string", 27638 source: "attribute", 27639 selector: "figure a", 27640 attribute: "href" 27641 }, 27642 rel: { 27643 type: "string", 27644 source: "attribute", 27645 selector: "figure a", 27646 attribute: "rel" 27647 }, 27648 linkClass: { 27649 type: "string", 27650 source: "attribute", 27651 selector: "figure a", 27652 attribute: "class" 27653 }, 27654 mediaSizeSlug: { 27655 type: "string" 27656 }, 27657 verticalAlignment: { 27658 type: "string" 27659 }, 27660 imageFill: { 27661 type: "boolean" 27662 }, 27663 focalPoint: { 27664 type: "object" 27665 } 27666 }; 27667 const v6Attributes = { 27668 ...v4ToV5BlockAttributes, 27669 mediaAlt: { 27670 type: "string", 27671 source: "attribute", 27672 selector: "figure img", 27673 attribute: "alt", 27674 default: "", 27675 role: "content" 27676 }, 27677 mediaId: { 27678 type: "number", 27679 role: "content" 27680 }, 27681 mediaUrl: { 27682 type: "string", 27683 source: "attribute", 27684 selector: "figure video,figure img", 27685 attribute: "src", 27686 role: "content" 27687 }, 27688 href: { 27689 type: "string", 27690 source: "attribute", 27691 selector: "figure a", 27692 attribute: "href", 27693 role: "content" 27694 }, 27695 mediaType: { 27696 type: "string", 27697 role: "content" 27698 } 27699 }; 27700 const v7Attributes = { 27701 ...v6Attributes, 27702 align: { 27703 type: "string", 27704 // v7 changed the default for the `align` attribute. 27705 default: "none" 27706 }, 27707 // New attribute. 27708 useFeaturedImage: { 27709 type: "boolean", 27710 default: false 27711 } 27712 }; 27713 const v4ToV5Supports = { 27714 anchor: true, 27715 align: ["wide", "full"], 27716 html: false, 27717 color: { 27718 gradients: true, 27719 link: true 27720 } 27721 }; 27722 const v6Supports = { 27723 ...v4ToV5Supports, 27724 color: { 27725 gradients: true, 27726 link: true, 27727 __experimentalDefaultControls: { 27728 background: true, 27729 text: true 27730 } 27731 }, 27732 spacing: { 27733 margin: true, 27734 padding: true 27735 }, 27736 typography: { 27737 fontSize: true, 27738 lineHeight: true, 27739 __experimentalFontFamily: true, 27740 __experimentalFontWeight: true, 27741 __experimentalFontStyle: true, 27742 __experimentalTextTransform: true, 27743 __experimentalTextDecoration: true, 27744 __experimentalLetterSpacing: true, 27745 __experimentalDefaultControls: { 27746 fontSize: true 27747 } 27748 } 27749 }; 27750 const v7Supports = { 27751 ...v6Supports, 27752 __experimentalBorder: { 27753 color: true, 27754 radius: true, 27755 style: true, 27756 width: true, 27757 __experimentalDefaultControls: { 27758 color: true, 27759 radius: true, 27760 style: true, 27761 width: true 27762 } 27763 }, 27764 color: { 27765 gradients: true, 27766 heading: true, 27767 link: true, 27768 __experimentalDefaultControls: { 27769 background: true, 27770 text: true 27771 } 27772 }, 27773 interactivity: { 27774 clientNavigation: true 27775 } 27776 }; 27777 const media_text_deprecated_v7 = { 27778 attributes: v7Attributes, 27779 supports: v7Supports, 27780 usesContext: ["postId", "postType"], 27781 save({ attributes }) { 27782 const { 27783 isStackedOnMobile, 27784 mediaAlt, 27785 mediaPosition, 27786 mediaType, 27787 mediaUrl, 27788 mediaWidth, 27789 mediaId, 27790 verticalAlignment, 27791 imageFill, 27792 focalPoint, 27793 linkClass, 27794 href, 27795 linkTarget, 27796 rel 27797 } = attributes; 27798 const mediaSizeSlug = attributes.mediaSizeSlug || media_text_constants_DEFAULT_MEDIA_SIZE_SLUG; 27799 const newRel = !rel ? void 0 : rel; 27800 const imageClasses = dist_clsx({ 27801 [`wp-image-$mediaId}`]: mediaId && mediaType === "image", 27802 [`size-$mediaSizeSlug}`]: mediaId && mediaType === "image" 27803 }); 27804 let image = mediaUrl ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27805 "img", 27806 { 27807 src: mediaUrl, 27808 alt: mediaAlt, 27809 className: imageClasses || null 27810 } 27811 ) : null; 27812 if (href) { 27813 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27814 "a", 27815 { 27816 className: linkClass, 27817 href, 27818 target: linkTarget, 27819 rel: newRel, 27820 children: image 27821 } 27822 ); 27823 } 27824 const mediaTypeRenders = { 27825 image: () => image, 27826 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 27827 }; 27828 const className = dist_clsx({ 27829 "has-media-on-the-right": "right" === mediaPosition, 27830 "is-stacked-on-mobile": isStackedOnMobile, 27831 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 27832 "is-image-fill": imageFill 27833 }); 27834 const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {}; 27835 let gridTemplateColumns; 27836 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 27837 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 27838 } 27839 const style = { 27840 gridTemplateColumns 27841 }; 27842 if ("right" === mediaPosition) { 27843 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 27844 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27845 "div", 27846 { 27847 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 27848 className: "wp-block-media-text__content" 27849 }) 27850 } 27851 ), 27852 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27853 "figure", 27854 { 27855 className: "wp-block-media-text__media", 27856 style: backgroundStyles, 27857 children: (mediaTypeRenders[mediaType] || noop)() 27858 } 27859 ) 27860 ] }); 27861 } 27862 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 27863 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27864 "figure", 27865 { 27866 className: "wp-block-media-text__media", 27867 style: backgroundStyles, 27868 children: (mediaTypeRenders[mediaType] || noop)() 27869 } 27870 ), 27871 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27872 "div", 27873 { 27874 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 27875 className: "wp-block-media-text__content" 27876 }) 27877 } 27878 ) 27879 ] }); 27880 } 27881 }; 27882 const media_text_deprecated_v6 = { 27883 attributes: v6Attributes, 27884 supports: v6Supports, 27885 save({ attributes }) { 27886 const { 27887 isStackedOnMobile, 27888 mediaAlt, 27889 mediaPosition, 27890 mediaType, 27891 mediaUrl, 27892 mediaWidth, 27893 mediaId, 27894 verticalAlignment, 27895 imageFill, 27896 focalPoint, 27897 linkClass, 27898 href, 27899 linkTarget, 27900 rel 27901 } = attributes; 27902 const mediaSizeSlug = attributes.mediaSizeSlug || media_text_constants_DEFAULT_MEDIA_SIZE_SLUG; 27903 const newRel = !rel ? void 0 : rel; 27904 const imageClasses = dist_clsx({ 27905 [`wp-image-$mediaId}`]: mediaId && mediaType === "image", 27906 [`size-$mediaSizeSlug}`]: mediaId && mediaType === "image" 27907 }); 27908 let image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27909 "img", 27910 { 27911 src: mediaUrl, 27912 alt: mediaAlt, 27913 className: imageClasses || null 27914 } 27915 ); 27916 if (href) { 27917 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27918 "a", 27919 { 27920 className: linkClass, 27921 href, 27922 target: linkTarget, 27923 rel: newRel, 27924 children: image 27925 } 27926 ); 27927 } 27928 const mediaTypeRenders = { 27929 image: () => image, 27930 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 27931 }; 27932 const className = dist_clsx({ 27933 "has-media-on-the-right": "right" === mediaPosition, 27934 "is-stacked-on-mobile": isStackedOnMobile, 27935 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 27936 "is-image-fill": imageFill 27937 }); 27938 const backgroundStyles = imageFill ? v6ToV7ImageFillStyles(mediaUrl, focalPoint) : {}; 27939 let gridTemplateColumns; 27940 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 27941 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 27942 } 27943 const style = { 27944 gridTemplateColumns 27945 }; 27946 if ("right" === mediaPosition) { 27947 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 27948 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27949 "div", 27950 { 27951 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 27952 className: "wp-block-media-text__content" 27953 }) 27954 } 27955 ), 27956 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27957 "figure", 27958 { 27959 className: "wp-block-media-text__media", 27960 style: backgroundStyles, 27961 children: (mediaTypeRenders[mediaType] || noop)() 27962 } 27963 ) 27964 ] }); 27965 } 27966 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 27967 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27968 "figure", 27969 { 27970 className: "wp-block-media-text__media", 27971 style: backgroundStyles, 27972 children: (mediaTypeRenders[mediaType] || noop)() 27973 } 27974 ), 27975 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 27976 "div", 27977 { 27978 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 27979 className: "wp-block-media-text__content" 27980 }) 27981 } 27982 ) 27983 ] }); 27984 }, 27985 migrate: migrateDefaultAlign, 27986 isEligible(attributes, innerBlocks, { block }) { 27987 const { attributes: finalizedAttributes } = block; 27988 return attributes.align === void 0 && !!finalizedAttributes.className?.includes("alignwide"); 27989 } 27990 }; 27991 const media_text_deprecated_v5 = { 27992 attributes: v4ToV5BlockAttributes, 27993 supports: v4ToV5Supports, 27994 save({ attributes }) { 27995 const { 27996 isStackedOnMobile, 27997 mediaAlt, 27998 mediaPosition, 27999 mediaType, 28000 mediaUrl, 28001 mediaWidth, 28002 mediaId, 28003 verticalAlignment, 28004 imageFill, 28005 focalPoint, 28006 linkClass, 28007 href, 28008 linkTarget, 28009 rel 28010 } = attributes; 28011 const mediaSizeSlug = attributes.mediaSizeSlug || media_text_constants_DEFAULT_MEDIA_SIZE_SLUG; 28012 const newRel = !rel ? void 0 : rel; 28013 const imageClasses = dist_clsx({ 28014 [`wp-image-$mediaId}`]: mediaId && mediaType === "image", 28015 [`size-$mediaSizeSlug}`]: mediaId && mediaType === "image" 28016 }); 28017 let image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28018 "img", 28019 { 28020 src: mediaUrl, 28021 alt: mediaAlt, 28022 className: imageClasses || null 28023 } 28024 ); 28025 if (href) { 28026 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28027 "a", 28028 { 28029 className: linkClass, 28030 href, 28031 target: linkTarget, 28032 rel: newRel, 28033 children: image 28034 } 28035 ); 28036 } 28037 const mediaTypeRenders = { 28038 image: () => image, 28039 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 28040 }; 28041 const className = dist_clsx({ 28042 "has-media-on-the-right": "right" === mediaPosition, 28043 "is-stacked-on-mobile": isStackedOnMobile, 28044 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 28045 "is-image-fill": imageFill 28046 }); 28047 const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {}; 28048 let gridTemplateColumns; 28049 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 28050 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 28051 } 28052 const style = { 28053 gridTemplateColumns 28054 }; 28055 if ("right" === mediaPosition) { 28056 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 28057 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28058 "div", 28059 { 28060 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 28061 className: "wp-block-media-text__content" 28062 }) 28063 } 28064 ), 28065 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28066 "figure", 28067 { 28068 className: "wp-block-media-text__media", 28069 style: backgroundStyles, 28070 children: (mediaTypeRenders[mediaType] || noop)() 28071 } 28072 ) 28073 ] }); 28074 } 28075 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 28076 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28077 "figure", 28078 { 28079 className: "wp-block-media-text__media", 28080 style: backgroundStyles, 28081 children: (mediaTypeRenders[mediaType] || noop)() 28082 } 28083 ), 28084 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28085 "div", 28086 { 28087 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 28088 className: "wp-block-media-text__content" 28089 }) 28090 } 28091 ) 28092 ] }); 28093 }, 28094 migrate: migrateDefaultAlign 28095 }; 28096 const media_text_deprecated_v4 = { 28097 attributes: v4ToV5BlockAttributes, 28098 supports: v4ToV5Supports, 28099 save({ attributes }) { 28100 const { 28101 isStackedOnMobile, 28102 mediaAlt, 28103 mediaPosition, 28104 mediaType, 28105 mediaUrl, 28106 mediaWidth, 28107 mediaId, 28108 verticalAlignment, 28109 imageFill, 28110 focalPoint, 28111 linkClass, 28112 href, 28113 linkTarget, 28114 rel 28115 } = attributes; 28116 const mediaSizeSlug = attributes.mediaSizeSlug || media_text_constants_DEFAULT_MEDIA_SIZE_SLUG; 28117 const newRel = !rel ? void 0 : rel; 28118 const imageClasses = dist_clsx({ 28119 [`wp-image-$mediaId}`]: mediaId && mediaType === "image", 28120 [`size-$mediaSizeSlug}`]: mediaId && mediaType === "image" 28121 }); 28122 let image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28123 "img", 28124 { 28125 src: mediaUrl, 28126 alt: mediaAlt, 28127 className: imageClasses || null 28128 } 28129 ); 28130 if (href) { 28131 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28132 "a", 28133 { 28134 className: linkClass, 28135 href, 28136 target: linkTarget, 28137 rel: newRel, 28138 children: image 28139 } 28140 ); 28141 } 28142 const mediaTypeRenders = { 28143 image: () => image, 28144 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 28145 }; 28146 const className = dist_clsx({ 28147 "has-media-on-the-right": "right" === mediaPosition, 28148 "is-stacked-on-mobile": isStackedOnMobile, 28149 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 28150 "is-image-fill": imageFill 28151 }); 28152 const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {}; 28153 let gridTemplateColumns; 28154 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 28155 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 28156 } 28157 const style = { 28158 gridTemplateColumns 28159 }; 28160 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 28161 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28162 "figure", 28163 { 28164 className: "wp-block-media-text__media", 28165 style: backgroundStyles, 28166 children: (mediaTypeRenders[mediaType] || noop)() 28167 } 28168 ), 28169 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28170 "div", 28171 { 28172 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 28173 className: "wp-block-media-text__content" 28174 }) 28175 } 28176 ) 28177 ] }); 28178 }, 28179 migrate: migrateDefaultAlign 28180 }; 28181 const media_text_deprecated_v3 = { 28182 attributes: { 28183 ...v0Attributes, 28184 isStackedOnMobile: { 28185 type: "boolean", 28186 default: true 28187 }, 28188 backgroundColor: { 28189 type: "string" 28190 }, 28191 customBackgroundColor: { 28192 type: "string" 28193 }, 28194 mediaLink: { 28195 type: "string" 28196 }, 28197 linkDestination: { 28198 type: "string" 28199 }, 28200 linkTarget: { 28201 type: "string", 28202 source: "attribute", 28203 selector: "figure a", 28204 attribute: "target" 28205 }, 28206 href: { 28207 type: "string", 28208 source: "attribute", 28209 selector: "figure a", 28210 attribute: "href" 28211 }, 28212 rel: { 28213 type: "string", 28214 source: "attribute", 28215 selector: "figure a", 28216 attribute: "rel" 28217 }, 28218 linkClass: { 28219 type: "string", 28220 source: "attribute", 28221 selector: "figure a", 28222 attribute: "class" 28223 }, 28224 verticalAlignment: { 28225 type: "string" 28226 }, 28227 imageFill: { 28228 type: "boolean" 28229 }, 28230 focalPoint: { 28231 type: "object" 28232 } 28233 }, 28234 migrate: (0,external_wp_compose_namespaceObject.compose)(media_text_deprecated_migrateCustomColors, migrateDefaultAlign), 28235 save({ attributes }) { 28236 const { 28237 backgroundColor, 28238 customBackgroundColor, 28239 isStackedOnMobile, 28240 mediaAlt, 28241 mediaPosition, 28242 mediaType, 28243 mediaUrl, 28244 mediaWidth, 28245 mediaId, 28246 verticalAlignment, 28247 imageFill, 28248 focalPoint, 28249 linkClass, 28250 href, 28251 linkTarget, 28252 rel 28253 } = attributes; 28254 const newRel = !rel ? void 0 : rel; 28255 let image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28256 "img", 28257 { 28258 src: mediaUrl, 28259 alt: mediaAlt, 28260 className: mediaId && mediaType === "image" ? `wp-image-$mediaId}` : null 28261 } 28262 ); 28263 if (href) { 28264 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28265 "a", 28266 { 28267 className: linkClass, 28268 href, 28269 target: linkTarget, 28270 rel: newRel, 28271 children: image 28272 } 28273 ); 28274 } 28275 const mediaTypeRenders = { 28276 image: () => image, 28277 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 28278 }; 28279 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 28280 "background-color", 28281 backgroundColor 28282 ); 28283 const className = dist_clsx({ 28284 "has-media-on-the-right": "right" === mediaPosition, 28285 "has-background": backgroundClass || customBackgroundColor, 28286 [backgroundClass]: backgroundClass, 28287 "is-stacked-on-mobile": isStackedOnMobile, 28288 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 28289 "is-image-fill": imageFill 28290 }); 28291 const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {}; 28292 let gridTemplateColumns; 28293 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 28294 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 28295 } 28296 const style = { 28297 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 28298 gridTemplateColumns 28299 }; 28300 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className, style, children: [ 28301 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28302 "figure", 28303 { 28304 className: "wp-block-media-text__media", 28305 style: backgroundStyles, 28306 children: (mediaTypeRenders[mediaType] || noop)() 28307 } 28308 ), 28309 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 28310 ] }); 28311 } 28312 }; 28313 const media_text_deprecated_v2 = { 28314 attributes: { 28315 ...v0Attributes, 28316 backgroundColor: { 28317 type: "string" 28318 }, 28319 customBackgroundColor: { 28320 type: "string" 28321 }, 28322 mediaUrl: { 28323 type: "string", 28324 source: "attribute", 28325 selector: "figure video,figure img", 28326 attribute: "src" 28327 }, 28328 verticalAlignment: { 28329 type: "string" 28330 }, 28331 imageFill: { 28332 type: "boolean" 28333 }, 28334 focalPoint: { 28335 type: "object" 28336 } 28337 }, 28338 migrate: (0,external_wp_compose_namespaceObject.compose)(media_text_deprecated_migrateCustomColors, migrateDefaultAlign), 28339 save({ attributes }) { 28340 const { 28341 backgroundColor, 28342 customBackgroundColor, 28343 isStackedOnMobile, 28344 mediaAlt, 28345 mediaPosition, 28346 mediaType, 28347 mediaUrl, 28348 mediaWidth, 28349 mediaId, 28350 verticalAlignment, 28351 imageFill, 28352 focalPoint 28353 } = attributes; 28354 const mediaTypeRenders = { 28355 image: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28356 "img", 28357 { 28358 src: mediaUrl, 28359 alt: mediaAlt, 28360 className: mediaId && mediaType === "image" ? `wp-image-$mediaId}` : null 28361 } 28362 ), 28363 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 28364 }; 28365 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 28366 "background-color", 28367 backgroundColor 28368 ); 28369 const className = dist_clsx({ 28370 "has-media-on-the-right": "right" === mediaPosition, 28371 [backgroundClass]: backgroundClass, 28372 "is-stacked-on-mobile": isStackedOnMobile, 28373 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 28374 "is-image-fill": imageFill 28375 }); 28376 const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {}; 28377 let gridTemplateColumns; 28378 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 28379 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 28380 } 28381 const style = { 28382 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 28383 gridTemplateColumns 28384 }; 28385 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className, style, children: [ 28386 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28387 "figure", 28388 { 28389 className: "wp-block-media-text__media", 28390 style: backgroundStyles, 28391 children: (mediaTypeRenders[mediaType] || noop)() 28392 } 28393 ), 28394 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 28395 ] }); 28396 } 28397 }; 28398 const media_text_deprecated_v1 = { 28399 attributes: { 28400 ...v0Attributes, 28401 backgroundColor: { 28402 type: "string" 28403 }, 28404 customBackgroundColor: { 28405 type: "string" 28406 }, 28407 mediaUrl: { 28408 type: "string", 28409 source: "attribute", 28410 selector: "figure video,figure img", 28411 attribute: "src" 28412 } 28413 }, 28414 migrate: migrateDefaultAlign, 28415 save({ attributes }) { 28416 const { 28417 backgroundColor, 28418 customBackgroundColor, 28419 isStackedOnMobile, 28420 mediaAlt, 28421 mediaPosition, 28422 mediaType, 28423 mediaUrl, 28424 mediaWidth 28425 } = attributes; 28426 const mediaTypeRenders = { 28427 image: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { src: mediaUrl, alt: mediaAlt }), 28428 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 28429 }; 28430 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 28431 "background-color", 28432 backgroundColor 28433 ); 28434 const className = dist_clsx({ 28435 "has-media-on-the-right": "right" === mediaPosition, 28436 [backgroundClass]: backgroundClass, 28437 "is-stacked-on-mobile": isStackedOnMobile 28438 }); 28439 let gridTemplateColumns; 28440 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 28441 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 28442 } 28443 const style = { 28444 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 28445 gridTemplateColumns 28446 }; 28447 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className, style, children: [ 28448 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || noop)() }), 28449 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-media-text__content", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }) 28450 ] }); 28451 } 28452 }; 28453 var media_text_deprecated_deprecated_default = [media_text_deprecated_v7, media_text_deprecated_v6, media_text_deprecated_v5, media_text_deprecated_v4, media_text_deprecated_v3, media_text_deprecated_v2, media_text_deprecated_v1]; 28454 28455 28456 ;// ./node_modules/@wordpress/icons/build-module/library/pull-left.js 28457 28458 28459 var pull_left_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z" }) }); 28460 28461 28462 ;// ./node_modules/@wordpress/icons/build-module/library/pull-right.js 28463 28464 28465 var pull_right_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z" }) }); 28466 28467 28468 ;// ./node_modules/@wordpress/icons/build-module/library/media.js 28469 28470 28471 var media_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 28472 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m7 6.5 4 2.5-4 2.5z" }), 28473 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28474 external_wp_primitives_namespaceObject.Path, 28475 { 28476 fillRule: "evenodd", 28477 clipRule: "evenodd", 28478 d: "m5 3c-1.10457 0-2 .89543-2 2v14c0 1.1046.89543 2 2 2h14c1.1046 0 2-.8954 2-2v-14c0-1.10457-.8954-2-2-2zm14 1.5h-14c-.27614 0-.5.22386-.5.5v10.7072l3.62953-2.6465c.25108-.1831.58905-.1924.84981-.0234l2.92666 1.8969 3.5712-3.4719c.2911-.2831.7545-.2831 1.0456 0l2.9772 2.8945v-9.3568c0-.27614-.2239-.5-.5-.5zm-14.5 14.5v-1.4364l4.09643-2.987 2.99567 1.9417c.2936.1903.6798.1523.9307-.0917l3.4772-3.3806 3.4772 3.3806.0228-.0234v2.5968c0 .2761-.2239.5-.5.5h-14c-.27614 0-.5-.2239-.5-.5z" 28479 } 28480 ) 28481 ] }); 28482 28483 28484 ;// ./node_modules/@wordpress/block-library/build-module/media-text/image-fill.js 28485 function imageFillStyles(url, focalPoint) { 28486 return url ? { 28487 objectPosition: focalPoint ? `$Math.round(focalPoint.x * 100)}% $Math.round( 28488 focalPoint.y * 100 28489 )}%` : `50% 50%` 28490 } : {}; 28491 } 28492 28493 28494 ;// ./node_modules/@wordpress/block-library/build-module/media-text/media-container.js 28495 28496 28497 28498 28499 28500 28501 28502 28503 28504 28505 28506 28507 const media_container_ALLOWED_MEDIA_TYPES = ["image", "video"]; 28508 const media_container_noop = () => { 28509 }; 28510 const ResizableBoxContainer = (0,external_wp_element_namespaceObject.forwardRef)( 28511 ({ isSelected, isStackedOnMobile, ...props }, ref) => { 28512 const isMobile = (0,external_wp_compose_namespaceObject.useViewportMatch)("small", "<"); 28513 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28514 external_wp_components_namespaceObject.ResizableBox, 28515 { 28516 ref, 28517 showHandle: isSelected && (!isMobile || !isStackedOnMobile), 28518 ...props 28519 } 28520 ); 28521 } 28522 ); 28523 function ToolbarEditButton({ 28524 mediaId, 28525 mediaUrl, 28526 onSelectMedia, 28527 toggleUseFeaturedImage, 28528 useFeaturedImage 28529 }) { 28530 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28531 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 28532 { 28533 mediaId, 28534 mediaURL: mediaUrl, 28535 allowedTypes: media_container_ALLOWED_MEDIA_TYPES, 28536 accept: "image/*,video/*", 28537 onSelect: onSelectMedia, 28538 onToggleFeaturedImage: toggleUseFeaturedImage, 28539 useFeaturedImage, 28540 onReset: () => onSelectMedia(void 0) 28541 } 28542 ) }); 28543 } 28544 function PlaceholderContainer({ 28545 className, 28546 mediaUrl, 28547 onSelectMedia, 28548 toggleUseFeaturedImage 28549 }) { 28550 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 28551 const onUploadError = (message) => { 28552 createErrorNotice(message, { type: "snackbar" }); 28553 }; 28554 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28555 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 28556 { 28557 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: media_default }), 28558 labels: { 28559 title: (0,external_wp_i18n_namespaceObject.__)("Media area") 28560 }, 28561 className, 28562 onSelect: onSelectMedia, 28563 accept: "image/*,video/*", 28564 onToggleFeaturedImage: toggleUseFeaturedImage, 28565 allowedTypes: media_container_ALLOWED_MEDIA_TYPES, 28566 onError: onUploadError, 28567 disableMediaButtons: mediaUrl 28568 } 28569 ); 28570 } 28571 function MediaContainer(props, ref) { 28572 const { 28573 className, 28574 commitWidthChange, 28575 focalPoint, 28576 imageFill, 28577 isSelected, 28578 isStackedOnMobile, 28579 mediaAlt, 28580 mediaId, 28581 mediaPosition, 28582 mediaType, 28583 mediaUrl, 28584 mediaWidth, 28585 onSelectMedia, 28586 onWidthChange, 28587 enableResize, 28588 toggleUseFeaturedImage, 28589 useFeaturedImage, 28590 featuredImageURL, 28591 featuredImageAlt, 28592 refMedia 28593 } = props; 28594 const isTemporaryMedia = !mediaId && (0,external_wp_blob_namespaceObject.isBlobURL)(mediaUrl); 28595 const { toggleSelection } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 28596 if (mediaUrl || featuredImageURL || useFeaturedImage) { 28597 const onResizeStart = () => { 28598 toggleSelection(false); 28599 }; 28600 const onResize = (event, direction, elt) => { 28601 onWidthChange(parseInt(elt.style.width)); 28602 }; 28603 const onResizeStop = (event, direction, elt) => { 28604 toggleSelection(true); 28605 commitWidthChange(parseInt(elt.style.width)); 28606 }; 28607 const enablePositions = { 28608 right: enableResize && mediaPosition === "left", 28609 left: enableResize && mediaPosition === "right" 28610 }; 28611 const positionStyles = mediaType === "image" && imageFill ? imageFillStyles(mediaUrl || featuredImageURL, focalPoint) : {}; 28612 const mediaTypeRenderers = { 28613 image: () => useFeaturedImage && featuredImageURL ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28614 "img", 28615 { 28616 ref: refMedia, 28617 src: featuredImageURL, 28618 alt: featuredImageAlt, 28619 style: positionStyles 28620 } 28621 ) : mediaUrl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28622 "img", 28623 { 28624 ref: refMedia, 28625 src: mediaUrl, 28626 alt: mediaAlt, 28627 style: positionStyles 28628 } 28629 ), 28630 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, ref: refMedia, src: mediaUrl }) 28631 }; 28632 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 28633 ResizableBoxContainer, 28634 { 28635 as: "figure", 28636 className: dist_clsx( 28637 className, 28638 "editor-media-container__resizer", 28639 { "is-transient": isTemporaryMedia } 28640 ), 28641 size: { width: mediaWidth + "%" }, 28642 minWidth: "10%", 28643 maxWidth: "100%", 28644 enable: enablePositions, 28645 onResizeStart, 28646 onResize, 28647 onResizeStop, 28648 axis: "x", 28649 isSelected, 28650 isStackedOnMobile, 28651 ref, 28652 children: [ 28653 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28654 ToolbarEditButton, 28655 { 28656 onSelectMedia, 28657 mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl, 28658 mediaId, 28659 toggleUseFeaturedImage, 28660 useFeaturedImage 28661 } 28662 ), 28663 (mediaTypeRenderers[mediaType] || media_container_noop)(), 28664 isTemporaryMedia && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 28665 !useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PlaceholderContainer, { ...props }), 28666 !featuredImageURL && useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28667 external_wp_components_namespaceObject.Placeholder, 28668 { 28669 className: "wp-block-media-text--placeholder-image", 28670 style: positionStyles, 28671 withIllustration: true 28672 } 28673 ) 28674 ] 28675 } 28676 ); 28677 } 28678 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PlaceholderContainer, { ...props }); 28679 } 28680 var media_container_default = (0,external_wp_element_namespaceObject.forwardRef)(MediaContainer); 28681 28682 28683 ;// ./node_modules/@wordpress/block-library/build-module/media-text/edit.js 28684 28685 28686 28687 28688 28689 28690 28691 28692 28693 28694 28695 28696 28697 28698 const { ResolutionTool: edit_ResolutionTool } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 28699 const applyWidthConstraints = (width) => Math.max( 28700 WIDTH_CONSTRAINT_PERCENTAGE, 28701 Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE) 28702 ); 28703 function getImageSourceUrlBySizeSlug(image, slug) { 28704 return image?.media_details?.sizes?.[slug]?.source_url; 28705 } 28706 function edit_attributesFromMedia({ 28707 attributes: { linkDestination, href }, 28708 setAttributes 28709 }) { 28710 return (media) => { 28711 if (!media || !media.url) { 28712 setAttributes({ 28713 mediaAlt: void 0, 28714 mediaId: void 0, 28715 mediaType: void 0, 28716 mediaUrl: void 0, 28717 mediaLink: void 0, 28718 href: void 0, 28719 focalPoint: void 0, 28720 useFeaturedImage: false 28721 }); 28722 return; 28723 } 28724 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { 28725 media.type = (0,external_wp_blob_namespaceObject.getBlobTypeByURL)(media.url); 28726 } 28727 let mediaType; 28728 let src; 28729 if (media.media_type) { 28730 if (media.media_type === "image") { 28731 mediaType = "image"; 28732 } else { 28733 mediaType = "video"; 28734 } 28735 } else { 28736 mediaType = media.type; 28737 } 28738 if (mediaType === "image") { 28739 src = media.sizes?.large?.url || // eslint-disable-next-line camelcase 28740 media.media_details?.sizes?.large?.source_url; 28741 } 28742 let newHref = href; 28743 if (linkDestination === media_text_constants_LINK_DESTINATION_MEDIA) { 28744 newHref = media.url; 28745 } 28746 if (linkDestination === media_text_constants_LINK_DESTINATION_ATTACHMENT) { 28747 newHref = media.link; 28748 } 28749 setAttributes({ 28750 mediaAlt: media.alt, 28751 mediaId: media.id, 28752 mediaType, 28753 mediaUrl: src || media.url, 28754 mediaLink: media.link || void 0, 28755 href: newHref, 28756 focalPoint: void 0, 28757 useFeaturedImage: false 28758 }); 28759 }; 28760 } 28761 function MediaTextResolutionTool({ image, value, onChange }) { 28762 const { imageSizes } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 28763 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 28764 return { 28765 imageSizes: getSettings().imageSizes 28766 }; 28767 }, []); 28768 if (!imageSizes?.length) { 28769 return null; 28770 } 28771 const imageSizeOptions = imageSizes.filter(({ slug }) => getImageSourceUrlBySizeSlug(image, slug)).map(({ name, slug }) => ({ value: slug, label: name })); 28772 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28773 edit_ResolutionTool, 28774 { 28775 value, 28776 defaultValue: media_text_constants_DEFAULT_MEDIA_SIZE_SLUG, 28777 options: imageSizeOptions, 28778 onChange 28779 } 28780 ); 28781 } 28782 function MediaTextEdit({ 28783 attributes, 28784 isSelected, 28785 setAttributes, 28786 context: { postId, postType } 28787 }) { 28788 const { 28789 focalPoint, 28790 href, 28791 imageFill, 28792 isStackedOnMobile, 28793 linkClass, 28794 linkDestination, 28795 linkTarget, 28796 mediaAlt, 28797 mediaId, 28798 mediaPosition, 28799 mediaType, 28800 mediaUrl, 28801 mediaWidth, 28802 mediaSizeSlug, 28803 rel, 28804 verticalAlignment, 28805 allowedBlocks, 28806 useFeaturedImage 28807 } = attributes; 28808 const [featuredImage] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 28809 "postType", 28810 postType, 28811 "featured_media", 28812 postId 28813 ); 28814 const { featuredImageMedia } = (0,external_wp_data_namespaceObject.useSelect)( 28815 (select) => { 28816 return { 28817 featuredImageMedia: featuredImage && useFeaturedImage ? select(external_wp_coreData_namespaceObject.store).getEntityRecord( 28818 "postType", 28819 "attachment", 28820 featuredImage, 28821 { 28822 context: "view" 28823 } 28824 ) : void 0 28825 }; 28826 }, 28827 [featuredImage, useFeaturedImage] 28828 ); 28829 const { image } = (0,external_wp_data_namespaceObject.useSelect)( 28830 (select) => { 28831 return { 28832 image: mediaId && isSelected ? select(external_wp_coreData_namespaceObject.store).getEntityRecord( 28833 "postType", 28834 "attachment", 28835 mediaId, 28836 { 28837 context: "view" 28838 } 28839 ) : null 28840 }; 28841 }, 28842 [isSelected, mediaId] 28843 ); 28844 const featuredImageURL = useFeaturedImage ? featuredImageMedia?.source_url : ""; 28845 const featuredImageAlt = useFeaturedImage ? featuredImageMedia?.alt_text : ""; 28846 const toggleUseFeaturedImage = () => { 28847 setAttributes({ 28848 imageFill: false, 28849 mediaType: "image", 28850 mediaId: void 0, 28851 mediaUrl: void 0, 28852 mediaAlt: void 0, 28853 mediaLink: void 0, 28854 linkDestination: void 0, 28855 linkTarget: void 0, 28856 linkClass: void 0, 28857 rel: void 0, 28858 href: void 0, 28859 useFeaturedImage: !useFeaturedImage 28860 }); 28861 }; 28862 const refMedia = (0,external_wp_element_namespaceObject.useRef)(); 28863 const imperativeFocalPointPreview = (value) => { 28864 const { style: style2 } = refMedia.current; 28865 const { x, y } = value; 28866 style2.objectPosition = `$x * 100}% $y * 100}%`; 28867 }; 28868 const [temporaryMediaWidth, setTemporaryMediaWidth] = (0,external_wp_element_namespaceObject.useState)(null); 28869 const onSelectMedia = edit_attributesFromMedia({ attributes, setAttributes }); 28870 const onSetHref = (props) => { 28871 setAttributes(props); 28872 }; 28873 const onWidthChange = (width) => { 28874 setTemporaryMediaWidth(applyWidthConstraints(width)); 28875 }; 28876 const commitWidthChange = (width) => { 28877 setAttributes({ 28878 mediaWidth: applyWidthConstraints(width) 28879 }); 28880 setTemporaryMediaWidth(null); 28881 }; 28882 const classNames = dist_clsx({ 28883 "has-media-on-the-right": "right" === mediaPosition, 28884 "is-selected": isSelected, 28885 "is-stacked-on-mobile": isStackedOnMobile, 28886 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 28887 "is-image-fill-element": imageFill 28888 }); 28889 const widthString = `$temporaryMediaWidth || mediaWidth}%`; 28890 const gridTemplateColumns = "right" === mediaPosition ? `1fr $widthString}` : `$widthString} 1fr`; 28891 const style = { 28892 gridTemplateColumns, 28893 msGridColumns: gridTemplateColumns 28894 }; 28895 const onMediaAltChange = (newMediaAlt) => { 28896 setAttributes({ mediaAlt: newMediaAlt }); 28897 }; 28898 const onVerticalAlignmentChange = (alignment) => { 28899 setAttributes({ verticalAlignment: alignment }); 28900 }; 28901 const updateImage = (newMediaSizeSlug) => { 28902 const newUrl = getImageSourceUrlBySizeSlug(image, newMediaSizeSlug); 28903 if (!newUrl) { 28904 return null; 28905 } 28906 setAttributes({ 28907 mediaUrl: newUrl, 28908 mediaSizeSlug: newMediaSizeSlug 28909 }); 28910 }; 28911 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 28912 const mediaTextGeneralSettings = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 28913 external_wp_components_namespaceObject.__experimentalToolsPanel, 28914 { 28915 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 28916 resetAll: () => { 28917 setAttributes({ 28918 isStackedOnMobile: true, 28919 imageFill: false, 28920 mediaAlt: "", 28921 focalPoint: void 0, 28922 mediaWidth: 50 28923 }); 28924 updateImage(media_text_constants_DEFAULT_MEDIA_SIZE_SLUG); 28925 }, 28926 dropdownMenuProps, 28927 children: [ 28928 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28929 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 28930 { 28931 label: (0,external_wp_i18n_namespaceObject.__)("Media width"), 28932 isShownByDefault: true, 28933 hasValue: () => mediaWidth !== 50, 28934 onDeselect: () => setAttributes({ mediaWidth: 50 }), 28935 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28936 external_wp_components_namespaceObject.RangeControl, 28937 { 28938 __nextHasNoMarginBottom: true, 28939 __next40pxDefaultSize: true, 28940 label: (0,external_wp_i18n_namespaceObject.__)("Media width"), 28941 value: temporaryMediaWidth || mediaWidth, 28942 onChange: commitWidthChange, 28943 min: WIDTH_CONSTRAINT_PERCENTAGE, 28944 max: 100 - WIDTH_CONSTRAINT_PERCENTAGE 28945 } 28946 ) 28947 } 28948 ), 28949 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28950 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 28951 { 28952 label: (0,external_wp_i18n_namespaceObject.__)("Stack on mobile"), 28953 isShownByDefault: true, 28954 hasValue: () => !isStackedOnMobile, 28955 onDeselect: () => setAttributes({ isStackedOnMobile: true }), 28956 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28957 external_wp_components_namespaceObject.ToggleControl, 28958 { 28959 __nextHasNoMarginBottom: true, 28960 label: (0,external_wp_i18n_namespaceObject.__)("Stack on mobile"), 28961 checked: isStackedOnMobile, 28962 onChange: () => setAttributes({ 28963 isStackedOnMobile: !isStackedOnMobile 28964 }) 28965 } 28966 ) 28967 } 28968 ), 28969 mediaType === "image" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28970 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 28971 { 28972 label: (0,external_wp_i18n_namespaceObject.__)("Crop image to fill"), 28973 isShownByDefault: true, 28974 hasValue: () => !!imageFill, 28975 onDeselect: () => setAttributes({ imageFill: false }), 28976 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28977 external_wp_components_namespaceObject.ToggleControl, 28978 { 28979 __nextHasNoMarginBottom: true, 28980 label: (0,external_wp_i18n_namespaceObject.__)("Crop image to fill"), 28981 checked: !!imageFill, 28982 onChange: () => setAttributes({ 28983 imageFill: !imageFill 28984 }) 28985 } 28986 ) 28987 } 28988 ), 28989 imageFill && (mediaUrl || featuredImageURL) && mediaType === "image" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28990 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 28991 { 28992 label: (0,external_wp_i18n_namespaceObject.__)("Focal point"), 28993 isShownByDefault: true, 28994 hasValue: () => !!focalPoint, 28995 onDeselect: () => setAttributes({ focalPoint: void 0 }), 28996 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 28997 external_wp_components_namespaceObject.FocalPointPicker, 28998 { 28999 __nextHasNoMarginBottom: true, 29000 label: (0,external_wp_i18n_namespaceObject.__)("Focal point"), 29001 url: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl, 29002 value: focalPoint, 29003 onChange: (value) => setAttributes({ focalPoint: value }), 29004 onDragStart: imperativeFocalPointPreview, 29005 onDrag: imperativeFocalPointPreview 29006 } 29007 ) 29008 } 29009 ), 29010 mediaType === "image" && mediaUrl && !useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29011 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 29012 { 29013 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 29014 isShownByDefault: true, 29015 hasValue: () => !!mediaAlt, 29016 onDeselect: () => setAttributes({ mediaAlt: "" }), 29017 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29018 external_wp_components_namespaceObject.TextareaControl, 29019 { 29020 __nextHasNoMarginBottom: true, 29021 label: (0,external_wp_i18n_namespaceObject.__)("Alternative text"), 29022 value: mediaAlt, 29023 onChange: onMediaAltChange, 29024 help: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 29025 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29026 external_wp_components_namespaceObject.ExternalLink, 29027 { 29028 href: ( 29029 // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. 29030 (0,external_wp_i18n_namespaceObject.__)( 29031 "https://www.w3.org/WAI/tutorials/images/decision-tree/" 29032 ) 29033 ), 29034 children: (0,external_wp_i18n_namespaceObject.__)( 29035 "Describe the purpose of the image." 29036 ) 29037 } 29038 ), 29039 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), 29040 (0,external_wp_i18n_namespaceObject.__)("Leave empty if decorative.") 29041 ] }) 29042 } 29043 ) 29044 } 29045 ), 29046 mediaType === "image" && !useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29047 MediaTextResolutionTool, 29048 { 29049 image, 29050 value: mediaSizeSlug, 29051 onChange: updateImage 29052 } 29053 ) 29054 ] 29055 } 29056 ); 29057 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 29058 className: classNames, 29059 style 29060 }); 29061 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 29062 { className: "wp-block-media-text__content" }, 29063 { template: constants_TEMPLATE, allowedBlocks } 29064 ); 29065 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 29066 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 29067 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: mediaTextGeneralSettings }), 29068 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 29069 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 29070 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29071 external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentControl, 29072 { 29073 onChange: onVerticalAlignmentChange, 29074 value: verticalAlignment 29075 } 29076 ), 29077 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29078 external_wp_components_namespaceObject.ToolbarButton, 29079 { 29080 icon: pull_left_default, 29081 title: (0,external_wp_i18n_namespaceObject.__)("Show media on left"), 29082 isActive: mediaPosition === "left", 29083 onClick: () => setAttributes({ mediaPosition: "left" }) 29084 } 29085 ), 29086 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29087 external_wp_components_namespaceObject.ToolbarButton, 29088 { 29089 icon: pull_right_default, 29090 title: (0,external_wp_i18n_namespaceObject.__)("Show media on right"), 29091 isActive: mediaPosition === "right", 29092 onClick: () => setAttributes({ mediaPosition: "right" }) 29093 } 29094 ) 29095 ] }), 29096 mediaType === "image" && !useFeaturedImage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29097 external_wp_blockEditor_namespaceObject.__experimentalImageURLInputUI, 29098 { 29099 url: href || "", 29100 onChangeUrl: onSetHref, 29101 linkDestination, 29102 mediaType, 29103 mediaUrl: image && image.source_url, 29104 mediaLink: image && image.link, 29105 linkTarget, 29106 linkClass, 29107 rel 29108 } 29109 ) 29110 ] }), 29111 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 29112 mediaPosition === "right" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }), 29113 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29114 media_container_default, 29115 { 29116 className: "wp-block-media-text__media", 29117 onSelectMedia, 29118 onWidthChange, 29119 commitWidthChange, 29120 refMedia, 29121 enableResize: blockEditingMode === "default", 29122 toggleUseFeaturedImage, 29123 ...{ 29124 focalPoint, 29125 imageFill, 29126 isSelected, 29127 isStackedOnMobile, 29128 mediaAlt, 29129 mediaId, 29130 mediaPosition, 29131 mediaType, 29132 mediaUrl, 29133 mediaWidth, 29134 useFeaturedImage, 29135 featuredImageURL, 29136 featuredImageAlt 29137 } 29138 } 29139 ), 29140 mediaPosition !== "right" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 29141 ] }) 29142 ] }); 29143 } 29144 var media_text_edit_edit_default = MediaTextEdit; 29145 29146 29147 ;// ./node_modules/@wordpress/block-library/build-module/media-text/block.json 29148 const media_text_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/media-text","title":"Media & Text","category":"media","description":"Set media and words side-by-side for a richer layout.","keywords":["image","video"],"textdomain":"default","attributes":{"align":{"type":"string","default":"none"},"mediaAlt":{"type":"string","source":"attribute","selector":"figure img","attribute":"alt","default":"","role":"content"},"mediaPosition":{"type":"string","default":"left"},"mediaId":{"type":"number","role":"content"},"mediaUrl":{"type":"string","source":"attribute","selector":"figure video,figure img","attribute":"src","role":"content"},"mediaLink":{"type":"string"},"linkDestination":{"type":"string"},"linkTarget":{"type":"string","source":"attribute","selector":"figure a","attribute":"target"},"href":{"type":"string","source":"attribute","selector":"figure a","attribute":"href","role":"content"},"rel":{"type":"string","source":"attribute","selector":"figure a","attribute":"rel"},"linkClass":{"type":"string","source":"attribute","selector":"figure a","attribute":"class"},"mediaType":{"type":"string","role":"content"},"mediaWidth":{"type":"number","default":50},"mediaSizeSlug":{"type":"string"},"isStackedOnMobile":{"type":"boolean","default":true},"verticalAlignment":{"type":"string"},"imageFill":{"type":"boolean"},"focalPoint":{"type":"object"},"useFeaturedImage":{"type":"boolean","default":false}},"usesContext":["postId","postType"],"supports":{"anchor":true,"align":["wide","full"],"html":false,"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"color":{"gradients":true,"heading":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"allowedBlocks":true},"editorStyle":"wp-block-media-text-editor","style":"wp-block-media-text"}'); 29149 ;// ./node_modules/@wordpress/block-library/build-module/media-text/save.js 29150 29151 29152 29153 29154 29155 const save_DEFAULT_MEDIA_WIDTH = 50; 29156 const save_noop = () => { 29157 }; 29158 function media_text_save_save({ attributes }) { 29159 const { 29160 isStackedOnMobile, 29161 mediaAlt, 29162 mediaPosition, 29163 mediaType, 29164 mediaUrl, 29165 mediaWidth, 29166 mediaId, 29167 verticalAlignment, 29168 imageFill, 29169 focalPoint, 29170 linkClass, 29171 href, 29172 linkTarget, 29173 rel 29174 } = attributes; 29175 const mediaSizeSlug = attributes.mediaSizeSlug || media_text_constants_DEFAULT_MEDIA_SIZE_SLUG; 29176 const newRel = !rel ? void 0 : rel; 29177 const imageClasses = dist_clsx({ 29178 [`wp-image-$mediaId}`]: mediaId && mediaType === "image", 29179 [`size-$mediaSizeSlug}`]: mediaId && mediaType === "image" 29180 }); 29181 const positionStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; 29182 let image = mediaUrl ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29183 "img", 29184 { 29185 src: mediaUrl, 29186 alt: mediaAlt, 29187 className: imageClasses || null, 29188 style: positionStyles 29189 } 29190 ) : null; 29191 if (href) { 29192 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29193 "a", 29194 { 29195 className: linkClass, 29196 href, 29197 target: linkTarget, 29198 rel: newRel, 29199 children: image 29200 } 29201 ); 29202 } 29203 const mediaTypeRenders = { 29204 image: () => image, 29205 video: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("video", { controls: true, src: mediaUrl }) 29206 }; 29207 const className = dist_clsx({ 29208 "has-media-on-the-right": "right" === mediaPosition, 29209 "is-stacked-on-mobile": isStackedOnMobile, 29210 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 29211 "is-image-fill-element": imageFill 29212 }); 29213 let gridTemplateColumns; 29214 if (mediaWidth !== save_DEFAULT_MEDIA_WIDTH) { 29215 gridTemplateColumns = "right" === mediaPosition ? `auto $mediaWidth}%` : `$mediaWidth}% auto`; 29216 } 29217 const style = { 29218 gridTemplateColumns 29219 }; 29220 if ("right" === mediaPosition) { 29221 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 29222 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29223 "div", 29224 { 29225 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 29226 className: "wp-block-media-text__content" 29227 }) 29228 } 29229 ), 29230 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || save_noop)() }) 29231 ] }); 29232 } 29233 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: [ 29234 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: "wp-block-media-text__media", children: (mediaTypeRenders[mediaType] || save_noop)() }), 29235 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29236 "div", 29237 { 29238 ...external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save({ 29239 className: "wp-block-media-text__content" 29240 }) 29241 } 29242 ) 29243 ] }); 29244 } 29245 29246 29247 ;// ./node_modules/@wordpress/block-library/build-module/media-text/transforms.js 29248 29249 const media_text_transforms_transforms = { 29250 from: [ 29251 { 29252 type: "block", 29253 blocks: ["core/image"], 29254 transform: ({ alt, url, id, anchor }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/media-text", { 29255 mediaAlt: alt, 29256 mediaId: id, 29257 mediaUrl: url, 29258 mediaType: "image", 29259 anchor 29260 }) 29261 }, 29262 { 29263 type: "block", 29264 blocks: ["core/video"], 29265 transform: ({ src, id, anchor }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/media-text", { 29266 mediaId: id, 29267 mediaUrl: src, 29268 mediaType: "video", 29269 anchor 29270 }) 29271 }, 29272 { 29273 type: "block", 29274 blocks: ["core/cover"], 29275 transform: ({ 29276 align, 29277 alt, 29278 anchor, 29279 backgroundType, 29280 customGradient, 29281 customOverlayColor, 29282 gradient, 29283 id, 29284 overlayColor, 29285 style, 29286 textColor, 29287 url, 29288 useFeaturedImage 29289 }, innerBlocks) => { 29290 let additionalAttributes = {}; 29291 if (customGradient) { 29292 additionalAttributes = { 29293 style: { 29294 color: { 29295 gradient: customGradient 29296 } 29297 } 29298 }; 29299 } else if (customOverlayColor) { 29300 additionalAttributes = { 29301 style: { 29302 color: { 29303 background: customOverlayColor 29304 } 29305 } 29306 }; 29307 } 29308 if (style?.color?.text) { 29309 additionalAttributes.style = { 29310 color: { 29311 ...additionalAttributes.style?.color, 29312 text: style.color.text 29313 } 29314 }; 29315 } 29316 return (0,external_wp_blocks_namespaceObject.createBlock)( 29317 "core/media-text", 29318 { 29319 align, 29320 anchor, 29321 backgroundColor: overlayColor, 29322 gradient, 29323 mediaAlt: alt, 29324 mediaId: id, 29325 mediaType: backgroundType, 29326 mediaUrl: url, 29327 textColor, 29328 useFeaturedImage, 29329 ...additionalAttributes 29330 }, 29331 innerBlocks 29332 ); 29333 } 29334 } 29335 ], 29336 to: [ 29337 { 29338 type: "block", 29339 blocks: ["core/image"], 29340 isMatch: ({ mediaType, mediaUrl }) => { 29341 return !mediaUrl || mediaType === "image"; 29342 }, 29343 transform: ({ mediaAlt, mediaId, mediaUrl, anchor }) => { 29344 return (0,external_wp_blocks_namespaceObject.createBlock)("core/image", { 29345 alt: mediaAlt, 29346 id: mediaId, 29347 url: mediaUrl, 29348 anchor 29349 }); 29350 } 29351 }, 29352 { 29353 type: "block", 29354 blocks: ["core/video"], 29355 isMatch: ({ mediaType, mediaUrl }) => { 29356 return !mediaUrl || mediaType === "video"; 29357 }, 29358 transform: ({ mediaId, mediaUrl, anchor }) => { 29359 return (0,external_wp_blocks_namespaceObject.createBlock)("core/video", { 29360 id: mediaId, 29361 src: mediaUrl, 29362 anchor 29363 }); 29364 } 29365 }, 29366 { 29367 type: "block", 29368 blocks: ["core/cover"], 29369 transform: ({ 29370 align, 29371 anchor, 29372 backgroundColor, 29373 focalPoint, 29374 gradient, 29375 mediaAlt, 29376 mediaId, 29377 mediaType, 29378 mediaUrl, 29379 style, 29380 textColor, 29381 useFeaturedImage 29382 }, innerBlocks) => { 29383 const additionalAttributes = {}; 29384 if (style?.color?.gradient) { 29385 additionalAttributes.customGradient = style.color.gradient; 29386 } else if (style?.color?.background) { 29387 additionalAttributes.customOverlayColor = style.color.background; 29388 } 29389 if (style?.color?.text) { 29390 additionalAttributes.style = { 29391 color: { text: style.color.text } 29392 }; 29393 } 29394 const coverAttributes = { 29395 align, 29396 alt: mediaAlt, 29397 anchor, 29398 backgroundType: mediaType, 29399 dimRatio: !!mediaUrl || useFeaturedImage ? 50 : 100, 29400 focalPoint, 29401 gradient, 29402 id: mediaId, 29403 overlayColor: backgroundColor, 29404 textColor, 29405 url: mediaUrl, 29406 useFeaturedImage, 29407 ...additionalAttributes 29408 }; 29409 return (0,external_wp_blocks_namespaceObject.createBlock)( 29410 "core/cover", 29411 coverAttributes, 29412 innerBlocks 29413 ); 29414 } 29415 } 29416 ] 29417 }; 29418 var media_text_transforms_transforms_default = media_text_transforms_transforms; 29419 29420 29421 ;// ./node_modules/@wordpress/block-library/build-module/media-text/index.js 29422 29423 29424 29425 29426 29427 29428 29429 29430 const { name: media_text_name } = media_text_block_namespaceObject; 29431 const media_text_settings = { 29432 icon: media_and_text_default, 29433 example: { 29434 viewportWidth: 601, 29435 // Columns collapse "@media (max-width: 600px)". 29436 attributes: { 29437 mediaType: "image", 29438 mediaUrl: "https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg" 29439 }, 29440 innerBlocks: [ 29441 { 29442 name: "core/paragraph", 29443 attributes: { 29444 content: (0,external_wp_i18n_namespaceObject.__)( 29445 "The wren<br>Earns his living<br>Noiselessly." 29446 ) 29447 } 29448 }, 29449 { 29450 name: "core/paragraph", 29451 attributes: { 29452 content: (0,external_wp_i18n_namespaceObject.__)("\u2014 Kobayashi Issa (\u4E00\u8336)") 29453 } 29454 } 29455 ] 29456 }, 29457 transforms: media_text_transforms_transforms_default, 29458 edit: media_text_edit_edit_default, 29459 save: media_text_save_save, 29460 deprecated: media_text_deprecated_deprecated_default 29461 }; 29462 const media_text_init = () => initBlock({ name: media_text_name, metadata: media_text_block_namespaceObject, settings: media_text_settings }); 29463 29464 29465 ;// ./node_modules/@wordpress/block-library/build-module/missing/edit.js 29466 29467 29468 29469 29470 29471 29472 29473 29474 function MissingEdit({ attributes, clientId }) { 29475 const { originalName, originalUndelimitedContent } = attributes; 29476 const hasContent = !!originalUndelimitedContent; 29477 const { hasFreeformBlock, hasHTMLBlock } = (0,external_wp_data_namespaceObject.useSelect)( 29478 (select) => { 29479 const { canInsertBlockType, getBlockRootClientId } = select(external_wp_blockEditor_namespaceObject.store); 29480 return { 29481 hasFreeformBlock: canInsertBlockType( 29482 "core/freeform", 29483 getBlockRootClientId(clientId) 29484 ), 29485 hasHTMLBlock: canInsertBlockType( 29486 "core/html", 29487 getBlockRootClientId(clientId) 29488 ) 29489 }; 29490 }, 29491 [clientId] 29492 ); 29493 const { replaceBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 29494 function convertToHTML() { 29495 replaceBlock( 29496 clientId, 29497 (0,external_wp_blocks_namespaceObject.createBlock)("core/html", { 29498 content: originalUndelimitedContent 29499 }) 29500 ); 29501 } 29502 const actions = []; 29503 let messageHTML; 29504 const convertToHtmlButton = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29505 external_wp_components_namespaceObject.Button, 29506 { 29507 __next40pxDefaultSize: true, 29508 onClick: convertToHTML, 29509 variant: "primary", 29510 children: (0,external_wp_i18n_namespaceObject.__)("Keep as HTML") 29511 }, 29512 "convert" 29513 ); 29514 if (hasContent && !hasFreeformBlock && !originalName) { 29515 if (hasHTMLBlock) { 29516 messageHTML = (0,external_wp_i18n_namespaceObject.__)( 29517 "It appears you are trying to use the deprecated Classic block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely. Alternatively, you can refresh the page to use the Classic block." 29518 ); 29519 actions.push(convertToHtmlButton); 29520 } else { 29521 messageHTML = (0,external_wp_i18n_namespaceObject.__)( 29522 "It appears you are trying to use the deprecated Classic block. You can leave this block intact, or remove it entirely. Alternatively, you can refresh the page to use the Classic block." 29523 ); 29524 } 29525 } else if (hasContent && hasHTMLBlock) { 29526 messageHTML = (0,external_wp_i18n_namespaceObject.sprintf)( 29527 /* translators: %s: block name */ 29528 (0,external_wp_i18n_namespaceObject.__)( 29529 'Your site doesn\u2019t include support for the "%s" block. You can leave it as-is, convert it to custom HTML, or remove it.' 29530 ), 29531 originalName 29532 ); 29533 actions.push(convertToHtmlButton); 29534 } else { 29535 messageHTML = (0,external_wp_i18n_namespaceObject.sprintf)( 29536 /* translators: %s: block name */ 29537 (0,external_wp_i18n_namespaceObject.__)( 29538 'Your site doesn\u2019t include support for the "%s" block. You can leave it as-is or remove it.' 29539 ), 29540 originalName 29541 ); 29542 } 29543 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: "has-warning" }), children: [ 29544 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { actions, children: messageHTML }), 29545 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: (0,external_wp_dom_namespaceObject.safeHTML)(originalUndelimitedContent) }) 29546 ] }); 29547 } 29548 29549 29550 ;// ./node_modules/@wordpress/block-library/build-module/missing/block.json 29551 const missing_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/missing","title":"Unsupported","category":"text","description":"Your site doesn’t include support for this block.","textdomain":"default","attributes":{"originalName":{"type":"string"},"originalUndelimitedContent":{"type":"string"},"originalContent":{"type":"string","source":"raw"}},"supports":{"className":false,"customClassName":false,"inserter":false,"html":false,"reusable":false,"interactivity":{"clientNavigation":true}}}'); 29552 ;// ./node_modules/@wordpress/block-library/build-module/missing/save.js 29553 29554 29555 function missing_save_save({ attributes }) { 29556 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: attributes.originalContent }); 29557 } 29558 29559 29560 ;// ./node_modules/@wordpress/block-library/build-module/missing/index.js 29561 29562 29563 29564 29565 29566 const { name: missing_name } = missing_block_namespaceObject; 29567 const missing_settings = { 29568 name: missing_name, 29569 __experimentalLabel(attributes, { context }) { 29570 if (context === "accessibility") { 29571 const { originalName } = attributes; 29572 const originalBlockType = originalName ? (0,external_wp_blocks_namespaceObject.getBlockType)(originalName) : void 0; 29573 if (originalBlockType) { 29574 return originalBlockType.settings.title || originalName; 29575 } 29576 return ""; 29577 } 29578 }, 29579 edit: MissingEdit, 29580 save: missing_save_save 29581 }; 29582 const missing_init = () => initBlock({ name: missing_name, metadata: missing_block_namespaceObject, settings: missing_settings }); 29583 29584 29585 ;// ./node_modules/@wordpress/icons/build-module/library/more.js 29586 29587 29588 var more_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z" }) }); 29589 29590 29591 ;// ./node_modules/@wordpress/block-library/build-module/more/edit.js 29592 29593 29594 29595 29596 29597 29598 const DEFAULT_TEXT = (0,external_wp_i18n_namespaceObject.__)("Read more"); 29599 function MoreEdit({ 29600 attributes: { customText, noTeaser }, 29601 insertBlocksAfter, 29602 setAttributes 29603 }) { 29604 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 29605 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 29606 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29607 external_wp_components_namespaceObject.__experimentalToolsPanel, 29608 { 29609 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 29610 resetAll: () => { 29611 setAttributes({ 29612 noTeaser: false 29613 }); 29614 }, 29615 dropdownMenuProps, 29616 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29617 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 29618 { 29619 label: (0,external_wp_i18n_namespaceObject.__)("Hide excerpt"), 29620 isShownByDefault: true, 29621 hasValue: () => noTeaser, 29622 onDeselect: () => setAttributes({ noTeaser: false }), 29623 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29624 external_wp_components_namespaceObject.ToggleControl, 29625 { 29626 __nextHasNoMarginBottom: true, 29627 label: (0,external_wp_i18n_namespaceObject.__)( 29628 "Hide the excerpt on the full content page" 29629 ), 29630 checked: !!noTeaser, 29631 onChange: () => setAttributes({ noTeaser: !noTeaser }), 29632 help: (checked) => checked ? (0,external_wp_i18n_namespaceObject.__)("The excerpt is hidden.") : (0,external_wp_i18n_namespaceObject.__)("The excerpt is visible.") 29633 } 29634 ) 29635 } 29636 ) 29637 } 29638 ) }), 29639 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29640 external_wp_blockEditor_namespaceObject.PlainText, 29641 { 29642 __experimentalVersion: 2, 29643 tagName: "span", 29644 "aria-label": (0,external_wp_i18n_namespaceObject.__)('"Read more" text'), 29645 value: customText, 29646 placeholder: DEFAULT_TEXT, 29647 onChange: (value) => setAttributes({ customText: value }), 29648 disableLineBreaks: true, 29649 __unstableOnSplitAtEnd: () => insertBlocksAfter( 29650 (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()) 29651 ) 29652 } 29653 ) }) 29654 ] }); 29655 } 29656 29657 29658 ;// ./node_modules/@wordpress/block-library/build-module/more/block.json 29659 const more_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/more","title":"More","category":"design","description":"Content before this block will be shown in the excerpt on your archives page.","keywords":["read more"],"textdomain":"default","attributes":{"customText":{"type":"string","default":"","role":"content"},"noTeaser":{"type":"boolean","default":false}},"supports":{"customClassName":false,"className":false,"html":false,"multiple":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-more-editor"}'); 29660 ;// ./node_modules/@wordpress/block-library/build-module/more/save.js 29661 29662 29663 function more_save_save({ attributes: { customText, noTeaser } }) { 29664 const moreTag = customText ? `<!--more $customText}-->` : "<!--more-->"; 29665 const noTeaserTag = noTeaser ? "<!--noteaser-->" : ""; 29666 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: [moreTag, noTeaserTag].filter(Boolean).join("\n") }); 29667 } 29668 29669 29670 ;// ./node_modules/@wordpress/block-library/build-module/more/transforms.js 29671 29672 const more_transforms_transforms = { 29673 from: [ 29674 { 29675 type: "raw", 29676 schema: { 29677 "wp-block": { attributes: ["data-block"] } 29678 }, 29679 isMatch: (node) => node.dataset && node.dataset.block === "core/more", 29680 transform(node) { 29681 const { customText, noTeaser } = node.dataset; 29682 const attrs = {}; 29683 if (customText) { 29684 attrs.customText = customText; 29685 } 29686 if (noTeaser === "") { 29687 attrs.noTeaser = true; 29688 } 29689 return (0,external_wp_blocks_namespaceObject.createBlock)("core/more", attrs); 29690 } 29691 } 29692 ] 29693 }; 29694 var more_transforms_transforms_default = more_transforms_transforms; 29695 29696 29697 ;// ./node_modules/@wordpress/block-library/build-module/more/index.js 29698 29699 29700 29701 29702 29703 29704 const { name: more_name } = more_block_namespaceObject; 29705 const more_settings = { 29706 icon: more_default, 29707 example: {}, 29708 __experimentalLabel(attributes, { context }) { 29709 const customName = attributes?.metadata?.name; 29710 if (context === "list-view" && customName) { 29711 return customName; 29712 } 29713 if (context === "accessibility") { 29714 return attributes.customText; 29715 } 29716 }, 29717 transforms: more_transforms_transforms_default, 29718 edit: MoreEdit, 29719 save: more_save_save 29720 }; 29721 const more_init = () => initBlock({ name: more_name, metadata: more_block_namespaceObject, settings: more_settings }); 29722 29723 29724 ;// ./node_modules/@wordpress/icons/build-module/library/navigation.js 29725 29726 29727 var navigation_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 14.5c-3.6 0-6.5-2.9-6.5-6.5S8.4 5.5 12 5.5s6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM9 16l4.5-3L15 8.4l-4.5 3L9 16z" }) }); 29728 29729 29730 ;// ./node_modules/@wordpress/block-library/build-module/navigation/block.json 29731 const navigation_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/navigation","title":"Navigation","category":"theme","allowedBlocks":["core/navigation-link","core/search","core/social-links","core/page-list","core/spacer","core/home-link","core/site-title","core/site-logo","core/navigation-submenu","core/loginout","core/buttons"],"description":"A collection of blocks that allow visitors to get around your site.","keywords":["menu","navigation","links"],"textdomain":"default","attributes":{"ref":{"type":"number"},"textColor":{"type":"string"},"customTextColor":{"type":"string"},"rgbTextColor":{"type":"string"},"backgroundColor":{"type":"string"},"customBackgroundColor":{"type":"string"},"rgbBackgroundColor":{"type":"string"},"showSubmenuIcon":{"type":"boolean","default":true},"openSubmenusOnClick":{"type":"boolean","default":false},"overlayMenu":{"type":"string","default":"mobile"},"icon":{"type":"string","default":"handle"},"hasIcon":{"type":"boolean","default":true},"__unstableLocation":{"type":"string"},"overlayBackgroundColor":{"type":"string"},"customOverlayBackgroundColor":{"type":"string"},"overlayTextColor":{"type":"string"},"customOverlayTextColor":{"type":"string"},"maxNestingLevel":{"type":"number","default":5},"templateLock":{"type":["string","boolean"],"enum":["all","insert","contentOnly",false]}},"providesContext":{"textColor":"textColor","customTextColor":"customTextColor","backgroundColor":"backgroundColor","customBackgroundColor":"customBackgroundColor","overlayTextColor":"overlayTextColor","customOverlayTextColor":"customOverlayTextColor","overlayBackgroundColor":"overlayBackgroundColor","customOverlayBackgroundColor":"customOverlayBackgroundColor","fontSize":"fontSize","customFontSize":"customFontSize","showSubmenuIcon":"showSubmenuIcon","openSubmenusOnClick":"openSubmenusOnClick","style":"style","maxNestingLevel":"maxNestingLevel"},"supports":{"align":["wide","full"],"ariaLabel":true,"html":false,"inserter":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalTextTransform":true,"__experimentalFontFamily":true,"__experimentalLetterSpacing":true,"__experimentalTextDecoration":true,"__experimentalSkipSerialization":["textDecoration"],"__experimentalDefaultControls":{"fontSize":true}},"spacing":{"blockGap":true,"units":["px","em","rem","vh","vw"],"__experimentalDefaultControls":{"blockGap":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"allowVerticalAlignment":false,"allowSizingOnChildren":true,"default":{"type":"flex"}},"interactivity":true,"renaming":false,"contentRole":true},"editorStyle":"wp-block-navigation-editor","style":"wp-block-navigation"}'); 29732 ;// external ["wp","a11y"] 29733 const external_wp_a11y_namespaceObject = window["wp"]["a11y"]; 29734 ;// ./node_modules/@wordpress/icons/build-module/library/page.js 29735 29736 29737 var page_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 29738 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M15.5 7.5h-7V9h7V7.5Zm-7 3.5h7v1.5h-7V11Zm7 3.5h-7V16h7v-1.5Z" }), 29739 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17 4H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2ZM7 5.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H7a.5.5 0 0 1-.5-.5V6a.5.5 0 0 1 .5-.5Z" }) 29740 ] }); 29741 29742 29743 ;// ./node_modules/@wordpress/icons/build-module/icon/index.js 29744 29745 var build_module_icon_icon_default = (0,external_wp_element_namespaceObject.forwardRef)( 29746 ({ icon, size = 24, ...props }, ref) => { 29747 return (0,external_wp_element_namespaceObject.cloneElement)(icon, { 29748 width: size, 29749 height: size, 29750 ...props, 29751 ref 29752 }); 29753 } 29754 ); 29755 29756 29757 ;// ./node_modules/@wordpress/icons/build-module/library/close.js 29758 29759 29760 var close_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m13.06 12 6.47-6.47-1.06-1.06L12 10.94 5.53 4.47 4.47 5.53 10.94 12l-6.47 6.47 1.06 1.06L12 13.06l6.47 6.47 1.06-1.06L13.06 12Z" }) }); 29761 29762 29763 ;// ./node_modules/@wordpress/block-library/build-module/navigation/constants.js 29764 const constants_DEFAULT_BLOCK = { 29765 name: "core/navigation-link", 29766 attributes: { 29767 kind: "post-type", 29768 type: "page" 29769 } 29770 }; 29771 const PRIORITIZED_INSERTER_BLOCKS = [ 29772 "core/navigation-link/page", 29773 "core/navigation-link" 29774 ]; 29775 const PRELOADED_NAVIGATION_MENUS_QUERY = { 29776 per_page: 100, 29777 status: ["publish", "draft"], 29778 order: "desc", 29779 orderby: "date" 29780 }; 29781 const SELECT_NAVIGATION_MENUS_ARGS = [ 29782 "postType", 29783 "wp_navigation", 29784 PRELOADED_NAVIGATION_MENUS_QUERY 29785 ]; 29786 29787 29788 ;// ./node_modules/@wordpress/block-library/build-module/navigation/use-navigation-menu.js 29789 29790 29791 29792 function useNavigationMenu(ref) { 29793 const permissions = (0,external_wp_coreData_namespaceObject.useResourcePermissions)({ 29794 kind: "postType", 29795 name: "wp_navigation", 29796 id: ref 29797 }); 29798 const { 29799 navigationMenu, 29800 isNavigationMenuResolved, 29801 isNavigationMenuMissing 29802 } = (0,external_wp_data_namespaceObject.useSelect)( 29803 (select) => { 29804 return selectExistingMenu(select, ref); 29805 }, 29806 [ref] 29807 ); 29808 const { 29809 // Can the user create navigation menus? 29810 canCreate: canCreateNavigationMenus, 29811 // Can the user update the specific navigation menu with the given post ID? 29812 canUpdate: canUpdateNavigationMenu, 29813 // Can the user delete the specific navigation menu with the given post ID? 29814 canDelete: canDeleteNavigationMenu, 29815 isResolving: isResolvingPermissions, 29816 hasResolved: hasResolvedPermissions 29817 } = permissions; 29818 const { 29819 records: navigationMenus, 29820 isResolving: isResolvingNavigationMenus, 29821 hasResolved: hasResolvedNavigationMenus 29822 } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 29823 "postType", 29824 `wp_navigation`, 29825 PRELOADED_NAVIGATION_MENUS_QUERY 29826 ); 29827 const canSwitchNavigationMenu = ref ? navigationMenus?.length > 1 : navigationMenus?.length > 0; 29828 return { 29829 navigationMenu, 29830 isNavigationMenuResolved, 29831 isNavigationMenuMissing, 29832 navigationMenus, 29833 isResolvingNavigationMenus, 29834 hasResolvedNavigationMenus, 29835 canSwitchNavigationMenu, 29836 canUserCreateNavigationMenus: canCreateNavigationMenus, 29837 isResolvingCanUserCreateNavigationMenus: isResolvingPermissions, 29838 hasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions, 29839 canUserUpdateNavigationMenu: canUpdateNavigationMenu, 29840 hasResolvedCanUserUpdateNavigationMenu: ref ? hasResolvedPermissions : void 0, 29841 canUserDeleteNavigationMenu: canDeleteNavigationMenu, 29842 hasResolvedCanUserDeleteNavigationMenu: ref ? hasResolvedPermissions : void 0 29843 }; 29844 } 29845 function selectExistingMenu(select, ref) { 29846 if (!ref) { 29847 return { 29848 isNavigationMenuResolved: false, 29849 isNavigationMenuMissing: true 29850 }; 29851 } 29852 const { getEntityRecord, getEditedEntityRecord, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 29853 const args = ["postType", "wp_navigation", ref]; 29854 const navigationMenu = getEntityRecord(...args); 29855 const editedNavigationMenu = getEditedEntityRecord(...args); 29856 const hasResolvedNavigationMenu = hasFinishedResolution( 29857 "getEditedEntityRecord", 29858 args 29859 ); 29860 const isNavigationMenuPublishedOrDraft = editedNavigationMenu.status === "publish" || editedNavigationMenu.status === "draft"; 29861 return { 29862 isNavigationMenuResolved: hasResolvedNavigationMenu, 29863 isNavigationMenuMissing: hasResolvedNavigationMenu && (!navigationMenu || !isNavigationMenuPublishedOrDraft), 29864 // getEditedEntityRecord will return the post regardless of status. 29865 // Therefore if the found post is not published then we should ignore it. 29866 navigationMenu: isNavigationMenuPublishedOrDraft ? editedNavigationMenu : null 29867 }; 29868 } 29869 29870 29871 ;// ./node_modules/@wordpress/block-library/build-module/navigation/use-navigation-entities.js 29872 29873 function useNavigationEntities(menuId) { 29874 const { 29875 records: menus, 29876 isResolving: isResolvingMenus, 29877 hasResolved: hasResolvedMenus 29878 } = (0,external_wp_coreData_namespaceObject.useEntityRecords)("root", "menu", { per_page: -1, context: "view" }); 29879 const { 29880 records: pages, 29881 isResolving: isResolvingPages, 29882 hasResolved: hasResolvedPages 29883 } = (0,external_wp_coreData_namespaceObject.useEntityRecords)("postType", "page", { 29884 parent: 0, 29885 order: "asc", 29886 orderby: "id", 29887 per_page: -1, 29888 context: "view" 29889 }); 29890 const { records: menuItems, hasResolved: hasResolvedMenuItems } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 29891 "root", 29892 "menuItem", 29893 { 29894 menus: menuId, 29895 per_page: -1, 29896 context: "view" 29897 }, 29898 { enabled: !!menuId } 29899 ); 29900 return { 29901 pages, 29902 isResolvingPages, 29903 hasResolvedPages, 29904 hasPages: !!(hasResolvedPages && pages?.length), 29905 menus, 29906 isResolvingMenus, 29907 hasResolvedMenus, 29908 hasMenus: !!(hasResolvedMenus && menus?.length), 29909 menuItems, 29910 hasResolvedMenuItems 29911 }; 29912 } 29913 29914 29915 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/placeholder/placeholder-preview.js 29916 29917 29918 29919 const PlaceholderPreview = ({ isVisible = true }) => { 29920 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 29921 "div", 29922 { 29923 "aria-hidden": !isVisible ? true : void 0, 29924 className: "wp-block-navigation-placeholder__preview", 29925 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-navigation-placeholder__actions__indicator", children: [ 29926 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: navigation_default }), 29927 (0,external_wp_i18n_namespaceObject.__)("Navigation") 29928 ] }) 29929 } 29930 ); 29931 }; 29932 var placeholder_preview_default = PlaceholderPreview; 29933 29934 29935 ;// ./node_modules/@wordpress/icons/build-module/library/more-vertical.js 29936 29937 29938 var more_vertical_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 19h-2v-2h2v2zm0-6h-2v-2h2v2zm0-6h-2V5h2v2z" }) }); 29939 29940 29941 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/navigation-menu-selector.js 29942 29943 29944 29945 29946 29947 29948 29949 29950 29951 function buildMenuLabel(title, id, status) { 29952 if (!title) { 29953 return (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("(no title %s)"), id); 29954 } 29955 if (status === "publish") { 29956 return (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title); 29957 } 29958 return (0,external_wp_i18n_namespaceObject.sprintf)( 29959 // translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.). 29960 (0,external_wp_i18n_namespaceObject.__)("%1$s (%2$s)"), 29961 (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title), 29962 status 29963 ); 29964 } 29965 function NavigationMenuSelector({ 29966 currentMenuId, 29967 onSelectNavigationMenu, 29968 onSelectClassicMenu, 29969 onCreateNew, 29970 actionLabel, 29971 createNavigationMenuIsSuccess, 29972 createNavigationMenuIsError 29973 }) { 29974 const createActionLabel = (0,external_wp_i18n_namespaceObject.__)("Create from '%s'"); 29975 const [isUpdatingMenuRef, setIsUpdatingMenuRef] = (0,external_wp_element_namespaceObject.useState)(false); 29976 actionLabel = actionLabel || createActionLabel; 29977 const { menus: classicMenus } = useNavigationEntities(); 29978 const { 29979 navigationMenus, 29980 isResolvingNavigationMenus, 29981 hasResolvedNavigationMenus, 29982 canUserCreateNavigationMenus, 29983 canSwitchNavigationMenu, 29984 isNavigationMenuMissing 29985 } = useNavigationMenu(currentMenuId); 29986 const [currentTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 29987 "postType", 29988 "wp_navigation", 29989 "title" 29990 ); 29991 const menuChoices = (0,external_wp_element_namespaceObject.useMemo)(() => { 29992 return navigationMenus?.map(({ id, title, status }, index) => { 29993 const label = buildMenuLabel( 29994 title?.rendered, 29995 index + 1, 29996 status 29997 ); 29998 return { 29999 value: id, 30000 label, 30001 ariaLabel: (0,external_wp_i18n_namespaceObject.sprintf)(actionLabel, label), 30002 disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus 30003 }; 30004 }) || []; 30005 }, [ 30006 navigationMenus, 30007 actionLabel, 30008 isResolvingNavigationMenus, 30009 hasResolvedNavigationMenus, 30010 isUpdatingMenuRef 30011 ]); 30012 const hasNavigationMenus = !!navigationMenus?.length; 30013 const hasClassicMenus = !!classicMenus?.length; 30014 const showNavigationMenus = !!canSwitchNavigationMenu; 30015 const showClassicMenus = !!canUserCreateNavigationMenus; 30016 const noMenuSelected = hasNavigationMenus && !currentMenuId; 30017 const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus; 30018 const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null; 30019 const navMenuHasBeenDeleted = currentMenuId && isNavigationMenuMissing; 30020 let selectorLabel = ""; 30021 if (isResolvingNavigationMenus) { 30022 selectorLabel = (0,external_wp_i18n_namespaceObject.__)("Loading\u2026"); 30023 } else if (noMenuSelected || noBlockMenus || menuUnavailable || navMenuHasBeenDeleted) { 30024 selectorLabel = (0,external_wp_i18n_namespaceObject.__)("Choose or create a Navigation Menu"); 30025 } else { 30026 selectorLabel = currentTitle; 30027 } 30028 (0,external_wp_element_namespaceObject.useEffect)(() => { 30029 if (isUpdatingMenuRef && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) { 30030 setIsUpdatingMenuRef(false); 30031 } 30032 }, [ 30033 hasResolvedNavigationMenus, 30034 createNavigationMenuIsSuccess, 30035 canUserCreateNavigationMenus, 30036 createNavigationMenuIsError, 30037 isUpdatingMenuRef, 30038 menuUnavailable, 30039 noBlockMenus, 30040 noMenuSelected 30041 ]); 30042 const NavigationMenuSelectorDropdown = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30043 external_wp_components_namespaceObject.DropdownMenu, 30044 { 30045 label: selectorLabel, 30046 icon: more_vertical_default, 30047 toggleProps: { size: "small" }, 30048 children: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 30049 showNavigationMenus && hasNavigationMenus && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)("Menus"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30050 external_wp_components_namespaceObject.MenuItemsChoice, 30051 { 30052 value: currentMenuId, 30053 onSelect: (menuId) => { 30054 onSelectNavigationMenu(menuId); 30055 onClose(); 30056 }, 30057 choices: menuChoices 30058 } 30059 ) }), 30060 showClassicMenus && hasClassicMenus && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)("Import Classic Menus"), children: classicMenus?.map((menu) => { 30061 const label = (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(menu.name); 30062 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30063 external_wp_components_namespaceObject.MenuItem, 30064 { 30065 onClick: async () => { 30066 setIsUpdatingMenuRef(true); 30067 await onSelectClassicMenu(menu); 30068 setIsUpdatingMenuRef(false); 30069 onClose(); 30070 }, 30071 "aria-label": (0,external_wp_i18n_namespaceObject.sprintf)( 30072 createActionLabel, 30073 label 30074 ), 30075 disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus, 30076 children: label 30077 }, 30078 menu.id 30079 ); 30080 }) }), 30081 canUserCreateNavigationMenus && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { label: (0,external_wp_i18n_namespaceObject.__)("Tools"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30082 external_wp_components_namespaceObject.MenuItem, 30083 { 30084 onClick: async () => { 30085 setIsUpdatingMenuRef(true); 30086 await onCreateNew(); 30087 setIsUpdatingMenuRef(false); 30088 onClose(); 30089 }, 30090 disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus, 30091 children: (0,external_wp_i18n_namespaceObject.__)("Create new Menu") 30092 } 30093 ) }) 30094 ] }) 30095 } 30096 ); 30097 return NavigationMenuSelectorDropdown; 30098 } 30099 var navigation_menu_selector_default = NavigationMenuSelector; 30100 30101 30102 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/placeholder/index.js 30103 30104 30105 30106 30107 30108 30109 30110 30111 30112 function NavigationPlaceholder({ 30113 isSelected, 30114 currentMenuId, 30115 clientId, 30116 canUserCreateNavigationMenus = false, 30117 isResolvingCanUserCreateNavigationMenus, 30118 onSelectNavigationMenu, 30119 onSelectClassicMenu, 30120 onCreateEmpty 30121 }) { 30122 const { isResolvingMenus, hasResolvedMenus } = useNavigationEntities(); 30123 (0,external_wp_element_namespaceObject.useEffect)(() => { 30124 if (!isSelected) { 30125 return; 30126 } 30127 if (isResolvingMenus) { 30128 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Loading navigation block setup options\u2026")); 30129 } 30130 if (hasResolvedMenus) { 30131 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Navigation block setup options ready.")); 30132 } 30133 }, [hasResolvedMenus, isResolvingMenus, isSelected]); 30134 const isResolvingActions = isResolvingMenus && isResolvingCanUserCreateNavigationMenus; 30135 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.Placeholder, { className: "wp-block-navigation-placeholder", children: [ 30136 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(placeholder_preview_default, { isVisible: !isSelected }), 30137 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30138 "div", 30139 { 30140 "aria-hidden": !isSelected ? true : void 0, 30141 className: "wp-block-navigation-placeholder__controls", 30142 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-navigation-placeholder__actions", children: [ 30143 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-navigation-placeholder__actions__indicator", children: [ 30144 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: navigation_default }), 30145 " ", 30146 (0,external_wp_i18n_namespaceObject.__)("Navigation") 30147 ] }), 30148 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("hr", {}), 30149 isResolvingActions && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 30150 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30151 navigation_menu_selector_default, 30152 { 30153 currentMenuId, 30154 clientId, 30155 onSelectNavigationMenu, 30156 onSelectClassicMenu 30157 } 30158 ), 30159 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("hr", {}), 30160 canUserCreateNavigationMenus && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30161 external_wp_components_namespaceObject.Button, 30162 { 30163 __next40pxDefaultSize: true, 30164 variant: "tertiary", 30165 onClick: onCreateEmpty, 30166 children: (0,external_wp_i18n_namespaceObject.__)("Start empty") 30167 } 30168 ) 30169 ] }) 30170 } 30171 ) 30172 ] }) }); 30173 } 30174 30175 30176 ;// ./node_modules/@wordpress/icons/build-module/library/menu.js 30177 30178 30179 var menu_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M5 5v1.5h14V5H5zm0 7.8h14v-1.5H5v1.5zM5 19h14v-1.5H5V19z" }) }); 30180 30181 30182 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/overlay-menu-icon.js 30183 30184 30185 30186 function OverlayMenuIcon({ icon }) { 30187 if (icon === "menu") { 30188 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: menu_default }); 30189 } 30190 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 30191 external_wp_primitives_namespaceObject.SVG, 30192 { 30193 xmlns: "http://www.w3.org/2000/svg", 30194 viewBox: "0 0 24 24", 30195 width: "24", 30196 height: "24", 30197 "aria-hidden": "true", 30198 focusable: "false", 30199 children: [ 30200 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Rect, { x: "4", y: "7.5", width: "16", height: "1.5" }), 30201 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Rect, { x: "4", y: "15", width: "16", height: "1.5" }) 30202 ] 30203 } 30204 ); 30205 } 30206 30207 30208 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/responsive-wrapper.js 30209 30210 30211 30212 30213 30214 30215 30216 function ResponsiveWrapper({ 30217 children, 30218 id, 30219 isOpen, 30220 isResponsive, 30221 onToggle, 30222 isHiddenByDefault, 30223 overlayBackgroundColor, 30224 overlayTextColor, 30225 hasIcon, 30226 icon 30227 }) { 30228 if (!isResponsive) { 30229 return children; 30230 } 30231 const responsiveContainerClasses = dist_clsx( 30232 "wp-block-navigation__responsive-container", 30233 { 30234 "has-text-color": !!overlayTextColor.color || !!overlayTextColor?.class, 30235 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", overlayTextColor?.slug)]: !!overlayTextColor?.slug, 30236 "has-background": !!overlayBackgroundColor.color || overlayBackgroundColor?.class, 30237 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)( 30238 "background-color", 30239 overlayBackgroundColor?.slug 30240 )]: !!overlayBackgroundColor?.slug, 30241 "is-menu-open": isOpen, 30242 "hidden-by-default": isHiddenByDefault 30243 } 30244 ); 30245 const styles = { 30246 color: !overlayTextColor?.slug && overlayTextColor?.color, 30247 backgroundColor: !overlayBackgroundColor?.slug && overlayBackgroundColor?.color && overlayBackgroundColor.color 30248 }; 30249 const openButtonClasses = dist_clsx( 30250 "wp-block-navigation__responsive-container-open", 30251 { "always-shown": isHiddenByDefault } 30252 ); 30253 const modalId = `$id}-modal`; 30254 const dialogProps = { 30255 className: "wp-block-navigation__responsive-dialog", 30256 ...isOpen && { 30257 role: "dialog", 30258 "aria-modal": true, 30259 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Menu") 30260 } 30261 }; 30262 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 30263 !isOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 30264 external_wp_components_namespaceObject.Button, 30265 { 30266 __next40pxDefaultSize: true, 30267 "aria-haspopup": "true", 30268 "aria-label": hasIcon && (0,external_wp_i18n_namespaceObject.__)("Open menu"), 30269 className: openButtonClasses, 30270 onClick: () => onToggle(true), 30271 children: [ 30272 hasIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(OverlayMenuIcon, { icon }), 30273 !hasIcon && (0,external_wp_i18n_namespaceObject.__)("Menu") 30274 ] 30275 } 30276 ), 30277 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30278 "div", 30279 { 30280 className: responsiveContainerClasses, 30281 style: styles, 30282 id: modalId, 30283 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30284 "div", 30285 { 30286 className: "wp-block-navigation__responsive-close", 30287 tabIndex: "-1", 30288 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...dialogProps, children: [ 30289 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 30290 external_wp_components_namespaceObject.Button, 30291 { 30292 __next40pxDefaultSize: true, 30293 className: "wp-block-navigation__responsive-container-close", 30294 "aria-label": hasIcon && (0,external_wp_i18n_namespaceObject.__)("Close menu"), 30295 onClick: () => onToggle(false), 30296 children: [ 30297 hasIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: close_default }), 30298 !hasIcon && (0,external_wp_i18n_namespaceObject.__)("Close") 30299 ] 30300 } 30301 ), 30302 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30303 "div", 30304 { 30305 className: "wp-block-navigation__responsive-container-content", 30306 id: `$modalId}-content`, 30307 children 30308 } 30309 ) 30310 ] }) 30311 } 30312 ) 30313 } 30314 ) 30315 ] }); 30316 } 30317 30318 30319 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/inner-blocks.js 30320 30321 30322 30323 30324 30325 30326 30327 function NavigationInnerBlocks({ 30328 clientId, 30329 hasCustomPlaceholder, 30330 orientation, 30331 templateLock 30332 }) { 30333 const { 30334 isImmediateParentOfSelectedBlock, 30335 selectedBlockHasChildren, 30336 isSelected, 30337 hasSelectedDescendant 30338 } = (0,external_wp_data_namespaceObject.useSelect)( 30339 (select) => { 30340 const { 30341 getBlockCount, 30342 hasSelectedInnerBlock, 30343 getSelectedBlockClientId 30344 } = select(external_wp_blockEditor_namespaceObject.store); 30345 const selectedBlockId = getSelectedBlockClientId(); 30346 return { 30347 isImmediateParentOfSelectedBlock: hasSelectedInnerBlock( 30348 clientId, 30349 false 30350 ), 30351 selectedBlockHasChildren: !!getBlockCount(selectedBlockId), 30352 hasSelectedDescendant: hasSelectedInnerBlock(clientId, true), 30353 // This prop is already available but computing it here ensures it's 30354 // fresh compared to isImmediateParentOfSelectedBlock. 30355 isSelected: selectedBlockId === clientId 30356 }; 30357 }, 30358 [clientId] 30359 ); 30360 const [blocks, onInput, onChange] = (0,external_wp_coreData_namespaceObject.useEntityBlockEditor)( 30361 "postType", 30362 "wp_navigation" 30363 ); 30364 const parentOrChildHasSelection = isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren; 30365 const placeholder = (0,external_wp_element_namespaceObject.useMemo)(() => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(placeholder_preview_default, {}), []); 30366 const hasMenuItems = !!blocks?.length; 30367 const showPlaceholder = !hasCustomPlaceholder && !hasMenuItems && !isSelected; 30368 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 30369 { 30370 className: "wp-block-navigation__container" 30371 }, 30372 { 30373 value: blocks, 30374 onInput, 30375 onChange, 30376 prioritizedInserterBlocks: PRIORITIZED_INSERTER_BLOCKS, 30377 defaultBlock: constants_DEFAULT_BLOCK, 30378 directInsert: true, 30379 orientation, 30380 templateLock, 30381 // As an exception to other blocks which feature nesting, show 30382 // the block appender even when a child block is selected. 30383 // This should be a temporary fix, to be replaced by improvements to 30384 // the sibling inserter. 30385 // See https://github.com/WordPress/gutenberg/issues/37572. 30386 renderAppender: isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren || hasSelectedDescendant || // Show the appender while dragging to allow inserting element between item and the appender. 30387 parentOrChildHasSelection ? external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender : false, 30388 placeholder: showPlaceholder ? placeholder : void 0, 30389 __experimentalCaptureToolbars: true, 30390 __unstableDisableLayoutClassNames: true 30391 } 30392 ); 30393 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 30394 } 30395 30396 30397 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/navigation-menu-name-control.js 30398 30399 30400 30401 30402 function NavigationMenuNameControl() { 30403 const [title, updateTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 30404 "postType", 30405 "wp_navigation", 30406 "title" 30407 ); 30408 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30409 external_wp_components_namespaceObject.TextControl, 30410 { 30411 __next40pxDefaultSize: true, 30412 __nextHasNoMarginBottom: true, 30413 label: (0,external_wp_i18n_namespaceObject.__)("Menu name"), 30414 value: title, 30415 onChange: updateTitle 30416 } 30417 ); 30418 } 30419 30420 30421 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/are-blocks-dirty.js 30422 function areBlocksDirty(originalBlocks, blocks) { 30423 return !isDeepEqual(originalBlocks, blocks, (prop, x) => { 30424 if (x?.name === "core/page-list" && prop === "innerBlocks") { 30425 return true; 30426 } 30427 }); 30428 } 30429 const isDeepEqual = (x, y, shouldSkip) => { 30430 if (x === y) { 30431 return true; 30432 } else if (typeof x === "object" && x !== null && x !== void 0 && typeof y === "object" && y !== null && y !== void 0) { 30433 if (Object.keys(x).length !== Object.keys(y).length) { 30434 return false; 30435 } 30436 for (const prop in x) { 30437 if (y.hasOwnProperty(prop)) { 30438 if (shouldSkip && shouldSkip(prop, x)) { 30439 return true; 30440 } 30441 if (!isDeepEqual(x[prop], y[prop], shouldSkip)) { 30442 return false; 30443 } 30444 } else { 30445 return false; 30446 } 30447 } 30448 return true; 30449 } 30450 return false; 30451 }; 30452 30453 30454 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/unsaved-inner-blocks.js 30455 30456 30457 30458 30459 30460 30461 30462 30463 const EMPTY_OBJECT = {}; 30464 function UnsavedInnerBlocks({ 30465 blocks, 30466 createNavigationMenu, 30467 hasSelection 30468 }) { 30469 const originalBlocksRef = (0,external_wp_element_namespaceObject.useRef)(); 30470 (0,external_wp_element_namespaceObject.useEffect)(() => { 30471 if (!originalBlocksRef?.current) { 30472 originalBlocksRef.current = blocks; 30473 } 30474 }, [blocks]); 30475 const innerBlocksAreDirty = areBlocksDirty( 30476 originalBlocksRef?.current, 30477 blocks 30478 ); 30479 const isDisabled = (0,external_wp_element_namespaceObject.useContext)(external_wp_components_namespaceObject.Disabled.Context); 30480 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 30481 { 30482 className: "wp-block-navigation__container" 30483 }, 30484 { 30485 renderAppender: hasSelection ? void 0 : false, 30486 defaultBlock: constants_DEFAULT_BLOCK, 30487 directInsert: true 30488 } 30489 ); 30490 const { isSaving, hasResolvedAllNavigationMenus } = (0,external_wp_data_namespaceObject.useSelect)( 30491 (select) => { 30492 if (isDisabled) { 30493 return EMPTY_OBJECT; 30494 } 30495 const { hasFinishedResolution, isSavingEntityRecord } = select(external_wp_coreData_namespaceObject.store); 30496 return { 30497 isSaving: isSavingEntityRecord("postType", "wp_navigation"), 30498 hasResolvedAllNavigationMenus: hasFinishedResolution( 30499 "getEntityRecords", 30500 SELECT_NAVIGATION_MENUS_ARGS 30501 ) 30502 }; 30503 }, 30504 [isDisabled] 30505 ); 30506 (0,external_wp_element_namespaceObject.useEffect)(() => { 30507 if (isDisabled || isSaving || !hasResolvedAllNavigationMenus || !hasSelection || !innerBlocksAreDirty) { 30508 return; 30509 } 30510 createNavigationMenu(null, blocks); 30511 }, [ 30512 blocks, 30513 createNavigationMenu, 30514 isDisabled, 30515 isSaving, 30516 hasResolvedAllNavigationMenus, 30517 innerBlocksAreDirty, 30518 hasSelection 30519 ]); 30520 const Wrapper = isSaving ? external_wp_components_namespaceObject.Disabled : "div"; 30521 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Wrapper, { ...innerBlocksProps }); 30522 } 30523 30524 30525 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/navigation-menu-delete-control.js 30526 30527 30528 30529 30530 30531 30532 function NavigationMenuDeleteControl({ onDelete }) { 30533 const [isConfirmDialogVisible, setIsConfirmDialogVisible] = (0,external_wp_element_namespaceObject.useState)(false); 30534 const id = (0,external_wp_coreData_namespaceObject.useEntityId)("postType", "wp_navigation"); 30535 const { deleteEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 30536 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 30537 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30538 external_wp_components_namespaceObject.Button, 30539 { 30540 __next40pxDefaultSize: true, 30541 className: "wp-block-navigation-delete-menu-button", 30542 variant: "secondary", 30543 isDestructive: true, 30544 onClick: () => { 30545 setIsConfirmDialogVisible(true); 30546 }, 30547 children: (0,external_wp_i18n_namespaceObject.__)("Delete menu") 30548 } 30549 ), 30550 isConfirmDialogVisible && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30551 external_wp_components_namespaceObject.__experimentalConfirmDialog, 30552 { 30553 isOpen: true, 30554 onConfirm: () => { 30555 deleteEntityRecord("postType", "wp_navigation", id, { 30556 force: true 30557 }); 30558 onDelete(); 30559 }, 30560 onCancel: () => { 30561 setIsConfirmDialogVisible(false); 30562 }, 30563 confirmButtonText: (0,external_wp_i18n_namespaceObject.__)("Delete"), 30564 size: "medium", 30565 children: (0,external_wp_i18n_namespaceObject.__)( 30566 "Are you sure you want to delete this Navigation Menu?" 30567 ) 30568 } 30569 ) 30570 ] }); 30571 } 30572 30573 30574 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/use-navigation-notice.js 30575 30576 30577 30578 function useNavigationNotice({ name, message = "" } = {}) { 30579 const noticeRef = (0,external_wp_element_namespaceObject.useRef)(); 30580 const { createWarningNotice, removeNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 30581 const showNotice = (0,external_wp_element_namespaceObject.useCallback)( 30582 (customMsg) => { 30583 if (noticeRef.current) { 30584 return; 30585 } 30586 noticeRef.current = name; 30587 createWarningNotice(customMsg || message, { 30588 id: noticeRef.current, 30589 type: "snackbar" 30590 }); 30591 }, 30592 [noticeRef, createWarningNotice, message, name] 30593 ); 30594 const hideNotice = (0,external_wp_element_namespaceObject.useCallback)(() => { 30595 if (!noticeRef.current) { 30596 return; 30597 } 30598 removeNotice(noticeRef.current); 30599 noticeRef.current = null; 30600 }, [noticeRef, removeNotice]); 30601 return [showNotice, hideNotice]; 30602 } 30603 var use_navigation_notice_default = useNavigationNotice; 30604 30605 30606 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/overlay-menu-preview.js 30607 30608 30609 30610 30611 function OverlayMenuPreview({ setAttributes, hasIcon, icon }) { 30612 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 30613 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30614 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 30615 { 30616 label: (0,external_wp_i18n_namespaceObject.__)("Show icon button"), 30617 isShownByDefault: true, 30618 hasValue: () => !hasIcon, 30619 onDeselect: () => setAttributes({ hasIcon: true }), 30620 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30621 external_wp_components_namespaceObject.ToggleControl, 30622 { 30623 __nextHasNoMarginBottom: true, 30624 label: (0,external_wp_i18n_namespaceObject.__)("Show icon button"), 30625 help: (0,external_wp_i18n_namespaceObject.__)( 30626 "Configure the visual appearance of the button that toggles the overlay menu." 30627 ), 30628 onChange: (value) => setAttributes({ hasIcon: value }), 30629 checked: hasIcon 30630 } 30631 ) 30632 } 30633 ), 30634 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30635 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 30636 { 30637 label: (0,external_wp_i18n_namespaceObject.__)("Icon"), 30638 isShownByDefault: true, 30639 hasValue: () => icon !== "handle", 30640 onDeselect: () => setAttributes({ icon: "handle" }), 30641 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 30642 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 30643 { 30644 __next40pxDefaultSize: true, 30645 __nextHasNoMarginBottom: true, 30646 className: "wp-block-navigation__overlay-menu-icon-toggle-group", 30647 label: (0,external_wp_i18n_namespaceObject.__)("Icon"), 30648 value: icon, 30649 onChange: (value) => setAttributes({ icon: value }), 30650 isBlock: true, 30651 children: [ 30652 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30653 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 30654 { 30655 value: "handle", 30656 "aria-label": (0,external_wp_i18n_namespaceObject.__)("handle"), 30657 label: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(OverlayMenuIcon, { icon: "handle" }) 30658 } 30659 ), 30660 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30661 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 30662 { 30663 value: "menu", 30664 "aria-label": (0,external_wp_i18n_namespaceObject.__)("menu"), 30665 label: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(OverlayMenuIcon, { icon: "menu" }) 30666 } 30667 ) 30668 ] 30669 } 30670 ) 30671 } 30672 ) 30673 ] }); 30674 } 30675 30676 30677 ;// ./node_modules/@wordpress/block-library/build-module/navigation/menu-items-to-blocks.js 30678 30679 30680 function menuItemsToBlocks(menuItems) { 30681 if (!menuItems) { 30682 return null; 30683 } 30684 const menuTree = createDataTree(menuItems); 30685 const blocks = mapMenuItemsToBlocks(menuTree); 30686 return (0,external_wp_hooks_namespaceObject.applyFilters)( 30687 "blocks.navigation.__unstableMenuItemsToBlocks", 30688 blocks, 30689 menuItems 30690 ); 30691 } 30692 function mapMenuItemsToBlocks(menuItems, level = 0) { 30693 let mapping = {}; 30694 const sortedItems = [...menuItems].sort( 30695 (a, b) => a.menu_order - b.menu_order 30696 ); 30697 const innerBlocks = sortedItems.map((menuItem) => { 30698 if (menuItem.type === "block") { 30699 const [block2] = (0,external_wp_blocks_namespaceObject.parse)(menuItem.content.raw); 30700 if (!block2) { 30701 return (0,external_wp_blocks_namespaceObject.createBlock)("core/freeform", { 30702 content: menuItem.content 30703 }); 30704 } 30705 return block2; 30706 } 30707 const blockType = menuItem.children?.length ? "core/navigation-submenu" : "core/navigation-link"; 30708 const attributes = menuItemToBlockAttributes( 30709 menuItem, 30710 blockType, 30711 level 30712 ); 30713 const { 30714 innerBlocks: nestedBlocks = [], 30715 // alias to avoid shadowing 30716 mapping: nestedMapping = {} 30717 // alias to avoid shadowing 30718 } = menuItem.children?.length ? mapMenuItemsToBlocks(menuItem.children, level + 1) : {}; 30719 mapping = { 30720 ...mapping, 30721 ...nestedMapping 30722 }; 30723 const block = (0,external_wp_blocks_namespaceObject.createBlock)(blockType, attributes, nestedBlocks); 30724 mapping[menuItem.id] = block.clientId; 30725 return block; 30726 }); 30727 return { 30728 innerBlocks, 30729 mapping 30730 }; 30731 } 30732 function menuItemToBlockAttributes({ 30733 title: menuItemTitleField, 30734 xfn, 30735 classes, 30736 // eslint-disable-next-line camelcase 30737 attr_title, 30738 object, 30739 // eslint-disable-next-line camelcase 30740 object_id, 30741 description, 30742 url, 30743 type: menuItemTypeField, 30744 target 30745 }, blockType, level) { 30746 if (object && object === "post_tag") { 30747 object = "tag"; 30748 } 30749 return { 30750 label: menuItemTitleField?.rendered || "", 30751 ...object?.length && { 30752 type: object 30753 }, 30754 kind: menuItemTypeField?.replace("_", "-") || "custom", 30755 url: url || "", 30756 ...xfn?.length && xfn.join(" ").trim() && { 30757 rel: xfn.join(" ").trim() 30758 }, 30759 ...classes?.length && classes.join(" ").trim() && { 30760 className: classes.join(" ").trim() 30761 }, 30762 /* eslint-disable camelcase */ 30763 ...attr_title?.length && { 30764 title: attr_title 30765 }, 30766 ...object_id && "custom" !== object && { 30767 id: object_id 30768 }, 30769 /* eslint-enable camelcase */ 30770 ...description?.length && { 30771 description 30772 }, 30773 ...target === "_blank" && { 30774 opensInNewTab: true 30775 }, 30776 ...blockType === "core/navigation-submenu" && { 30777 isTopLevelItem: level === 0 30778 }, 30779 ...blockType === "core/navigation-link" && { 30780 isTopLevelLink: level === 0 30781 } 30782 }; 30783 } 30784 function createDataTree(dataset, id = "id", relation = "parent") { 30785 const hashTable = /* @__PURE__ */ Object.create(null); 30786 const dataTree = []; 30787 for (const data of dataset) { 30788 hashTable[data[id]] = { 30789 ...data, 30790 children: [] 30791 }; 30792 if (data[relation]) { 30793 hashTable[data[relation]] = hashTable[data[relation]] || {}; 30794 hashTable[data[relation]].children = hashTable[data[relation]].children || []; 30795 hashTable[data[relation]].children.push( 30796 hashTable[data[id]] 30797 ); 30798 } else { 30799 dataTree.push(hashTable[data[id]]); 30800 } 30801 } 30802 return dataTree; 30803 } 30804 30805 30806 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js 30807 30808 30809 30810 30811 30812 const CLASSIC_MENU_CONVERSION_SUCCESS = "success"; 30813 const CLASSIC_MENU_CONVERSION_ERROR = "error"; 30814 const CLASSIC_MENU_CONVERSION_PENDING = "pending"; 30815 const CLASSIC_MENU_CONVERSION_IDLE = "idle"; 30816 let classicMenuBeingConvertedId = null; 30817 function useConvertClassicToBlockMenu(createNavigationMenu, { throwOnError = false } = {}) { 30818 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 30819 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 30820 const [status, setStatus] = (0,external_wp_element_namespaceObject.useState)(CLASSIC_MENU_CONVERSION_IDLE); 30821 const [error, setError] = (0,external_wp_element_namespaceObject.useState)(null); 30822 const convertClassicMenuToBlockMenu = (0,external_wp_element_namespaceObject.useCallback)( 30823 async (menuId, menuName, postStatus = "publish") => { 30824 let navigationMenu; 30825 let classicMenuItems; 30826 try { 30827 classicMenuItems = await registry.resolveSelect(external_wp_coreData_namespaceObject.store).getMenuItems({ 30828 menus: menuId, 30829 per_page: -1, 30830 context: "view" 30831 }); 30832 } catch (err) { 30833 throw new Error( 30834 (0,external_wp_i18n_namespaceObject.sprintf)( 30835 // translators: %s: The name of a menu (e.g. Header menu). 30836 (0,external_wp_i18n_namespaceObject.__)(`Unable to fetch classic menu "%s" from API.`), 30837 menuName 30838 ), 30839 { 30840 cause: err 30841 } 30842 ); 30843 } 30844 if (classicMenuItems === null) { 30845 throw new Error( 30846 (0,external_wp_i18n_namespaceObject.sprintf)( 30847 // translators: %s: The name of a menu (e.g. Header menu). 30848 (0,external_wp_i18n_namespaceObject.__)(`Unable to fetch classic menu "%s" from API.`), 30849 menuName 30850 ) 30851 ); 30852 } 30853 const { innerBlocks } = menuItemsToBlocks(classicMenuItems); 30854 try { 30855 navigationMenu = await createNavigationMenu( 30856 menuName, 30857 innerBlocks, 30858 postStatus 30859 ); 30860 await editEntityRecord( 30861 "postType", 30862 "wp_navigation", 30863 navigationMenu.id, 30864 { 30865 status: "publish" 30866 }, 30867 { throwOnError: true } 30868 ); 30869 } catch (err) { 30870 throw new Error( 30871 (0,external_wp_i18n_namespaceObject.sprintf)( 30872 // translators: %s: The name of a menu (e.g. Header menu). 30873 (0,external_wp_i18n_namespaceObject.__)(`Unable to create Navigation Menu "%s".`), 30874 menuName 30875 ), 30876 { 30877 cause: err 30878 } 30879 ); 30880 } 30881 return navigationMenu; 30882 }, 30883 [createNavigationMenu, editEntityRecord, registry] 30884 ); 30885 const convert = (0,external_wp_element_namespaceObject.useCallback)( 30886 async (menuId, menuName, postStatus) => { 30887 if (classicMenuBeingConvertedId === menuId) { 30888 return; 30889 } 30890 classicMenuBeingConvertedId = menuId; 30891 if (!menuId || !menuName) { 30892 setError("Unable to convert menu. Missing menu details."); 30893 setStatus(CLASSIC_MENU_CONVERSION_ERROR); 30894 return; 30895 } 30896 setStatus(CLASSIC_MENU_CONVERSION_PENDING); 30897 setError(null); 30898 return await convertClassicMenuToBlockMenu( 30899 menuId, 30900 menuName, 30901 postStatus 30902 ).then((navigationMenu) => { 30903 setStatus(CLASSIC_MENU_CONVERSION_SUCCESS); 30904 classicMenuBeingConvertedId = null; 30905 return navigationMenu; 30906 }).catch((err) => { 30907 setError(err?.message); 30908 setStatus(CLASSIC_MENU_CONVERSION_ERROR); 30909 classicMenuBeingConvertedId = null; 30910 if (throwOnError) { 30911 throw new Error( 30912 (0,external_wp_i18n_namespaceObject.sprintf)( 30913 // translators: %s: The name of a menu (e.g. Header menu). 30914 (0,external_wp_i18n_namespaceObject.__)(`Unable to create Navigation Menu "%s".`), 30915 menuName 30916 ), 30917 { 30918 cause: err 30919 } 30920 ); 30921 } 30922 }); 30923 }, 30924 [convertClassicMenuToBlockMenu, throwOnError] 30925 ); 30926 return { 30927 convert, 30928 status, 30929 error 30930 }; 30931 } 30932 var use_convert_classic_menu_to_block_menu_default = useConvertClassicToBlockMenu; 30933 30934 30935 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/utils/create-template-part-id.js 30936 function createTemplatePartId(theme, slug) { 30937 return theme && slug ? theme + "//" + slug : null; 30938 } 30939 30940 30941 ;// ./node_modules/@wordpress/icons/build-module/library/header.js 30942 30943 30944 var header_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18.5 10.5H10v8h8a.5.5 0 00.5-.5v-7.5zm-10 0h-3V18a.5.5 0 00.5.5h2.5v-8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) }); 30945 30946 30947 ;// ./node_modules/@wordpress/icons/build-module/library/footer.js 30948 30949 30950 var footer_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 30951 external_wp_primitives_namespaceObject.Path, 30952 { 30953 fillRule: "evenodd", 30954 d: "M18 5.5h-8v8h8.5V6a.5.5 0 00-.5-.5zm-9.5 8h-3V6a.5.5 0 01.5-.5h2.5v8zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" 30955 } 30956 ) }); 30957 30958 30959 ;// ./node_modules/@wordpress/icons/build-module/library/sidebar.js 30960 30961 30962 var sidebar_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 5.5H6a.5.5 0 00-.5.5v3h13V6a.5.5 0 00-.5-.5zm.5 5H10v8h8a.5.5 0 00.5-.5v-7.5zM6 4h12a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2z" }) }); 30963 30964 30965 ;// ./node_modules/@wordpress/icons/build-module/library/symbol-filled.js 30966 30967 30968 var symbol_filled_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-17.6 1L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }) }); 30969 30970 30971 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/utils/get-template-part-icon.js 30972 30973 const getTemplatePartIcon = (iconName) => { 30974 if ("header" === iconName) { 30975 return header_default; 30976 } else if ("footer" === iconName) { 30977 return footer_default; 30978 } else if ("sidebar" === iconName) { 30979 return sidebar_default; 30980 } 30981 return symbol_filled_default; 30982 }; 30983 30984 30985 ;// ./node_modules/@wordpress/block-library/build-module/navigation/use-template-part-area-label.js 30986 30987 30988 30989 30990 30991 function useTemplatePartAreaLabel(clientId) { 30992 return (0,external_wp_data_namespaceObject.useSelect)( 30993 (select) => { 30994 if (!clientId) { 30995 return; 30996 } 30997 const { getBlock, getBlockParentsByBlockName } = select(external_wp_blockEditor_namespaceObject.store); 30998 const withAscendingResults = true; 30999 const parentTemplatePartClientIds = getBlockParentsByBlockName( 31000 clientId, 31001 "core/template-part", 31002 withAscendingResults 31003 ); 31004 if (!parentTemplatePartClientIds?.length) { 31005 return; 31006 } 31007 const { getCurrentTheme, getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 31008 const currentTheme = getCurrentTheme(); 31009 const defaultTemplatePartAreas = currentTheme?.default_template_part_areas || []; 31010 const definedAreas = defaultTemplatePartAreas.map((item) => ({ 31011 ...item, 31012 icon: getTemplatePartIcon(item.icon) 31013 })); 31014 for (const templatePartClientId of parentTemplatePartClientIds) { 31015 const templatePartBlock = getBlock(templatePartClientId); 31016 const { theme = currentTheme?.stylesheet, slug } = templatePartBlock.attributes; 31017 const templatePartEntityId = createTemplatePartId( 31018 theme, 31019 slug 31020 ); 31021 const templatePartEntity = getEditedEntityRecord( 31022 "postType", 31023 "wp_template_part", 31024 templatePartEntityId 31025 ); 31026 if (templatePartEntity?.area) { 31027 return definedAreas.find( 31028 (definedArea) => definedArea.area !== "uncategorized" && definedArea.area === templatePartEntity.area 31029 )?.label; 31030 } 31031 } 31032 }, 31033 [clientId] 31034 ); 31035 } 31036 31037 31038 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/use-generate-default-navigation-title.js 31039 31040 31041 31042 31043 31044 31045 const DRAFT_MENU_PARAMS = [ 31046 "postType", 31047 "wp_navigation", 31048 { status: "draft", per_page: -1 } 31049 ]; 31050 const PUBLISHED_MENU_PARAMS = [ 31051 "postType", 31052 "wp_navigation", 31053 { per_page: -1, status: "publish" } 31054 ]; 31055 function useGenerateDefaultNavigationTitle(clientId) { 31056 const isDisabled = (0,external_wp_element_namespaceObject.useContext)(external_wp_components_namespaceObject.Disabled.Context); 31057 const area = useTemplatePartAreaLabel(isDisabled ? void 0 : clientId); 31058 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 31059 return (0,external_wp_element_namespaceObject.useCallback)(async () => { 31060 if (isDisabled) { 31061 return ""; 31062 } 31063 const { getEntityRecords } = registry.resolveSelect(external_wp_coreData_namespaceObject.store); 31064 const [draftNavigationMenus, navigationMenus] = await Promise.all([ 31065 getEntityRecords(...DRAFT_MENU_PARAMS), 31066 getEntityRecords(...PUBLISHED_MENU_PARAMS) 31067 ]); 31068 const title = area ? (0,external_wp_i18n_namespaceObject.sprintf)( 31069 // translators: %s: the name of a menu (e.g. Header menu). 31070 (0,external_wp_i18n_namespaceObject.__)("%s menu"), 31071 area 31072 ) : ( 31073 // translators: 'menu' as in website navigation menu. 31074 (0,external_wp_i18n_namespaceObject.__)("Menu") 31075 ); 31076 const matchingMenuTitleCount = [ 31077 ...draftNavigationMenus, 31078 ...navigationMenus 31079 ].reduce( 31080 (count, menu) => menu?.title?.raw?.startsWith(title) ? count + 1 : count, 31081 0 31082 ); 31083 const titleWithCount = matchingMenuTitleCount > 0 ? `$title} $matchingMenuTitleCount + 1}` : title; 31084 return titleWithCount || ""; 31085 }, [isDisabled, area, registry]); 31086 } 31087 31088 31089 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/use-create-navigation-menu.js 31090 31091 31092 31093 31094 31095 const CREATE_NAVIGATION_MENU_SUCCESS = "success"; 31096 const CREATE_NAVIGATION_MENU_ERROR = "error"; 31097 const CREATE_NAVIGATION_MENU_PENDING = "pending"; 31098 const CREATE_NAVIGATION_MENU_IDLE = "idle"; 31099 function useCreateNavigationMenu(clientId) { 31100 const [status, setStatus] = (0,external_wp_element_namespaceObject.useState)(CREATE_NAVIGATION_MENU_IDLE); 31101 const [value, setValue] = (0,external_wp_element_namespaceObject.useState)(null); 31102 const [error, setError] = (0,external_wp_element_namespaceObject.useState)(null); 31103 const { saveEntityRecord, editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 31104 const generateDefaultTitle = useGenerateDefaultNavigationTitle(clientId); 31105 const create = (0,external_wp_element_namespaceObject.useCallback)( 31106 async (title = null, blocks = [], postStatus) => { 31107 if (title && typeof title !== "string") { 31108 setError( 31109 "Invalid title supplied when creating Navigation Menu." 31110 ); 31111 setStatus(CREATE_NAVIGATION_MENU_ERROR); 31112 throw new Error( 31113 `Value of supplied title argument was not a string.` 31114 ); 31115 } 31116 setStatus(CREATE_NAVIGATION_MENU_PENDING); 31117 setValue(null); 31118 setError(null); 31119 if (!title) { 31120 title = await generateDefaultTitle().catch((err) => { 31121 setError(err?.message); 31122 setStatus(CREATE_NAVIGATION_MENU_ERROR); 31123 throw new Error( 31124 "Failed to create title when saving new Navigation Menu.", 31125 { 31126 cause: err 31127 } 31128 ); 31129 }); 31130 } 31131 const record = { 31132 title, 31133 content: (0,external_wp_blocks_namespaceObject.serialize)(blocks), 31134 status: postStatus 31135 }; 31136 return saveEntityRecord("postType", "wp_navigation", record).then((response) => { 31137 setValue(response); 31138 setStatus(CREATE_NAVIGATION_MENU_SUCCESS); 31139 if (postStatus !== "publish") { 31140 editEntityRecord( 31141 "postType", 31142 "wp_navigation", 31143 response.id, 31144 { status: "publish" } 31145 ); 31146 } 31147 return response; 31148 }).catch((err) => { 31149 setError(err?.message); 31150 setStatus(CREATE_NAVIGATION_MENU_ERROR); 31151 throw new Error("Unable to save new Navigation Menu", { 31152 cause: err 31153 }); 31154 }); 31155 }, 31156 [saveEntityRecord, editEntityRecord, generateDefaultTitle] 31157 ); 31158 return { 31159 create, 31160 status, 31161 value, 31162 error, 31163 isIdle: status === CREATE_NAVIGATION_MENU_IDLE, 31164 isPending: status === CREATE_NAVIGATION_MENU_PENDING, 31165 isSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS, 31166 isError: status === CREATE_NAVIGATION_MENU_ERROR 31167 }; 31168 } 31169 31170 31171 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/use-inner-blocks.js 31172 31173 31174 const use_inner_blocks_EMPTY_ARRAY = []; 31175 function useInnerBlocks(clientId) { 31176 return (0,external_wp_data_namespaceObject.useSelect)( 31177 (select) => { 31178 const { getBlock, getBlocks, hasSelectedInnerBlock } = select(external_wp_blockEditor_namespaceObject.store); 31179 const _uncontrolledInnerBlocks = getBlock(clientId).innerBlocks; 31180 const _hasUncontrolledInnerBlocks = !!_uncontrolledInnerBlocks?.length; 31181 const _controlledInnerBlocks = _hasUncontrolledInnerBlocks ? use_inner_blocks_EMPTY_ARRAY : getBlocks(clientId); 31182 return { 31183 innerBlocks: _hasUncontrolledInnerBlocks ? _uncontrolledInnerBlocks : _controlledInnerBlocks, 31184 hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks, 31185 uncontrolledInnerBlocks: _uncontrolledInnerBlocks, 31186 controlledInnerBlocks: _controlledInnerBlocks, 31187 isInnerBlockSelected: hasSelectedInnerBlock(clientId, true) 31188 }; 31189 }, 31190 [clientId] 31191 ); 31192 } 31193 31194 31195 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/utils.js 31196 31197 function getComputedStyle(node) { 31198 return node.ownerDocument.defaultView.getComputedStyle(node); 31199 } 31200 function detectColors(colorsDetectionElement, setColor, setBackground) { 31201 if (!colorsDetectionElement) { 31202 return; 31203 } 31204 setColor(getComputedStyle(colorsDetectionElement).color); 31205 let backgroundColorNode = colorsDetectionElement; 31206 let backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; 31207 while (backgroundColor === "rgba(0, 0, 0, 0)" && backgroundColorNode.parentNode && backgroundColorNode.parentNode.nodeType === backgroundColorNode.parentNode.ELEMENT_NODE) { 31208 backgroundColorNode = backgroundColorNode.parentNode; 31209 backgroundColor = getComputedStyle(backgroundColorNode).backgroundColor; 31210 } 31211 setBackground(backgroundColor); 31212 } 31213 function getColors(context, isSubMenu) { 31214 const { 31215 textColor, 31216 customTextColor, 31217 backgroundColor, 31218 customBackgroundColor, 31219 overlayTextColor, 31220 customOverlayTextColor, 31221 overlayBackgroundColor, 31222 customOverlayBackgroundColor, 31223 style 31224 } = context; 31225 const colors = {}; 31226 if (isSubMenu && !!customOverlayTextColor) { 31227 colors.customTextColor = customOverlayTextColor; 31228 } else if (isSubMenu && !!overlayTextColor) { 31229 colors.textColor = overlayTextColor; 31230 } else if (!!customTextColor) { 31231 colors.customTextColor = customTextColor; 31232 } else if (!!textColor) { 31233 colors.textColor = textColor; 31234 } else if (!!style?.color?.text) { 31235 colors.customTextColor = style.color.text; 31236 } 31237 if (isSubMenu && !!customOverlayBackgroundColor) { 31238 colors.customBackgroundColor = customOverlayBackgroundColor; 31239 } else if (isSubMenu && !!overlayBackgroundColor) { 31240 colors.backgroundColor = overlayBackgroundColor; 31241 } else if (!!customBackgroundColor) { 31242 colors.customBackgroundColor = customBackgroundColor; 31243 } else if (!!backgroundColor) { 31244 colors.backgroundColor = backgroundColor; 31245 } else if (!!style?.color?.background) { 31246 colors.customTextColor = style.color.background; 31247 } 31248 return colors; 31249 } 31250 function getNavigationChildBlockProps(innerBlocksColors) { 31251 return { 31252 className: dist_clsx("wp-block-navigation__submenu-container", { 31253 "has-text-color": !!(innerBlocksColors.textColor || innerBlocksColors.customTextColor), 31254 [`has-$innerBlocksColors.textColor}-color`]: !!innerBlocksColors.textColor, 31255 "has-background": !!(innerBlocksColors.backgroundColor || innerBlocksColors.customBackgroundColor), 31256 [`has-$innerBlocksColors.backgroundColor}-background-color`]: !!innerBlocksColors.backgroundColor 31257 }), 31258 style: { 31259 color: innerBlocksColors.customTextColor, 31260 backgroundColor: innerBlocksColors.customBackgroundColor 31261 } 31262 }; 31263 } 31264 31265 31266 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/manage-menus-button.js 31267 31268 31269 31270 31271 const ManageMenusButton = ({ 31272 className = "", 31273 disabled, 31274 isMenuItem = false 31275 }) => { 31276 let ComponentName = external_wp_components_namespaceObject.Button; 31277 if (isMenuItem) { 31278 ComponentName = external_wp_components_namespaceObject.MenuItem; 31279 } 31280 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31281 ComponentName, 31282 { 31283 variant: "link", 31284 disabled, 31285 className, 31286 href: (0,external_wp_url_namespaceObject.addQueryArgs)("edit.php", { 31287 post_type: "wp_navigation" 31288 }), 31289 children: (0,external_wp_i18n_namespaceObject.__)("Manage menus") 31290 } 31291 ); 31292 }; 31293 var manage_menus_button_default = ManageMenusButton; 31294 31295 31296 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/deleted-navigation-warning.js 31297 31298 31299 31300 31301 31302 function DeletedNavigationWarning({ onCreateNew, isNotice = false }) { 31303 const [isButtonDisabled, setIsButtonDisabled] = (0,external_wp_element_namespaceObject.useState)(false); 31304 const handleButtonClick = () => { 31305 setIsButtonDisabled(true); 31306 onCreateNew(); 31307 }; 31308 const message = (0,external_wp_element_namespaceObject.createInterpolateElement)( 31309 (0,external_wp_i18n_namespaceObject.__)( 31310 "Navigation Menu has been deleted or is unavailable. <button>Create a new Menu?</button>" 31311 ), 31312 { 31313 button: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31314 external_wp_components_namespaceObject.Button, 31315 { 31316 __next40pxDefaultSize: true, 31317 onClick: handleButtonClick, 31318 variant: "link", 31319 disabled: isButtonDisabled, 31320 accessibleWhenDisabled: true 31321 } 31322 ) 31323 } 31324 ); 31325 return isNotice ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "warning", isDismissible: false, children: message }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: message }); 31326 } 31327 var deleted_navigation_warning_default = DeletedNavigationWarning; 31328 31329 31330 ;// ./node_modules/@wordpress/icons/build-module/library/add-submenu.js 31331 31332 31333 var add_submenu_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M2 12c0 3.6 2.4 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.5 0-4.5-1.5-4.5-4s2-4.5 4.5-4.5h3.5V6H8c-3.6 0-6 2.4-6 6zm19.5-1h-8v1.5h8V11zm0 5h-8v1.5h8V16zm0-10h-8v1.5h8V6z" }) }); 31334 31335 31336 ;// ./node_modules/@wordpress/icons/build-module/library/chevron-up.js 31337 31338 31339 var chevron_up_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.5 12.4L12 8l5.5 4.4-.9 1.2L12 10l-4.5 3.6-1-1.2z" }) }); 31340 31341 31342 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/leaf-more-menu.js 31343 31344 31345 31346 31347 31348 31349 31350 31351 const POPOVER_PROPS = { 31352 className: "block-editor-block-settings-menu__popover", 31353 placement: "bottom-start" 31354 }; 31355 const BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU = [ 31356 "core/navigation-link", 31357 "core/navigation-submenu" 31358 ]; 31359 function AddSubmenuItem({ 31360 block, 31361 onClose, 31362 expandedState, 31363 expand, 31364 setInsertedBlock 31365 }) { 31366 const { insertBlock, replaceBlock, replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 31367 const clientId = block.clientId; 31368 const isDisabled = !BLOCKS_THAT_CAN_BE_CONVERTED_TO_SUBMENU.includes( 31369 block.name 31370 ); 31371 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31372 external_wp_components_namespaceObject.MenuItem, 31373 { 31374 icon: add_submenu_default, 31375 disabled: isDisabled, 31376 onClick: () => { 31377 const updateSelectionOnInsert = false; 31378 const newLink = (0,external_wp_blocks_namespaceObject.createBlock)( 31379 constants_DEFAULT_BLOCK.name, 31380 constants_DEFAULT_BLOCK.attributes 31381 ); 31382 if (block.name === "core/navigation-submenu") { 31383 insertBlock( 31384 newLink, 31385 block.innerBlocks.length, 31386 clientId, 31387 updateSelectionOnInsert 31388 ); 31389 } else { 31390 const newSubmenu = (0,external_wp_blocks_namespaceObject.createBlock)( 31391 "core/navigation-submenu", 31392 block.attributes, 31393 block.innerBlocks 31394 ); 31395 replaceBlock(clientId, newSubmenu); 31396 replaceInnerBlocks( 31397 newSubmenu.clientId, 31398 [newLink], 31399 updateSelectionOnInsert 31400 ); 31401 } 31402 setInsertedBlock(newLink); 31403 if (!expandedState[block.clientId]) { 31404 expand(block.clientId); 31405 } 31406 onClose(); 31407 }, 31408 children: (0,external_wp_i18n_namespaceObject.__)("Add submenu link") 31409 } 31410 ); 31411 } 31412 function LeafMoreMenu(props) { 31413 const { block } = props; 31414 const { clientId } = block; 31415 const { moveBlocksDown, moveBlocksUp, removeBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 31416 const removeLabel = (0,external_wp_i18n_namespaceObject.sprintf)( 31417 /* translators: %s: block name */ 31418 (0,external_wp_i18n_namespaceObject.__)("Remove %s"), 31419 (0,external_wp_blockEditor_namespaceObject.BlockTitle)({ clientId, maximumLength: 25 }) 31420 ); 31421 const rootClientId = (0,external_wp_data_namespaceObject.useSelect)( 31422 (select) => { 31423 const { getBlockRootClientId } = select(external_wp_blockEditor_namespaceObject.store); 31424 return getBlockRootClientId(clientId); 31425 }, 31426 [clientId] 31427 ); 31428 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31429 external_wp_components_namespaceObject.DropdownMenu, 31430 { 31431 icon: more_vertical_default, 31432 label: (0,external_wp_i18n_namespaceObject.__)("Options"), 31433 className: "block-editor-block-settings-menu", 31434 popoverProps: POPOVER_PROPS, 31435 noIcons: true, 31436 ...props, 31437 children: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 31438 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.MenuGroup, { children: [ 31439 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31440 external_wp_components_namespaceObject.MenuItem, 31441 { 31442 icon: chevron_up_default, 31443 onClick: () => { 31444 moveBlocksUp([clientId], rootClientId); 31445 onClose(); 31446 }, 31447 children: (0,external_wp_i18n_namespaceObject.__)("Move up") 31448 } 31449 ), 31450 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31451 external_wp_components_namespaceObject.MenuItem, 31452 { 31453 icon: chevron_down_default, 31454 onClick: () => { 31455 moveBlocksDown([clientId], rootClientId); 31456 onClose(); 31457 }, 31458 children: (0,external_wp_i18n_namespaceObject.__)("Move down") 31459 } 31460 ), 31461 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31462 AddSubmenuItem, 31463 { 31464 block, 31465 onClose, 31466 expandedState: props.expandedState, 31467 expand: props.expand, 31468 setInsertedBlock: props.setInsertedBlock 31469 } 31470 ) 31471 ] }), 31472 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31473 external_wp_components_namespaceObject.MenuItem, 31474 { 31475 onClick: () => { 31476 removeBlocks([clientId], false); 31477 onClose(); 31478 }, 31479 children: removeLabel 31480 } 31481 ) }) 31482 ] }) 31483 } 31484 ); 31485 } 31486 31487 31488 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/shared/use-entity-binding.js 31489 31490 31491 function buildNavigationLinkEntityBinding(kind) { 31492 if (kind === void 0) { 31493 throw new Error( 31494 'buildNavigationLinkEntityBinding requires a kind parameter. Only "post-type" and "taxonomy" are supported.' 31495 ); 31496 } 31497 if (kind !== "post-type" && kind !== "taxonomy") { 31498 throw new Error( 31499 `Invalid kind "$kind}" provided to buildNavigationLinkEntityBinding. Only 'post-type' and 'taxonomy' are supported.` 31500 ); 31501 } 31502 const source = kind === "taxonomy" ? "core/term-data" : "core/post-data"; 31503 return { 31504 url: { 31505 source, 31506 args: { 31507 field: "link" 31508 } 31509 } 31510 }; 31511 } 31512 function useEntityBinding({ clientId, attributes }) { 31513 const { updateBlockBindings } = (0,external_wp_blockEditor_namespaceObject.useBlockBindingsUtils)(clientId); 31514 const { metadata, id, kind } = attributes; 31515 const hasUrlBinding = !!metadata?.bindings?.url && !!id; 31516 const expectedSource = kind === "post-type" ? "core/post-data" : "core/term-data"; 31517 const hasCorrectBinding = hasUrlBinding && metadata?.bindings?.url?.source === expectedSource; 31518 const clearBinding = (0,external_wp_element_namespaceObject.useCallback)(() => { 31519 if (hasUrlBinding) { 31520 updateBlockBindings({ url: void 0 }); 31521 } 31522 }, [updateBlockBindings, hasUrlBinding, metadata, id]); 31523 const createBinding = (0,external_wp_element_namespaceObject.useCallback)( 31524 (updatedAttributes) => { 31525 const kindToUse = updatedAttributes?.kind ?? kind; 31526 if (!kindToUse) { 31527 return; 31528 } 31529 try { 31530 const binding = buildNavigationLinkEntityBinding(kindToUse); 31531 updateBlockBindings(binding); 31532 } catch (error) { 31533 console.warn( 31534 "Failed to create entity binding:", 31535 error.message 31536 ); 31537 } 31538 }, 31539 [updateBlockBindings, kind, id] 31540 ); 31541 return { 31542 hasUrlBinding: hasCorrectBinding, 31543 clearBinding, 31544 createBinding 31545 }; 31546 } 31547 31548 31549 ;// ./node_modules/@wordpress/icons/build-module/library/plus.js 31550 31551 31552 var plus_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11 12.5V17.5H12.5V12.5H17.5V11H12.5V6H11V11H6V12.5H11Z" }) }); 31553 31554 31555 ;// ./node_modules/@wordpress/icons/build-module/library/chevron-right-small.js 31556 31557 31558 var chevron_right_small_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10.8622 8.04053L14.2805 12.0286L10.8622 16.0167L9.72327 15.0405L12.3049 12.0286L9.72327 9.01672L10.8622 8.04053Z" }) }); 31559 31560 31561 ;// ./node_modules/@wordpress/icons/build-module/library/chevron-left-small.js 31562 31563 31564 var chevron_left_small_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m13.1 16-3.4-4 3.4-4 1.1 1-2.6 3 2.6 3-1.1 1z" }) }); 31565 31566 31567 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/link-ui/dialog-wrapper.js 31568 31569 31570 31571 31572 31573 function BackButton({ className, onBack }) { 31574 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31575 external_wp_components_namespaceObject.Button, 31576 { 31577 className, 31578 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? chevron_right_small_default : chevron_left_small_default, 31579 onClick: (e) => { 31580 e.preventDefault(); 31581 onBack(); 31582 }, 31583 size: "small", 31584 children: (0,external_wp_i18n_namespaceObject.__)("Back") 31585 } 31586 ); 31587 } 31588 function DialogWrapper({ className, title, description, onBack, children }) { 31589 const dialogTitleId = (0,external_wp_compose_namespaceObject.useInstanceId)( 31590 DialogWrapper, 31591 "link-ui-dialog-title" 31592 ); 31593 const dialogDescriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)( 31594 DialogWrapper, 31595 "link-ui-dialog-description" 31596 ); 31597 const focusOnMountRef = (0,external_wp_compose_namespaceObject.useFocusOnMount)("firstElement"); 31598 const backButtonClassName = `$className}__back`; 31599 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 31600 "div", 31601 { 31602 className, 31603 role: "dialog", 31604 "aria-labelledby": dialogTitleId, 31605 "aria-describedby": dialogDescriptionId, 31606 ref: focusOnMountRef, 31607 children: [ 31608 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.VisuallyHidden, { children: [ 31609 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h2", { id: dialogTitleId, children: title }), 31610 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { id: dialogDescriptionId, children: description }) 31611 ] }), 31612 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(BackButton, { className: backButtonClassName, onBack }), 31613 children 31614 ] 31615 } 31616 ); 31617 } 31618 var dialog_wrapper_default = DialogWrapper; 31619 31620 31621 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/link-ui/page-creator.js 31622 31623 31624 31625 31626 31627 31628 31629 31630 function LinkUIPageCreator({ 31631 postType, 31632 onBack, 31633 onPageCreated, 31634 initialTitle = "" 31635 }) { 31636 const [title, setTitle] = (0,external_wp_element_namespaceObject.useState)(initialTitle); 31637 const [shouldPublish, setShouldPublish] = (0,external_wp_element_namespaceObject.useState)(false); 31638 const isTitleValid = title.trim().length > 0; 31639 const { lastError, isSaving } = (0,external_wp_data_namespaceObject.useSelect)( 31640 (select) => ({ 31641 lastError: select(external_wp_coreData_namespaceObject.store).getLastEntitySaveError( 31642 "postType", 31643 postType 31644 ), 31645 isSaving: select(external_wp_coreData_namespaceObject.store).isSavingEntityRecord( 31646 "postType", 31647 postType 31648 ) 31649 }), 31650 [postType] 31651 ); 31652 const { saveEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 31653 async function createPage(event) { 31654 event.preventDefault(); 31655 if (isSaving || !isTitleValid) { 31656 return; 31657 } 31658 try { 31659 const savedRecord = await saveEntityRecord( 31660 "postType", 31661 postType, 31662 { 31663 title, 31664 status: shouldPublish ? "publish" : "draft" 31665 }, 31666 { throwOnError: true } 31667 ); 31668 if (savedRecord) { 31669 const pageLink = { 31670 id: savedRecord.id, 31671 type: postType, 31672 title: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(savedRecord.title.rendered), 31673 url: savedRecord.link, 31674 kind: "post-type" 31675 }; 31676 onPageCreated(pageLink); 31677 } 31678 } catch (error) { 31679 } 31680 } 31681 const isSubmitDisabled = isSaving || !isTitleValid; 31682 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31683 dialog_wrapper_default, 31684 { 31685 className: "link-ui-page-creator", 31686 title: (0,external_wp_i18n_namespaceObject.__)("Create page"), 31687 description: (0,external_wp_i18n_namespaceObject.__)("Create a new page to add to your Navigation."), 31688 onBack, 31689 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalVStack, { className: "link-ui-page-creator__inner", spacing: 4, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("form", { onSubmit: createPage, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 4, children: [ 31690 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31691 external_wp_components_namespaceObject.TextControl, 31692 { 31693 __next40pxDefaultSize: true, 31694 __nextHasNoMarginBottom: true, 31695 label: (0,external_wp_i18n_namespaceObject.__)("Title"), 31696 onChange: setTitle, 31697 placeholder: (0,external_wp_i18n_namespaceObject.__)("No title"), 31698 value: title 31699 } 31700 ), 31701 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31702 external_wp_components_namespaceObject.CheckboxControl, 31703 { 31704 __nextHasNoMarginBottom: true, 31705 label: (0,external_wp_i18n_namespaceObject.__)("Publish immediately"), 31706 help: (0,external_wp_i18n_namespaceObject.__)( 31707 "If unchecked, the page will be created as a draft." 31708 ), 31709 checked: shouldPublish, 31710 onChange: setShouldPublish 31711 } 31712 ), 31713 lastError && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "error", isDismissible: false, children: lastError.message }), 31714 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { spacing: 2, justify: "flex-end", children: [ 31715 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31716 external_wp_components_namespaceObject.Button, 31717 { 31718 __next40pxDefaultSize: true, 31719 variant: "tertiary", 31720 onClick: onBack, 31721 disabled: isSaving, 31722 accessibleWhenDisabled: true, 31723 children: (0,external_wp_i18n_namespaceObject.__)("Cancel") 31724 } 31725 ), 31726 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31727 external_wp_components_namespaceObject.Button, 31728 { 31729 __next40pxDefaultSize: true, 31730 variant: "primary", 31731 type: "submit", 31732 isBusy: isSaving, 31733 "aria-disabled": isSubmitDisabled, 31734 children: (0,external_wp_i18n_namespaceObject.__)("Create page") 31735 } 31736 ) 31737 ] }) 31738 ] }) }) }) 31739 } 31740 ); 31741 } 31742 31743 31744 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/link-ui/block-inserter.js 31745 31746 31747 31748 31749 31750 31751 const { PrivateQuickInserter: QuickInserter } = unlock( 31752 external_wp_blockEditor_namespaceObject.privateApis 31753 ); 31754 function LinkUIBlockInserter({ clientId, onBack, onBlockInsert }) { 31755 const { rootBlockClientId } = (0,external_wp_data_namespaceObject.useSelect)( 31756 (select) => { 31757 const { getBlockRootClientId } = select(external_wp_blockEditor_namespaceObject.store); 31758 return { 31759 rootBlockClientId: getBlockRootClientId(clientId) 31760 }; 31761 }, 31762 [clientId] 31763 ); 31764 if (!clientId) { 31765 return null; 31766 } 31767 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31768 dialog_wrapper_default, 31769 { 31770 className: "link-ui-block-inserter", 31771 title: (0,external_wp_i18n_namespaceObject.__)("Add block"), 31772 description: (0,external_wp_i18n_namespaceObject.__)("Choose a block to add to your Navigation."), 31773 onBack, 31774 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31775 QuickInserter, 31776 { 31777 rootClientId: rootBlockClientId, 31778 clientId, 31779 isAppender: false, 31780 prioritizePatterns: false, 31781 selectBlockOnInsert: !onBlockInsert, 31782 onSelect: onBlockInsert ? onBlockInsert : void 0, 31783 hasSearch: false 31784 } 31785 ) 31786 } 31787 ); 31788 } 31789 var block_inserter_default = LinkUIBlockInserter; 31790 31791 31792 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/link-ui/index.js 31793 31794 31795 31796 31797 31798 31799 31800 31801 31802 31803 31804 function getSuggestionsQuery(type, kind) { 31805 switch (type) { 31806 case "post": 31807 case "page": 31808 return { type: "post", subtype: type }; 31809 case "category": 31810 return { type: "term", subtype: "category" }; 31811 case "tag": 31812 return { type: "term", subtype: "post_tag" }; 31813 case "post_format": 31814 return { type: "post-format" }; 31815 default: 31816 if (kind === "taxonomy") { 31817 return { type: "term", subtype: type }; 31818 } 31819 if (kind === "post-type") { 31820 return { type: "post", subtype: type }; 31821 } 31822 return { 31823 // for custom link which has no type 31824 // always show pages as initial suggestions 31825 initialSuggestionsSearchOptions: { 31826 type: "post", 31827 subtype: "page", 31828 perPage: 20 31829 } 31830 }; 31831 } 31832 } 31833 function UnforwardedLinkUI(props, ref) { 31834 const { label, url, opensInNewTab, type, kind, id, metadata } = props.link; 31835 const postType = type || "page"; 31836 const [addingBlock, setAddingBlock] = (0,external_wp_element_namespaceObject.useState)(false); 31837 const [addingPage, setAddingPage] = (0,external_wp_element_namespaceObject.useState)(false); 31838 const [focusAddBlockButton, setFocusAddBlockButton] = (0,external_wp_element_namespaceObject.useState)(false); 31839 const [focusAddPageButton, setFocusAddPageButton] = (0,external_wp_element_namespaceObject.useState)(false); 31840 const permissions = (0,external_wp_coreData_namespaceObject.useResourcePermissions)({ 31841 kind: "postType", 31842 name: postType 31843 }); 31844 const hasUrlBinding = (metadata?.bindings?.url?.source === "core/post-data" || metadata?.bindings?.url?.source === "core/term-data") && !!id; 31845 const link = (0,external_wp_element_namespaceObject.useMemo)( 31846 () => ({ 31847 url, 31848 opensInNewTab, 31849 title: label && (0,external_wp_dom_namespaceObject.__unstableStripHTML)(label), 31850 kind, 31851 type, 31852 id 31853 }), 31854 [label, opensInNewTab, url, kind, type, id] 31855 ); 31856 const handlePageCreated = (pageLink) => { 31857 props.onChange(pageLink); 31858 setAddingPage(false); 31859 }; 31860 const dialogTitleId = (0,external_wp_compose_namespaceObject.useInstanceId)( 31861 LinkUI, 31862 "link-ui-link-control__title" 31863 ); 31864 const dialogDescriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)( 31865 LinkUI, 31866 "link-ui-link-control__description" 31867 ); 31868 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 31869 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 31870 external_wp_components_namespaceObject.Popover, 31871 { 31872 ref, 31873 placement: "bottom", 31874 onClose: props.onClose, 31875 anchor: props.anchor, 31876 shift: true, 31877 children: [ 31878 !addingBlock && !addingPage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 31879 "div", 31880 { 31881 role: "dialog", 31882 "aria-labelledby": dialogTitleId, 31883 "aria-describedby": dialogDescriptionId, 31884 children: [ 31885 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.VisuallyHidden, { children: [ 31886 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h2", { id: dialogTitleId, children: (0,external_wp_i18n_namespaceObject.__)("Add link") }), 31887 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { id: dialogDescriptionId, children: (0,external_wp_i18n_namespaceObject.__)( 31888 "Search for and add a link to your Navigation." 31889 ) }) 31890 ] }), 31891 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31892 external_wp_blockEditor_namespaceObject.LinkControl, 31893 { 31894 hasTextControl: true, 31895 hasRichPreviews: true, 31896 value: link, 31897 showInitialSuggestions: true, 31898 withCreateSuggestion: false, 31899 noDirectEntry: !!type, 31900 noURLSuggestion: !!type, 31901 suggestionsQuery: getSuggestionsQuery(type, kind), 31902 onChange: props.onChange, 31903 onRemove: props.onRemove, 31904 onCancel: props.onCancel, 31905 handleEntities: hasUrlBinding, 31906 renderControlBottom: () => { 31907 if (link?.url?.length) { 31908 return null; 31909 } 31910 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31911 LinkUITools, 31912 { 31913 focusAddBlockButton, 31914 focusAddPageButton, 31915 setAddingBlock: () => { 31916 setAddingBlock(true); 31917 setFocusAddBlockButton(false); 31918 }, 31919 setAddingPage: () => { 31920 setAddingPage(true); 31921 setFocusAddPageButton(false); 31922 }, 31923 canAddPage: permissions?.canCreate && type === "page", 31924 canAddBlock: blockEditingMode === "default" 31925 } 31926 ); 31927 } 31928 } 31929 ) 31930 ] 31931 } 31932 ), 31933 addingBlock && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31934 block_inserter_default, 31935 { 31936 clientId: props.clientId, 31937 onBack: () => { 31938 setAddingBlock(false); 31939 setFocusAddBlockButton(true); 31940 setFocusAddPageButton(false); 31941 }, 31942 onBlockInsert: props?.onBlockInsert 31943 } 31944 ), 31945 addingPage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31946 LinkUIPageCreator, 31947 { 31948 postType, 31949 onBack: () => { 31950 setAddingPage(false); 31951 setFocusAddPageButton(true); 31952 setFocusAddBlockButton(false); 31953 }, 31954 onPageCreated: handlePageCreated, 31955 initialTitle: link?.url || "" 31956 } 31957 ) 31958 ] 31959 } 31960 ); 31961 } 31962 const LinkUI = (0,external_wp_element_namespaceObject.forwardRef)(UnforwardedLinkUI); 31963 const LinkUITools = ({ 31964 setAddingBlock, 31965 setAddingPage, 31966 focusAddBlockButton, 31967 focusAddPageButton, 31968 canAddPage, 31969 canAddBlock 31970 }) => { 31971 const blockInserterAriaRole = "listbox"; 31972 const addBlockButtonRef = (0,external_wp_element_namespaceObject.useRef)(); 31973 const addPageButtonRef = (0,external_wp_element_namespaceObject.useRef)(); 31974 (0,external_wp_element_namespaceObject.useEffect)(() => { 31975 if (focusAddBlockButton) { 31976 addBlockButtonRef.current?.focus(); 31977 } 31978 }, [focusAddBlockButton]); 31979 (0,external_wp_element_namespaceObject.useEffect)(() => { 31980 if (focusAddPageButton) { 31981 addPageButtonRef.current?.focus(); 31982 } 31983 }, [focusAddPageButton]); 31984 if (!canAddPage && !canAddBlock) { 31985 return null; 31986 } 31987 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 0, className: "link-ui-tools", children: [ 31988 canAddPage && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 31989 external_wp_components_namespaceObject.Button, 31990 { 31991 __next40pxDefaultSize: true, 31992 ref: addPageButtonRef, 31993 icon: plus_default, 31994 onClick: (e) => { 31995 e.preventDefault(); 31996 setAddingPage(true); 31997 }, 31998 "aria-haspopup": blockInserterAriaRole, 31999 children: (0,external_wp_i18n_namespaceObject.__)("Create page") 32000 } 32001 ), 32002 canAddBlock && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32003 external_wp_components_namespaceObject.Button, 32004 { 32005 __next40pxDefaultSize: true, 32006 ref: addBlockButtonRef, 32007 icon: plus_default, 32008 onClick: (e) => { 32009 e.preventDefault(); 32010 setAddingBlock(true); 32011 }, 32012 "aria-haspopup": blockInserterAriaRole, 32013 children: (0,external_wp_i18n_namespaceObject.__)("Add block") 32014 } 32015 ) 32016 ] }); 32017 }; 32018 var link_ui_default = (/* unused pure expression or super */ null && (LinkUITools)); 32019 32020 32021 ;// external ["wp","escapeHtml"] 32022 const external_wp_escapeHtml_namespaceObject = window["wp"]["escapeHtml"]; 32023 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/shared/update-attributes.js 32024 32025 32026 const shouldSeverEntityLink = (originalUrl, newUrl) => { 32027 if (!originalUrl || !newUrl) { 32028 return false; 32029 } 32030 const normalizePath = (path) => { 32031 if (!path) { 32032 return ""; 32033 } 32034 return path.replace(/\/+$/, ""); 32035 }; 32036 const createUrlObject = (url, baseUrl = null) => { 32037 try { 32038 const base = baseUrl || (typeof window !== "undefined" ? window.location.origin : "https://wordpress.org"); 32039 return new URL(url, base); 32040 } catch (error) { 32041 return null; 32042 } 32043 }; 32044 const originalUrlObj = createUrlObject(originalUrl); 32045 if (!originalUrlObj) { 32046 return true; 32047 } 32048 const newUrlObj = createUrlObject(newUrl, originalUrl); 32049 if (!newUrlObj) { 32050 return true; 32051 } 32052 const originalHostname = originalUrlObj.hostname; 32053 const newHostname = newUrlObj.hostname; 32054 const originalPath = normalizePath((0,external_wp_url_namespaceObject.getPath)(originalUrlObj.toString())); 32055 const newPath = normalizePath((0,external_wp_url_namespaceObject.getPath)(newUrlObj.toString())); 32056 if (originalHostname !== newHostname || originalPath !== newPath) { 32057 return true; 32058 } 32059 const originalP = originalUrlObj.searchParams.get("p"); 32060 const newP = newUrlObj.searchParams.get("p"); 32061 if (originalP && newP && originalP !== newP) { 32062 return true; 32063 } 32064 const originalPageId = originalUrlObj.searchParams.get("page_id"); 32065 const newPageId = newUrlObj.searchParams.get("page_id"); 32066 if (originalPageId && newPageId && originalPageId !== newPageId) { 32067 return true; 32068 } 32069 if (originalP && newPageId || originalPageId && newP) { 32070 return true; 32071 } 32072 return false; 32073 }; 32074 const updateAttributes = (updatedValue = {}, setAttributes, blockAttributes = {}) => { 32075 const { 32076 label: originalLabel = "", 32077 kind: originalKind = "", 32078 type: originalType = "" 32079 } = blockAttributes; 32080 const { 32081 title: newLabel = "", 32082 // the title of any provided Post. 32083 label: newLabelFromLabel = "", 32084 // alternative to title 32085 url: newUrl, 32086 opensInNewTab, 32087 id: newID, 32088 kind: newKind = originalKind, 32089 type: newType = originalType 32090 } = updatedValue; 32091 const finalNewLabel = newLabel || newLabelFromLabel; 32092 const newLabelWithoutHttp = finalNewLabel.replace(/http(s?):\/\//gi, ""); 32093 const newUrlWithoutHttp = newUrl?.replace(/http(s?):\/\//gi, "") ?? ""; 32094 const useNewLabel = finalNewLabel && finalNewLabel !== originalLabel && // LinkControl without the title field relies 32095 // on the check below. Specifically, it assumes that 32096 // the URL is the same as a title. 32097 // This logic a) looks suspicious and b) should really 32098 // live in the LinkControl and not here. It's a great 32099 // candidate for future refactoring. 32100 newLabelWithoutHttp !== newUrlWithoutHttp; 32101 const label = useNewLabel ? (0,external_wp_escapeHtml_namespaceObject.escapeHTML)(finalNewLabel) : originalLabel || (0,external_wp_escapeHtml_namespaceObject.escapeHTML)(newUrlWithoutHttp); 32102 const type = newType === "post_tag" ? "tag" : newType.replace("-", "_"); 32103 const isBuiltInType = ["post", "page", "tag", "category"].indexOf(type) > -1; 32104 const isCustomLink = !newKind && !isBuiltInType || newKind === "custom"; 32105 const kind = isCustomLink ? "custom" : newKind; 32106 const attributes = { 32107 // Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string. 32108 ...newUrl !== void 0 ? { url: newUrl ? encodeURI((0,external_wp_url_namespaceObject.safeDecodeURI)(newUrl)) : newUrl } : {}, 32109 ...label && { label }, 32110 ...void 0 !== opensInNewTab && { opensInNewTab }, 32111 ...kind && { kind }, 32112 ...type && type !== "URL" && { type } 32113 }; 32114 if (newUrl && !newID && blockAttributes.id) { 32115 const shouldSever = shouldSeverEntityLink( 32116 blockAttributes.url, 32117 newUrl 32118 ); 32119 if (shouldSever) { 32120 attributes.id = void 0; 32121 attributes.kind = "custom"; 32122 attributes.type = "custom"; 32123 } 32124 } else if (newID && Number.isInteger(newID)) { 32125 attributes.id = newID; 32126 } else if (blockAttributes.id) { 32127 attributes.kind = kind; 32128 attributes.type = type; 32129 } 32130 setAttributes(attributes); 32131 const finalId = "id" in attributes ? attributes.id : blockAttributes.id; 32132 const finalKind = "kind" in attributes ? attributes.kind : blockAttributes.kind; 32133 return { 32134 isEntityLink: !!finalId && finalKind !== "custom", 32135 attributes 32136 // Return the computed attributes object 32137 }; 32138 }; 32139 32140 32141 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/menu-inspector-controls.js 32142 32143 32144 32145 32146 32147 32148 32149 32150 32151 32152 32153 const actionLabel = ( 32154 /* translators: %s: The name of a menu. */ 32155 (0,external_wp_i18n_namespaceObject.__)("Switch to '%s'") 32156 ); 32157 const BLOCKS_WITH_LINK_UI_SUPPORT = [ 32158 "core/navigation-link", 32159 "core/navigation-submenu" 32160 ]; 32161 const { PrivateListView } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 32162 function AdditionalBlockContent({ block, insertedBlock, setInsertedBlock }) { 32163 const { updateBlockAttributes, removeBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 32164 const supportsLinkControls = BLOCKS_WITH_LINK_UI_SUPPORT?.includes( 32165 insertedBlock?.name 32166 ); 32167 const blockWasJustInserted = insertedBlock?.clientId === block.clientId; 32168 const showLinkControls = supportsLinkControls && blockWasJustInserted; 32169 const { createBinding, clearBinding } = useEntityBinding({ 32170 clientId: insertedBlock?.clientId, 32171 attributes: insertedBlock?.attributes || {} 32172 }); 32173 if (!showLinkControls) { 32174 return null; 32175 } 32176 const cleanupInsertedBlock = () => { 32177 const shouldAutoSelectBlock = false; 32178 if (!insertedBlock?.attributes?.url && insertedBlock?.clientId) { 32179 removeBlock(insertedBlock.clientId, shouldAutoSelectBlock); 32180 } 32181 setInsertedBlock(null); 32182 }; 32183 const setInsertedBlockAttributes = (_insertedBlockClientId) => (_updatedAttributes) => { 32184 if (!_insertedBlockClientId) { 32185 return; 32186 } 32187 updateBlockAttributes(_insertedBlockClientId, _updatedAttributes); 32188 }; 32189 const handleSetInsertedBlock = (newBlock) => { 32190 const shouldAutoSelectBlock = false; 32191 if (insertedBlock?.clientId && newBlock) { 32192 removeBlock(insertedBlock.clientId, shouldAutoSelectBlock); 32193 } 32194 setInsertedBlock(newBlock); 32195 }; 32196 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32197 LinkUI, 32198 { 32199 clientId: insertedBlock?.clientId, 32200 link: insertedBlock?.attributes, 32201 onBlockInsert: handleSetInsertedBlock, 32202 onClose: () => { 32203 cleanupInsertedBlock(); 32204 }, 32205 onChange: (updatedValue) => { 32206 const { isEntityLink, attributes: updatedAttributes } = updateAttributes( 32207 updatedValue, 32208 setInsertedBlockAttributes(insertedBlock?.clientId), 32209 insertedBlock?.attributes 32210 ); 32211 if (isEntityLink) { 32212 createBinding(updatedAttributes); 32213 } else { 32214 clearBinding(updatedAttributes); 32215 } 32216 setInsertedBlock(null); 32217 } 32218 } 32219 ); 32220 } 32221 const MainContent = ({ 32222 clientId, 32223 currentMenuId, 32224 isLoading, 32225 isNavigationMenuMissing, 32226 onCreateNew 32227 }) => { 32228 const hasChildren = (0,external_wp_data_namespaceObject.useSelect)( 32229 (select) => { 32230 return !!select(external_wp_blockEditor_namespaceObject.store).getBlockCount(clientId); 32231 }, 32232 [clientId] 32233 ); 32234 const { navigationMenu } = useNavigationMenu(currentMenuId); 32235 if (currentMenuId && isNavigationMenuMissing) { 32236 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(deleted_navigation_warning_default, { onCreateNew, isNotice: true }); 32237 } 32238 if (isLoading) { 32239 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}); 32240 } 32241 const description = navigationMenu ? (0,external_wp_i18n_namespaceObject.sprintf)( 32242 /* translators: %s: The name of a menu. */ 32243 (0,external_wp_i18n_namespaceObject.__)("Structure for Navigation Menu: %s"), 32244 navigationMenu?.title || (0,external_wp_i18n_namespaceObject.__)("Untitled menu") 32245 ) : (0,external_wp_i18n_namespaceObject.__)( 32246 "You have not yet created any menus. Displaying a list of your Pages" 32247 ); 32248 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-navigation__menu-inspector-controls", children: [ 32249 !hasChildren && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "wp-block-navigation__menu-inspector-controls__empty-message", children: (0,external_wp_i18n_namespaceObject.__)("This Navigation Menu is empty.") }), 32250 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32251 PrivateListView, 32252 { 32253 rootClientId: clientId, 32254 isExpanded: true, 32255 description, 32256 showAppender: true, 32257 blockSettingsMenu: LeafMoreMenu, 32258 additionalBlockContent: AdditionalBlockContent 32259 } 32260 ) 32261 ] }); 32262 }; 32263 const MenuInspectorControls = (props) => { 32264 const { 32265 createNavigationMenuIsSuccess, 32266 createNavigationMenuIsError, 32267 currentMenuId = null, 32268 onCreateNew, 32269 onSelectClassicMenu, 32270 onSelectNavigationMenu, 32271 isManageMenusButtonDisabled, 32272 blockEditingMode 32273 } = props; 32274 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "list", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { title: null, children: [ 32275 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { className: "wp-block-navigation-off-canvas-editor__header", children: [ 32276 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32277 external_wp_components_namespaceObject.__experimentalHeading, 32278 { 32279 className: "wp-block-navigation-off-canvas-editor__title", 32280 level: 2, 32281 children: (0,external_wp_i18n_namespaceObject.__)("Menu") 32282 } 32283 ), 32284 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32285 navigation_menu_selector_default, 32286 { 32287 currentMenuId, 32288 onSelectClassicMenu, 32289 onSelectNavigationMenu, 32290 onCreateNew, 32291 createNavigationMenuIsSuccess, 32292 createNavigationMenuIsError, 32293 actionLabel, 32294 isManageMenusButtonDisabled 32295 } 32296 ) 32297 ] }), 32298 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(MainContent, { ...props }) 32299 ] }) }); 32300 }; 32301 var menu_inspector_controls_default = MenuInspectorControls; 32302 32303 32304 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/accessible-description.js 32305 32306 32307 function AccessibleDescription({ id, children }) { 32308 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { id, className: "wp-block-navigation__description", children }) }); 32309 } 32310 32311 32312 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/accessible-menu-description.js 32313 32314 32315 32316 32317 function AccessibleMenuDescription({ id }) { 32318 const [menuTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)("postType", "wp_navigation", "title"); 32319 const description = (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)(`Navigation Menu: "%s"`), menuTitle); 32320 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(AccessibleDescription, { id, children: description }); 32321 } 32322 32323 32324 ;// ./node_modules/@wordpress/block-library/build-module/navigation/edit/index.js 32325 32326 32327 32328 32329 32330 32331 32332 32333 32334 32335 32336 32337 32338 32339 32340 32341 32342 32343 32344 32345 32346 32347 32348 32349 32350 32351 32352 32353 32354 32355 32356 32357 32358 32359 32360 function NavigationAddPageButton({ clientId }) { 32361 const { insertBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 32362 const { getBlockCount } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 32363 const onAddPage = (0,external_wp_element_namespaceObject.useCallback)(() => { 32364 const blockCount = getBlockCount(clientId); 32365 const newBlock = (0,external_wp_blocks_namespaceObject.createBlock)(constants_DEFAULT_BLOCK.name, { 32366 kind: constants_DEFAULT_BLOCK.attributes.kind, 32367 type: constants_DEFAULT_BLOCK.attributes.type 32368 }); 32369 insertBlock(newBlock, blockCount, clientId); 32370 }, [clientId, insertBlock, getBlockCount]); 32371 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32372 external_wp_components_namespaceObject.ToolbarButton, 32373 { 32374 name: "add-page", 32375 icon: page_default, 32376 onClick: onAddPage, 32377 children: (0,external_wp_i18n_namespaceObject.__)("Add page") 32378 } 32379 ) }) }); 32380 } 32381 function ColorTools({ 32382 textColor, 32383 setTextColor, 32384 backgroundColor, 32385 setBackgroundColor, 32386 overlayTextColor, 32387 setOverlayTextColor, 32388 overlayBackgroundColor, 32389 setOverlayBackgroundColor, 32390 clientId, 32391 navRef 32392 }) { 32393 const [detectedBackgroundColor, setDetectedBackgroundColor] = (0,external_wp_element_namespaceObject.useState)(); 32394 const [detectedColor, setDetectedColor] = (0,external_wp_element_namespaceObject.useState)(); 32395 const [ 32396 detectedOverlayBackgroundColor, 32397 setDetectedOverlayBackgroundColor 32398 ] = (0,external_wp_element_namespaceObject.useState)(); 32399 const [detectedOverlayColor, setDetectedOverlayColor] = (0,external_wp_element_namespaceObject.useState)(); 32400 const enableContrastChecking = external_wp_element_namespaceObject.Platform.OS === "web"; 32401 (0,external_wp_element_namespaceObject.useEffect)(() => { 32402 if (!enableContrastChecking) { 32403 return; 32404 } 32405 detectColors( 32406 navRef.current, 32407 setDetectedColor, 32408 setDetectedBackgroundColor 32409 ); 32410 const subMenuElement = navRef.current?.querySelector( 32411 '[data-type="core/navigation-submenu"] [data-type="core/navigation-link"]' 32412 ); 32413 if (!subMenuElement) { 32414 return; 32415 } 32416 if (overlayTextColor.color || overlayBackgroundColor.color) { 32417 detectColors( 32418 subMenuElement, 32419 setDetectedOverlayColor, 32420 setDetectedOverlayBackgroundColor 32421 ); 32422 } 32423 }, [ 32424 enableContrastChecking, 32425 overlayTextColor.color, 32426 overlayBackgroundColor.color, 32427 navRef 32428 ]); 32429 const colorGradientSettings = (0,external_wp_blockEditor_namespaceObject.__experimentalUseMultipleOriginColorsAndGradients)(); 32430 if (!colorGradientSettings.hasColorsOrGradients) { 32431 return null; 32432 } 32433 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32434 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32435 external_wp_blockEditor_namespaceObject.__experimentalColorGradientSettingsDropdown, 32436 { 32437 __experimentalIsRenderedInSidebar: true, 32438 settings: [ 32439 { 32440 colorValue: textColor.color, 32441 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 32442 onColorChange: setTextColor, 32443 resetAllFilter: () => setTextColor(), 32444 clearable: true, 32445 enableAlpha: true 32446 }, 32447 { 32448 colorValue: backgroundColor.color, 32449 label: (0,external_wp_i18n_namespaceObject.__)("Background"), 32450 onColorChange: setBackgroundColor, 32451 resetAllFilter: () => setBackgroundColor(), 32452 clearable: true, 32453 enableAlpha: true 32454 }, 32455 { 32456 colorValue: overlayTextColor.color, 32457 label: (0,external_wp_i18n_namespaceObject.__)("Submenu & overlay text"), 32458 onColorChange: setOverlayTextColor, 32459 resetAllFilter: () => setOverlayTextColor(), 32460 clearable: true, 32461 enableAlpha: true 32462 }, 32463 { 32464 colorValue: overlayBackgroundColor.color, 32465 label: (0,external_wp_i18n_namespaceObject.__)("Submenu & overlay background"), 32466 onColorChange: setOverlayBackgroundColor, 32467 resetAllFilter: () => setOverlayBackgroundColor(), 32468 clearable: true, 32469 enableAlpha: true 32470 } 32471 ], 32472 panelId: clientId, 32473 ...colorGradientSettings, 32474 gradients: [], 32475 disableCustomGradients: true 32476 } 32477 ), 32478 enableContrastChecking && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32479 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32480 external_wp_blockEditor_namespaceObject.ContrastChecker, 32481 { 32482 backgroundColor: detectedBackgroundColor, 32483 textColor: detectedColor 32484 } 32485 ), 32486 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32487 external_wp_blockEditor_namespaceObject.ContrastChecker, 32488 { 32489 backgroundColor: detectedOverlayBackgroundColor, 32490 textColor: detectedOverlayColor 32491 } 32492 ) 32493 ] }) 32494 ] }); 32495 } 32496 function Navigation({ 32497 attributes, 32498 setAttributes, 32499 clientId, 32500 isSelected, 32501 className, 32502 backgroundColor, 32503 setBackgroundColor, 32504 textColor, 32505 setTextColor, 32506 overlayBackgroundColor, 32507 setOverlayBackgroundColor, 32508 overlayTextColor, 32509 setOverlayTextColor, 32510 // These props are used by the navigation editor to override specific 32511 // navigation block settings. 32512 hasSubmenuIndicatorSetting = true, 32513 customPlaceholder: CustomPlaceholder = null, 32514 __unstableLayoutClassNames: layoutClassNames 32515 }) { 32516 const { 32517 openSubmenusOnClick, 32518 overlayMenu, 32519 showSubmenuIcon, 32520 templateLock, 32521 layout: { 32522 justifyContent, 32523 orientation = "horizontal", 32524 flexWrap = "wrap" 32525 } = {}, 32526 hasIcon, 32527 icon = "handle" 32528 } = attributes; 32529 const ref = attributes.ref; 32530 const setRef = (0,external_wp_element_namespaceObject.useCallback)( 32531 (postId) => { 32532 setAttributes({ ref: postId }); 32533 }, 32534 [setAttributes] 32535 ); 32536 const recursionId = `navigationMenu/$ref}`; 32537 const hasAlreadyRendered = (0,external_wp_blockEditor_namespaceObject.useHasRecursion)(recursionId); 32538 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 32539 const { menus: classicMenus } = useNavigationEntities(); 32540 const [showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice] = use_navigation_notice_default({ 32541 name: "block-library/core/navigation/status" 32542 }); 32543 const [showClassicMenuConversionNotice, hideClassicMenuConversionNotice] = use_navigation_notice_default({ 32544 name: "block-library/core/navigation/classic-menu-conversion" 32545 }); 32546 const [ 32547 showNavigationMenuPermissionsNotice, 32548 hideNavigationMenuPermissionsNotice 32549 ] = use_navigation_notice_default({ 32550 name: "block-library/core/navigation/permissions/update" 32551 }); 32552 const { 32553 create: createNavigationMenu, 32554 status: createNavigationMenuStatus, 32555 error: createNavigationMenuError, 32556 value: createNavigationMenuPost, 32557 isPending: isCreatingNavigationMenu, 32558 isSuccess: createNavigationMenuIsSuccess, 32559 isError: createNavigationMenuIsError 32560 } = useCreateNavigationMenu(clientId); 32561 const createUntitledEmptyNavigationMenu = async () => { 32562 await createNavigationMenu(""); 32563 }; 32564 const { 32565 hasUncontrolledInnerBlocks, 32566 uncontrolledInnerBlocks, 32567 isInnerBlockSelected, 32568 innerBlocks 32569 } = useInnerBlocks(clientId); 32570 const hasSubmenus = !!innerBlocks.find( 32571 (block) => block.name === "core/navigation-submenu" 32572 ); 32573 const { 32574 replaceInnerBlocks, 32575 selectBlock, 32576 __unstableMarkNextChangeAsNotPersistent 32577 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 32578 const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = (0,external_wp_element_namespaceObject.useState)(false); 32579 const [overlayMenuPreview, setOverlayMenuPreview] = (0,external_wp_element_namespaceObject.useState)(false); 32580 const { 32581 hasResolvedNavigationMenus, 32582 isNavigationMenuResolved, 32583 isNavigationMenuMissing, 32584 canUserUpdateNavigationMenu, 32585 hasResolvedCanUserUpdateNavigationMenu, 32586 canUserDeleteNavigationMenu, 32587 hasResolvedCanUserDeleteNavigationMenu, 32588 canUserCreateNavigationMenus, 32589 isResolvingCanUserCreateNavigationMenus, 32590 hasResolvedCanUserCreateNavigationMenus 32591 } = useNavigationMenu(ref); 32592 const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing; 32593 const { 32594 convert: convertClassicMenu, 32595 status: classicMenuConversionStatus, 32596 error: classicMenuConversionError 32597 } = use_convert_classic_menu_to_block_menu_default(createNavigationMenu); 32598 const isConvertingClassicMenu = classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING; 32599 const handleUpdateMenu = (0,external_wp_element_namespaceObject.useCallback)( 32600 (menuId, options = { focusNavigationBlock: false }) => { 32601 const { focusNavigationBlock } = options; 32602 setRef(menuId); 32603 if (focusNavigationBlock) { 32604 selectBlock(clientId); 32605 } 32606 }, 32607 [selectBlock, clientId, setRef] 32608 ); 32609 const isEntityAvailable = !isNavigationMenuMissing && isNavigationMenuResolved; 32610 const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable; 32611 const { getNavigationFallbackId } = unlock((0,external_wp_data_namespaceObject.useSelect)(external_wp_coreData_namespaceObject.store)); 32612 const navigationFallbackId = !(ref || hasUnsavedBlocks) ? getNavigationFallbackId() : null; 32613 (0,external_wp_element_namespaceObject.useEffect)(() => { 32614 if (ref || hasUnsavedBlocks || !navigationFallbackId) { 32615 return; 32616 } 32617 __unstableMarkNextChangeAsNotPersistent(); 32618 setRef(navigationFallbackId); 32619 }, [ 32620 ref, 32621 setRef, 32622 hasUnsavedBlocks, 32623 navigationFallbackId, 32624 __unstableMarkNextChangeAsNotPersistent 32625 ]); 32626 const navRef = (0,external_wp_element_namespaceObject.useRef)(); 32627 const TagName = "nav"; 32628 const isPlaceholder = !ref && !isCreatingNavigationMenu && !isConvertingClassicMenu && hasResolvedNavigationMenus && classicMenus?.length === 0 && !hasUncontrolledInnerBlocks; 32629 const isLoading = !hasResolvedNavigationMenus || isCreatingNavigationMenu || isConvertingClassicMenu || !!(ref && !isEntityAvailable && !isConvertingClassicMenu); 32630 const textDecoration = attributes.style?.typography?.textDecoration; 32631 const hasBlockOverlay = (0,external_wp_data_namespaceObject.useSelect)( 32632 (select) => select(external_wp_blockEditor_namespaceObject.store).__unstableHasActiveBlockOverlayActive( 32633 clientId 32634 ), 32635 [clientId] 32636 ); 32637 const isResponsive = "never" !== overlayMenu; 32638 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 32639 ref: navRef, 32640 className: dist_clsx( 32641 className, 32642 { 32643 "items-justified-right": justifyContent === "right", 32644 "items-justified-space-between": justifyContent === "space-between", 32645 "items-justified-left": justifyContent === "left", 32646 "items-justified-center": justifyContent === "center", 32647 "is-vertical": orientation === "vertical", 32648 "no-wrap": flexWrap === "nowrap", 32649 "is-responsive": isResponsive, 32650 "has-text-color": !!textColor.color || !!textColor?.class, 32651 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor?.slug)]: !!textColor?.slug, 32652 "has-background": !!backgroundColor.color || backgroundColor.class, 32653 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)( 32654 "background-color", 32655 backgroundColor?.slug 32656 )]: !!backgroundColor?.slug, 32657 [`has-text-decoration-$textDecoration}`]: textDecoration, 32658 "block-editor-block-content-overlay": hasBlockOverlay 32659 }, 32660 layoutClassNames 32661 ), 32662 style: { 32663 color: !textColor?.slug && textColor?.color, 32664 backgroundColor: !backgroundColor?.slug && backgroundColor?.color 32665 } 32666 }); 32667 const onSelectClassicMenu = async (classicMenu) => { 32668 return convertClassicMenu(classicMenu.id, classicMenu.name, "draft"); 32669 }; 32670 const onSelectNavigationMenu = (menuId) => { 32671 handleUpdateMenu(menuId); 32672 }; 32673 (0,external_wp_element_namespaceObject.useEffect)(() => { 32674 hideNavigationMenuStatusNotice(); 32675 if (isCreatingNavigationMenu) { 32676 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)(`Creating Navigation Menu.`)); 32677 } 32678 if (createNavigationMenuIsSuccess) { 32679 handleUpdateMenu(createNavigationMenuPost?.id, { 32680 focusNavigationBlock: true 32681 }); 32682 showNavigationMenuStatusNotice( 32683 (0,external_wp_i18n_namespaceObject.__)(`Navigation Menu successfully created.`) 32684 ); 32685 } 32686 if (createNavigationMenuIsError) { 32687 showNavigationMenuStatusNotice( 32688 (0,external_wp_i18n_namespaceObject.__)("Failed to create Navigation Menu.") 32689 ); 32690 } 32691 }, [ 32692 createNavigationMenuStatus, 32693 createNavigationMenuError, 32694 createNavigationMenuPost?.id, 32695 createNavigationMenuIsError, 32696 createNavigationMenuIsSuccess, 32697 isCreatingNavigationMenu, 32698 handleUpdateMenu, 32699 hideNavigationMenuStatusNotice, 32700 showNavigationMenuStatusNotice 32701 ]); 32702 (0,external_wp_element_namespaceObject.useEffect)(() => { 32703 hideClassicMenuConversionNotice(); 32704 if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING) { 32705 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Classic menu importing.")); 32706 } 32707 if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS) { 32708 showClassicMenuConversionNotice( 32709 (0,external_wp_i18n_namespaceObject.__)("Classic menu imported successfully.") 32710 ); 32711 handleUpdateMenu(createNavigationMenuPost?.id, { 32712 focusNavigationBlock: true 32713 }); 32714 } 32715 if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR) { 32716 showClassicMenuConversionNotice( 32717 (0,external_wp_i18n_namespaceObject.__)("Classic menu import failed.") 32718 ); 32719 } 32720 }, [ 32721 classicMenuConversionStatus, 32722 classicMenuConversionError, 32723 hideClassicMenuConversionNotice, 32724 showClassicMenuConversionNotice, 32725 createNavigationMenuPost?.id, 32726 handleUpdateMenu 32727 ]); 32728 (0,external_wp_element_namespaceObject.useEffect)(() => { 32729 if (!isSelected && !isInnerBlockSelected) { 32730 hideNavigationMenuPermissionsNotice(); 32731 } 32732 if (isSelected || isInnerBlockSelected) { 32733 if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) { 32734 showNavigationMenuPermissionsNotice( 32735 (0,external_wp_i18n_namespaceObject.__)( 32736 "You do not have permission to edit this Menu. Any changes made will not be saved." 32737 ) 32738 ); 32739 } 32740 if (!ref && hasResolvedCanUserCreateNavigationMenus && !canUserCreateNavigationMenus) { 32741 showNavigationMenuPermissionsNotice( 32742 (0,external_wp_i18n_namespaceObject.__)( 32743 "You do not have permission to create Navigation Menus." 32744 ) 32745 ); 32746 } 32747 } 32748 }, [ 32749 isSelected, 32750 isInnerBlockSelected, 32751 canUserUpdateNavigationMenu, 32752 hasResolvedCanUserUpdateNavigationMenu, 32753 canUserCreateNavigationMenus, 32754 hasResolvedCanUserCreateNavigationMenus, 32755 ref, 32756 hideNavigationMenuPermissionsNotice, 32757 showNavigationMenuPermissionsNotice, 32758 navMenuResolvedButMissing 32759 ]); 32760 const hasManagePermissions = canUserCreateNavigationMenus || canUserUpdateNavigationMenu; 32761 const overlayMenuPreviewClasses = dist_clsx( 32762 "wp-block-navigation__overlay-menu-preview", 32763 { open: overlayMenuPreview } 32764 ); 32765 const submenuAccessibilityNotice = !showSubmenuIcon && !openSubmenusOnClick ? (0,external_wp_i18n_namespaceObject.__)( 32766 'The current menu options offer reduced accessibility for users and are not recommended. Enabling either "Open on Click" or "Show arrow" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.' 32767 ) : ""; 32768 const isFirstRender = (0,external_wp_element_namespaceObject.useRef)(true); 32769 (0,external_wp_element_namespaceObject.useEffect)(() => { 32770 if (!isFirstRender.current && submenuAccessibilityNotice) { 32771 (0,external_wp_a11y_namespaceObject.speak)(submenuAccessibilityNotice); 32772 } 32773 isFirstRender.current = false; 32774 }, [submenuAccessibilityNotice]); 32775 const overlayMenuPreviewId = (0,external_wp_compose_namespaceObject.useInstanceId)( 32776 OverlayMenuPreview, 32777 `overlay-menu-preview` 32778 ); 32779 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 32780 const stylingInspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32781 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: hasSubmenuIndicatorSetting && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 32782 external_wp_components_namespaceObject.__experimentalToolsPanel, 32783 { 32784 label: (0,external_wp_i18n_namespaceObject.__)("Display"), 32785 resetAll: () => { 32786 setAttributes({ 32787 showSubmenuIcon: true, 32788 openSubmenusOnClick: false, 32789 overlayMenu: "mobile", 32790 hasIcon: true, 32791 icon: "handle" 32792 }); 32793 }, 32794 dropdownMenuProps, 32795 children: [ 32796 isResponsive && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32797 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 32798 external_wp_components_namespaceObject.Button, 32799 { 32800 __next40pxDefaultSize: true, 32801 className: overlayMenuPreviewClasses, 32802 onClick: () => { 32803 setOverlayMenuPreview( 32804 !overlayMenuPreview 32805 ); 32806 }, 32807 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Overlay menu controls"), 32808 "aria-controls": overlayMenuPreviewId, 32809 "aria-expanded": overlayMenuPreview, 32810 children: [ 32811 hasIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32812 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(OverlayMenuIcon, { icon }), 32813 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: close_default }) 32814 ] }), 32815 !hasIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32816 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: (0,external_wp_i18n_namespaceObject.__)("Menu") }), 32817 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: (0,external_wp_i18n_namespaceObject.__)("Close") }) 32818 ] }) 32819 ] 32820 } 32821 ), 32822 overlayMenuPreview && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32823 external_wp_components_namespaceObject.__experimentalVStack, 32824 { 32825 id: overlayMenuPreviewId, 32826 spacing: 4, 32827 style: { 32828 gridColumn: "span 2" 32829 }, 32830 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32831 OverlayMenuPreview, 32832 { 32833 setAttributes, 32834 hasIcon, 32835 icon, 32836 hidden: !overlayMenuPreview 32837 } 32838 ) 32839 } 32840 ) 32841 ] }), 32842 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32843 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 32844 { 32845 hasValue: () => overlayMenu !== "mobile", 32846 label: (0,external_wp_i18n_namespaceObject.__)("Overlay Menu"), 32847 onDeselect: () => setAttributes({ overlayMenu: "mobile" }), 32848 isShownByDefault: true, 32849 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 32850 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 32851 { 32852 __next40pxDefaultSize: true, 32853 __nextHasNoMarginBottom: true, 32854 label: (0,external_wp_i18n_namespaceObject.__)("Overlay Menu"), 32855 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Configure overlay menu"), 32856 value: overlayMenu, 32857 help: (0,external_wp_i18n_namespaceObject.__)( 32858 "Collapses the navigation options in a menu icon opening an overlay." 32859 ), 32860 onChange: (value) => setAttributes({ overlayMenu: value }), 32861 isBlock: true, 32862 children: [ 32863 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32864 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 32865 { 32866 value: "never", 32867 label: (0,external_wp_i18n_namespaceObject.__)("Off") 32868 } 32869 ), 32870 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32871 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 32872 { 32873 value: "mobile", 32874 label: (0,external_wp_i18n_namespaceObject.__)("Mobile") 32875 } 32876 ), 32877 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32878 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 32879 { 32880 value: "always", 32881 label: (0,external_wp_i18n_namespaceObject.__)("Always") 32882 } 32883 ) 32884 ] 32885 } 32886 ) 32887 } 32888 ), 32889 hasSubmenus && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 32890 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", { className: "wp-block-navigation__submenu-header", children: (0,external_wp_i18n_namespaceObject.__)("Submenus") }), 32891 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32892 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 32893 { 32894 hasValue: () => openSubmenusOnClick, 32895 label: (0,external_wp_i18n_namespaceObject.__)("Open on click"), 32896 onDeselect: () => setAttributes({ 32897 openSubmenusOnClick: false, 32898 showSubmenuIcon: true 32899 }), 32900 isShownByDefault: true, 32901 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32902 external_wp_components_namespaceObject.ToggleControl, 32903 { 32904 __nextHasNoMarginBottom: true, 32905 checked: openSubmenusOnClick, 32906 onChange: (value) => { 32907 setAttributes({ 32908 openSubmenusOnClick: value, 32909 ...value && { 32910 showSubmenuIcon: true 32911 } 32912 // Make sure arrows are shown when we toggle this on. 32913 }); 32914 }, 32915 label: (0,external_wp_i18n_namespaceObject.__)("Open on click") 32916 } 32917 ) 32918 } 32919 ), 32920 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32921 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 32922 { 32923 hasValue: () => !showSubmenuIcon, 32924 label: (0,external_wp_i18n_namespaceObject.__)("Show arrow"), 32925 onDeselect: () => setAttributes({ 32926 showSubmenuIcon: true 32927 }), 32928 isDisabled: attributes.openSubmenusOnClick, 32929 isShownByDefault: true, 32930 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32931 external_wp_components_namespaceObject.ToggleControl, 32932 { 32933 __nextHasNoMarginBottom: true, 32934 checked: showSubmenuIcon, 32935 onChange: (value) => { 32936 setAttributes({ 32937 showSubmenuIcon: value 32938 }); 32939 }, 32940 disabled: attributes.openSubmenusOnClick, 32941 label: (0,external_wp_i18n_namespaceObject.__)("Show arrow") 32942 } 32943 ) 32944 } 32945 ), 32946 submenuAccessibilityNotice && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32947 external_wp_components_namespaceObject.Notice, 32948 { 32949 spokenMessage: null, 32950 status: "warning", 32951 isDismissible: false, 32952 className: "wp-block-navigation__submenu-accessibility-notice", 32953 children: submenuAccessibilityNotice 32954 } 32955 ) 32956 ] }) 32957 ] 32958 } 32959 ) }), 32960 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "color", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32961 ColorTools, 32962 { 32963 textColor, 32964 setTextColor, 32965 backgroundColor, 32966 setBackgroundColor, 32967 overlayTextColor, 32968 setOverlayTextColor, 32969 overlayBackgroundColor, 32970 setOverlayBackgroundColor, 32971 clientId, 32972 navRef 32973 } 32974 ) }) 32975 ] }); 32976 const accessibleDescriptionId = `$clientId}-desc`; 32977 const isHiddenByDefault = "always" === overlayMenu; 32978 const isManageMenusButtonDisabled = !hasManagePermissions || !hasResolvedNavigationMenus; 32979 if (hasUnsavedBlocks && !isCreatingNavigationMenu) { 32980 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 32981 TagName, 32982 { 32983 ...blockProps, 32984 "aria-describedby": !isPlaceholder ? accessibleDescriptionId : void 0, 32985 children: [ 32986 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(AccessibleDescription, { id: accessibleDescriptionId, children: (0,external_wp_i18n_namespaceObject.__)("Unsaved Navigation Menu.") }), 32987 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 32988 menu_inspector_controls_default, 32989 { 32990 clientId, 32991 createNavigationMenuIsSuccess, 32992 createNavigationMenuIsError, 32993 currentMenuId: ref, 32994 isNavigationMenuMissing, 32995 isManageMenusButtonDisabled, 32996 onCreateNew: createUntitledEmptyNavigationMenu, 32997 onSelectClassicMenu, 32998 onSelectNavigationMenu, 32999 isLoading, 33000 blockEditingMode 33001 } 33002 ), 33003 blockEditingMode === "default" && stylingInspectorControls, 33004 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33005 ResponsiveWrapper, 33006 { 33007 id: clientId, 33008 onToggle: setResponsiveMenuVisibility, 33009 isOpen: isResponsiveMenuOpen, 33010 hasIcon, 33011 icon, 33012 isResponsive, 33013 isHiddenByDefault, 33014 overlayBackgroundColor, 33015 overlayTextColor, 33016 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33017 UnsavedInnerBlocks, 33018 { 33019 createNavigationMenu, 33020 blocks: uncontrolledInnerBlocks, 33021 hasSelection: isSelected || isInnerBlockSelected 33022 } 33023 ) 33024 } 33025 ) 33026 ] 33027 } 33028 ); 33029 } 33030 if (ref && isNavigationMenuMissing) { 33031 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(TagName, { ...blockProps, children: [ 33032 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33033 menu_inspector_controls_default, 33034 { 33035 clientId, 33036 createNavigationMenuIsSuccess, 33037 createNavigationMenuIsError, 33038 currentMenuId: ref, 33039 isNavigationMenuMissing, 33040 isManageMenusButtonDisabled, 33041 onCreateNew: createUntitledEmptyNavigationMenu, 33042 onSelectClassicMenu, 33043 onSelectNavigationMenu, 33044 isLoading, 33045 blockEditingMode 33046 } 33047 ), 33048 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33049 deleted_navigation_warning_default, 33050 { 33051 onCreateNew: createUntitledEmptyNavigationMenu 33052 } 33053 ) 33054 ] }); 33055 } 33056 if (isEntityAvailable && hasAlreadyRendered) { 33057 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Block cannot be rendered inside itself.") }) }); 33058 } 33059 const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : NavigationPlaceholder; 33060 if (isPlaceholder && CustomPlaceholder) { 33061 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33062 PlaceholderComponent, 33063 { 33064 isSelected, 33065 currentMenuId: ref, 33066 clientId, 33067 canUserCreateNavigationMenus, 33068 isResolvingCanUserCreateNavigationMenus, 33069 onSelectNavigationMenu, 33070 onSelectClassicMenu, 33071 onCreateEmpty: createUntitledEmptyNavigationMenu 33072 } 33073 ) }); 33074 } 33075 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_coreData_namespaceObject.EntityProvider, { kind: "postType", type: "wp_navigation", id: ref, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.RecursionProvider, { uniqueId: recursionId, children: [ 33076 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33077 menu_inspector_controls_default, 33078 { 33079 clientId, 33080 createNavigationMenuIsSuccess, 33081 createNavigationMenuIsError, 33082 currentMenuId: ref, 33083 isNavigationMenuMissing, 33084 isManageMenusButtonDisabled, 33085 onCreateNew: createUntitledEmptyNavigationMenu, 33086 onSelectClassicMenu, 33087 onSelectNavigationMenu, 33088 isLoading, 33089 blockEditingMode 33090 } 33091 ), 33092 blockEditingMode === "default" && stylingInspectorControls, 33093 blockEditingMode === "contentOnly" && isEntityAvailable && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(NavigationAddPageButton, { clientId }), 33094 blockEditingMode === "default" && isEntityAvailable && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: [ 33095 hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(NavigationMenuNameControl, {}), 33096 hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33097 NavigationMenuDeleteControl, 33098 { 33099 onDelete: () => { 33100 replaceInnerBlocks(clientId, []); 33101 showNavigationMenuStatusNotice( 33102 (0,external_wp_i18n_namespaceObject.__)( 33103 "Navigation Menu successfully deleted." 33104 ) 33105 ); 33106 } 33107 } 33108 ), 33109 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33110 manage_menus_button_default, 33111 { 33112 disabled: isManageMenusButtonDisabled, 33113 className: "wp-block-navigation-manage-menus-button" 33114 } 33115 ) 33116 ] }), 33117 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 33118 TagName, 33119 { 33120 ...blockProps, 33121 "aria-describedby": !isPlaceholder && !isLoading ? accessibleDescriptionId : void 0, 33122 children: [ 33123 isLoading && !isHiddenByDefault && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-navigation__loading-indicator-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, { className: "wp-block-navigation__loading-indicator" }) }), 33124 (!isLoading || isHiddenByDefault) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 33125 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33126 AccessibleMenuDescription, 33127 { 33128 id: accessibleDescriptionId 33129 } 33130 ), 33131 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33132 ResponsiveWrapper, 33133 { 33134 id: clientId, 33135 onToggle: setResponsiveMenuVisibility, 33136 hasIcon, 33137 icon, 33138 isOpen: isResponsiveMenuOpen, 33139 isResponsive, 33140 isHiddenByDefault, 33141 overlayBackgroundColor, 33142 overlayTextColor, 33143 children: isEntityAvailable && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33144 NavigationInnerBlocks, 33145 { 33146 clientId, 33147 hasCustomPlaceholder: !!CustomPlaceholder, 33148 templateLock, 33149 orientation 33150 } 33151 ) 33152 } 33153 ) 33154 ] }) 33155 ] 33156 } 33157 ) 33158 ] }) }); 33159 } 33160 var navigation_edit_edit_default = (0,external_wp_blockEditor_namespaceObject.withColors)( 33161 { textColor: "color" }, 33162 { backgroundColor: "color" }, 33163 { overlayBackgroundColor: "color" }, 33164 { overlayTextColor: "color" } 33165 )(Navigation); 33166 33167 33168 ;// ./node_modules/@wordpress/block-library/build-module/navigation/save.js 33169 33170 33171 function navigation_save_save({ attributes }) { 33172 if (attributes.ref) { 33173 return; 33174 } 33175 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33176 } 33177 33178 33179 ;// ./node_modules/@wordpress/block-library/build-module/navigation/deprecated.js 33180 33181 33182 33183 33184 const TYPOGRAPHY_PRESET_DEPRECATION_MAP = { 33185 fontStyle: "var:preset|font-style|", 33186 fontWeight: "var:preset|font-weight|", 33187 textDecoration: "var:preset|text-decoration|", 33188 textTransform: "var:preset|text-transform|" 33189 }; 33190 const migrateIdToRef = ({ navigationMenuId, ...attributes }) => { 33191 return { 33192 ...attributes, 33193 ref: navigationMenuId 33194 }; 33195 }; 33196 const deprecated_migrateWithLayout = (attributes) => { 33197 if (!!attributes.layout) { 33198 return attributes; 33199 } 33200 const { itemsJustification, orientation, ...updatedAttributes } = attributes; 33201 if (itemsJustification || orientation) { 33202 Object.assign(updatedAttributes, { 33203 layout: { 33204 type: "flex", 33205 ...itemsJustification && { 33206 justifyContent: itemsJustification 33207 }, 33208 ...orientation && { orientation } 33209 } 33210 }); 33211 } 33212 return updatedAttributes; 33213 }; 33214 const navigation_deprecated_v6 = { 33215 attributes: { 33216 navigationMenuId: { 33217 type: "number" 33218 }, 33219 textColor: { 33220 type: "string" 33221 }, 33222 customTextColor: { 33223 type: "string" 33224 }, 33225 rgbTextColor: { 33226 type: "string" 33227 }, 33228 backgroundColor: { 33229 type: "string" 33230 }, 33231 customBackgroundColor: { 33232 type: "string" 33233 }, 33234 rgbBackgroundColor: { 33235 type: "string" 33236 }, 33237 showSubmenuIcon: { 33238 type: "boolean", 33239 default: true 33240 }, 33241 openSubmenusOnClick: { 33242 type: "boolean", 33243 default: false 33244 }, 33245 overlayMenu: { 33246 type: "string", 33247 default: "mobile" 33248 }, 33249 __unstableLocation: { 33250 type: "string" 33251 }, 33252 overlayBackgroundColor: { 33253 type: "string" 33254 }, 33255 customOverlayBackgroundColor: { 33256 type: "string" 33257 }, 33258 overlayTextColor: { 33259 type: "string" 33260 }, 33261 customOverlayTextColor: { 33262 type: "string" 33263 } 33264 }, 33265 supports: { 33266 align: ["wide", "full"], 33267 anchor: true, 33268 html: false, 33269 inserter: true, 33270 typography: { 33271 fontSize: true, 33272 lineHeight: true, 33273 __experimentalFontStyle: true, 33274 __experimentalFontWeight: true, 33275 __experimentalTextTransform: true, 33276 __experimentalFontFamily: true, 33277 __experimentalTextDecoration: true, 33278 __experimentalDefaultControls: { 33279 fontSize: true 33280 } 33281 }, 33282 spacing: { 33283 blockGap: true, 33284 units: ["px", "em", "rem", "vh", "vw"], 33285 __experimentalDefaultControls: { 33286 blockGap: true 33287 } 33288 }, 33289 layout: { 33290 allowSwitching: false, 33291 allowInheriting: false, 33292 default: { 33293 type: "flex" 33294 } 33295 } 33296 }, 33297 save() { 33298 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33299 }, 33300 isEligible: ({ navigationMenuId }) => !!navigationMenuId, 33301 migrate: migrateIdToRef 33302 }; 33303 const navigation_deprecated_v5 = { 33304 attributes: { 33305 navigationMenuId: { 33306 type: "number" 33307 }, 33308 orientation: { 33309 type: "string", 33310 default: "horizontal" 33311 }, 33312 textColor: { 33313 type: "string" 33314 }, 33315 customTextColor: { 33316 type: "string" 33317 }, 33318 rgbTextColor: { 33319 type: "string" 33320 }, 33321 backgroundColor: { 33322 type: "string" 33323 }, 33324 customBackgroundColor: { 33325 type: "string" 33326 }, 33327 rgbBackgroundColor: { 33328 type: "string" 33329 }, 33330 itemsJustification: { 33331 type: "string" 33332 }, 33333 showSubmenuIcon: { 33334 type: "boolean", 33335 default: true 33336 }, 33337 openSubmenusOnClick: { 33338 type: "boolean", 33339 default: false 33340 }, 33341 overlayMenu: { 33342 type: "string", 33343 default: "never" 33344 }, 33345 __unstableLocation: { 33346 type: "string" 33347 }, 33348 overlayBackgroundColor: { 33349 type: "string" 33350 }, 33351 customOverlayBackgroundColor: { 33352 type: "string" 33353 }, 33354 overlayTextColor: { 33355 type: "string" 33356 }, 33357 customOverlayTextColor: { 33358 type: "string" 33359 } 33360 }, 33361 supports: { 33362 align: ["wide", "full"], 33363 anchor: true, 33364 html: false, 33365 inserter: true, 33366 typography: { 33367 fontSize: true, 33368 lineHeight: true, 33369 __experimentalFontStyle: true, 33370 __experimentalFontWeight: true, 33371 __experimentalTextTransform: true, 33372 __experimentalFontFamily: true, 33373 __experimentalTextDecoration: true, 33374 __experimentalDefaultControls: { 33375 fontSize: true 33376 } 33377 }, 33378 spacing: { 33379 blockGap: true, 33380 units: ["px", "em", "rem", "vh", "vw"], 33381 __experimentalDefaultControls: { 33382 blockGap: true 33383 } 33384 } 33385 }, 33386 save() { 33387 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33388 }, 33389 isEligible: ({ itemsJustification, orientation }) => !!itemsJustification || !!orientation, 33390 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateIdToRef, deprecated_migrateWithLayout) 33391 }; 33392 const navigation_deprecated_v4 = { 33393 attributes: { 33394 orientation: { 33395 type: "string", 33396 default: "horizontal" 33397 }, 33398 textColor: { 33399 type: "string" 33400 }, 33401 customTextColor: { 33402 type: "string" 33403 }, 33404 rgbTextColor: { 33405 type: "string" 33406 }, 33407 backgroundColor: { 33408 type: "string" 33409 }, 33410 customBackgroundColor: { 33411 type: "string" 33412 }, 33413 rgbBackgroundColor: { 33414 type: "string" 33415 }, 33416 itemsJustification: { 33417 type: "string" 33418 }, 33419 showSubmenuIcon: { 33420 type: "boolean", 33421 default: true 33422 }, 33423 openSubmenusOnClick: { 33424 type: "boolean", 33425 default: false 33426 }, 33427 overlayMenu: { 33428 type: "string", 33429 default: "never" 33430 }, 33431 __unstableLocation: { 33432 type: "string" 33433 }, 33434 overlayBackgroundColor: { 33435 type: "string" 33436 }, 33437 customOverlayBackgroundColor: { 33438 type: "string" 33439 }, 33440 overlayTextColor: { 33441 type: "string" 33442 }, 33443 customOverlayTextColor: { 33444 type: "string" 33445 } 33446 }, 33447 supports: { 33448 align: ["wide", "full"], 33449 anchor: true, 33450 html: false, 33451 inserter: true, 33452 typography: { 33453 fontSize: true, 33454 lineHeight: true, 33455 __experimentalFontStyle: true, 33456 __experimentalFontWeight: true, 33457 __experimentalTextTransform: true, 33458 __experimentalFontFamily: true, 33459 __experimentalTextDecoration: true 33460 }, 33461 spacing: { 33462 blockGap: true, 33463 units: ["px", "em", "rem", "vh", "vw"], 33464 __experimentalDefaultControls: { 33465 blockGap: true 33466 } 33467 } 33468 }, 33469 save() { 33470 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33471 }, 33472 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateIdToRef, deprecated_migrateWithLayout, migrate_font_family_default), 33473 isEligible({ style }) { 33474 return style?.typography?.fontFamily; 33475 } 33476 }; 33477 const migrateIsResponsive = function(attributes) { 33478 delete attributes.isResponsive; 33479 return { 33480 ...attributes, 33481 overlayMenu: "mobile" 33482 }; 33483 }; 33484 const migrateTypographyPresets = function(attributes) { 33485 return { 33486 ...attributes, 33487 style: { 33488 ...attributes.style, 33489 typography: Object.fromEntries( 33490 Object.entries(attributes.style.typography ?? {}).map( 33491 ([key, value]) => { 33492 const prefix = TYPOGRAPHY_PRESET_DEPRECATION_MAP[key]; 33493 if (prefix && value.startsWith(prefix)) { 33494 const newValue = value.slice(prefix.length); 33495 if ("textDecoration" === key && "strikethrough" === newValue) { 33496 return [key, "line-through"]; 33497 } 33498 return [key, newValue]; 33499 } 33500 return [key, value]; 33501 } 33502 ) 33503 ) 33504 } 33505 }; 33506 }; 33507 const navigation_deprecated_deprecated = [ 33508 navigation_deprecated_v6, 33509 navigation_deprecated_v5, 33510 navigation_deprecated_v4, 33511 // Remove `isResponsive` attribute. 33512 { 33513 attributes: { 33514 orientation: { 33515 type: "string", 33516 default: "horizontal" 33517 }, 33518 textColor: { 33519 type: "string" 33520 }, 33521 customTextColor: { 33522 type: "string" 33523 }, 33524 rgbTextColor: { 33525 type: "string" 33526 }, 33527 backgroundColor: { 33528 type: "string" 33529 }, 33530 customBackgroundColor: { 33531 type: "string" 33532 }, 33533 rgbBackgroundColor: { 33534 type: "string" 33535 }, 33536 itemsJustification: { 33537 type: "string" 33538 }, 33539 showSubmenuIcon: { 33540 type: "boolean", 33541 default: true 33542 }, 33543 openSubmenusOnClick: { 33544 type: "boolean", 33545 default: false 33546 }, 33547 isResponsive: { 33548 type: "boolean", 33549 default: "false" 33550 }, 33551 __unstableLocation: { 33552 type: "string" 33553 }, 33554 overlayBackgroundColor: { 33555 type: "string" 33556 }, 33557 customOverlayBackgroundColor: { 33558 type: "string" 33559 }, 33560 overlayTextColor: { 33561 type: "string" 33562 }, 33563 customOverlayTextColor: { 33564 type: "string" 33565 } 33566 }, 33567 supports: { 33568 align: ["wide", "full"], 33569 anchor: true, 33570 html: false, 33571 inserter: true, 33572 typography: { 33573 fontSize: true, 33574 lineHeight: true, 33575 __experimentalFontStyle: true, 33576 __experimentalFontWeight: true, 33577 __experimentalTextTransform: true, 33578 __experimentalFontFamily: true, 33579 __experimentalTextDecoration: true 33580 } 33581 }, 33582 isEligible(attributes) { 33583 return attributes.isResponsive; 33584 }, 33585 migrate: (0,external_wp_compose_namespaceObject.compose)( 33586 migrateIdToRef, 33587 deprecated_migrateWithLayout, 33588 migrate_font_family_default, 33589 migrateIsResponsive 33590 ), 33591 save() { 33592 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33593 } 33594 }, 33595 { 33596 attributes: { 33597 orientation: { 33598 type: "string" 33599 }, 33600 textColor: { 33601 type: "string" 33602 }, 33603 customTextColor: { 33604 type: "string" 33605 }, 33606 rgbTextColor: { 33607 type: "string" 33608 }, 33609 backgroundColor: { 33610 type: "string" 33611 }, 33612 customBackgroundColor: { 33613 type: "string" 33614 }, 33615 rgbBackgroundColor: { 33616 type: "string" 33617 }, 33618 itemsJustification: { 33619 type: "string" 33620 }, 33621 showSubmenuIcon: { 33622 type: "boolean", 33623 default: true 33624 } 33625 }, 33626 supports: { 33627 align: ["wide", "full"], 33628 anchor: true, 33629 html: false, 33630 inserter: true, 33631 fontSize: true, 33632 __experimentalFontStyle: true, 33633 __experimentalFontWeight: true, 33634 __experimentalTextTransform: true, 33635 color: true, 33636 __experimentalFontFamily: true, 33637 __experimentalTextDecoration: true 33638 }, 33639 save() { 33640 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33641 }, 33642 isEligible(attributes) { 33643 if (!attributes.style || !attributes.style.typography) { 33644 return false; 33645 } 33646 for (const styleAttribute in TYPOGRAPHY_PRESET_DEPRECATION_MAP) { 33647 const attributeValue = attributes.style.typography[styleAttribute]; 33648 if (attributeValue && attributeValue.startsWith( 33649 TYPOGRAPHY_PRESET_DEPRECATION_MAP[styleAttribute] 33650 )) { 33651 return true; 33652 } 33653 } 33654 return false; 33655 }, 33656 migrate: (0,external_wp_compose_namespaceObject.compose)( 33657 migrateIdToRef, 33658 deprecated_migrateWithLayout, 33659 migrate_font_family_default, 33660 migrateTypographyPresets 33661 ) 33662 }, 33663 { 33664 attributes: { 33665 className: { 33666 type: "string" 33667 }, 33668 textColor: { 33669 type: "string" 33670 }, 33671 rgbTextColor: { 33672 type: "string" 33673 }, 33674 backgroundColor: { 33675 type: "string" 33676 }, 33677 rgbBackgroundColor: { 33678 type: "string" 33679 }, 33680 fontSize: { 33681 type: "string" 33682 }, 33683 customFontSize: { 33684 type: "number" 33685 }, 33686 itemsJustification: { 33687 type: "string" 33688 }, 33689 showSubmenuIcon: { 33690 type: "boolean" 33691 } 33692 }, 33693 isEligible(attribute) { 33694 return attribute.rgbTextColor || attribute.rgbBackgroundColor; 33695 }, 33696 supports: { 33697 align: ["wide", "full"], 33698 anchor: true, 33699 html: false, 33700 inserter: true 33701 }, 33702 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateIdToRef, (attributes) => { 33703 const { rgbTextColor, rgbBackgroundColor, ...restAttributes } = attributes; 33704 return { 33705 ...restAttributes, 33706 customTextColor: attributes.textColor ? void 0 : attributes.rgbTextColor, 33707 customBackgroundColor: attributes.backgroundColor ? void 0 : attributes.rgbBackgroundColor 33708 }; 33709 }), 33710 save() { 33711 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 33712 } 33713 } 33714 ]; 33715 var navigation_deprecated_deprecated_default = navigation_deprecated_deprecated; 33716 33717 33718 ;// ./node_modules/@wordpress/block-library/build-module/navigation/index.js 33719 33720 33721 33722 33723 33724 33725 33726 33727 33728 33729 const { name: navigation_name } = navigation_block_namespaceObject; 33730 const navigation_settings = { 33731 icon: navigation_default, 33732 example: { 33733 attributes: { 33734 overlayMenu: "never" 33735 }, 33736 innerBlocks: [ 33737 { 33738 name: "core/navigation-link", 33739 attributes: { 33740 // translators: 'Home' as in a website's home page. 33741 label: (0,external_wp_i18n_namespaceObject.__)("Home"), 33742 url: "https://make.wordpress.org/" 33743 } 33744 }, 33745 { 33746 name: "core/navigation-link", 33747 attributes: { 33748 // translators: 'About' as in a website's about page. 33749 label: (0,external_wp_i18n_namespaceObject.__)("About"), 33750 url: "https://make.wordpress.org/" 33751 } 33752 }, 33753 { 33754 name: "core/navigation-link", 33755 attributes: { 33756 // translators: 'Contact' as in a website's contact page. 33757 label: (0,external_wp_i18n_namespaceObject.__)("Contact"), 33758 url: "https://make.wordpress.org/" 33759 } 33760 } 33761 ] 33762 }, 33763 edit: navigation_edit_edit_default, 33764 save: navigation_save_save, 33765 __experimentalLabel: ({ ref }) => { 33766 if (!ref) { 33767 return; 33768 } 33769 const navigation = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 33770 "postType", 33771 "wp_navigation", 33772 ref 33773 ); 33774 if (!navigation?.title) { 33775 return; 33776 } 33777 return (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(navigation.title); 33778 }, 33779 deprecated: navigation_deprecated_deprecated_default 33780 }; 33781 const navigation_init = () => initBlock({ name: navigation_name, metadata: navigation_block_namespaceObject, settings: navigation_settings }); 33782 33783 33784 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/block.json 33785 const navigation_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/navigation-link","title":"Custom Link","category":"design","parent":["core/navigation"],"allowedBlocks":["core/navigation-link","core/navigation-submenu","core/page-list"],"description":"Add a page, link, or another item to your navigation.","textdomain":"default","attributes":{"label":{"type":"string","role":"content"},"type":{"type":"string"},"description":{"type":"string"},"rel":{"type":"string"},"id":{"type":"number"},"opensInNewTab":{"type":"boolean","default":false},"url":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"isTopLevelLink":{"type":"boolean"}},"usesContext":["textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","fontSize","customFontSize","showSubmenuIcon","maxNestingLevel","style"],"supports":{"reusable":false,"html":false,"__experimentalSlashInserter":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"renaming":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-navigation-link-editor","style":"wp-block-navigation-link"}'); 33786 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/shared/controls.js 33787 33788 33789 33790 33791 33792 33793 33794 33795 33796 33797 33798 33799 33800 function getEntityTypeName(type, kind) { 33801 if (kind === "post-type") { 33802 switch (type) { 33803 case "post": 33804 return (0,external_wp_i18n_namespaceObject.__)("post"); 33805 case "page": 33806 return (0,external_wp_i18n_namespaceObject.__)("page"); 33807 default: 33808 return type || (0,external_wp_i18n_namespaceObject.__)("post"); 33809 } 33810 } 33811 if (kind === "taxonomy") { 33812 switch (type) { 33813 case "category": 33814 return (0,external_wp_i18n_namespaceObject.__)("category"); 33815 case "tag": 33816 return (0,external_wp_i18n_namespaceObject.__)("tag"); 33817 default: 33818 return type || (0,external_wp_i18n_namespaceObject.__)("term"); 33819 } 33820 } 33821 return type || (0,external_wp_i18n_namespaceObject.__)("item"); 33822 } 33823 function controls_Controls({ attributes, setAttributes, clientId }) { 33824 const { label, url, description, rel, opensInNewTab } = attributes; 33825 const lastURLRef = (0,external_wp_element_namespaceObject.useRef)(url); 33826 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 33827 const inputId = (0,external_wp_compose_namespaceObject.useInstanceId)(controls_Controls, "link-input"); 33828 const helpTextId = `$inputId}__help`; 33829 const { hasUrlBinding, clearBinding } = useEntityBinding({ 33830 clientId, 33831 attributes 33832 }); 33833 const { updateBlockAttributes } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 33834 const editBoundLink = () => { 33835 clearBinding(); 33836 updateBlockAttributes(clientId, { url: "", id: void 0 }); 33837 }; 33838 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 33839 external_wp_components_namespaceObject.__experimentalToolsPanel, 33840 { 33841 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 33842 resetAll: () => { 33843 setAttributes({ 33844 label: "", 33845 url: "", 33846 description: "", 33847 rel: "", 33848 opensInNewTab: false 33849 }); 33850 }, 33851 dropdownMenuProps, 33852 children: [ 33853 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33854 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 33855 { 33856 hasValue: () => !!label, 33857 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 33858 onDeselect: () => setAttributes({ label: "" }), 33859 isShownByDefault: true, 33860 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33861 external_wp_components_namespaceObject.TextControl, 33862 { 33863 __nextHasNoMarginBottom: true, 33864 __next40pxDefaultSize: true, 33865 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 33866 value: label ? (0,external_wp_dom_namespaceObject.__unstableStripHTML)(label) : "", 33867 onChange: (labelValue) => { 33868 setAttributes({ label: labelValue }); 33869 }, 33870 autoComplete: "off" 33871 } 33872 ) 33873 } 33874 ), 33875 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33876 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 33877 { 33878 hasValue: () => !!url, 33879 label: (0,external_wp_i18n_namespaceObject.__)("Link"), 33880 onDeselect: () => setAttributes({ url: "" }), 33881 isShownByDefault: true, 33882 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33883 external_wp_components_namespaceObject.__experimentalInputControl, 33884 { 33885 __nextHasNoMarginBottom: true, 33886 __next40pxDefaultSize: true, 33887 id: inputId, 33888 label: (0,external_wp_i18n_namespaceObject.__)("Link"), 33889 value: url ? (0,external_wp_url_namespaceObject.safeDecodeURI)(url) : "", 33890 onChange: (urlValue) => { 33891 if (hasUrlBinding) { 33892 return; 33893 } 33894 setAttributes({ 33895 url: encodeURI((0,external_wp_url_namespaceObject.safeDecodeURI)(urlValue)) 33896 }); 33897 }, 33898 autoComplete: "off", 33899 type: "url", 33900 disabled: hasUrlBinding, 33901 onFocus: () => { 33902 if (hasUrlBinding) { 33903 return; 33904 } 33905 lastURLRef.current = url; 33906 }, 33907 onBlur: () => { 33908 if (hasUrlBinding) { 33909 return; 33910 } 33911 updateAttributes( 33912 { url: !url ? lastURLRef.current : url }, 33913 setAttributes, 33914 { ...attributes, url: lastURLRef.current } 33915 ); 33916 }, 33917 help: hasUrlBinding && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33918 BindingHelpText, 33919 { 33920 type: attributes.type, 33921 kind: attributes.kind 33922 } 33923 ), 33924 suffix: hasUrlBinding && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33925 external_wp_components_namespaceObject.Button, 33926 { 33927 icon: link_off_default, 33928 onClick: editBoundLink, 33929 "aria-describedby": helpTextId, 33930 showTooltip: true, 33931 label: (0,external_wp_i18n_namespaceObject.__)("Unsync and edit"), 33932 __next40pxDefaultSize: true 33933 } 33934 ) 33935 } 33936 ) 33937 } 33938 ), 33939 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33940 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 33941 { 33942 hasValue: () => !!opensInNewTab, 33943 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 33944 onDeselect: () => setAttributes({ opensInNewTab: false }), 33945 isShownByDefault: true, 33946 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33947 external_wp_components_namespaceObject.CheckboxControl, 33948 { 33949 __nextHasNoMarginBottom: true, 33950 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 33951 checked: opensInNewTab, 33952 onChange: (value) => setAttributes({ opensInNewTab: value }) 33953 } 33954 ) 33955 } 33956 ), 33957 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33958 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 33959 { 33960 hasValue: () => !!description, 33961 label: (0,external_wp_i18n_namespaceObject.__)("Description"), 33962 onDeselect: () => setAttributes({ description: "" }), 33963 isShownByDefault: true, 33964 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33965 external_wp_components_namespaceObject.TextareaControl, 33966 { 33967 __nextHasNoMarginBottom: true, 33968 label: (0,external_wp_i18n_namespaceObject.__)("Description"), 33969 value: description || "", 33970 onChange: (descriptionValue) => { 33971 setAttributes({ description: descriptionValue }); 33972 }, 33973 help: (0,external_wp_i18n_namespaceObject.__)( 33974 "The description will be displayed in the menu if the current theme supports it." 33975 ) 33976 } 33977 ) 33978 } 33979 ), 33980 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33981 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 33982 { 33983 hasValue: () => !!rel, 33984 label: (0,external_wp_i18n_namespaceObject.__)("Rel attribute"), 33985 onDeselect: () => setAttributes({ rel: "" }), 33986 isShownByDefault: true, 33987 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 33988 external_wp_components_namespaceObject.TextControl, 33989 { 33990 __nextHasNoMarginBottom: true, 33991 __next40pxDefaultSize: true, 33992 label: (0,external_wp_i18n_namespaceObject.__)("Rel attribute"), 33993 value: rel || "", 33994 onChange: (relValue) => { 33995 setAttributes({ rel: relValue }); 33996 }, 33997 autoComplete: "off", 33998 help: (0,external_wp_i18n_namespaceObject.__)( 33999 "The relationship of the linked URL as space-separated link types." 34000 ) 34001 } 34002 ) 34003 } 34004 ) 34005 ] 34006 } 34007 ); 34008 } 34009 function BindingHelpText({ type, kind }) { 34010 const entityType = getEntityTypeName(type, kind); 34011 return (0,external_wp_i18n_namespaceObject.sprintf)( 34012 /* translators: %s is the entity type (e.g., "page", "post", "category") */ 34013 (0,external_wp_i18n_namespaceObject.__)("Synced with the selected %s."), 34014 entityType 34015 ); 34016 } 34017 34018 34019 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/edit.js 34020 34021 34022 34023 34024 34025 34026 34027 34028 34029 34030 34031 34032 34033 34034 34035 34036 const navigation_link_edit_DEFAULT_BLOCK = { name: "core/navigation-link" }; 34037 const NESTING_BLOCK_NAMES = [ 34038 "core/navigation-link", 34039 "core/navigation-submenu" 34040 ]; 34041 const useIsDraggingWithin = (elementRef) => { 34042 const [isDraggingWithin, setIsDraggingWithin] = (0,external_wp_element_namespaceObject.useState)(false); 34043 (0,external_wp_element_namespaceObject.useEffect)(() => { 34044 const { ownerDocument } = elementRef.current; 34045 function handleDragStart(event) { 34046 handleDragEnter(event); 34047 } 34048 function handleDragEnd() { 34049 setIsDraggingWithin(false); 34050 } 34051 function handleDragEnter(event) { 34052 if (elementRef.current.contains(event.target)) { 34053 setIsDraggingWithin(true); 34054 } else { 34055 setIsDraggingWithin(false); 34056 } 34057 } 34058 ownerDocument.addEventListener("dragstart", handleDragStart); 34059 ownerDocument.addEventListener("dragend", handleDragEnd); 34060 ownerDocument.addEventListener("dragenter", handleDragEnter); 34061 return () => { 34062 ownerDocument.removeEventListener("dragstart", handleDragStart); 34063 ownerDocument.removeEventListener("dragend", handleDragEnd); 34064 ownerDocument.removeEventListener("dragenter", handleDragEnter); 34065 }; 34066 }, [elementRef]); 34067 return isDraggingWithin; 34068 }; 34069 const useIsInvalidLink = (kind, type, id, enabled) => { 34070 const isPostType = kind === "post-type" || type === "post" || type === "page"; 34071 const hasId = Number.isInteger(id); 34072 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 34073 const postStatus = (0,external_wp_data_namespaceObject.useSelect)( 34074 (select) => { 34075 if (!isPostType) { 34076 return null; 34077 } 34078 if (blockEditingMode === "disabled" || !enabled) { 34079 return null; 34080 } 34081 const { getEntityRecord } = select(external_wp_coreData_namespaceObject.store); 34082 return getEntityRecord("postType", type, id)?.status; 34083 }, 34084 [isPostType, blockEditingMode, enabled, type, id] 34085 ); 34086 const isInvalid = isPostType && hasId && postStatus && "trash" === postStatus; 34087 const isDraft = "draft" === postStatus; 34088 return [isInvalid, isDraft]; 34089 }; 34090 function getMissingText(type) { 34091 let missingText = ""; 34092 switch (type) { 34093 case "post": 34094 missingText = (0,external_wp_i18n_namespaceObject.__)("Select post"); 34095 break; 34096 case "page": 34097 missingText = (0,external_wp_i18n_namespaceObject.__)("Select page"); 34098 break; 34099 case "category": 34100 missingText = (0,external_wp_i18n_namespaceObject.__)("Select category"); 34101 break; 34102 case "tag": 34103 missingText = (0,external_wp_i18n_namespaceObject.__)("Select tag"); 34104 break; 34105 default: 34106 missingText = (0,external_wp_i18n_namespaceObject.__)("Add link"); 34107 } 34108 return missingText; 34109 } 34110 function NavigationLinkEdit({ 34111 attributes, 34112 isSelected, 34113 setAttributes, 34114 insertBlocksAfter, 34115 mergeBlocks, 34116 onReplace, 34117 context, 34118 clientId 34119 }) { 34120 const { id, label, type, url, description, kind, metadata } = attributes; 34121 const { maxNestingLevel } = context; 34122 const { 34123 replaceBlock, 34124 __unstableMarkNextChangeAsNotPersistent, 34125 selectBlock 34126 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 34127 const [isLinkOpen, setIsLinkOpen] = (0,external_wp_element_namespaceObject.useState)(isSelected && !url); 34128 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 34129 const listItemRef = (0,external_wp_element_namespaceObject.useRef)(null); 34130 const isDraggingWithin = useIsDraggingWithin(listItemRef); 34131 const itemLabelPlaceholder = (0,external_wp_i18n_namespaceObject.__)("Add label\u2026"); 34132 const ref = (0,external_wp_element_namespaceObject.useRef)(); 34133 const linkUIref = (0,external_wp_element_namespaceObject.useRef)(); 34134 const prevUrl = (0,external_wp_compose_namespaceObject.usePrevious)(url); 34135 const isNewLink = (0,external_wp_element_namespaceObject.useRef)(!url); 34136 const { 34137 isAtMaxNesting, 34138 isTopLevelLink, 34139 isParentOfSelectedBlock, 34140 hasChildren, 34141 validateLinkStatus, 34142 parentBlockClientId 34143 } = (0,external_wp_data_namespaceObject.useSelect)( 34144 (select) => { 34145 const { 34146 getBlockCount, 34147 getBlockName, 34148 getBlockRootClientId, 34149 hasSelectedInnerBlock, 34150 getBlockParentsByBlockName, 34151 getSelectedBlockClientId 34152 } = select(external_wp_blockEditor_namespaceObject.store); 34153 const rootClientId = getBlockRootClientId(clientId); 34154 const parentBlockName = getBlockName(rootClientId); 34155 const isTopLevel = parentBlockName === "core/navigation"; 34156 const selectedBlockClientId = getSelectedBlockClientId(); 34157 const rootNavigationClientId = isTopLevel ? rootClientId : getBlockParentsByBlockName( 34158 clientId, 34159 "core/navigation" 34160 )[0]; 34161 const parentBlockId = parentBlockName === "core/navigation-submenu" ? rootClientId : rootNavigationClientId; 34162 const enableLinkStatusValidation = selectedBlockClientId === rootNavigationClientId || hasSelectedInnerBlock(rootNavigationClientId, true); 34163 return { 34164 isAtMaxNesting: getBlockParentsByBlockName(clientId, NESTING_BLOCK_NAMES).length >= maxNestingLevel, 34165 isTopLevelLink: isTopLevel, 34166 isParentOfSelectedBlock: hasSelectedInnerBlock( 34167 clientId, 34168 true 34169 ), 34170 hasChildren: !!getBlockCount(clientId), 34171 validateLinkStatus: enableLinkStatusValidation, 34172 parentBlockClientId: parentBlockId 34173 }; 34174 }, 34175 [clientId, maxNestingLevel] 34176 ); 34177 const { getBlocks } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 34178 const { clearBinding, createBinding } = useEntityBinding({ 34179 clientId, 34180 attributes 34181 }); 34182 const [isInvalid, isDraft] = useIsInvalidLink( 34183 kind, 34184 type, 34185 id, 34186 validateLinkStatus 34187 ); 34188 const transformToSubmenu = (0,external_wp_element_namespaceObject.useCallback)(() => { 34189 let innerBlocks = getBlocks(clientId); 34190 if (innerBlocks.length === 0) { 34191 innerBlocks = [(0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link")]; 34192 selectBlock(innerBlocks[0].clientId); 34193 } 34194 const newSubmenu = (0,external_wp_blocks_namespaceObject.createBlock)( 34195 "core/navigation-submenu", 34196 attributes, 34197 innerBlocks 34198 ); 34199 replaceBlock(clientId, newSubmenu); 34200 }, [getBlocks, clientId, selectBlock, replaceBlock, attributes]); 34201 (0,external_wp_element_namespaceObject.useEffect)(() => { 34202 if (isNewLink.current && isSelected && !url) { 34203 selectBlock(parentBlockClientId); 34204 } 34205 }, []); 34206 (0,external_wp_element_namespaceObject.useEffect)(() => { 34207 if (hasChildren) { 34208 __unstableMarkNextChangeAsNotPersistent(); 34209 transformToSubmenu(); 34210 } 34211 }, [ 34212 hasChildren, 34213 __unstableMarkNextChangeAsNotPersistent, 34214 transformToSubmenu 34215 ]); 34216 (0,external_wp_element_namespaceObject.useEffect)(() => { 34217 if (!prevUrl && url && isLinkOpen && (0,external_wp_url_namespaceObject.isURL)((0,external_wp_url_namespaceObject.prependHTTP)(label)) && /^.+\.[a-z]+/.test(label)) { 34218 selectLabelText(); 34219 } 34220 }, [prevUrl, url, isLinkOpen, label]); 34221 function selectLabelText() { 34222 ref.current.focus(); 34223 const { ownerDocument } = ref.current; 34224 const { defaultView } = ownerDocument; 34225 const selection = defaultView.getSelection(); 34226 const range = ownerDocument.createRange(); 34227 range.selectNodeContents(ref.current); 34228 selection.removeAllRanges(); 34229 selection.addRange(range); 34230 } 34231 function removeLink() { 34232 setAttributes({ 34233 url: void 0, 34234 label: void 0, 34235 id: void 0, 34236 kind: void 0, 34237 type: void 0, 34238 opensInNewTab: false 34239 }); 34240 setIsLinkOpen(false); 34241 } 34242 const { 34243 textColor, 34244 customTextColor, 34245 backgroundColor, 34246 customBackgroundColor 34247 } = getColors(context, !isTopLevelLink); 34248 function onKeyDown(event) { 34249 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, "k")) { 34250 event.preventDefault(); 34251 event.stopPropagation(); 34252 setIsLinkOpen(true); 34253 } 34254 } 34255 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 34256 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([setPopoverAnchor, listItemRef]), 34257 className: dist_clsx("wp-block-navigation-item", { 34258 "is-editing": isSelected || isParentOfSelectedBlock, 34259 "is-dragging-within": isDraggingWithin, 34260 "has-link": !!url, 34261 "has-child": hasChildren, 34262 "has-text-color": !!textColor || !!customTextColor, 34263 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor)]: !!textColor, 34264 "has-background": !!backgroundColor || customBackgroundColor, 34265 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("background-color", backgroundColor)]: !!backgroundColor 34266 }), 34267 style: { 34268 color: !textColor && customTextColor, 34269 backgroundColor: !backgroundColor && customBackgroundColor 34270 }, 34271 onKeyDown 34272 }); 34273 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 34274 { 34275 ...blockProps, 34276 className: "remove-outline" 34277 // Remove the outline from the inner blocks container. 34278 }, 34279 { 34280 defaultBlock: navigation_link_edit_DEFAULT_BLOCK, 34281 directInsert: true, 34282 renderAppender: false 34283 } 34284 ); 34285 if (!url || isInvalid || isDraft) { 34286 blockProps.onClick = () => { 34287 setIsLinkOpen(true); 34288 }; 34289 } 34290 const classes = dist_clsx("wp-block-navigation-item__content", { 34291 "wp-block-navigation-link__placeholder": !url || isInvalid || isDraft 34292 }); 34293 const missingText = getMissingText(type); 34294 const placeholderText = `($isInvalid ? (0,external_wp_i18n_namespaceObject.__)("Invalid") : (0,external_wp_i18n_namespaceObject.__)("Draft")})`; 34295 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 34296 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.ToolbarGroup, { children: [ 34297 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34298 external_wp_components_namespaceObject.ToolbarButton, 34299 { 34300 name: "link", 34301 icon: link_default, 34302 title: (0,external_wp_i18n_namespaceObject.__)("Link"), 34303 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primary("k"), 34304 onClick: () => { 34305 setIsLinkOpen(true); 34306 } 34307 } 34308 ), 34309 !isAtMaxNesting && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34310 external_wp_components_namespaceObject.ToolbarButton, 34311 { 34312 name: "submenu", 34313 icon: add_submenu_default, 34314 title: (0,external_wp_i18n_namespaceObject.__)("Add submenu"), 34315 onClick: transformToSubmenu 34316 } 34317 ) 34318 ] }) }), 34319 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34320 controls_Controls, 34321 { 34322 attributes, 34323 setAttributes, 34324 clientId 34325 } 34326 ) }), 34327 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 34328 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { className: classes, children: [ 34329 !url && !metadata?.bindings?.url ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-navigation-link__placeholder-text", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: missingText }) }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 34330 !isInvalid && !isDraft && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 34331 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34332 external_wp_blockEditor_namespaceObject.RichText, 34333 { 34334 ref, 34335 identifier: "label", 34336 className: "wp-block-navigation-item__label", 34337 value: label, 34338 onChange: (labelValue) => setAttributes({ 34339 label: labelValue 34340 }), 34341 onMerge: mergeBlocks, 34342 onReplace, 34343 __unstableOnSplitAtEnd: () => insertBlocksAfter( 34344 (0,external_wp_blocks_namespaceObject.createBlock)( 34345 "core/navigation-link" 34346 ) 34347 ), 34348 "aria-label": (0,external_wp_i18n_namespaceObject.__)( 34349 "Navigation link text" 34350 ), 34351 placeholder: itemLabelPlaceholder, 34352 withoutInteractiveFormatting: true 34353 } 34354 ), 34355 description && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-navigation-item__description", children: description }) 34356 ] }), 34357 (isInvalid || isDraft) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34358 "div", 34359 { 34360 className: dist_clsx( 34361 "wp-block-navigation-link__placeholder-text", 34362 "wp-block-navigation-link__label", 34363 { 34364 "is-invalid": isInvalid, 34365 "is-draft": isDraft 34366 } 34367 ), 34368 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { 34369 // Some attributes are stored in an escaped form. It's a legacy issue. 34370 // Ideally they would be stored in a raw, unescaped form. 34371 // Unescape is used here to "recover" the escaped characters 34372 // so they display without encoding. 34373 // See `updateAttributes` for more details. 34374 children: `${(0,external_wp_htmlEntities_namespaceObject.decodeEntities)(label)} $isInvalid || isDraft ? placeholderText : ""}`.trim() 34375 }) 34376 } 34377 ) 34378 ] }), 34379 isLinkOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34380 LinkUI, 34381 { 34382 ref: linkUIref, 34383 clientId, 34384 link: attributes, 34385 onClose: () => { 34386 setIsLinkOpen(false); 34387 if (!url) { 34388 onReplace([]); 34389 } else if (isNewLink.current) { 34390 selectBlock(clientId); 34391 } 34392 }, 34393 anchor: popoverAnchor, 34394 onRemove: removeLink, 34395 onChange: (updatedValue) => { 34396 const { 34397 isEntityLink, 34398 attributes: updatedAttributes 34399 } = updateAttributes( 34400 updatedValue, 34401 setAttributes, 34402 attributes 34403 ); 34404 if (isEntityLink) { 34405 createBinding(updatedAttributes); 34406 } else { 34407 clearBinding(updatedAttributes); 34408 } 34409 } 34410 } 34411 ) 34412 ] }), 34413 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 34414 ] }) 34415 ] }); 34416 } 34417 34418 34419 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/save.js 34420 34421 34422 function navigation_link_save_save() { 34423 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 34424 } 34425 34426 34427 ;// ./node_modules/@wordpress/icons/build-module/library/tag.js 34428 34429 34430 var tag_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.75 4a.75.75 0 0 0-.75.75v7.826c0 .2.08.39.22.53l6.72 6.716a2.313 2.313 0 0 0 3.276-.001l5.61-5.611-.531-.53.532.528a2.315 2.315 0 0 0 0-3.264L13.104 4.22a.75.75 0 0 0-.53-.22H4.75ZM19 12.576a.815.815 0 0 1-.236.574l-5.61 5.611a.814.814 0 0 1-1.153 0L5.5 12.264V5.5h6.763l6.5 6.502a.816.816 0 0 1 .237.574ZM8.75 9.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" }) }); 34431 34432 34433 ;// ./node_modules/@wordpress/icons/build-module/library/custom-post-type.js 34434 34435 34436 var custom_post_type_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4zm.8-4l.7.7 2-2V12h1V9.2l2 2 .7-.7-2-2H12v-1H9.2l2-2-.7-.7-2 2V4h-1v2.8l-2-2-.7.7 2 2H4v1h2.8l-2 2z" }) }); 34437 34438 34439 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/hooks.js 34440 34441 function getIcon(variationName) { 34442 switch (variationName) { 34443 case "post": 34444 return post_list_default; 34445 case "page": 34446 return page_default; 34447 case "tag": 34448 return tag_default; 34449 case "category": 34450 return category_default; 34451 default: 34452 return custom_post_type_default; 34453 } 34454 } 34455 function enhanceNavigationLinkVariations(settings, name) { 34456 if (name !== "core/navigation-link") { 34457 return settings; 34458 } 34459 if (settings.variations) { 34460 const isActive = (blockAttributes, variationAttributes) => { 34461 return blockAttributes.type === variationAttributes.type; 34462 }; 34463 const variations = settings.variations.map((variation) => { 34464 return { 34465 ...variation, 34466 ...!variation.icon && { 34467 icon: getIcon(variation.name) 34468 }, 34469 ...!variation.isActive && { 34470 isActive 34471 } 34472 }; 34473 }); 34474 return { 34475 ...settings, 34476 variations 34477 }; 34478 } 34479 return settings; 34480 } 34481 34482 34483 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/transforms.js 34484 34485 const navigation_link_transforms_transforms = { 34486 from: [ 34487 { 34488 type: "block", 34489 blocks: ["core/site-logo"], 34490 transform: () => { 34491 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34492 } 34493 }, 34494 { 34495 type: "block", 34496 blocks: ["core/spacer"], 34497 transform: () => { 34498 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34499 } 34500 }, 34501 { 34502 type: "block", 34503 blocks: ["core/home-link"], 34504 transform: () => { 34505 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34506 } 34507 }, 34508 { 34509 type: "block", 34510 blocks: ["core/social-links"], 34511 transform: () => { 34512 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34513 } 34514 }, 34515 { 34516 type: "block", 34517 blocks: ["core/search"], 34518 transform: () => { 34519 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34520 } 34521 }, 34522 { 34523 type: "block", 34524 blocks: ["core/page-list"], 34525 transform: () => { 34526 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34527 } 34528 }, 34529 { 34530 type: "block", 34531 blocks: ["core/buttons"], 34532 transform: () => { 34533 return (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link"); 34534 } 34535 } 34536 ], 34537 to: [ 34538 { 34539 type: "block", 34540 blocks: ["core/navigation-submenu"], 34541 transform: (attributes, innerBlocks) => (0,external_wp_blocks_namespaceObject.createBlock)( 34542 "core/navigation-submenu", 34543 attributes, 34544 innerBlocks 34545 ) 34546 }, 34547 { 34548 type: "block", 34549 blocks: ["core/spacer"], 34550 transform: () => { 34551 return (0,external_wp_blocks_namespaceObject.createBlock)("core/spacer"); 34552 } 34553 }, 34554 { 34555 type: "block", 34556 blocks: ["core/site-logo"], 34557 transform: () => { 34558 return (0,external_wp_blocks_namespaceObject.createBlock)("core/site-logo"); 34559 } 34560 }, 34561 { 34562 type: "block", 34563 blocks: ["core/home-link"], 34564 transform: () => { 34565 return (0,external_wp_blocks_namespaceObject.createBlock)("core/home-link"); 34566 } 34567 }, 34568 { 34569 type: "block", 34570 blocks: ["core/social-links"], 34571 transform: () => { 34572 return (0,external_wp_blocks_namespaceObject.createBlock)("core/social-links"); 34573 } 34574 }, 34575 { 34576 type: "block", 34577 blocks: ["core/search"], 34578 transform: () => { 34579 return (0,external_wp_blocks_namespaceObject.createBlock)("core/search", { 34580 showLabel: false, 34581 buttonUseIcon: true, 34582 buttonPosition: "button-inside" 34583 }); 34584 } 34585 }, 34586 { 34587 type: "block", 34588 blocks: ["core/page-list"], 34589 transform: () => { 34590 return (0,external_wp_blocks_namespaceObject.createBlock)("core/page-list"); 34591 } 34592 }, 34593 { 34594 type: "block", 34595 blocks: ["core/buttons"], 34596 transform: ({ label, url, rel, title, opensInNewTab }) => { 34597 return (0,external_wp_blocks_namespaceObject.createBlock)("core/buttons", {}, [ 34598 (0,external_wp_blocks_namespaceObject.createBlock)("core/button", { 34599 text: label, 34600 url, 34601 rel, 34602 title, 34603 linkTarget: opensInNewTab ? "_blank" : void 0 34604 }) 34605 ]); 34606 } 34607 } 34608 ] 34609 }; 34610 var navigation_link_transforms_transforms_default = navigation_link_transforms_transforms; 34611 34612 34613 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/index.js 34614 34615 34616 34617 34618 34619 34620 34621 34622 34623 34624 34625 const { name: navigation_link_name } = navigation_link_block_namespaceObject; 34626 const navigation_link_settings = { 34627 icon: custom_link_default, 34628 __experimentalLabel: ({ label }) => label, 34629 merge(leftAttributes, { label: rightLabel = "" }) { 34630 return { 34631 ...leftAttributes, 34632 label: leftAttributes.label + rightLabel 34633 }; 34634 }, 34635 edit: NavigationLinkEdit, 34636 save: navigation_link_save_save, 34637 example: { 34638 attributes: { 34639 label: (0,external_wp_i18n_namespaceObject._x)("Example Link", "navigation link preview example"), 34640 url: "https://example.com" 34641 } 34642 }, 34643 deprecated: [ 34644 { 34645 isEligible(attributes) { 34646 return attributes.nofollow; 34647 }, 34648 attributes: { 34649 label: { 34650 type: "string" 34651 }, 34652 type: { 34653 type: "string" 34654 }, 34655 nofollow: { 34656 type: "boolean" 34657 }, 34658 description: { 34659 type: "string" 34660 }, 34661 id: { 34662 type: "number" 34663 }, 34664 opensInNewTab: { 34665 type: "boolean", 34666 default: false 34667 }, 34668 url: { 34669 type: "string" 34670 } 34671 }, 34672 migrate({ nofollow, ...rest }) { 34673 return { 34674 rel: nofollow ? "nofollow" : "", 34675 ...rest 34676 }; 34677 }, 34678 save() { 34679 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 34680 } 34681 } 34682 ], 34683 transforms: navigation_link_transforms_transforms_default 34684 }; 34685 const navigation_link_init = () => { 34686 (0,external_wp_hooks_namespaceObject.addFilter)( 34687 "blocks.registerBlockType", 34688 "core/navigation-link", 34689 enhanceNavigationLinkVariations 34690 ); 34691 return initBlock({ name: navigation_link_name, metadata: navigation_link_block_namespaceObject, settings: navigation_link_settings }); 34692 }; 34693 34694 34695 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/block.json 34696 const navigation_submenu_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/navigation-submenu","title":"Submenu","category":"design","parent":["core/navigation"],"description":"Add a submenu to your navigation.","textdomain":"default","attributes":{"label":{"type":"string","role":"content"},"type":{"type":"string"},"description":{"type":"string"},"rel":{"type":"string"},"id":{"type":"number"},"opensInNewTab":{"type":"boolean","default":false},"url":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"isTopLevelItem":{"type":"boolean"}},"usesContext":["textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","fontSize","customFontSize","showSubmenuIcon","maxNestingLevel","openSubmenusOnClick","style"],"supports":{"reusable":false,"html":false,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-navigation-submenu-editor","style":"wp-block-navigation-submenu"}'); 34697 ;// ./node_modules/@wordpress/icons/build-module/library/remove-submenu.js 34698 34699 34700 var remove_submenu_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34701 external_wp_primitives_namespaceObject.Path, 34702 { 34703 fillRule: "evenodd", 34704 clipRule: "evenodd", 34705 d: "m13.955 20.748 8-17.5-.91-.416L19.597 6H13.5v1.5h5.411l-1.6 3.5H13.5v1.5h3.126l-1.6 3.5H13.5l.028 1.5h.812l-1.295 2.832.91.416ZM17.675 16l-.686 1.5h4.539L21.5 16h-3.825Zm2.286-5-.686 1.5H21.5V11h-1.54ZM2 12c0 3.58 2.42 5.5 6 5.5h.5V19l3-2.5-3-2.5v2H8c-2.48 0-4.5-1.52-4.5-4S5.52 7.5 8 7.5h3.5V6H8c-3.58 0-6 2.42-6 6Z" 34706 } 34707 ) }); 34708 34709 34710 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/icons.js 34711 34712 34713 const ItemSubmenuIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34714 external_wp_components_namespaceObject.SVG, 34715 { 34716 xmlns: "http://www.w3.org/2000/svg", 34717 width: "12", 34718 height: "12", 34719 viewBox: "0 0 12 12", 34720 fill: "none", 34721 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M1.50002 4L6.00002 8L10.5 4", strokeWidth: "1.5" }) 34722 } 34723 ); 34724 34725 34726 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/edit.js 34727 34728 34729 34730 34731 34732 34733 34734 34735 34736 34737 34738 34739 34740 34741 34742 34743 34744 const ALLOWED_BLOCKS = [ 34745 "core/navigation-link", 34746 "core/navigation-submenu", 34747 "core/page-list" 34748 ]; 34749 const edit_useIsDraggingWithin = (elementRef) => { 34750 const [isDraggingWithin, setIsDraggingWithin] = (0,external_wp_element_namespaceObject.useState)(false); 34751 (0,external_wp_element_namespaceObject.useEffect)(() => { 34752 const { ownerDocument } = elementRef.current; 34753 function handleDragStart(event) { 34754 handleDragEnter(event); 34755 } 34756 function handleDragEnd() { 34757 setIsDraggingWithin(false); 34758 } 34759 function handleDragEnter(event) { 34760 if (elementRef.current.contains(event.target)) { 34761 setIsDraggingWithin(true); 34762 } else { 34763 setIsDraggingWithin(false); 34764 } 34765 } 34766 ownerDocument.addEventListener("dragstart", handleDragStart); 34767 ownerDocument.addEventListener("dragend", handleDragEnd); 34768 ownerDocument.addEventListener("dragenter", handleDragEnter); 34769 return () => { 34770 ownerDocument.removeEventListener("dragstart", handleDragStart); 34771 ownerDocument.removeEventListener("dragend", handleDragEnd); 34772 ownerDocument.removeEventListener("dragenter", handleDragEnter); 34773 }; 34774 }, []); 34775 return isDraggingWithin; 34776 }; 34777 function NavigationSubmenuEdit({ 34778 attributes, 34779 isSelected, 34780 setAttributes, 34781 mergeBlocks, 34782 onReplace, 34783 context, 34784 clientId 34785 }) { 34786 const { label, url, description } = attributes; 34787 const { 34788 showSubmenuIcon, 34789 maxNestingLevel, 34790 openSubmenusOnClick: contextOpenSubmenusOnClick 34791 } = context; 34792 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 34793 const openSubmenusOnClick = blockEditingMode !== "default" ? true : contextOpenSubmenusOnClick; 34794 const { clearBinding, createBinding } = useEntityBinding({ 34795 clientId, 34796 attributes 34797 }); 34798 const { __unstableMarkNextChangeAsNotPersistent, replaceBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 34799 const [isLinkOpen, setIsLinkOpen] = (0,external_wp_element_namespaceObject.useState)(false); 34800 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 34801 const listItemRef = (0,external_wp_element_namespaceObject.useRef)(null); 34802 const isDraggingWithin = edit_useIsDraggingWithin(listItemRef); 34803 const itemLabelPlaceholder = (0,external_wp_i18n_namespaceObject.__)("Add text\u2026"); 34804 const ref = (0,external_wp_element_namespaceObject.useRef)(); 34805 const { 34806 parentCount, 34807 isParentOfSelectedBlock, 34808 isImmediateParentOfSelectedBlock, 34809 hasChildren, 34810 selectedBlockHasChildren, 34811 onlyDescendantIsEmptyLink 34812 } = (0,external_wp_data_namespaceObject.useSelect)( 34813 (select) => { 34814 const { 34815 hasSelectedInnerBlock, 34816 getSelectedBlockClientId, 34817 getBlockParentsByBlockName, 34818 getBlock, 34819 getBlockCount, 34820 getBlockOrder 34821 } = select(external_wp_blockEditor_namespaceObject.store); 34822 let _onlyDescendantIsEmptyLink; 34823 const selectedBlockId = getSelectedBlockClientId(); 34824 const selectedBlockChildren = getBlockOrder(selectedBlockId); 34825 if (selectedBlockChildren?.length === 1) { 34826 const singleBlock = getBlock(selectedBlockChildren[0]); 34827 _onlyDescendantIsEmptyLink = singleBlock?.name === "core/navigation-link" && !singleBlock?.attributes?.label; 34828 } 34829 return { 34830 parentCount: getBlockParentsByBlockName( 34831 clientId, 34832 "core/navigation-submenu" 34833 ).length, 34834 isParentOfSelectedBlock: hasSelectedInnerBlock( 34835 clientId, 34836 true 34837 ), 34838 isImmediateParentOfSelectedBlock: hasSelectedInnerBlock( 34839 clientId, 34840 false 34841 ), 34842 hasChildren: !!getBlockCount(clientId), 34843 selectedBlockHasChildren: !!selectedBlockChildren?.length, 34844 onlyDescendantIsEmptyLink: _onlyDescendantIsEmptyLink 34845 }; 34846 }, 34847 [clientId] 34848 ); 34849 const prevHasChildren = (0,external_wp_compose_namespaceObject.usePrevious)(hasChildren); 34850 (0,external_wp_element_namespaceObject.useEffect)(() => { 34851 if (!openSubmenusOnClick && !url) { 34852 setIsLinkOpen(true); 34853 } 34854 }, []); 34855 (0,external_wp_element_namespaceObject.useEffect)(() => { 34856 if (!isSelected) { 34857 setIsLinkOpen(false); 34858 } 34859 }, [isSelected]); 34860 (0,external_wp_element_namespaceObject.useEffect)(() => { 34861 if (isLinkOpen && url) { 34862 if ((0,external_wp_url_namespaceObject.isURL)((0,external_wp_url_namespaceObject.prependHTTP)(label)) && /^.+\.[a-z]+/.test(label)) { 34863 selectLabelText(); 34864 } 34865 } 34866 }, [url]); 34867 function selectLabelText() { 34868 ref.current.focus(); 34869 const { ownerDocument } = ref.current; 34870 const { defaultView } = ownerDocument; 34871 const selection = defaultView.getSelection(); 34872 const range = ownerDocument.createRange(); 34873 range.selectNodeContents(ref.current); 34874 selection.removeAllRanges(); 34875 selection.addRange(range); 34876 } 34877 const { 34878 textColor, 34879 customTextColor, 34880 backgroundColor, 34881 customBackgroundColor 34882 } = getColors(context, parentCount > 0); 34883 function onKeyDown(event) { 34884 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, "k")) { 34885 event.preventDefault(); 34886 event.stopPropagation(); 34887 setIsLinkOpen(true); 34888 } 34889 } 34890 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 34891 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([setPopoverAnchor, listItemRef]), 34892 className: dist_clsx("wp-block-navigation-item", { 34893 "is-editing": isSelected || isParentOfSelectedBlock, 34894 "is-dragging-within": isDraggingWithin, 34895 "has-link": !!url, 34896 "has-child": hasChildren, 34897 "has-text-color": !!textColor || !!customTextColor, 34898 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor)]: !!textColor, 34899 "has-background": !!backgroundColor || customBackgroundColor, 34900 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("background-color", backgroundColor)]: !!backgroundColor, 34901 "open-on-click": openSubmenusOnClick 34902 }), 34903 style: { 34904 color: !textColor && customTextColor, 34905 backgroundColor: !backgroundColor && customBackgroundColor 34906 }, 34907 onKeyDown 34908 }); 34909 const innerBlocksColors = getColors(context, true); 34910 const allowedBlocks = parentCount >= maxNestingLevel ? ALLOWED_BLOCKS.filter( 34911 (blockName) => blockName !== "core/navigation-submenu" 34912 ) : ALLOWED_BLOCKS; 34913 const navigationChildBlockProps = getNavigationChildBlockProps(innerBlocksColors); 34914 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(navigationChildBlockProps, { 34915 allowedBlocks, 34916 defaultBlock: constants_DEFAULT_BLOCK, 34917 directInsert: true, 34918 // Ensure block toolbar is not too far removed from item 34919 // being edited. 34920 // see: https://github.com/WordPress/gutenberg/pull/34615. 34921 __experimentalCaptureToolbars: true, 34922 renderAppender: isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasChildren || // Show the appender while dragging to allow inserting element between item and the appender. 34923 hasChildren ? external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender : false 34924 }); 34925 const ParentElement = openSubmenusOnClick ? "button" : "a"; 34926 function transformToLink() { 34927 const newLinkBlock = (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link", attributes); 34928 replaceBlock(clientId, newLinkBlock); 34929 } 34930 (0,external_wp_element_namespaceObject.useEffect)(() => { 34931 if (!hasChildren && prevHasChildren) { 34932 __unstableMarkNextChangeAsNotPersistent(); 34933 transformToLink(); 34934 } 34935 }, [hasChildren, prevHasChildren]); 34936 const canConvertToLink = !selectedBlockHasChildren || onlyDescendantIsEmptyLink; 34937 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 34938 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.ToolbarGroup, { children: [ 34939 !openSubmenusOnClick && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34940 external_wp_components_namespaceObject.ToolbarButton, 34941 { 34942 name: "link", 34943 icon: link_default, 34944 title: (0,external_wp_i18n_namespaceObject.__)("Link"), 34945 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primary("k"), 34946 onClick: () => { 34947 setIsLinkOpen(true); 34948 } 34949 } 34950 ), 34951 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34952 external_wp_components_namespaceObject.ToolbarButton, 34953 { 34954 name: "revert", 34955 icon: remove_submenu_default, 34956 title: (0,external_wp_i18n_namespaceObject.__)("Convert to Link"), 34957 onClick: transformToLink, 34958 className: "wp-block-navigation__submenu__revert", 34959 disabled: !canConvertToLink 34960 } 34961 ) 34962 ] }) }), 34963 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34964 controls_Controls, 34965 { 34966 attributes, 34967 setAttributes, 34968 clientId 34969 } 34970 ) }), 34971 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 34972 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(ParentElement, { className: "wp-block-navigation-item__content", children: [ 34973 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34974 external_wp_blockEditor_namespaceObject.RichText, 34975 { 34976 ref, 34977 identifier: "label", 34978 className: "wp-block-navigation-item__label", 34979 value: label, 34980 onChange: (labelValue) => setAttributes({ label: labelValue }), 34981 onMerge: mergeBlocks, 34982 onReplace, 34983 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Navigation link text"), 34984 placeholder: itemLabelPlaceholder, 34985 withoutInteractiveFormatting: true, 34986 onClick: () => { 34987 if (!openSubmenusOnClick && !url) { 34988 setIsLinkOpen(true); 34989 } 34990 } 34991 } 34992 ), 34993 description && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-navigation-item__description", children: description }), 34994 !openSubmenusOnClick && isLinkOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 34995 LinkUI, 34996 { 34997 clientId, 34998 link: attributes, 34999 onClose: () => { 35000 setIsLinkOpen(false); 35001 }, 35002 anchor: popoverAnchor, 35003 onRemove: () => { 35004 setAttributes({ url: "" }); 35005 (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)("Link removed."), "assertive"); 35006 }, 35007 onChange: (updatedValue) => { 35008 const { 35009 isEntityLink, 35010 attributes: updatedAttributes 35011 } = updateAttributes( 35012 updatedValue, 35013 setAttributes, 35014 attributes 35015 ); 35016 if (isEntityLink) { 35017 createBinding(updatedAttributes); 35018 } else { 35019 clearBinding(updatedAttributes); 35020 } 35021 } 35022 } 35023 ) 35024 ] }), 35025 (showSubmenuIcon || openSubmenusOnClick) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-navigation__submenu-icon", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ItemSubmenuIcon, {}) }), 35026 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) 35027 ] }) 35028 ] }); 35029 } 35030 35031 35032 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/save.js 35033 35034 35035 function navigation_submenu_save_save() { 35036 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 35037 } 35038 35039 35040 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/transforms.js 35041 35042 const navigation_submenu_transforms_transforms = { 35043 to: [ 35044 { 35045 type: "block", 35046 blocks: ["core/navigation-link"], 35047 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35048 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/navigation-link", attributes) 35049 }, 35050 { 35051 type: "block", 35052 blocks: ["core/spacer"], 35053 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35054 transform: () => { 35055 return (0,external_wp_blocks_namespaceObject.createBlock)("core/spacer"); 35056 } 35057 }, 35058 { 35059 type: "block", 35060 blocks: ["core/site-logo"], 35061 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35062 transform: () => { 35063 return (0,external_wp_blocks_namespaceObject.createBlock)("core/site-logo"); 35064 } 35065 }, 35066 { 35067 type: "block", 35068 blocks: ["core/home-link"], 35069 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35070 transform: () => { 35071 return (0,external_wp_blocks_namespaceObject.createBlock)("core/home-link"); 35072 } 35073 }, 35074 { 35075 type: "block", 35076 blocks: ["core/social-links"], 35077 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35078 transform: () => { 35079 return (0,external_wp_blocks_namespaceObject.createBlock)("core/social-links"); 35080 } 35081 }, 35082 { 35083 type: "block", 35084 blocks: ["core/search"], 35085 isMatch: (attributes, block) => block?.innerBlocks?.length === 0, 35086 transform: () => { 35087 return (0,external_wp_blocks_namespaceObject.createBlock)("core/search"); 35088 } 35089 } 35090 ] 35091 }; 35092 var navigation_submenu_transforms_transforms_default = navigation_submenu_transforms_transforms; 35093 35094 35095 ;// ./node_modules/@wordpress/block-library/build-module/navigation-submenu/index.js 35096 35097 35098 35099 35100 35101 35102 35103 const { name: navigation_submenu_name } = navigation_submenu_block_namespaceObject; 35104 const navigation_submenu_settings = { 35105 icon: ({ context }) => { 35106 if (context === "list-view") { 35107 return page_default; 35108 } 35109 return add_submenu_default; 35110 }, 35111 __experimentalLabel(attributes, { context }) { 35112 const { label } = attributes; 35113 const customName = attributes?.metadata?.name; 35114 if (context === "list-view" && (customName || label)) { 35115 return attributes?.metadata?.name || label; 35116 } 35117 return label; 35118 }, 35119 edit: NavigationSubmenuEdit, 35120 example: { 35121 attributes: { 35122 label: (0,external_wp_i18n_namespaceObject._x)("About", "Example link text for Navigation Submenu"), 35123 type: "page" 35124 } 35125 }, 35126 save: navigation_submenu_save_save, 35127 transforms: navigation_submenu_transforms_transforms_default 35128 }; 35129 const navigation_submenu_init = () => initBlock({ name: navigation_submenu_name, metadata: navigation_submenu_block_namespaceObject, settings: navigation_submenu_settings }); 35130 35131 35132 ;// ./node_modules/@wordpress/icons/build-module/library/page-break.js 35133 35134 35135 var page_break_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.5 9V6a2 2 0 0 0-2-2h-7a2 2 0 0 0-2 2v3H8V6a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v3h1.5Zm0 6.5V18a2 2 0 0 1-2 2h-7a2 2 0 0 1-2-2v-2.5H8V18a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2.5h1.5ZM4 13h16v-1.5H4V13Z" }) }); 35136 35137 35138 ;// ./node_modules/@wordpress/block-library/build-module/nextpage/edit.js 35139 35140 35141 35142 function NextPageEdit() { 35143 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: (0,external_wp_i18n_namespaceObject.__)("Page break") }) }); 35144 } 35145 35146 35147 ;// ./node_modules/@wordpress/block-library/build-module/nextpage/block.json 35148 const nextpage_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/nextpage","title":"Page Break","category":"design","description":"Separate your content into a multi-page experience.","keywords":["next page","pagination"],"parent":["core/post-content"],"textdomain":"default","supports":{"customClassName":false,"className":false,"html":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-nextpage-editor"}'); 35149 ;// ./node_modules/@wordpress/block-library/build-module/nextpage/save.js 35150 35151 35152 function nextpage_save_save() { 35153 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: "<!--nextpage-->" }); 35154 } 35155 35156 35157 ;// ./node_modules/@wordpress/block-library/build-module/nextpage/transforms.js 35158 35159 const nextpage_transforms_transforms = { 35160 from: [ 35161 { 35162 type: "raw", 35163 schema: { 35164 "wp-block": { attributes: ["data-block"] } 35165 }, 35166 isMatch: (node) => node.dataset && node.dataset.block === "core/nextpage", 35167 transform() { 35168 return (0,external_wp_blocks_namespaceObject.createBlock)("core/nextpage", {}); 35169 } 35170 } 35171 ] 35172 }; 35173 var nextpage_transforms_transforms_default = nextpage_transforms_transforms; 35174 35175 35176 ;// ./node_modules/@wordpress/block-library/build-module/nextpage/index.js 35177 35178 35179 35180 35181 35182 35183 const { name: nextpage_name } = nextpage_block_namespaceObject; 35184 const nextpage_settings = { 35185 icon: page_break_default, 35186 example: {}, 35187 transforms: nextpage_transforms_transforms_default, 35188 edit: NextPageEdit, 35189 save: nextpage_save_save 35190 }; 35191 const nextpage_init = () => initBlock({ name: nextpage_name, metadata: nextpage_block_namespaceObject, settings: nextpage_settings }); 35192 35193 35194 ;// ./node_modules/@wordpress/block-library/build-module/pattern/block.json 35195 const pattern_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/pattern","title":"Pattern Placeholder","category":"theme","description":"Show a block pattern.","supports":{"html":false,"inserter":false,"renaming":false,"blockVisibility":false,"interactivity":{"clientNavigation":true}},"textdomain":"default","attributes":{"slug":{"type":"string"}}}'); 35196 ;// ./node_modules/@wordpress/block-library/build-module/pattern/recursion-detector.js 35197 35198 const cachedParsers = /* @__PURE__ */ new WeakMap(); 35199 function useParsePatternDependencies() { 35200 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 35201 if (!cachedParsers.has(registry)) { 35202 const deps = /* @__PURE__ */ new Map(); 35203 cachedParsers.set( 35204 registry, 35205 parsePatternDependencies.bind(null, deps) 35206 ); 35207 } 35208 return cachedParsers.get(registry); 35209 } 35210 function parsePatternDependencies(deps, { name, blocks }) { 35211 const queue = [...blocks]; 35212 while (queue.length) { 35213 const block = queue.shift(); 35214 for (const innerBlock of block.innerBlocks ?? []) { 35215 queue.unshift(innerBlock); 35216 } 35217 if (block.name === "core/pattern") { 35218 registerDependency(deps, name, block.attributes.slug); 35219 } 35220 } 35221 } 35222 function registerDependency(deps, a, b) { 35223 if (!deps.has(a)) { 35224 deps.set(a, /* @__PURE__ */ new Set()); 35225 } 35226 deps.get(a).add(b); 35227 if (hasCycle(deps, a)) { 35228 throw new TypeError( 35229 `Pattern $a} has a circular dependency and cannot be rendered.` 35230 ); 35231 } 35232 } 35233 function hasCycle(deps, slug, visitedNodes = /* @__PURE__ */ new Set(), currentPath = /* @__PURE__ */ new Set()) { 35234 visitedNodes.add(slug); 35235 currentPath.add(slug); 35236 const dependencies = deps.get(slug) ?? /* @__PURE__ */ new Set(); 35237 for (const dependency of dependencies) { 35238 if (!visitedNodes.has(dependency)) { 35239 if (hasCycle(deps, dependency, visitedNodes, currentPath)) { 35240 return true; 35241 } 35242 } else if (currentPath.has(dependency)) { 35243 return true; 35244 } 35245 } 35246 currentPath.delete(slug); 35247 return false; 35248 } 35249 35250 35251 ;// ./node_modules/@wordpress/block-library/build-module/pattern/edit.js 35252 35253 35254 35255 35256 35257 35258 35259 35260 const PatternEdit = ({ attributes, clientId }) => { 35261 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 35262 const selectedPattern = (0,external_wp_data_namespaceObject.useSelect)( 35263 (select) => select(external_wp_blockEditor_namespaceObject.store).__experimentalGetParsedPattern( 35264 attributes.slug 35265 ), 35266 [attributes.slug] 35267 ); 35268 const currentThemeStylesheet = (0,external_wp_data_namespaceObject.useSelect)( 35269 (select) => select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.stylesheet, 35270 [] 35271 ); 35272 const { 35273 replaceBlocks, 35274 setBlockEditingMode, 35275 __unstableMarkNextChangeAsNotPersistent 35276 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 35277 const { getBlockRootClientId, getBlockEditingMode } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 35278 const [hasRecursionError, setHasRecursionError] = (0,external_wp_element_namespaceObject.useState)(false); 35279 const parsePatternDependencies = useParsePatternDependencies(); 35280 function injectThemeAttributeInBlockTemplateContent(block) { 35281 if (block.innerBlocks.find( 35282 (innerBlock) => innerBlock.name === "core/template-part" 35283 )) { 35284 block.innerBlocks = block.innerBlocks.map((innerBlock) => { 35285 if (innerBlock.name === "core/template-part" && innerBlock.attributes.theme === void 0) { 35286 innerBlock.attributes.theme = currentThemeStylesheet; 35287 } 35288 return innerBlock; 35289 }); 35290 } 35291 if (block.name === "core/template-part" && block.attributes.theme === void 0) { 35292 block.attributes.theme = currentThemeStylesheet; 35293 } 35294 return block; 35295 } 35296 (0,external_wp_element_namespaceObject.useEffect)(() => { 35297 if (!hasRecursionError && selectedPattern?.blocks) { 35298 try { 35299 parsePatternDependencies(selectedPattern); 35300 } catch (error) { 35301 setHasRecursionError(true); 35302 return; 35303 } 35304 window.queueMicrotask(() => { 35305 const rootClientId = getBlockRootClientId(clientId); 35306 const clonedBlocks = selectedPattern.blocks.map( 35307 (block) => (0,external_wp_blocks_namespaceObject.cloneBlock)( 35308 injectThemeAttributeInBlockTemplateContent(block) 35309 ) 35310 ); 35311 if (clonedBlocks.length === 1 && selectedPattern.categories?.length > 0) { 35312 clonedBlocks[0].attributes = { 35313 ...clonedBlocks[0].attributes, 35314 metadata: { 35315 ...clonedBlocks[0].attributes.metadata, 35316 categories: selectedPattern.categories, 35317 patternName: selectedPattern.name, 35318 name: clonedBlocks[0].attributes.metadata.name || selectedPattern.title 35319 } 35320 }; 35321 } 35322 const rootEditingMode = getBlockEditingMode(rootClientId); 35323 registry.batch(() => { 35324 __unstableMarkNextChangeAsNotPersistent(); 35325 setBlockEditingMode(rootClientId, "default"); 35326 __unstableMarkNextChangeAsNotPersistent(); 35327 replaceBlocks(clientId, clonedBlocks); 35328 __unstableMarkNextChangeAsNotPersistent(); 35329 setBlockEditingMode(rootClientId, rootEditingMode); 35330 }); 35331 }); 35332 } 35333 }, [ 35334 clientId, 35335 hasRecursionError, 35336 selectedPattern, 35337 __unstableMarkNextChangeAsNotPersistent, 35338 replaceBlocks, 35339 getBlockEditingMode, 35340 setBlockEditingMode, 35341 getBlockRootClientId 35342 ]); 35343 const props = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 35344 if (hasRecursionError) { 35345 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...props, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.sprintf)( 35346 // translators: A warning in which %s is the name of a pattern. 35347 (0,external_wp_i18n_namespaceObject.__)('Pattern "%s" cannot be rendered inside itself.'), 35348 selectedPattern?.name 35349 ) }) }); 35350 } 35351 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...props }); 35352 }; 35353 var pattern_edit_edit_default = PatternEdit; 35354 35355 35356 ;// ./node_modules/@wordpress/block-library/build-module/pattern/index.js 35357 35358 35359 35360 const { name: pattern_name } = pattern_block_namespaceObject; 35361 const pattern_settings = { 35362 edit: pattern_edit_edit_default 35363 }; 35364 const pattern_init = () => initBlock({ name: pattern_name, metadata: pattern_block_namespaceObject, settings: pattern_settings }); 35365 35366 35367 ;// ./node_modules/@wordpress/icons/build-module/library/pages.js 35368 35369 35370 var pages_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 35371 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M14.5 5.5h-7V7h7V5.5ZM7.5 9h7v1.5h-7V9Zm7 3.5h-7V14h7v-1.5Z" }), 35372 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16 2H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2ZM6 3.5h10a.5.5 0 0 1 .5.5v12a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5Z" }), 35373 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20 8v11c0 .69-.31 1-.999 1H6v1.5h13.001c1.52 0 2.499-.982 2.499-2.5V8H20Z" }) 35374 ] }); 35375 35376 35377 ;// ./node_modules/@wordpress/block-library/build-module/page-list/block.json 35378 const page_list_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/page-list","title":"Page List","category":"widgets","allowedBlocks":["core/page-list-item"],"description":"Display a list of all pages.","keywords":["menu","navigation"],"textdomain":"default","attributes":{"parentPageID":{"type":"integer","default":0},"isNested":{"type":"boolean","default":false}},"usesContext":["textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","fontSize","customFontSize","showSubmenuIcon","style","openSubmenusOnClick"],"supports":{"reusable":false,"html":false,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"color":{"text":true,"background":true,"link":true,"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"spacing":{"padding":true,"margin":true,"__experimentalDefaultControls":{"padding":false,"margin":false}},"contentRole":true},"editorStyle":"wp-block-page-list-editor","style":"wp-block-page-list"}'); 35379 ;// ./node_modules/@wordpress/block-library/build-module/page-list/use-convert-to-navigation-links.js 35380 35381 35382 35383 35384 function createNavigationLinks(pages = []) { 35385 const POST_TYPE_KIND = "post-type"; 35386 const linkMap = {}; 35387 const navigationLinks = []; 35388 pages.forEach(({ id, title, link: url, type, parent }) => { 35389 const innerBlocks = linkMap[id]?.innerBlocks ?? []; 35390 linkMap[id] = (0,external_wp_blocks_namespaceObject.createBlock)( 35391 "core/navigation-link", 35392 { 35393 id, 35394 label: title.rendered, 35395 url, 35396 type, 35397 kind: POST_TYPE_KIND, 35398 metadata: { 35399 bindings: buildNavigationLinkEntityBinding(POST_TYPE_KIND) 35400 } 35401 }, 35402 innerBlocks 35403 ); 35404 if (!parent) { 35405 navigationLinks.push(linkMap[id]); 35406 } else { 35407 if (!linkMap[parent]) { 35408 linkMap[parent] = { innerBlocks: [] }; 35409 } 35410 const parentLinkInnerBlocks = linkMap[parent].innerBlocks; 35411 parentLinkInnerBlocks.push(linkMap[id]); 35412 } 35413 }); 35414 return navigationLinks; 35415 } 35416 function findNavigationLinkById(navigationLinks, id) { 35417 for (const navigationLink of navigationLinks) { 35418 if (navigationLink.attributes.id === id) { 35419 return navigationLink; 35420 } 35421 if (navigationLink.innerBlocks && navigationLink.innerBlocks.length) { 35422 const foundNavigationLink = findNavigationLinkById( 35423 navigationLink.innerBlocks, 35424 id 35425 ); 35426 if (foundNavigationLink) { 35427 return foundNavigationLink; 35428 } 35429 } 35430 } 35431 return null; 35432 } 35433 function convertToNavigationLinks(pages = [], parentPageID = null) { 35434 let navigationLinks = createNavigationLinks(pages); 35435 if (parentPageID) { 35436 const parentPage = findNavigationLinkById( 35437 navigationLinks, 35438 parentPageID 35439 ); 35440 if (parentPage && parentPage.innerBlocks) { 35441 navigationLinks = parentPage.innerBlocks; 35442 } 35443 } 35444 const transformSubmenus = (listOfLinks) => { 35445 listOfLinks.forEach((block, index, listOfLinksArray) => { 35446 const { attributes, innerBlocks } = block; 35447 if (innerBlocks.length !== 0) { 35448 transformSubmenus(innerBlocks); 35449 const transformedBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 35450 "core/navigation-submenu", 35451 attributes, 35452 innerBlocks 35453 ); 35454 listOfLinksArray[index] = transformedBlock; 35455 } 35456 }); 35457 }; 35458 transformSubmenus(navigationLinks); 35459 return navigationLinks; 35460 } 35461 function useConvertToNavigationLinks({ 35462 clientId, 35463 pages, 35464 parentClientId, 35465 parentPageID 35466 }) { 35467 const { replaceBlock, selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 35468 return () => { 35469 const navigationLinks = convertToNavigationLinks(pages, parentPageID); 35470 replaceBlock(clientId, navigationLinks); 35471 selectBlock(parentClientId); 35472 }; 35473 } 35474 35475 35476 ;// ./node_modules/@wordpress/block-library/build-module/page-list/convert-to-links-modal.js 35477 35478 35479 35480 35481 const convertDescription = (0,external_wp_i18n_namespaceObject.__)( 35482 "This Navigation Menu displays your website's pages. Editing it will enable you to add, delete, or reorder pages. However, new pages will no longer be added automatically." 35483 ); 35484 function ConvertToLinksModal({ onClick, onClose, disabled }) { 35485 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 35486 external_wp_components_namespaceObject.Modal, 35487 { 35488 onRequestClose: onClose, 35489 title: (0,external_wp_i18n_namespaceObject.__)("Edit Page List"), 35490 className: "wp-block-page-list-modal", 35491 aria: { 35492 describedby: (0,external_wp_compose_namespaceObject.useInstanceId)( 35493 ConvertToLinksModal, 35494 "wp-block-page-list-modal__description" 35495 ) 35496 }, 35497 children: [ 35498 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35499 "p", 35500 { 35501 id: (0,external_wp_compose_namespaceObject.useInstanceId)( 35502 ConvertToLinksModal, 35503 "wp-block-page-list-modal__description" 35504 ), 35505 children: convertDescription 35506 } 35507 ), 35508 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-page-list-modal-buttons", children: [ 35509 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35510 external_wp_components_namespaceObject.Button, 35511 { 35512 __next40pxDefaultSize: true, 35513 variant: "tertiary", 35514 onClick: onClose, 35515 children: (0,external_wp_i18n_namespaceObject.__)("Cancel") 35516 } 35517 ), 35518 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35519 external_wp_components_namespaceObject.Button, 35520 { 35521 __next40pxDefaultSize: true, 35522 variant: "primary", 35523 accessibleWhenDisabled: true, 35524 disabled, 35525 onClick, 35526 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 35527 } 35528 ) 35529 ] }) 35530 ] 35531 } 35532 ); 35533 } 35534 35535 35536 ;// ./node_modules/@wordpress/block-library/build-module/page-list/edit.js 35537 35538 35539 35540 35541 35542 35543 35544 35545 35546 35547 35548 35549 const MAX_PAGE_COUNT = 100; 35550 const NOOP = () => { 35551 }; 35552 function BlockContent({ 35553 blockProps, 35554 innerBlocksProps, 35555 hasResolvedPages, 35556 blockList, 35557 pages, 35558 parentPageID 35559 }) { 35560 if (!hasResolvedPages) { 35561 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-page-list__loading-indicator-container", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, { className: "wp-block-page-list__loading-indicator" }) }) }); 35562 } 35563 if (pages === null) { 35564 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "warning", isDismissible: false, children: (0,external_wp_i18n_namespaceObject.__)("Page List: Cannot retrieve Pages.") }) }); 35565 } 35566 if (pages.length === 0) { 35567 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "info", isDismissible: false, children: (0,external_wp_i18n_namespaceObject.__)("Page List: Cannot retrieve Pages.") }) }); 35568 } 35569 if (blockList.length === 0) { 35570 const parentPageDetails = pages.find( 35571 (page) => page.id === parentPageID 35572 ); 35573 if (parentPageDetails?.title?.rendered) { 35574 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.sprintf)( 35575 // translators: %s: Page title. 35576 (0,external_wp_i18n_namespaceObject.__)('Page List: "%s" page has no children.'), 35577 parentPageDetails.title.rendered 35578 ) }) }); 35579 } 35580 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { status: "warning", isDismissible: false, children: (0,external_wp_i18n_namespaceObject.__)("Page List: Cannot retrieve Pages.") }) }); 35581 } 35582 if (pages.length > 0) { 35583 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...innerBlocksProps }); 35584 } 35585 } 35586 function PageListEdit({ 35587 context, 35588 clientId, 35589 attributes, 35590 setAttributes 35591 }) { 35592 const { parentPageID } = attributes; 35593 const [isOpen, setOpen] = (0,external_wp_element_namespaceObject.useState)(false); 35594 const openModal = (0,external_wp_element_namespaceObject.useCallback)(() => setOpen(true), []); 35595 const closeModal = () => setOpen(false); 35596 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 35597 const { records: pages, hasResolved: hasResolvedPages } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 35598 "postType", 35599 "page", 35600 { 35601 per_page: MAX_PAGE_COUNT, 35602 _fields: ["id", "link", "menu_order", "parent", "title", "type"], 35603 // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby 35604 // values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent 35605 // sort. 35606 orderby: "menu_order", 35607 order: "asc" 35608 } 35609 ); 35610 const allowConvertToLinks = "showSubmenuIcon" in context && pages?.length > 0 && pages?.length <= MAX_PAGE_COUNT; 35611 const pagesByParentId = (0,external_wp_element_namespaceObject.useMemo)(() => { 35612 if (pages === null) { 35613 return /* @__PURE__ */ new Map(); 35614 } 35615 const sortedPages = pages.sort((a, b) => { 35616 if (a.menu_order === b.menu_order) { 35617 return a.title.rendered.localeCompare(b.title.rendered); 35618 } 35619 return a.menu_order - b.menu_order; 35620 }); 35621 return sortedPages.reduce((accumulator, page) => { 35622 const { parent } = page; 35623 if (accumulator.has(parent)) { 35624 accumulator.get(parent).push(page); 35625 } else { 35626 accumulator.set(parent, [page]); 35627 } 35628 return accumulator; 35629 }, /* @__PURE__ */ new Map()); 35630 }, [pages]); 35631 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 35632 className: dist_clsx("wp-block-page-list", { 35633 "has-text-color": !!context.textColor, 35634 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", context.textColor)]: !!context.textColor, 35635 "has-background": !!context.backgroundColor, 35636 [(0,external_wp_blockEditor_namespaceObject.getColorClassName)( 35637 "background-color", 35638 context.backgroundColor 35639 )]: !!context.backgroundColor 35640 }), 35641 style: { ...context.style?.color } 35642 }); 35643 const pagesTree = (0,external_wp_element_namespaceObject.useMemo)( 35644 function makePagesTree(parentId = 0, level = 0) { 35645 const childPages = pagesByParentId.get(parentId); 35646 if (!childPages?.length) { 35647 return []; 35648 } 35649 return childPages.reduce((tree, page) => { 35650 const hasChildren = pagesByParentId.has(page.id); 35651 const item = { 35652 value: page.id, 35653 label: "\u2014 ".repeat(level) + page.title.rendered, 35654 rawName: page.title.rendered 35655 }; 35656 tree.push(item); 35657 if (hasChildren) { 35658 tree.push(...makePagesTree(page.id, level + 1)); 35659 } 35660 return tree; 35661 }, []); 35662 }, 35663 [pagesByParentId] 35664 ); 35665 const blockList = (0,external_wp_element_namespaceObject.useMemo)( 35666 function getBlockList(parentId = parentPageID) { 35667 const childPages = pagesByParentId.get(parentId); 35668 if (!childPages?.length) { 35669 return []; 35670 } 35671 return childPages.reduce((template, page) => { 35672 const hasChildren = pagesByParentId.has(page.id); 35673 const pageProps = { 35674 id: page.id, 35675 label: ( 35676 // translators: displayed when a page has an empty title. 35677 page.title?.rendered?.trim() !== "" ? page.title?.rendered : (0,external_wp_i18n_namespaceObject.__)("(no title)") 35678 ), 35679 title: ( 35680 // translators: displayed when a page has an empty title. 35681 page.title?.rendered?.trim() !== "" ? page.title?.rendered : (0,external_wp_i18n_namespaceObject.__)("(no title)") 35682 ), 35683 link: page.url, 35684 hasChildren 35685 }; 35686 let item = null; 35687 const children = getBlockList(page.id); 35688 item = (0,external_wp_blocks_namespaceObject.createBlock)( 35689 "core/page-list-item", 35690 pageProps, 35691 children 35692 ); 35693 template.push(item); 35694 return template; 35695 }, []); 35696 }, 35697 [pagesByParentId, parentPageID] 35698 ); 35699 const { 35700 isNested, 35701 hasSelectedChild, 35702 parentClientId, 35703 hasDraggedChild, 35704 isChildOfNavigation 35705 } = (0,external_wp_data_namespaceObject.useSelect)( 35706 (select) => { 35707 const { 35708 getBlockParentsByBlockName, 35709 hasSelectedInnerBlock, 35710 hasDraggedInnerBlock 35711 } = select(external_wp_blockEditor_namespaceObject.store); 35712 const blockParents = getBlockParentsByBlockName( 35713 clientId, 35714 "core/navigation-submenu", 35715 true 35716 ); 35717 const navigationBlockParents = getBlockParentsByBlockName( 35718 clientId, 35719 "core/navigation", 35720 true 35721 ); 35722 return { 35723 isNested: blockParents.length > 0, 35724 isChildOfNavigation: navigationBlockParents.length > 0, 35725 hasSelectedChild: hasSelectedInnerBlock(clientId, true), 35726 hasDraggedChild: hasDraggedInnerBlock(clientId, true), 35727 parentClientId: navigationBlockParents[0] 35728 }; 35729 }, 35730 [clientId] 35731 ); 35732 const convertToNavigationLinks = useConvertToNavigationLinks({ 35733 clientId, 35734 pages, 35735 parentClientId, 35736 parentPageID 35737 }); 35738 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 35739 renderAppender: false, 35740 __unstableDisableDropZone: true, 35741 templateLock: isChildOfNavigation ? false : "all", 35742 onInput: NOOP, 35743 onChange: NOOP, 35744 value: blockList 35745 }); 35746 const { selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 35747 (0,external_wp_element_namespaceObject.useEffect)(() => { 35748 if (hasSelectedChild || hasDraggedChild) { 35749 openModal(); 35750 selectBlock(parentClientId); 35751 } 35752 }, [ 35753 hasSelectedChild, 35754 hasDraggedChild, 35755 parentClientId, 35756 selectBlock, 35757 openModal 35758 ]); 35759 (0,external_wp_element_namespaceObject.useEffect)(() => { 35760 setAttributes({ isNested }); 35761 }, [isNested, setAttributes]); 35762 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 35763 (pagesTree.length > 0 || allowConvertToLinks) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 35764 external_wp_components_namespaceObject.__experimentalToolsPanel, 35765 { 35766 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 35767 resetAll: () => { 35768 setAttributes({ parentPageID: 0 }); 35769 }, 35770 dropdownMenuProps, 35771 children: [ 35772 pagesTree.length > 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35773 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 35774 { 35775 label: (0,external_wp_i18n_namespaceObject.__)("Parent Page"), 35776 hasValue: () => parentPageID !== 0, 35777 onDeselect: () => setAttributes({ parentPageID: 0 }), 35778 isShownByDefault: true, 35779 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35780 external_wp_components_namespaceObject.ComboboxControl, 35781 { 35782 __nextHasNoMarginBottom: true, 35783 __next40pxDefaultSize: true, 35784 className: "editor-page-attributes__parent", 35785 label: (0,external_wp_i18n_namespaceObject.__)("Parent"), 35786 value: parentPageID, 35787 options: pagesTree, 35788 onChange: (value) => setAttributes({ 35789 parentPageID: value ?? 0 35790 }), 35791 help: (0,external_wp_i18n_namespaceObject.__)( 35792 "Choose a page to show only its subpages." 35793 ) 35794 } 35795 ) 35796 } 35797 ), 35798 allowConvertToLinks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { style: { gridColumn: "1 / -1" }, children: [ 35799 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: convertDescription }), 35800 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35801 external_wp_components_namespaceObject.Button, 35802 { 35803 __next40pxDefaultSize: true, 35804 variant: "primary", 35805 accessibleWhenDisabled: true, 35806 disabled: !hasResolvedPages, 35807 onClick: convertToNavigationLinks, 35808 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 35809 } 35810 ) 35811 ] }) 35812 ] 35813 } 35814 ) }), 35815 allowConvertToLinks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 35816 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35817 external_wp_components_namespaceObject.ToolbarButton, 35818 { 35819 title: (0,external_wp_i18n_namespaceObject.__)("Edit"), 35820 onClick: openModal, 35821 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 35822 } 35823 ) }), 35824 isOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35825 ConvertToLinksModal, 35826 { 35827 onClick: convertToNavigationLinks, 35828 onClose: closeModal, 35829 disabled: !hasResolvedPages 35830 } 35831 ) 35832 ] }), 35833 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35834 BlockContent, 35835 { 35836 blockProps, 35837 innerBlocksProps, 35838 hasResolvedPages, 35839 blockList, 35840 pages, 35841 parentPageID 35842 } 35843 ) 35844 ] }); 35845 } 35846 35847 35848 ;// ./node_modules/@wordpress/block-library/build-module/page-list/index.js 35849 35850 35851 35852 35853 const { name: page_list_name } = page_list_block_namespaceObject; 35854 const page_list_settings = { 35855 icon: pages_default, 35856 example: {}, 35857 edit: PageListEdit 35858 }; 35859 const page_list_init = () => initBlock({ name: page_list_name, metadata: page_list_block_namespaceObject, settings: page_list_settings }); 35860 35861 35862 ;// ./node_modules/@wordpress/block-library/build-module/page-list-item/block.json 35863 const page_list_item_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/page-list-item","title":"Page List Item","category":"widgets","parent":["core/page-list"],"description":"Displays a page inside a list of all pages.","keywords":["page","menu","navigation"],"textdomain":"default","attributes":{"id":{"type":"number"},"label":{"type":"string"},"title":{"type":"string"},"link":{"type":"string"},"hasChildren":{"type":"boolean"}},"usesContext":["textColor","customTextColor","backgroundColor","customBackgroundColor","overlayTextColor","customOverlayTextColor","overlayBackgroundColor","customOverlayBackgroundColor","fontSize","customFontSize","showSubmenuIcon","style","openSubmenusOnClick"],"supports":{"reusable":false,"html":false,"lock":false,"inserter":false,"__experimentalToolbar":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-page-list-editor","style":"wp-block-page-list"}'); 35864 ;// ./node_modules/@wordpress/block-library/build-module/navigation-link/icons.js 35865 35866 35867 const icons_ItemSubmenuIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35868 external_wp_components_namespaceObject.SVG, 35869 { 35870 xmlns: "http://www.w3.org/2000/svg", 35871 width: "12", 35872 height: "12", 35873 viewBox: "0 0 12 12", 35874 fill: "none", 35875 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M1.50002 4L6.00002 8L10.5 4", strokeWidth: "1.5" }) 35876 } 35877 ); 35878 35879 35880 ;// ./node_modules/@wordpress/block-library/build-module/page-list-item/edit.js 35881 35882 35883 35884 35885 35886 35887 35888 35889 function useFrontPageId() { 35890 return (0,external_wp_data_namespaceObject.useSelect)((select) => { 35891 const canReadSettings = select(external_wp_coreData_namespaceObject.store).canUser("read", { 35892 kind: "root", 35893 name: "site" 35894 }); 35895 if (!canReadSettings) { 35896 return void 0; 35897 } 35898 const site = select(external_wp_coreData_namespaceObject.store).getEntityRecord("root", "site"); 35899 return site?.show_on_front === "page" && site?.page_on_front; 35900 }, []); 35901 } 35902 function PageListItemEdit({ context, attributes }) { 35903 const { id, label, link, hasChildren, title } = attributes; 35904 const isNavigationChild = "showSubmenuIcon" in context; 35905 const frontPageId = useFrontPageId(); 35906 const innerBlocksColors = getColors(context, true); 35907 const navigationChildBlockProps = getNavigationChildBlockProps(innerBlocksColors); 35908 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(navigationChildBlockProps, { 35909 className: "wp-block-pages-list__item" 35910 }); 35911 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps); 35912 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 35913 "li", 35914 { 35915 className: dist_clsx("wp-block-pages-list__item", { 35916 "has-child": hasChildren, 35917 "wp-block-navigation-item": isNavigationChild, 35918 "open-on-click": context.openSubmenusOnClick, 35919 "open-on-hover-click": !context.openSubmenusOnClick && context.showSubmenuIcon, 35920 "menu-item-home": id === frontPageId 35921 }), 35922 children: [ 35923 hasChildren && context.openSubmenusOnClick ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 35924 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35925 "button", 35926 { 35927 type: "button", 35928 className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle", 35929 "aria-expanded": "false", 35930 children: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(label) 35931 } 35932 ), 35933 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(icons_ItemSubmenuIcon, {}) }) 35934 ] }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35935 "a", 35936 { 35937 className: dist_clsx("wp-block-pages-list__item__link", { 35938 "wp-block-navigation-item__content": isNavigationChild 35939 }), 35940 href: link, 35941 children: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title) 35942 } 35943 ), 35944 hasChildren && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 35945 !context.openSubmenusOnClick && context.showSubmenuIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 35946 "button", 35947 { 35948 className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon", 35949 "aria-expanded": "false", 35950 type: "button", 35951 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(icons_ItemSubmenuIcon, {}) 35952 } 35953 ), 35954 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...innerBlocksProps }) 35955 ] }) 35956 ] 35957 }, 35958 id 35959 ); 35960 } 35961 35962 35963 ;// ./node_modules/@wordpress/block-library/build-module/page-list-item/index.js 35964 35965 35966 35967 35968 const { name: page_list_item_name } = page_list_item_block_namespaceObject; 35969 const page_list_item_settings = { 35970 __experimentalLabel: ({ label }) => label, 35971 icon: page_default, 35972 example: {}, 35973 edit: PageListItemEdit 35974 }; 35975 const page_list_item_init = () => initBlock({ name: page_list_item_name, metadata: page_list_item_block_namespaceObject, settings: page_list_item_settings }); 35976 35977 35978 ;// ./node_modules/@wordpress/icons/build-module/library/paragraph.js 35979 35980 35981 var paragraph_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m9.99609 14v-.2251l.00391.0001v6.225h1.5v-14.5h2.5v14.5h1.5v-14.5h3v-1.5h-8.50391c-2.76142 0-5 2.23858-5 5 0 2.7614 2.23858 5 5 5z" }) }); 35982 35983 35984 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js 35985 35986 35987 35988 35989 35990 const deprecated_supports = { 35991 className: false 35992 }; 35993 const paragraph_deprecated_blockAttributes = { 35994 align: { 35995 type: "string" 35996 }, 35997 content: { 35998 type: "string", 35999 source: "html", 36000 selector: "p", 36001 default: "" 36002 }, 36003 dropCap: { 36004 type: "boolean", 36005 default: false 36006 }, 36007 placeholder: { 36008 type: "string" 36009 }, 36010 textColor: { 36011 type: "string" 36012 }, 36013 backgroundColor: { 36014 type: "string" 36015 }, 36016 fontSize: { 36017 type: "string" 36018 }, 36019 direction: { 36020 type: "string", 36021 enum: ["ltr", "rtl"] 36022 }, 36023 style: { 36024 type: "object" 36025 } 36026 }; 36027 const migrateCustomColorsAndFontSizes = (attributes) => { 36028 if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customFontSize) { 36029 return attributes; 36030 } 36031 const style2 = {}; 36032 if (attributes.customTextColor || attributes.customBackgroundColor) { 36033 style2.color = {}; 36034 } 36035 if (attributes.customTextColor) { 36036 style2.color.text = attributes.customTextColor; 36037 } 36038 if (attributes.customBackgroundColor) { 36039 style2.color.background = attributes.customBackgroundColor; 36040 } 36041 if (attributes.customFontSize) { 36042 style2.typography = { fontSize: attributes.customFontSize }; 36043 } 36044 const { 36045 customTextColor, 36046 customBackgroundColor, 36047 customFontSize, 36048 ...restAttributes 36049 } = attributes; 36050 return { 36051 ...restAttributes, 36052 style: style2 36053 }; 36054 }; 36055 const { style, ...restBlockAttributes } = paragraph_deprecated_blockAttributes; 36056 const paragraph_deprecated_deprecated = [ 36057 // Version without drop cap on aligned text. 36058 { 36059 supports: deprecated_supports, 36060 attributes: { 36061 ...restBlockAttributes, 36062 customTextColor: { 36063 type: "string" 36064 }, 36065 customBackgroundColor: { 36066 type: "string" 36067 }, 36068 customFontSize: { 36069 type: "number" 36070 } 36071 }, 36072 save({ attributes }) { 36073 const { align, content, dropCap, direction } = attributes; 36074 const className = dist_clsx({ 36075 "has-drop-cap": align === ((0,external_wp_i18n_namespaceObject.isRTL)() ? "left" : "right") || align === "center" ? false : dropCap, 36076 [`has-text-align-$align}`]: align 36077 }); 36078 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, dir: direction }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 36079 } 36080 }, 36081 { 36082 supports: deprecated_supports, 36083 attributes: { 36084 ...restBlockAttributes, 36085 customTextColor: { 36086 type: "string" 36087 }, 36088 customBackgroundColor: { 36089 type: "string" 36090 }, 36091 customFontSize: { 36092 type: "number" 36093 } 36094 }, 36095 migrate: migrateCustomColorsAndFontSizes, 36096 save({ attributes }) { 36097 const { 36098 align, 36099 content, 36100 dropCap, 36101 backgroundColor, 36102 textColor, 36103 customBackgroundColor, 36104 customTextColor, 36105 fontSize, 36106 customFontSize, 36107 direction 36108 } = attributes; 36109 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 36110 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 36111 "background-color", 36112 backgroundColor 36113 ); 36114 const fontSizeClass = (0,external_wp_blockEditor_namespaceObject.getFontSizeClass)(fontSize); 36115 const className = dist_clsx({ 36116 "has-text-color": textColor || customTextColor, 36117 "has-background": backgroundColor || customBackgroundColor, 36118 "has-drop-cap": dropCap, 36119 [`has-text-align-$align}`]: align, 36120 [fontSizeClass]: fontSizeClass, 36121 [textClass]: textClass, 36122 [backgroundClass]: backgroundClass 36123 }); 36124 const styles = { 36125 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 36126 color: textClass ? void 0 : customTextColor, 36127 fontSize: fontSizeClass ? void 0 : customFontSize 36128 }; 36129 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36130 external_wp_blockEditor_namespaceObject.RichText.Content, 36131 { 36132 tagName: "p", 36133 style: styles, 36134 className: className ? className : void 0, 36135 value: content, 36136 dir: direction 36137 } 36138 ); 36139 } 36140 }, 36141 { 36142 supports: deprecated_supports, 36143 attributes: { 36144 ...restBlockAttributes, 36145 customTextColor: { 36146 type: "string" 36147 }, 36148 customBackgroundColor: { 36149 type: "string" 36150 }, 36151 customFontSize: { 36152 type: "number" 36153 } 36154 }, 36155 migrate: migrateCustomColorsAndFontSizes, 36156 save({ attributes }) { 36157 const { 36158 align, 36159 content, 36160 dropCap, 36161 backgroundColor, 36162 textColor, 36163 customBackgroundColor, 36164 customTextColor, 36165 fontSize, 36166 customFontSize, 36167 direction 36168 } = attributes; 36169 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 36170 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 36171 "background-color", 36172 backgroundColor 36173 ); 36174 const fontSizeClass = (0,external_wp_blockEditor_namespaceObject.getFontSizeClass)(fontSize); 36175 const className = dist_clsx({ 36176 "has-text-color": textColor || customTextColor, 36177 "has-background": backgroundColor || customBackgroundColor, 36178 "has-drop-cap": dropCap, 36179 [fontSizeClass]: fontSizeClass, 36180 [textClass]: textClass, 36181 [backgroundClass]: backgroundClass 36182 }); 36183 const styles = { 36184 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 36185 color: textClass ? void 0 : customTextColor, 36186 fontSize: fontSizeClass ? void 0 : customFontSize, 36187 textAlign: align 36188 }; 36189 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36190 external_wp_blockEditor_namespaceObject.RichText.Content, 36191 { 36192 tagName: "p", 36193 style: styles, 36194 className: className ? className : void 0, 36195 value: content, 36196 dir: direction 36197 } 36198 ); 36199 } 36200 }, 36201 { 36202 supports: deprecated_supports, 36203 attributes: { 36204 ...restBlockAttributes, 36205 customTextColor: { 36206 type: "string" 36207 }, 36208 customBackgroundColor: { 36209 type: "string" 36210 }, 36211 customFontSize: { 36212 type: "number" 36213 }, 36214 width: { 36215 type: "string" 36216 } 36217 }, 36218 migrate: migrateCustomColorsAndFontSizes, 36219 save({ attributes }) { 36220 const { 36221 width, 36222 align, 36223 content, 36224 dropCap, 36225 backgroundColor, 36226 textColor, 36227 customBackgroundColor, 36228 customTextColor, 36229 fontSize, 36230 customFontSize 36231 } = attributes; 36232 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", textColor); 36233 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 36234 "background-color", 36235 backgroundColor 36236 ); 36237 const fontSizeClass = fontSize && `is-$fontSize}-text`; 36238 const className = dist_clsx({ 36239 [`align$width}`]: width, 36240 "has-background": backgroundColor || customBackgroundColor, 36241 "has-drop-cap": dropCap, 36242 [fontSizeClass]: fontSizeClass, 36243 [textClass]: textClass, 36244 [backgroundClass]: backgroundClass 36245 }); 36246 const styles = { 36247 backgroundColor: backgroundClass ? void 0 : customBackgroundColor, 36248 color: textClass ? void 0 : customTextColor, 36249 fontSize: fontSizeClass ? void 0 : customFontSize, 36250 textAlign: align 36251 }; 36252 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36253 external_wp_blockEditor_namespaceObject.RichText.Content, 36254 { 36255 tagName: "p", 36256 style: styles, 36257 className: className ? className : void 0, 36258 value: content 36259 } 36260 ); 36261 } 36262 }, 36263 { 36264 supports: deprecated_supports, 36265 attributes: { 36266 ...restBlockAttributes, 36267 fontSize: { 36268 type: "number" 36269 } 36270 }, 36271 save({ attributes }) { 36272 const { 36273 width, 36274 align, 36275 content, 36276 dropCap, 36277 backgroundColor, 36278 textColor, 36279 fontSize 36280 } = attributes; 36281 const className = dist_clsx({ 36282 [`align$width}`]: width, 36283 "has-background": backgroundColor, 36284 "has-drop-cap": dropCap 36285 }); 36286 const styles = { 36287 backgroundColor, 36288 color: textColor, 36289 fontSize, 36290 textAlign: align 36291 }; 36292 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36293 "p", 36294 { 36295 style: styles, 36296 className: className ? className : void 0, 36297 children: content 36298 } 36299 ); 36300 }, 36301 migrate(attributes) { 36302 return migrateCustomColorsAndFontSizes({ 36303 ...attributes, 36304 customFontSize: Number.isFinite(attributes.fontSize) ? attributes.fontSize : void 0, 36305 customTextColor: attributes.textColor && "#" === attributes.textColor[0] ? attributes.textColor : void 0, 36306 customBackgroundColor: attributes.backgroundColor && "#" === attributes.backgroundColor[0] ? attributes.backgroundColor : void 0 36307 }); 36308 } 36309 }, 36310 { 36311 supports: deprecated_supports, 36312 attributes: { 36313 ...paragraph_deprecated_blockAttributes, 36314 content: { 36315 type: "string", 36316 source: "html", 36317 default: "" 36318 } 36319 }, 36320 save({ attributes }) { 36321 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: attributes.content }); 36322 }, 36323 migrate(attributes) { 36324 return attributes; 36325 } 36326 } 36327 ]; 36328 var paragraph_deprecated_deprecated_default = paragraph_deprecated_deprecated; 36329 36330 36331 ;// ./node_modules/@wordpress/icons/build-module/library/format-ltr.js 36332 36333 36334 var format_ltr_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M3 9c0 2.8 2.2 5 5 5v-.2V20h1.5V5.5H12V20h1.5V5.5h3V4H8C5.2 4 3 6.2 3 9Zm15.9-1-1.1 1 2.6 3-2.6 3 1.1 1 3.4-4-3.4-4Z" }) }); 36335 36336 36337 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/use-enter.js 36338 36339 36340 36341 36342 36343 36344 function useOnEnter(props) { 36345 const { batch } = (0,external_wp_data_namespaceObject.useRegistry)(); 36346 const { 36347 moveBlocksToPosition, 36348 replaceInnerBlocks, 36349 duplicateBlocks, 36350 insertBlock 36351 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 36352 const { 36353 getBlockRootClientId, 36354 getBlockIndex, 36355 getBlockOrder, 36356 getBlockName, 36357 getBlock, 36358 getNextBlockClientId, 36359 canInsertBlockType 36360 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 36361 const propsRef = (0,external_wp_element_namespaceObject.useRef)(props); 36362 propsRef.current = props; 36363 return (0,external_wp_compose_namespaceObject.useRefEffect)((element) => { 36364 function onKeyDown(event) { 36365 if (event.defaultPrevented) { 36366 return; 36367 } 36368 if (event.keyCode !== external_wp_keycodes_namespaceObject.ENTER) { 36369 return; 36370 } 36371 const { content, clientId } = propsRef.current; 36372 if (content.length) { 36373 return; 36374 } 36375 const wrapperClientId = getBlockRootClientId(clientId); 36376 if (!(0,external_wp_blocks_namespaceObject.hasBlockSupport)( 36377 getBlockName(wrapperClientId), 36378 "__experimentalOnEnter", 36379 false 36380 )) { 36381 return; 36382 } 36383 const order = getBlockOrder(wrapperClientId); 36384 const position = order.indexOf(clientId); 36385 if (position === order.length - 1) { 36386 let newWrapperClientId = wrapperClientId; 36387 while (!canInsertBlockType( 36388 getBlockName(clientId), 36389 getBlockRootClientId(newWrapperClientId) 36390 )) { 36391 newWrapperClientId = getBlockRootClientId(newWrapperClientId); 36392 } 36393 if (typeof newWrapperClientId === "string") { 36394 event.preventDefault(); 36395 moveBlocksToPosition( 36396 [clientId], 36397 wrapperClientId, 36398 getBlockRootClientId(newWrapperClientId), 36399 getBlockIndex(newWrapperClientId) + 1 36400 ); 36401 } 36402 return; 36403 } 36404 const defaultBlockName = (0,external_wp_blocks_namespaceObject.getDefaultBlockName)(); 36405 if (!canInsertBlockType( 36406 defaultBlockName, 36407 getBlockRootClientId(wrapperClientId) 36408 )) { 36409 return; 36410 } 36411 event.preventDefault(); 36412 const wrapperBlock = getBlock(wrapperClientId); 36413 batch(() => { 36414 duplicateBlocks([wrapperClientId]); 36415 const blockIndex = getBlockIndex(wrapperClientId); 36416 replaceInnerBlocks( 36417 wrapperClientId, 36418 wrapperBlock.innerBlocks.slice(0, position) 36419 ); 36420 replaceInnerBlocks( 36421 getNextBlockClientId(wrapperClientId), 36422 wrapperBlock.innerBlocks.slice(position + 1) 36423 ); 36424 insertBlock( 36425 (0,external_wp_blocks_namespaceObject.createBlock)(defaultBlockName), 36426 blockIndex + 1, 36427 getBlockRootClientId(wrapperClientId), 36428 true 36429 ); 36430 }); 36431 } 36432 element.addEventListener("keydown", onKeyDown); 36433 return () => { 36434 element.removeEventListener("keydown", onKeyDown); 36435 }; 36436 }, []); 36437 } 36438 36439 36440 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js 36441 36442 36443 36444 36445 36446 36447 36448 36449 function ParagraphRTLControl({ direction, setDirection }) { 36450 return (0,external_wp_i18n_namespaceObject.isRTL)() && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36451 external_wp_components_namespaceObject.ToolbarButton, 36452 { 36453 icon: format_ltr_default, 36454 title: (0,external_wp_i18n_namespaceObject._x)("Left to right", "editor button"), 36455 isActive: direction === "ltr", 36456 onClick: () => { 36457 setDirection(direction === "ltr" ? void 0 : "ltr"); 36458 } 36459 } 36460 ); 36461 } 36462 function hasDropCapDisabled(align) { 36463 return align === ((0,external_wp_i18n_namespaceObject.isRTL)() ? "left" : "right") || align === "center"; 36464 } 36465 function DropCapControl({ clientId, attributes, setAttributes, name }) { 36466 const [isDropCapFeatureEnabled] = (0,external_wp_blockEditor_namespaceObject.useSettings)("typography.dropCap"); 36467 if (!isDropCapFeatureEnabled) { 36468 return null; 36469 } 36470 const { align, dropCap } = attributes; 36471 let helpText; 36472 if (hasDropCapDisabled(align)) { 36473 helpText = (0,external_wp_i18n_namespaceObject.__)("Not available for aligned text."); 36474 } else if (dropCap) { 36475 helpText = (0,external_wp_i18n_namespaceObject.__)("Showing large initial letter."); 36476 } else { 36477 helpText = (0,external_wp_i18n_namespaceObject.__)("Show a large initial letter."); 36478 } 36479 const isDropCapControlEnabledByDefault = (0,external_wp_blocks_namespaceObject.getBlockSupport)( 36480 name, 36481 "typography.defaultControls.dropCap", 36482 false 36483 ); 36484 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "typography", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36485 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36486 { 36487 hasValue: () => !!dropCap, 36488 label: (0,external_wp_i18n_namespaceObject.__)("Drop cap"), 36489 isShownByDefault: isDropCapControlEnabledByDefault, 36490 onDeselect: () => setAttributes({ dropCap: false }), 36491 resetAllFilter: () => ({ dropCap: false }), 36492 panelId: clientId, 36493 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36494 external_wp_components_namespaceObject.ToggleControl, 36495 { 36496 __nextHasNoMarginBottom: true, 36497 label: (0,external_wp_i18n_namespaceObject.__)("Drop cap"), 36498 checked: !!dropCap, 36499 onChange: () => setAttributes({ dropCap: !dropCap }), 36500 help: helpText, 36501 disabled: hasDropCapDisabled(align) 36502 } 36503 ) 36504 } 36505 ) }); 36506 } 36507 function ParagraphBlock({ 36508 attributes, 36509 mergeBlocks, 36510 onReplace, 36511 onRemove, 36512 setAttributes, 36513 clientId, 36514 isSelected: isSingleSelected, 36515 name 36516 }) { 36517 const { align, content, direction, dropCap, placeholder } = attributes; 36518 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 36519 ref: useOnEnter({ clientId, content }), 36520 className: dist_clsx({ 36521 "has-drop-cap": hasDropCapDisabled(align) ? false : dropCap, 36522 [`has-text-align-$align}`]: align 36523 }), 36524 style: { direction } 36525 }); 36526 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 36527 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 36528 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 36529 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36530 external_wp_blockEditor_namespaceObject.AlignmentControl, 36531 { 36532 value: align, 36533 onChange: (newAlign) => setAttributes({ 36534 align: newAlign, 36535 dropCap: hasDropCapDisabled(newAlign) ? false : dropCap 36536 }) 36537 } 36538 ), 36539 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36540 ParagraphRTLControl, 36541 { 36542 direction, 36543 setDirection: (newDirection) => setAttributes({ direction: newDirection }) 36544 } 36545 ) 36546 ] }), 36547 isSingleSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36548 DropCapControl, 36549 { 36550 name, 36551 clientId, 36552 attributes, 36553 setAttributes 36554 } 36555 ), 36556 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36557 external_wp_blockEditor_namespaceObject.RichText, 36558 { 36559 identifier: "content", 36560 tagName: "p", 36561 ...blockProps, 36562 value: content, 36563 onChange: (newContent) => setAttributes({ content: newContent }), 36564 onMerge: mergeBlocks, 36565 onReplace, 36566 onRemove, 36567 "aria-label": external_wp_blockEditor_namespaceObject.RichText.isEmpty(content) ? (0,external_wp_i18n_namespaceObject.__)( 36568 "Empty block; start writing or type forward slash to choose a block" 36569 ) : (0,external_wp_i18n_namespaceObject.__)("Block: Paragraph"), 36570 "data-empty": external_wp_blockEditor_namespaceObject.RichText.isEmpty(content), 36571 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)("Type / to choose a block"), 36572 "data-custom-placeholder": placeholder ? true : void 0, 36573 __unstableEmbedURLOnPaste: true, 36574 __unstableAllowPrefixTransformations: true 36575 } 36576 ) 36577 ] }); 36578 } 36579 var paragraph_edit_edit_default = ParagraphBlock; 36580 36581 36582 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/block.json 36583 const paragraph_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/paragraph","title":"Paragraph","category":"text","description":"Start with the basic building block of all narrative.","keywords":["text"],"textdomain":"default","attributes":{"align":{"type":"string"},"content":{"type":"rich-text","source":"rich-text","selector":"p","role":"content"},"dropCap":{"type":"boolean","default":false},"placeholder":{"type":"string"},"direction":{"type":"string","enum":["ltr","rtl"]}},"supports":{"splitting":true,"anchor":true,"className":false,"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalTextDecoration":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalWritingMode":true,"fitText":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalSelector":"p","__unstablePasteTextInline":true,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-paragraph-editor","style":"wp-block-paragraph"}'); 36584 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/save.js 36585 36586 36587 36588 36589 function paragraph_save_save({ attributes }) { 36590 const { align, content, dropCap, direction } = attributes; 36591 const className = dist_clsx({ 36592 "has-drop-cap": align === ((0,external_wp_i18n_namespaceObject.isRTL)() ? "left" : "right") || align === "center" ? false : dropCap, 36593 [`has-text-align-$align}`]: align 36594 }); 36595 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, dir: direction }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 36596 } 36597 36598 36599 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js 36600 36601 36602 const paragraph_transforms_transforms = { 36603 from: [ 36604 { 36605 type: "raw", 36606 // Paragraph is a fallback and should be matched last. 36607 priority: 20, 36608 selector: "p", 36609 schema: ({ phrasingContentSchema, isPaste }) => ({ 36610 p: { 36611 children: phrasingContentSchema, 36612 attributes: isPaste ? [] : ["style", "id"] 36613 } 36614 }), 36615 transform(node) { 36616 const attributes = (0,external_wp_blocks_namespaceObject.getBlockAttributes)(paragraph_block_namespaceObject.name, node.outerHTML); 36617 const { textAlign } = node.style || {}; 36618 if (textAlign === "left" || textAlign === "center" || textAlign === "right") { 36619 attributes.align = textAlign; 36620 } 36621 return (0,external_wp_blocks_namespaceObject.createBlock)(paragraph_block_namespaceObject.name, attributes); 36622 } 36623 } 36624 ] 36625 }; 36626 var paragraph_transforms_transforms_default = paragraph_transforms_transforms; 36627 36628 36629 ;// ./node_modules/@wordpress/block-library/build-module/paragraph/index.js 36630 36631 36632 36633 36634 36635 36636 36637 36638 const { name: paragraph_name } = paragraph_block_namespaceObject; 36639 const paragraph_settings = { 36640 icon: paragraph_default, 36641 example: { 36642 attributes: { 36643 content: (0,external_wp_i18n_namespaceObject.__)( 36644 "In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing." 36645 ) 36646 } 36647 }, 36648 __experimentalLabel(attributes, { context }) { 36649 const customName = attributes?.metadata?.name; 36650 if (context === "list-view" && customName) { 36651 return customName; 36652 } 36653 if (context === "accessibility") { 36654 if (customName) { 36655 return customName; 36656 } 36657 const { content } = attributes; 36658 return !content || content.length === 0 ? (0,external_wp_i18n_namespaceObject.__)("Empty") : content; 36659 } 36660 }, 36661 transforms: paragraph_transforms_transforms_default, 36662 deprecated: paragraph_deprecated_deprecated_default, 36663 merge(attributes, attributesToMerge) { 36664 return { 36665 content: (attributes.content || "") + (attributesToMerge.content || "") 36666 }; 36667 }, 36668 edit: paragraph_edit_edit_default, 36669 save: paragraph_save_save 36670 }; 36671 const paragraph_init = () => initBlock({ name: paragraph_name, metadata: paragraph_block_namespaceObject, settings: paragraph_settings }); 36672 36673 36674 ;// ./node_modules/@wordpress/icons/build-module/library/post-author.js 36675 36676 36677 var post_author_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36678 external_wp_primitives_namespaceObject.Path, 36679 { 36680 d: "M10 4.5a1 1 0 11-2 0 1 1 0 012 0zm1.5 0a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0zm2.25 7.5v-1A2.75 2.75 0 0011 8.25H7A2.75 2.75 0 004.25 11v1h1.5v-1c0-.69.56-1.25 1.25-1.25h4c.69 0 1.25.56 1.25 1.25v1h1.5zM4 20h9v-1.5H4V20zm16-4H4v-1.5h16V16z", 36681 fillRule: "evenodd", 36682 clipRule: "evenodd" 36683 } 36684 ) }); 36685 36686 36687 ;// ./node_modules/@wordpress/block-library/build-module/post-author/block.json 36688 const post_author_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-author","title":"Author","category":"theme","description":"Display post author details such as name, avatar, and bio.","textdomain":"default","attributes":{"textAlign":{"type":"string"},"avatarSize":{"type":"number","default":48},"showAvatar":{"type":"boolean","default":true},"showBio":{"type":"boolean"},"byline":{"type":"string"},"isLink":{"type":"boolean","default":false,"role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"}},"usesContext":["postType","postId","queryId"],"supports":{"html":false,"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"filter":{"duotone":true}},"selectors":{"filter":{"duotone":".wp-block-post-author .wp-block-post-author__avatar img"}},"editorStyle":"wp-block-post-author-editor","style":"wp-block-post-author"}'); 36689 ;// ./node_modules/@wordpress/block-library/build-module/post-author/edit.js 36690 36691 36692 36693 36694 36695 36696 36697 36698 36699 36700 36701 const edit_AUTHORS_QUERY = { 36702 who: "authors", 36703 per_page: 100, 36704 _fields: "id,name", 36705 context: "view" 36706 }; 36707 function AuthorCombobox({ value, onChange }) { 36708 const [filterValue, setFilterValue] = (0,external_wp_element_namespaceObject.useState)(""); 36709 const { authors, isLoading } = (0,external_wp_data_namespaceObject.useSelect)( 36710 (select) => { 36711 const { getUsers, isResolving } = select(external_wp_coreData_namespaceObject.store); 36712 const query = { ...edit_AUTHORS_QUERY }; 36713 if (filterValue) { 36714 query.search = filterValue; 36715 query.search_columns = ["name"]; 36716 } 36717 return { 36718 authors: getUsers(query), 36719 isLoading: isResolving("getUsers", [query]) 36720 }; 36721 }, 36722 [filterValue] 36723 ); 36724 const authorOptions = (0,external_wp_element_namespaceObject.useMemo)(() => { 36725 const fetchedAuthors = (authors ?? []).map((author) => { 36726 return { 36727 value: author.id, 36728 label: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(author.name) 36729 }; 36730 }); 36731 const foundAuthor = fetchedAuthors.findIndex( 36732 (fetchedAuthor) => value?.id === fetchedAuthor.value 36733 ); 36734 let currentAuthor = []; 36735 if (foundAuthor < 0 && value) { 36736 currentAuthor = [ 36737 { 36738 value: value.id, 36739 label: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(value.name) 36740 } 36741 ]; 36742 } else if (foundAuthor < 0 && !value) { 36743 currentAuthor = [ 36744 { 36745 value: 0, 36746 label: (0,external_wp_i18n_namespaceObject.__)("(No author)") 36747 } 36748 ]; 36749 } 36750 return [...currentAuthor, ...fetchedAuthors]; 36751 }, [authors, value]); 36752 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36753 external_wp_components_namespaceObject.ComboboxControl, 36754 { 36755 __next40pxDefaultSize: true, 36756 __nextHasNoMarginBottom: true, 36757 label: (0,external_wp_i18n_namespaceObject.__)("Author"), 36758 options: authorOptions, 36759 value: value?.id, 36760 onFilterValueChange: (0,external_wp_compose_namespaceObject.debounce)(setFilterValue, 300), 36761 onChange, 36762 allowReset: false, 36763 isLoading 36764 } 36765 ); 36766 } 36767 function PostAuthorEdit({ 36768 isSelected, 36769 context: { postType, postId, queryId }, 36770 attributes, 36771 setAttributes 36772 }) { 36773 const isDescendentOfQueryLoop = Number.isFinite(queryId); 36774 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 36775 const defaultAvatar = useDefaultAvatar(); 36776 const { authorDetails, canAssignAuthor, supportsAuthor } = (0,external_wp_data_namespaceObject.useSelect)( 36777 (select) => { 36778 const { getEditedEntityRecord, getUser, getPostType } = select(external_wp_coreData_namespaceObject.store); 36779 const currentPost = getEditedEntityRecord( 36780 "postType", 36781 postType, 36782 postId 36783 ); 36784 const authorId = currentPost?.author; 36785 return { 36786 authorDetails: authorId ? getUser(authorId, { context: "view" }) : null, 36787 supportsAuthor: getPostType(postType)?.supports?.author ?? false, 36788 canAssignAuthor: currentPost?._links?.["wp:action-assign-author"] ? true : false 36789 }; 36790 }, 36791 [postType, postId] 36792 ); 36793 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 36794 const { 36795 textAlign, 36796 showAvatar, 36797 showBio, 36798 byline, 36799 isLink, 36800 linkTarget, 36801 avatarSize 36802 } = attributes; 36803 const avatarSizes = []; 36804 const authorName = authorDetails?.name || (0,external_wp_i18n_namespaceObject.__)("Post Author"); 36805 if (authorDetails?.avatar_urls) { 36806 Object.keys(authorDetails.avatar_urls).forEach((size) => { 36807 avatarSizes.push({ 36808 value: size, 36809 label: `$size} x $size}` 36810 }); 36811 }); 36812 } 36813 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 36814 className: dist_clsx({ 36815 [`has-text-align-$textAlign}`]: textAlign 36816 }) 36817 }); 36818 const handleSelect = (nextAuthorId) => { 36819 editEntityRecord("postType", postType, postId, { 36820 author: nextAuthorId 36821 }); 36822 }; 36823 const showAuthorControl = !!postId && !isDescendentOfQueryLoop && canAssignAuthor; 36824 if (!supportsAuthor && postType !== void 0) { 36825 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: (0,external_wp_i18n_namespaceObject.sprintf)( 36826 // translators: %s: Name of the post type e.g: "post". 36827 (0,external_wp_i18n_namespaceObject.__)("This post type (%s) does not support the author."), 36828 postType 36829 ) }); 36830 } 36831 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 36832 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 36833 external_wp_components_namespaceObject.__experimentalToolsPanel, 36834 { 36835 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 36836 resetAll: () => { 36837 setAttributes({ 36838 avatarSize: 48, 36839 showAvatar: true, 36840 isLink: false, 36841 linkTarget: "_self" 36842 }); 36843 }, 36844 dropdownMenuProps, 36845 children: [ 36846 showAuthorControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { style: { gridColumn: "1 / -1" }, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36847 AuthorCombobox, 36848 { 36849 value: authorDetails, 36850 onChange: handleSelect 36851 } 36852 ) }), 36853 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36854 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36855 { 36856 label: (0,external_wp_i18n_namespaceObject.__)("Show avatar"), 36857 isShownByDefault: true, 36858 hasValue: () => !showAvatar, 36859 onDeselect: () => setAttributes({ showAvatar: true }), 36860 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36861 external_wp_components_namespaceObject.ToggleControl, 36862 { 36863 __nextHasNoMarginBottom: true, 36864 label: (0,external_wp_i18n_namespaceObject.__)("Show avatar"), 36865 checked: showAvatar, 36866 onChange: () => setAttributes({ 36867 showAvatar: !showAvatar 36868 }) 36869 } 36870 ) 36871 } 36872 ), 36873 showAvatar && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36874 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36875 { 36876 label: (0,external_wp_i18n_namespaceObject.__)("Avatar size"), 36877 isShownByDefault: true, 36878 hasValue: () => avatarSize !== 48, 36879 onDeselect: () => setAttributes({ avatarSize: 48 }), 36880 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36881 external_wp_components_namespaceObject.SelectControl, 36882 { 36883 __next40pxDefaultSize: true, 36884 __nextHasNoMarginBottom: true, 36885 label: (0,external_wp_i18n_namespaceObject.__)("Avatar size"), 36886 value: avatarSize, 36887 options: avatarSizes, 36888 onChange: (size) => { 36889 setAttributes({ 36890 avatarSize: Number(size) 36891 }); 36892 } 36893 } 36894 ) 36895 } 36896 ), 36897 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36898 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36899 { 36900 label: (0,external_wp_i18n_namespaceObject.__)("Show bio"), 36901 isShownByDefault: true, 36902 hasValue: () => !!showBio, 36903 onDeselect: () => setAttributes({ showBio: void 0 }), 36904 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36905 external_wp_components_namespaceObject.ToggleControl, 36906 { 36907 __nextHasNoMarginBottom: true, 36908 label: (0,external_wp_i18n_namespaceObject.__)("Show bio"), 36909 checked: !!showBio, 36910 onChange: () => setAttributes({ showBio: !showBio }) 36911 } 36912 ) 36913 } 36914 ), 36915 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36916 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36917 { 36918 label: (0,external_wp_i18n_namespaceObject.__)("Link author name to author page"), 36919 isShownByDefault: true, 36920 hasValue: () => !!isLink, 36921 onDeselect: () => setAttributes({ isLink: false }), 36922 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36923 external_wp_components_namespaceObject.ToggleControl, 36924 { 36925 __nextHasNoMarginBottom: true, 36926 label: (0,external_wp_i18n_namespaceObject.__)("Link author name to author page"), 36927 checked: isLink, 36928 onChange: () => setAttributes({ isLink: !isLink }) 36929 } 36930 ) 36931 } 36932 ), 36933 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36934 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 36935 { 36936 label: (0,external_wp_i18n_namespaceObject.__)("Link target"), 36937 isShownByDefault: true, 36938 hasValue: () => linkTarget !== "_self", 36939 onDeselect: () => setAttributes({ linkTarget: "_self" }), 36940 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36941 external_wp_components_namespaceObject.ToggleControl, 36942 { 36943 __nextHasNoMarginBottom: true, 36944 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 36945 onChange: (value) => setAttributes({ 36946 linkTarget: value ? "_blank" : "_self" 36947 }), 36948 checked: linkTarget === "_blank" 36949 } 36950 ) 36951 } 36952 ) 36953 ] 36954 } 36955 ) }), 36956 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36957 external_wp_blockEditor_namespaceObject.AlignmentControl, 36958 { 36959 value: textAlign, 36960 onChange: (nextAlign) => { 36961 setAttributes({ textAlign: nextAlign }); 36962 } 36963 } 36964 ) }), 36965 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 36966 showAvatar && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-post-author__avatar", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36967 "img", 36968 { 36969 width: avatarSize, 36970 src: authorDetails?.avatar_urls?.[avatarSize] || defaultAvatar, 36971 alt: authorDetails?.name || (0,external_wp_i18n_namespaceObject.__)("Default Avatar") 36972 } 36973 ) }), 36974 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "wp-block-post-author__content", children: [ 36975 (!external_wp_blockEditor_namespaceObject.RichText.isEmpty(byline) || isSelected) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36976 external_wp_blockEditor_namespaceObject.RichText, 36977 { 36978 identifier: "byline", 36979 className: "wp-block-post-author__byline", 36980 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Post author byline text"), 36981 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write byline\u2026"), 36982 value: byline, 36983 onChange: (value) => setAttributes({ byline: value }) 36984 } 36985 ), 36986 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "wp-block-post-author__name", children: isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36987 "a", 36988 { 36989 href: "#post-author-pseudo-link", 36990 onClick: (event) => event.preventDefault(), 36991 children: authorName 36992 } 36993 ) : authorName }), 36994 showBio && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 36995 "p", 36996 { 36997 className: "wp-block-post-author__bio", 36998 dangerouslySetInnerHTML: { 36999 __html: authorDetails?.description 37000 } 37001 } 37002 ) 37003 ] }) 37004 ] }) 37005 ] }); 37006 } 37007 var post_author_edit_edit_default = PostAuthorEdit; 37008 37009 37010 ;// ./node_modules/@wordpress/block-library/build-module/post-author/index.js 37011 37012 37013 37014 37015 37016 const { name: post_author_name } = post_author_block_namespaceObject; 37017 const post_author_settings = { 37018 icon: post_author_default, 37019 example: { 37020 viewportWidth: 350, 37021 attributes: { 37022 showBio: true, 37023 byline: (0,external_wp_i18n_namespaceObject.__)("Posted by") 37024 } 37025 }, 37026 edit: post_author_edit_edit_default 37027 }; 37028 const post_author_init = () => initBlock({ name: post_author_name, metadata: post_author_block_namespaceObject, settings: post_author_settings }); 37029 37030 37031 ;// ./node_modules/@wordpress/block-library/build-module/post-author-name/block.json 37032 const post_author_name_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-author-name","title":"Author Name","category":"theme","description":"The author name.","textdomain":"default","attributes":{"textAlign":{"type":"string"},"isLink":{"type":"boolean","default":false,"role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"}},"usesContext":["postType","postId"],"example":{"viewportWidth":350},"supports":{"html":false,"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-author-name"}'); 37033 ;// ./node_modules/@wordpress/block-library/build-module/post-author-name/edit.js 37034 37035 37036 37037 37038 37039 37040 37041 37042 function PostAuthorNameEdit({ 37043 context: { postType, postId }, 37044 attributes: { textAlign, isLink, linkTarget }, 37045 setAttributes 37046 }) { 37047 const { authorName, supportsAuthor } = (0,external_wp_data_namespaceObject.useSelect)( 37048 (select) => { 37049 const { getEditedEntityRecord, getUser, getPostType } = select(external_wp_coreData_namespaceObject.store); 37050 const _authorId = getEditedEntityRecord( 37051 "postType", 37052 postType, 37053 postId 37054 )?.author; 37055 return { 37056 authorName: _authorId ? getUser(_authorId) : null, 37057 supportsAuthor: getPostType(postType)?.supports?.author ?? false 37058 }; 37059 }, 37060 [postType, postId] 37061 ); 37062 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37063 className: dist_clsx({ 37064 [`has-text-align-$textAlign}`]: textAlign 37065 }) 37066 }); 37067 const displayName = authorName?.name || (0,external_wp_i18n_namespaceObject.__)("Author Name"); 37068 const displayAuthor = isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37069 "a", 37070 { 37071 href: "#author-pseudo-link", 37072 onClick: (event) => event.preventDefault(), 37073 className: "wp-block-post-author-name__link", 37074 children: displayName 37075 } 37076 ) : displayName; 37077 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 37078 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37079 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37080 external_wp_blockEditor_namespaceObject.AlignmentControl, 37081 { 37082 value: textAlign, 37083 onChange: (nextAlign) => { 37084 setAttributes({ textAlign: nextAlign }); 37085 } 37086 } 37087 ) }), 37088 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 37089 external_wp_components_namespaceObject.__experimentalToolsPanel, 37090 { 37091 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 37092 resetAll: () => { 37093 setAttributes({ 37094 isLink: false, 37095 linkTarget: "_self" 37096 }); 37097 }, 37098 dropdownMenuProps, 37099 children: [ 37100 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37101 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 37102 { 37103 label: (0,external_wp_i18n_namespaceObject.__)("Link to author archive"), 37104 isShownByDefault: true, 37105 hasValue: () => isLink, 37106 onDeselect: () => setAttributes({ isLink: false }), 37107 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37108 external_wp_components_namespaceObject.ToggleControl, 37109 { 37110 __nextHasNoMarginBottom: true, 37111 label: (0,external_wp_i18n_namespaceObject.__)("Link to author archive"), 37112 onChange: () => setAttributes({ isLink: !isLink }), 37113 checked: isLink 37114 } 37115 ) 37116 } 37117 ), 37118 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37119 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 37120 { 37121 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 37122 isShownByDefault: true, 37123 hasValue: () => linkTarget !== "_self", 37124 onDeselect: () => setAttributes({ linkTarget: "_self" }), 37125 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37126 external_wp_components_namespaceObject.ToggleControl, 37127 { 37128 __nextHasNoMarginBottom: true, 37129 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 37130 onChange: (value) => setAttributes({ 37131 linkTarget: value ? "_blank" : "_self" 37132 }), 37133 checked: linkTarget === "_blank" 37134 } 37135 ) 37136 } 37137 ) 37138 ] 37139 } 37140 ) }), 37141 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: !supportsAuthor && postType !== void 0 ? (0,external_wp_i18n_namespaceObject.sprintf)( 37142 // translators: %s: Name of the post type e.g: "post". 37143 (0,external_wp_i18n_namespaceObject.__)( 37144 "This post type (%s) does not support the author." 37145 ), 37146 postType 37147 ) : displayAuthor }) 37148 ] }); 37149 } 37150 var post_author_name_edit_edit_default = PostAuthorNameEdit; 37151 37152 37153 ;// ./node_modules/@wordpress/block-library/build-module/post-author-name/transforms.js 37154 37155 const post_author_name_transforms_transforms = { 37156 from: [ 37157 { 37158 type: "block", 37159 blocks: ["core/post-author"], 37160 transform: ({ textAlign }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/post-author-name", { textAlign }) 37161 } 37162 ], 37163 to: [ 37164 { 37165 type: "block", 37166 blocks: ["core/post-author"], 37167 transform: ({ textAlign }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/post-author", { textAlign }) 37168 } 37169 ] 37170 }; 37171 var post_author_name_transforms_transforms_default = post_author_name_transforms_transforms; 37172 37173 37174 ;// ./node_modules/@wordpress/block-library/build-module/post-author-name/index.js 37175 37176 37177 37178 37179 37180 const { name: post_author_name_name } = post_author_name_block_namespaceObject; 37181 const post_author_name_settings = { 37182 icon: post_author_default, 37183 transforms: post_author_name_transforms_transforms_default, 37184 edit: post_author_name_edit_edit_default 37185 }; 37186 const post_author_name_init = () => initBlock({ name: post_author_name_name, metadata: post_author_name_block_namespaceObject, settings: post_author_name_settings }); 37187 37188 37189 ;// ./node_modules/@wordpress/block-library/build-module/post-author-biography/block.json 37190 const post_author_biography_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-author-biography","title":"Author Biography","category":"theme","description":"The author biography.","textdomain":"default","attributes":{"textAlign":{"type":"string"}},"usesContext":["postType","postId"],"example":{"viewportWidth":350},"supports":{"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-author-biography"}'); 37191 ;// ./node_modules/@wordpress/block-library/build-module/post-author-biography/edit.js 37192 37193 37194 37195 37196 37197 37198 function PostAuthorBiographyEdit({ 37199 context: { postType, postId }, 37200 attributes: { textAlign }, 37201 setAttributes 37202 }) { 37203 const { authorDetails } = (0,external_wp_data_namespaceObject.useSelect)( 37204 (select) => { 37205 const { getEditedEntityRecord, getUser } = select(external_wp_coreData_namespaceObject.store); 37206 const _authorId = getEditedEntityRecord( 37207 "postType", 37208 postType, 37209 postId 37210 )?.author; 37211 return { 37212 authorDetails: _authorId ? getUser(_authorId) : null 37213 }; 37214 }, 37215 [postType, postId] 37216 ); 37217 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37218 className: dist_clsx({ 37219 [`has-text-align-$textAlign}`]: textAlign 37220 }) 37221 }); 37222 const displayAuthorBiography = authorDetails?.description || (0,external_wp_i18n_namespaceObject.__)("Author Biography"); 37223 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37224 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37225 external_wp_blockEditor_namespaceObject.AlignmentControl, 37226 { 37227 value: textAlign, 37228 onChange: (nextAlign) => { 37229 setAttributes({ textAlign: nextAlign }); 37230 } 37231 } 37232 ) }), 37233 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37234 "div", 37235 { 37236 ...blockProps, 37237 dangerouslySetInnerHTML: { __html: displayAuthorBiography } 37238 } 37239 ) 37240 ] }); 37241 } 37242 var post_author_biography_edit_edit_default = PostAuthorBiographyEdit; 37243 37244 37245 ;// ./node_modules/@wordpress/block-library/build-module/post-author-biography/index.js 37246 37247 37248 37249 37250 const { name: post_author_biography_name } = post_author_biography_block_namespaceObject; 37251 const post_author_biography_settings = { 37252 icon: post_author_default, 37253 edit: post_author_biography_edit_edit_default 37254 }; 37255 const post_author_biography_init = () => initBlock({ name: post_author_biography_name, metadata: post_author_biography_block_namespaceObject, settings: post_author_biography_settings }); 37256 37257 37258 ;// ./node_modules/@wordpress/block-library/build-module/post-comment/block.json 37259 const post_comment_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":"fse","name":"core/post-comment","title":"Comment (deprecated)","category":"theme","allowedBlocks":["core/avatar","core/comment-author-name","core/comment-content","core/comment-date","core/comment-edit-link","core/comment-reply-link"],"description":"This block is deprecated. Please use the Comments block instead.","textdomain":"default","attributes":{"commentId":{"type":"number"}},"providesContext":{"commentId":"commentId"},"supports":{"html":false,"inserter":false,"interactivity":{"clientNavigation":true}}}'); 37260 ;// ./node_modules/@wordpress/icons/build-module/library/block-default.js 37261 37262 37263 var block_default_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 8h-1V6h-5v2h-2V6H6v2H5c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm.5 10c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-8c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v8z" }) }); 37264 37265 37266 ;// ./node_modules/@wordpress/block-library/build-module/post-comment/edit.js 37267 37268 37269 37270 37271 37272 37273 const post_comment_edit_TEMPLATE = [ 37274 ["core/avatar"], 37275 ["core/comment-author-name"], 37276 ["core/comment-date"], 37277 ["core/comment-content"], 37278 ["core/comment-reply-link"], 37279 ["core/comment-edit-link"] 37280 ]; 37281 function post_comment_edit_Edit({ attributes: { commentId }, setAttributes }) { 37282 const [commentIdInput, setCommentIdInput] = (0,external_wp_element_namespaceObject.useState)(commentId); 37283 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 37284 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 37285 template: post_comment_edit_TEMPLATE 37286 }); 37287 if (!commentId) { 37288 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 37289 external_wp_components_namespaceObject.Placeholder, 37290 { 37291 icon: block_default_default, 37292 label: (0,external_wp_i18n_namespaceObject._x)("Post Comment", "block title"), 37293 instructions: (0,external_wp_i18n_namespaceObject.__)( 37294 "To show a comment, input the comment ID." 37295 ), 37296 children: [ 37297 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37298 external_wp_components_namespaceObject.TextControl, 37299 { 37300 __next40pxDefaultSize: true, 37301 __nextHasNoMarginBottom: true, 37302 value: commentId, 37303 onChange: (val) => setCommentIdInput(parseInt(val)) 37304 } 37305 ), 37306 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37307 external_wp_components_namespaceObject.Button, 37308 { 37309 __next40pxDefaultSize: true, 37310 variant: "primary", 37311 onClick: () => { 37312 setAttributes({ commentId: commentIdInput }); 37313 }, 37314 children: (0,external_wp_i18n_namespaceObject.__)("Save") 37315 } 37316 ) 37317 ] 37318 } 37319 ) }); 37320 } 37321 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 37322 } 37323 37324 37325 ;// ./node_modules/@wordpress/block-library/build-module/post-comment/save.js 37326 37327 37328 function post_comment_save_save() { 37329 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 37330 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 37331 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 37332 } 37333 37334 37335 ;// ./node_modules/@wordpress/block-library/build-module/post-comment/index.js 37336 37337 37338 37339 37340 37341 const { name: post_comment_name } = post_comment_block_namespaceObject; 37342 const post_comment_settings = { 37343 icon: comment_default, 37344 edit: post_comment_edit_Edit, 37345 save: post_comment_save_save 37346 }; 37347 const post_comment_init = () => initBlock({ name: post_comment_name, metadata: post_comment_block_namespaceObject, settings: post_comment_settings }); 37348 37349 37350 ;// ./node_modules/@wordpress/icons/build-module/library/post-comments-count.js 37351 37352 37353 var post_comments_count_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-2.2 6.6H7l1.6-2.2c.3-.4.5-.7.6-.9.1-.2.2-.4.2-.5 0-.2-.1-.3-.1-.4-.1-.1-.2-.1-.4-.1s-.4 0-.6.1c-.3.1-.5.3-.7.4l-.2.2-.2-1.2.1-.1c.3-.2.5-.3.8-.4.3-.1.6-.1.9-.1.3 0 .6.1.9.2.2.1.4.3.6.5.1.2.2.5.2.7 0 .3-.1.6-.2.9-.1.3-.4.7-.7 1.1l-.5.6h1.6v1.2z" }) }); 37354 37355 37356 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-count/block.json 37357 const post_comments_count_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-comments-count","title":"Comments Count","category":"theme","description":"Display a post\'s comments count.","textdomain":"default","attributes":{"textAlign":{"type":"string"}},"usesContext":["postId"],"example":{"viewportWidth":350},"supports":{"html":false,"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"interactivity":{"clientNavigation":true}},"style":"wp-block-post-comments-count"}'); 37358 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-count/edit.js 37359 37360 37361 37362 37363 37364 37365 37366 function PostCommentsCountEdit({ 37367 attributes, 37368 context, 37369 setAttributes 37370 }) { 37371 const { textAlign } = attributes; 37372 const { postId } = context; 37373 const [commentsCount, setCommentsCount] = (0,external_wp_element_namespaceObject.useState)(); 37374 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37375 className: dist_clsx({ 37376 [`has-text-align-$textAlign}`]: textAlign 37377 }) 37378 }); 37379 (0,external_wp_element_namespaceObject.useEffect)(() => { 37380 if (!postId) { 37381 return; 37382 } 37383 const currentPostId = postId; 37384 external_wp_apiFetch_default()({ 37385 path: (0,external_wp_url_namespaceObject.addQueryArgs)("/wp/v2/comments", { 37386 post: postId 37387 }), 37388 parse: false 37389 }).then((res) => { 37390 if (currentPostId === postId) { 37391 setCommentsCount(res.headers.get("X-WP-Total")); 37392 } 37393 }); 37394 }, [postId]); 37395 const hasPostAndComments = postId && commentsCount !== void 0; 37396 const blockStyles = { 37397 ...blockProps.style, 37398 textDecoration: hasPostAndComments ? blockProps.style?.textDecoration : void 0 37399 }; 37400 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37401 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37402 external_wp_blockEditor_namespaceObject.AlignmentControl, 37403 { 37404 value: textAlign, 37405 onChange: (nextAlign) => { 37406 setAttributes({ textAlign: nextAlign }); 37407 } 37408 } 37409 ) }), 37410 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, style: blockStyles, children: hasPostAndComments ? commentsCount : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Post Comments Count block: post not found.") }) }) 37411 ] }); 37412 } 37413 37414 37415 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-count/transforms.js 37416 37417 const post_comments_count_transforms_transforms = { 37418 to: [ 37419 { 37420 type: "block", 37421 blocks: ["core/post-comments-link"], 37422 transform: ({ textAlign }) => { 37423 return (0,external_wp_blocks_namespaceObject.createBlock)("core/post-comments-link", { 37424 textAlign 37425 }); 37426 } 37427 } 37428 ] 37429 }; 37430 var post_comments_count_transforms_transforms_default = post_comments_count_transforms_transforms; 37431 37432 37433 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-count/index.js 37434 37435 37436 37437 37438 37439 const { name: post_comments_count_name } = post_comments_count_block_namespaceObject; 37440 const post_comments_count_settings = { 37441 icon: post_comments_count_default, 37442 edit: PostCommentsCountEdit, 37443 transforms: post_comments_count_transforms_transforms_default 37444 }; 37445 const post_comments_count_init = () => initBlock({ name: post_comments_count_name, metadata: post_comments_count_block_namespaceObject, settings: post_comments_count_settings }); 37446 37447 37448 ;// ./node_modules/@wordpress/icons/build-module/library/post-comments-form.js 37449 37450 37451 var post_comments_form_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 8H4v1.5h9V8zM4 4v1.5h16V4H4zm9 8H5c-.6 0-1 .4-1 1v8.3c0 .3.2.7.6.8.1.1.2.1.3.1.2 0 .5-.1.6-.3l1.8-1.8H13c.6 0 1-.4 1-1V13c0-.6-.4-1-1-1zm-.5 6.6H6.7l-1.2 1.2v-6.3h7v5.1z" }) }); 37452 37453 37454 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-form/block.json 37455 const post_comments_form_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-comments-form","title":"Comments Form","category":"theme","description":"Display a post\'s comments form.","textdomain":"default","attributes":{"textAlign":{"type":"string"}},"usesContext":["postId","postType"],"supports":{"html":false,"color":{"gradients":true,"heading":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"editorStyle":"wp-block-post-comments-form-editor","style":["wp-block-post-comments-form","wp-block-buttons","wp-block-button"],"example":{"attributes":{"textAlign":"center"}}}'); 37456 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-form/edit.js 37457 37458 37459 37460 37461 37462 37463 37464 function PostCommentsFormEdit({ 37465 attributes, 37466 context, 37467 setAttributes 37468 }) { 37469 const { textAlign } = attributes; 37470 const { postId, postType } = context; 37471 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(PostCommentsFormEdit); 37472 const instanceIdDesc = (0,external_wp_i18n_namespaceObject.sprintf)("comments-form-edit-%d-desc", instanceId); 37473 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37474 className: dist_clsx({ 37475 [`has-text-align-$textAlign}`]: textAlign 37476 }), 37477 "aria-describedby": instanceIdDesc 37478 }); 37479 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37480 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37481 external_wp_blockEditor_namespaceObject.AlignmentControl, 37482 { 37483 value: textAlign, 37484 onChange: (nextAlign) => { 37485 setAttributes({ textAlign: nextAlign }); 37486 } 37487 } 37488 ) }), 37489 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 37490 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(form_default, { postId, postType }), 37491 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { id: instanceIdDesc, children: (0,external_wp_i18n_namespaceObject.__)("Comments form disabled in editor.") }) 37492 ] }) 37493 ] }); 37494 } 37495 37496 37497 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-form/index.js 37498 37499 37500 37501 37502 const { name: post_comments_form_name } = post_comments_form_block_namespaceObject; 37503 const post_comments_form_settings = { 37504 icon: post_comments_form_default, 37505 edit: PostCommentsFormEdit 37506 }; 37507 const post_comments_form_init = () => initBlock({ name: post_comments_form_name, metadata: post_comments_form_block_namespaceObject, settings: post_comments_form_settings }); 37508 37509 37510 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-link/block.json 37511 const post_comments_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-comments-link","title":"Comments Link","category":"theme","description":"Displays the link to the current post comments.","textdomain":"default","usesContext":["postType","postId"],"attributes":{"textAlign":{"type":"string"}},"example":{"viewportWidth":350},"supports":{"html":false,"color":{"link":true,"text":false,"__experimentalDefaultControls":{"background":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-comments-link"}'); 37512 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-link/edit.js 37513 37514 37515 37516 37517 37518 37519 37520 37521 37522 function PostCommentsLinkEdit({ context, attributes, setAttributes }) { 37523 const { textAlign } = attributes; 37524 const { postType, postId } = context; 37525 const [commentsCount, setCommentsCount] = (0,external_wp_element_namespaceObject.useState)(); 37526 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37527 className: dist_clsx({ 37528 [`has-text-align-$textAlign}`]: textAlign 37529 }) 37530 }); 37531 (0,external_wp_element_namespaceObject.useEffect)(() => { 37532 if (!postId) { 37533 return; 37534 } 37535 const currentPostId = postId; 37536 external_wp_apiFetch_default()({ 37537 path: (0,external_wp_url_namespaceObject.addQueryArgs)("/wp/v2/comments", { 37538 post: postId 37539 }), 37540 parse: false 37541 }).then((res) => { 37542 if (currentPostId === postId) { 37543 setCommentsCount(res.headers.get("X-WP-Total")); 37544 } 37545 }); 37546 }, [postId]); 37547 const post = (0,external_wp_data_namespaceObject.useSelect)( 37548 (select) => select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 37549 "postType", 37550 postType, 37551 postId 37552 ), 37553 [postType, postId] 37554 ); 37555 if (!post) { 37556 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Post Comments Link block: post not found.") }) }); 37557 } 37558 const { link } = post; 37559 let commentsText; 37560 if (commentsCount !== void 0) { 37561 const commentsNumber = parseInt(commentsCount); 37562 if (commentsNumber === 0) { 37563 commentsText = (0,external_wp_i18n_namespaceObject.__)("No comments"); 37564 } else { 37565 commentsText = (0,external_wp_i18n_namespaceObject.sprintf)( 37566 /* translators: %s: Number of comments */ 37567 (0,external_wp_i18n_namespaceObject._n)("%s comment", "%s comments", commentsNumber), 37568 commentsNumber.toLocaleString() 37569 ); 37570 } 37571 } 37572 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37573 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37574 external_wp_blockEditor_namespaceObject.AlignmentControl, 37575 { 37576 value: textAlign, 37577 onChange: (nextAlign) => { 37578 setAttributes({ textAlign: nextAlign }); 37579 } 37580 } 37581 ) }), 37582 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: link && commentsText !== void 0 ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37583 "a", 37584 { 37585 href: link + "#comments", 37586 onClick: (event) => event.preventDefault(), 37587 children: commentsText 37588 } 37589 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Post Comments Link block: post not found.") }) }) 37590 ] }); 37591 } 37592 var post_comments_link_edit_edit_default = PostCommentsLinkEdit; 37593 37594 37595 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-link/transforms.js 37596 37597 const post_comments_link_transforms_transforms = { 37598 to: [ 37599 { 37600 type: "block", 37601 blocks: ["core/post-comments-count"], 37602 transform: ({ textAlign }) => { 37603 return (0,external_wp_blocks_namespaceObject.createBlock)("core/post-comments-count", { 37604 textAlign 37605 }); 37606 } 37607 } 37608 ] 37609 }; 37610 var post_comments_link_transforms_transforms_default = post_comments_link_transforms_transforms; 37611 37612 37613 ;// ./node_modules/@wordpress/block-library/build-module/post-comments-link/index.js 37614 37615 37616 37617 37618 37619 const { name: post_comments_link_name } = post_comments_link_block_namespaceObject; 37620 const post_comments_link_settings = { 37621 edit: post_comments_link_edit_edit_default, 37622 icon: post_comments_count_default, 37623 transforms: post_comments_link_transforms_transforms_default 37624 }; 37625 const post_comments_link_init = () => initBlock({ name: post_comments_link_name, metadata: post_comments_link_block_namespaceObject, settings: post_comments_link_settings }); 37626 37627 37628 ;// ./node_modules/@wordpress/icons/build-module/library/post-content.js 37629 37630 37631 var post_content_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4 6h12V4.5H4V6Zm16 4.5H4V9h16v1.5ZM4 15h16v-1.5H4V15Zm0 4.5h16V18H4v1.5Z" }) }); 37632 37633 37634 ;// ./node_modules/@wordpress/block-library/build-module/post-content/block.json 37635 const post_content_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-content","title":"Content","category":"theme","description":"Displays the contents of a post or page.","textdomain":"default","usesContext":["postId","postType","queryId"],"attributes":{"tagName":{"type":"string","default":"div"}},"example":{"viewportWidth":350},"supports":{"align":["wide","full"],"html":false,"layout":true,"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"dimensions":{"minHeight":true},"spacing":{"blockGap":true,"padding":true,"margin":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"color":{"gradients":true,"heading":true,"link":true,"__experimentalDefaultControls":{"background":false,"text":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-content","editorStyle":"wp-block-post-content-editor"}'); 37636 ;// ./node_modules/@wordpress/block-library/build-module/post-content/edit.js 37637 37638 37639 37640 37641 37642 37643 37644 37645 37646 const { HTMLElementControl: post_content_edit_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 37647 function ReadOnlyContent({ 37648 parentLayout, 37649 layoutClassNames, 37650 userCanEdit, 37651 postType, 37652 postId, 37653 tagName: TagName = "div" 37654 }) { 37655 const [, , content] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 37656 "postType", 37657 postType, 37658 "content", 37659 postId 37660 ); 37661 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: layoutClassNames }); 37662 const blocks = (0,external_wp_element_namespaceObject.useMemo)(() => { 37663 return content?.raw ? (0,external_wp_blocks_namespaceObject.parse)(content.raw) : []; 37664 }, [content?.raw]); 37665 const blockPreviewProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBlockPreview)({ 37666 blocks, 37667 props: blockProps, 37668 layout: parentLayout 37669 }); 37670 if (userCanEdit) { 37671 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockPreviewProps }); 37672 } 37673 return content?.protected ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("This content is password protected.") }) }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37674 TagName, 37675 { 37676 ...blockProps, 37677 dangerouslySetInnerHTML: { __html: content?.rendered } 37678 } 37679 ); 37680 } 37681 function EditableContent({ context = {}, tagName: TagName = "div" }) { 37682 const { postType, postId } = context; 37683 const [blocks, onInput, onChange] = (0,external_wp_coreData_namespaceObject.useEntityBlockEditor)( 37684 "postType", 37685 postType, 37686 { id: postId } 37687 ); 37688 const entityRecord = (0,external_wp_data_namespaceObject.useSelect)( 37689 (select) => { 37690 return select(external_wp_coreData_namespaceObject.store).getEntityRecord( 37691 "postType", 37692 postType, 37693 postId 37694 ); 37695 }, 37696 [postType, postId] 37697 ); 37698 const hasInnerBlocks = !!entityRecord?.content?.raw || blocks?.length; 37699 const initialInnerBlocks = [["core/paragraph"]]; 37700 const props = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 37701 (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: "entry-content" }), 37702 { 37703 value: blocks, 37704 onInput, 37705 onChange, 37706 template: !hasInnerBlocks ? initialInnerBlocks : void 0 37707 } 37708 ); 37709 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...props }); 37710 } 37711 function Content(props) { 37712 const { 37713 context: { queryId, postType, postId } = {}, 37714 layoutClassNames, 37715 tagName 37716 } = props; 37717 const userCanEdit = useCanEditEntity("postType", postType, postId); 37718 if (userCanEdit === void 0) { 37719 return null; 37720 } 37721 const isDescendentOfQueryLoop = Number.isFinite(queryId); 37722 const isEditable = userCanEdit && !isDescendentOfQueryLoop; 37723 return isEditable ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(EditableContent, { ...props }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37724 ReadOnlyContent, 37725 { 37726 parentLayout: props.parentLayout, 37727 layoutClassNames, 37728 userCanEdit, 37729 postType, 37730 postId, 37731 tagName 37732 } 37733 ); 37734 } 37735 function edit_Placeholder({ layoutClassNames }) { 37736 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: layoutClassNames }); 37737 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 37738 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject.__)( 37739 "This is the Content block, it will display all the blocks in any single post or page." 37740 ) }), 37741 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject.__)( 37742 "That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types." 37743 ) }), 37744 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject.__)( 37745 "If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well." 37746 ) }) 37747 ] }); 37748 } 37749 function RecursionError() { 37750 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 37751 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Block cannot be rendered inside itself.") }) }); 37752 } 37753 function PostContentEditControls({ tagName, onSelectTagName, clientId }) { 37754 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37755 post_content_edit_HTMLElementControl, 37756 { 37757 tagName, 37758 onChange: onSelectTagName, 37759 clientId, 37760 options: [ 37761 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 37762 { label: "<main>", value: "main" }, 37763 { label: "<section>", value: "section" }, 37764 { label: "<article>", value: "article" } 37765 ] 37766 } 37767 ) }); 37768 } 37769 function PostContentEdit({ 37770 context, 37771 attributes: { tagName = "div" }, 37772 setAttributes, 37773 clientId, 37774 __unstableLayoutClassNames: layoutClassNames, 37775 __unstableParentLayout: parentLayout 37776 }) { 37777 const { postId: contextPostId, postType: contextPostType } = context; 37778 const hasAlreadyRendered = (0,external_wp_blockEditor_namespaceObject.useHasRecursion)(contextPostId); 37779 if (contextPostId && contextPostType && hasAlreadyRendered) { 37780 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(RecursionError, {}); 37781 } 37782 const handleSelectTagName = (value) => { 37783 setAttributes({ tagName: value }); 37784 }; 37785 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37786 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37787 PostContentEditControls, 37788 { 37789 tagName, 37790 onSelectTagName: handleSelectTagName, 37791 clientId 37792 } 37793 ), 37794 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RecursionProvider, { uniqueId: contextPostId, children: contextPostId && contextPostType ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37795 Content, 37796 { 37797 context, 37798 parentLayout, 37799 layoutClassNames 37800 } 37801 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(edit_Placeholder, { layoutClassNames }) }) 37802 ] }); 37803 } 37804 37805 37806 ;// ./node_modules/@wordpress/block-library/build-module/post-content/index.js 37807 37808 37809 37810 37811 const { name: post_content_name } = post_content_block_namespaceObject; 37812 const post_content_settings = { 37813 icon: post_content_default, 37814 edit: PostContentEdit 37815 }; 37816 const post_content_init = () => initBlock({ name: post_content_name, metadata: post_content_block_namespaceObject, settings: post_content_settings }); 37817 37818 37819 ;// ./node_modules/@wordpress/block-library/build-module/post-date/block.json 37820 const post_date_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-date","title":"Date","category":"theme","description":"Display the publish date for an entry such as a post or page.","textdomain":"default","attributes":{"datetime":{"type":"string","role":"content"},"textAlign":{"type":"string"},"format":{"type":"string"},"isLink":{"type":"boolean","default":false,"role":"content"}},"usesContext":["postId","postType","queryId"],"example":{"viewportWidth":350},"supports":{"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}}}'); 37821 ;// ./node_modules/@wordpress/block-library/build-module/post-date/edit.js 37822 37823 37824 37825 37826 37827 37828 37829 37830 37831 37832 37833 37834 function PostDateEdit({ 37835 attributes: { datetime, textAlign, format, isLink, metadata }, 37836 context: { postType: postTypeSlug, queryId }, 37837 setAttributes 37838 }) { 37839 const displayType = metadata?.bindings?.datetime?.source === "core/post-data" && metadata?.bindings?.datetime?.args?.field; 37840 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 37841 className: dist_clsx({ 37842 [`has-text-align-$textAlign}`]: textAlign 37843 }) 37844 }); 37845 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 37846 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 37847 const popoverProps = (0,external_wp_element_namespaceObject.useMemo)( 37848 () => ({ anchor: popoverAnchor }), 37849 [popoverAnchor] 37850 ); 37851 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 37852 (0,external_wp_element_namespaceObject.useEffect)(() => { 37853 if (datetime === void 0) { 37854 __unstableMarkNextChangeAsNotPersistent(); 37855 setAttributes({ datetime: /* @__PURE__ */ new Date() }); 37856 } 37857 }, [datetime]); 37858 const isDescendentOfQueryLoop = Number.isFinite(queryId); 37859 const dateSettings = (0,external_wp_date_namespaceObject.getSettings)(); 37860 const { 37861 postType, 37862 siteFormat = dateSettings.formats.date, 37863 siteTimeFormat = dateSettings.formats.time 37864 } = (0,external_wp_data_namespaceObject.useSelect)( 37865 (select) => { 37866 const { getPostType, getEntityRecord } = select(external_wp_coreData_namespaceObject.store); 37867 const siteSettings = getEntityRecord("root", "site"); 37868 return { 37869 siteFormat: siteSettings?.date_format, 37870 siteTimeFormat: siteSettings?.time_format, 37871 postType: postTypeSlug ? getPostType(postTypeSlug) : null 37872 }; 37873 }, 37874 [postTypeSlug] 37875 ); 37876 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 37877 let postDate = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { dateTime: (0,external_wp_date_namespaceObject.dateI18n)("c", datetime), ref: setPopoverAnchor, children: format === "human-diff" ? (0,external_wp_date_namespaceObject.humanTimeDiff)(datetime) : (0,external_wp_date_namespaceObject.dateI18n)(format || siteFormat, datetime) }); 37878 if (isLink && datetime) { 37879 postDate = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37880 "a", 37881 { 37882 href: "#post-date-pseudo-link", 37883 onClick: (event) => event.preventDefault(), 37884 children: postDate 37885 } 37886 ); 37887 } 37888 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 37889 (blockEditingMode === "default" || !isDescendentOfQueryLoop) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 37890 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37891 external_wp_blockEditor_namespaceObject.AlignmentControl, 37892 { 37893 value: textAlign, 37894 onChange: (nextAlign) => { 37895 setAttributes({ textAlign: nextAlign }); 37896 } 37897 } 37898 ), 37899 displayType !== "modified" && !isDescendentOfQueryLoop && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37900 external_wp_components_namespaceObject.Dropdown, 37901 { 37902 popoverProps, 37903 renderContent: ({ onClose }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37904 external_wp_blockEditor_namespaceObject.__experimentalPublishDateTimePicker, 37905 { 37906 title: displayType === "date" ? (0,external_wp_i18n_namespaceObject.__)("Publish Date") : (0,external_wp_i18n_namespaceObject.__)("Date"), 37907 currentDate: datetime, 37908 onChange: (newDatetime) => setAttributes({ 37909 datetime: newDatetime 37910 }), 37911 is12Hour: is12HourFormat( 37912 siteTimeFormat 37913 ), 37914 onClose, 37915 dateOrder: ( 37916 /* translators: Order of day, month, and year. Available formats are 'dmy', 'mdy', and 'ymd'. */ 37917 (0,external_wp_i18n_namespaceObject._x)("dmy", "date order") 37918 ) 37919 } 37920 ), 37921 renderToggle: ({ isOpen, onToggle }) => { 37922 const openOnArrowDown = (event) => { 37923 if (!isOpen && event.keyCode === external_wp_keycodes_namespaceObject.DOWN) { 37924 event.preventDefault(); 37925 onToggle(); 37926 } 37927 }; 37928 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37929 external_wp_components_namespaceObject.ToolbarButton, 37930 { 37931 "aria-expanded": isOpen, 37932 icon: pencil_default, 37933 title: (0,external_wp_i18n_namespaceObject.__)("Change Date"), 37934 onClick: onToggle, 37935 onKeyDown: openOnArrowDown 37936 } 37937 ); 37938 } 37939 } 37940 ) }) 37941 ] }), 37942 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 37943 external_wp_components_namespaceObject.__experimentalToolsPanel, 37944 { 37945 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 37946 resetAll: () => { 37947 setAttributes({ 37948 datetime: void 0, 37949 format: void 0, 37950 isLink: false 37951 }); 37952 }, 37953 dropdownMenuProps, 37954 children: [ 37955 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37956 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 37957 { 37958 hasValue: () => !!format, 37959 label: (0,external_wp_i18n_namespaceObject.__)("Date Format"), 37960 onDeselect: () => setAttributes({ format: void 0 }), 37961 isShownByDefault: true, 37962 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37963 external_wp_blockEditor_namespaceObject.__experimentalDateFormatPicker, 37964 { 37965 format, 37966 defaultFormat: siteFormat, 37967 onChange: (nextFormat) => setAttributes({ format: nextFormat }) 37968 } 37969 ) 37970 } 37971 ), 37972 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37973 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 37974 { 37975 hasValue: () => isLink !== false, 37976 label: postType?.labels.singular_name ? (0,external_wp_i18n_namespaceObject.sprintf)( 37977 // translators: %s: Name of the post type e.g: "post". 37978 (0,external_wp_i18n_namespaceObject.__)("Link to %s"), 37979 postType.labels.singular_name.toLowerCase() 37980 ) : (0,external_wp_i18n_namespaceObject.__)("Link to post"), 37981 onDeselect: () => setAttributes({ isLink: false }), 37982 isShownByDefault: true, 37983 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 37984 external_wp_components_namespaceObject.ToggleControl, 37985 { 37986 __nextHasNoMarginBottom: true, 37987 label: postType?.labels.singular_name ? (0,external_wp_i18n_namespaceObject.sprintf)( 37988 // translators: %s: Name of the post type e.g: "post". 37989 (0,external_wp_i18n_namespaceObject.__)("Link to %s"), 37990 postType.labels.singular_name.toLowerCase() 37991 ) : (0,external_wp_i18n_namespaceObject.__)("Link to post"), 37992 onChange: () => setAttributes({ isLink: !isLink }), 37993 checked: isLink 37994 } 37995 ) 37996 } 37997 ) 37998 ] 37999 } 38000 ) }), 38001 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: postDate }) 38002 ] }); 38003 } 38004 function is12HourFormat(format) { 38005 return /(?:^|[^\\])[aAgh]/.test(format); 38006 } 38007 38008 38009 ;// ./node_modules/@wordpress/block-library/build-module/post-date/deprecated.js 38010 38011 38012 const post_date_deprecated_v3 = { 38013 attributes: { 38014 datetime: { 38015 type: "string", 38016 role: "content" 38017 }, 38018 textAlign: { 38019 type: "string" 38020 }, 38021 format: { 38022 type: "string" 38023 }, 38024 isLink: { 38025 type: "boolean", 38026 default: false, 38027 role: "content" 38028 } 38029 }, 38030 supports: { 38031 html: false, 38032 color: { 38033 gradients: true, 38034 link: true, 38035 __experimentalDefaultControls: { 38036 background: true, 38037 text: true, 38038 link: true 38039 } 38040 }, 38041 spacing: { 38042 margin: true, 38043 padding: true 38044 }, 38045 typography: { 38046 fontSize: true, 38047 lineHeight: true, 38048 __experimentalFontFamily: true, 38049 __experimentalFontWeight: true, 38050 __experimentalFontStyle: true, 38051 __experimentalTextTransform: true, 38052 __experimentalTextDecoration: true, 38053 __experimentalLetterSpacing: true, 38054 __experimentalDefaultControls: { 38055 fontSize: true 38056 } 38057 }, 38058 interactivity: { 38059 clientNavigation: true 38060 }, 38061 __experimentalBorder: { 38062 radius: true, 38063 color: true, 38064 width: true, 38065 style: true, 38066 __experimentalDefaultControls: { 38067 radius: true, 38068 color: true, 38069 width: true, 38070 style: true 38071 } 38072 } 38073 }, 38074 save() { 38075 return null; 38076 }, 38077 migrate({ 38078 metadata: { 38079 bindings: { 38080 datetime: { 38081 source, 38082 args: { key, ...otherArgs } 38083 }, 38084 ...otherBindings 38085 }, 38086 ...otherMetadata 38087 }, 38088 ...otherAttributes 38089 }) { 38090 return { 38091 metadata: { 38092 bindings: { 38093 datetime: { 38094 source, 38095 args: { field: key, ...otherArgs } 38096 }, 38097 ...otherBindings 38098 }, 38099 ...otherMetadata 38100 }, 38101 ...otherAttributes 38102 }; 38103 }, 38104 isEligible(attributes) { 38105 return !!attributes?.metadata?.bindings?.datetime?.args?.key; 38106 } 38107 }; 38108 const post_date_deprecated_v2 = { 38109 attributes: { 38110 textAlign: { 38111 type: "string" 38112 }, 38113 format: { 38114 type: "string" 38115 }, 38116 isLink: { 38117 type: "boolean", 38118 default: false, 38119 role: "content" 38120 }, 38121 displayType: { 38122 type: "string", 38123 default: "date" 38124 } 38125 }, 38126 supports: { 38127 html: false, 38128 color: { 38129 gradients: true, 38130 link: true, 38131 __experimentalDefaultControls: { 38132 background: true, 38133 text: true, 38134 link: true 38135 } 38136 }, 38137 spacing: { 38138 margin: true, 38139 padding: true 38140 }, 38141 typography: { 38142 fontSize: true, 38143 lineHeight: true, 38144 __experimentalFontFamily: true, 38145 __experimentalFontWeight: true, 38146 __experimentalFontStyle: true, 38147 __experimentalTextTransform: true, 38148 __experimentalTextDecoration: true, 38149 __experimentalLetterSpacing: true, 38150 __experimentalDefaultControls: { 38151 fontSize: true 38152 } 38153 }, 38154 interactivity: { 38155 clientNavigation: true 38156 }, 38157 __experimentalBorder: { 38158 radius: true, 38159 color: true, 38160 width: true, 38161 style: true, 38162 __experimentalDefaultControls: { 38163 radius: true, 38164 color: true, 38165 width: true, 38166 style: true 38167 } 38168 } 38169 }, 38170 save() { 38171 return null; 38172 }, 38173 migrate({ className, displayType, metadata, ...otherAttributes }) { 38174 if (displayType === "date" || displayType === "modified") { 38175 if (displayType === "modified") { 38176 className = dist_clsx( 38177 className, 38178 "wp-block-post-date__modified-date" 38179 ); 38180 } 38181 return { 38182 ...otherAttributes, 38183 className, 38184 metadata: { 38185 ...metadata, 38186 bindings: { 38187 datetime: { 38188 source: "core/post-data", 38189 args: { field: displayType } 38190 } 38191 } 38192 } 38193 }; 38194 } 38195 }, 38196 isEligible(attributes) { 38197 return !attributes.datetime && !attributes?.metadata?.bindings?.datetime; 38198 } 38199 }; 38200 const post_date_deprecated_v1 = { 38201 attributes: { 38202 textAlign: { 38203 type: "string" 38204 }, 38205 format: { 38206 type: "string" 38207 }, 38208 isLink: { 38209 type: "boolean", 38210 default: false 38211 } 38212 }, 38213 supports: { 38214 html: false, 38215 color: { 38216 gradients: true, 38217 link: true 38218 }, 38219 typography: { 38220 fontSize: true, 38221 lineHeight: true, 38222 __experimentalFontFamily: true, 38223 __experimentalFontWeight: true, 38224 __experimentalFontStyle: true, 38225 __experimentalTextTransform: true, 38226 __experimentalLetterSpacing: true 38227 } 38228 }, 38229 save() { 38230 return null; 38231 }, 38232 migrate: migrate_font_family_default, 38233 isEligible({ style }) { 38234 return style?.typography?.fontFamily; 38235 } 38236 }; 38237 var post_date_deprecated_deprecated_default = [post_date_deprecated_v3, post_date_deprecated_v2, post_date_deprecated_v1]; 38238 38239 38240 ;// ./node_modules/@wordpress/block-library/build-module/post-date/variations.js 38241 38242 38243 const post_date_variations_variations = [ 38244 { 38245 name: "post-date", 38246 title: (0,external_wp_i18n_namespaceObject.__)("Post Date"), 38247 description: (0,external_wp_i18n_namespaceObject.__)("Display a post's publish date."), 38248 attributes: { 38249 metadata: { 38250 bindings: { 38251 datetime: { 38252 source: "core/post-data", 38253 args: { field: "date" } 38254 } 38255 } 38256 } 38257 }, 38258 scope: ["block", "inserter", "transform"], 38259 isActive: (blockAttributes) => blockAttributes?.metadata?.bindings?.datetime?.source === "core/post-data" && blockAttributes?.metadata?.bindings?.datetime?.args?.field === "date", 38260 icon: post_date_default 38261 }, 38262 { 38263 name: "post-date-modified", 38264 title: (0,external_wp_i18n_namespaceObject.__)("Modified Date"), 38265 description: (0,external_wp_i18n_namespaceObject.__)("Display a post's last updated date."), 38266 attributes: { 38267 metadata: { 38268 bindings: { 38269 datetime: { 38270 source: "core/post-data", 38271 args: { field: "modified" } 38272 } 38273 } 38274 }, 38275 className: "wp-block-post-date__modified-date" 38276 }, 38277 scope: ["block", "inserter", "transform"], 38278 isActive: (blockAttributes) => blockAttributes?.metadata?.bindings?.datetime?.source === "core/post-data" && blockAttributes?.metadata?.bindings?.datetime?.args?.field === "modified", 38279 icon: post_date_default 38280 } 38281 ]; 38282 var post_date_variations_variations_default = post_date_variations_variations; 38283 38284 38285 ;// ./node_modules/@wordpress/block-library/build-module/post-date/index.js 38286 38287 38288 38289 38290 38291 38292 const { name: post_date_name } = post_date_block_namespaceObject; 38293 const post_date_settings = { 38294 icon: post_date_default, 38295 edit: PostDateEdit, 38296 deprecated: post_date_deprecated_deprecated_default, 38297 variations: post_date_variations_variations_default 38298 }; 38299 const post_date_init = () => initBlock({ name: post_date_name, metadata: post_date_block_namespaceObject, settings: post_date_settings }); 38300 38301 38302 ;// ./node_modules/@wordpress/icons/build-module/library/post-excerpt.js 38303 38304 38305 var post_excerpt_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M8.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H4v-3h4.001ZM4 20h9v-1.5H4V20Zm16-4H4v-1.5h16V16ZM13.001 3.984V9.47c0 1.518-.98 2.5-2.499 2.5h-.5v-1.5h.5c.69 0 1-.31 1-1V6.984H9v-3h4.001Z" }) }); 38306 38307 38308 ;// ./node_modules/@wordpress/block-library/build-module/post-excerpt/block.json 38309 const post_excerpt_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-excerpt","title":"Excerpt","category":"theme","description":"Display the excerpt.","textdomain":"default","attributes":{"textAlign":{"type":"string"},"moreText":{"type":"string","role":"content"},"showMoreOnNewLine":{"type":"boolean","default":true},"excerptLength":{"type":"number","default":55}},"usesContext":["postId","postType","queryId"],"example":{"viewportWidth":350},"supports":{"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"editorStyle":"wp-block-post-excerpt-editor","style":"wp-block-post-excerpt"}'); 38310 ;// ./node_modules/@wordpress/block-library/build-module/post-excerpt/edit.js 38311 38312 38313 38314 38315 38316 38317 38318 38319 38320 const ELLIPSIS = "\u2026"; 38321 function PostExcerptEditor({ 38322 attributes: { textAlign, moreText, showMoreOnNewLine, excerptLength }, 38323 setAttributes, 38324 isSelected, 38325 context: { postId, postType, queryId } 38326 }) { 38327 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 38328 const showControls = blockEditingMode === "default"; 38329 const isDescendentOfQueryLoop = Number.isFinite(queryId); 38330 const userCanEdit = useCanEditEntity("postType", postType, postId); 38331 const [ 38332 rawExcerpt, 38333 setExcerpt, 38334 { rendered: renderedExcerpt, protected: isProtected } = {} 38335 ] = (0,external_wp_coreData_namespaceObject.useEntityProp)("postType", postType, "excerpt", postId); 38336 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 38337 const postTypeSupportsExcerpts = (0,external_wp_data_namespaceObject.useSelect)( 38338 (select) => { 38339 if (postType === "page") { 38340 return true; 38341 } 38342 return !!select(external_wp_coreData_namespaceObject.store).getPostType(postType)?.supports?.excerpt; 38343 }, 38344 [postType] 38345 ); 38346 const isEditable = userCanEdit && !isDescendentOfQueryLoop && postTypeSupportsExcerpts; 38347 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 38348 className: dist_clsx({ 38349 [`has-text-align-$textAlign}`]: textAlign 38350 }) 38351 }); 38352 const wordCountType = (0,external_wp_i18n_namespaceObject._x)("words", "Word count type. Do not translate!"); 38353 const strippedRenderedExcerpt = (0,external_wp_element_namespaceObject.useMemo)(() => { 38354 if (!renderedExcerpt) { 38355 return ""; 38356 } 38357 const document = new window.DOMParser().parseFromString( 38358 renderedExcerpt, 38359 "text/html" 38360 ); 38361 return document.body.textContent || document.body.innerText || ""; 38362 }, [renderedExcerpt]); 38363 if (!postType || !postId) { 38364 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 38365 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38366 external_wp_blockEditor_namespaceObject.AlignmentToolbar, 38367 { 38368 value: textAlign, 38369 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 38370 } 38371 ) }), 38372 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject.__)("This block will display the excerpt.") }) }) 38373 ] }); 38374 } 38375 if (isProtected && !userCanEdit) { 38376 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)( 38377 "The content is currently protected and does not have the available excerpt." 38378 ) }) }); 38379 } 38380 const readMoreLink = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38381 external_wp_blockEditor_namespaceObject.RichText, 38382 { 38383 identifier: "moreText", 38384 className: "wp-block-post-excerpt__more-link", 38385 tagName: "a", 38386 "aria-label": (0,external_wp_i18n_namespaceObject.__)("\u201CRead more\u201D link text"), 38387 placeholder: (0,external_wp_i18n_namespaceObject.__)('Add "read more" link text'), 38388 value: moreText, 38389 onChange: (newMoreText) => setAttributes({ moreText: newMoreText }), 38390 withoutInteractiveFormatting: true 38391 } 38392 ); 38393 const excerptClassName = dist_clsx("wp-block-post-excerpt__excerpt", { 38394 "is-inline": !showMoreOnNewLine 38395 }); 38396 const rawOrRenderedExcerpt = (rawExcerpt || strippedRenderedExcerpt).trim(); 38397 let trimmedExcerpt = ""; 38398 if (wordCountType === "words") { 38399 trimmedExcerpt = rawOrRenderedExcerpt.split(" ", excerptLength).join(" "); 38400 } else if (wordCountType === "characters_excluding_spaces") { 38401 const excerptWithSpaces = rawOrRenderedExcerpt.split("", excerptLength).join(""); 38402 const numberOfSpaces = excerptWithSpaces.length - excerptWithSpaces.replaceAll(" ", "").length; 38403 trimmedExcerpt = rawOrRenderedExcerpt.split("", excerptLength + numberOfSpaces).join(""); 38404 } else if (wordCountType === "characters_including_spaces") { 38405 trimmedExcerpt = rawOrRenderedExcerpt.split("", excerptLength).join(""); 38406 } 38407 const isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt; 38408 const excerptContent = isEditable ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38409 external_wp_blockEditor_namespaceObject.RichText, 38410 { 38411 className: excerptClassName, 38412 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Excerpt text"), 38413 value: isSelected ? rawOrRenderedExcerpt : (!isTrimmed ? rawOrRenderedExcerpt : trimmedExcerpt + ELLIPSIS) || (0,external_wp_i18n_namespaceObject.__)("No excerpt found"), 38414 onChange: setExcerpt, 38415 tagName: "p" 38416 } 38417 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: excerptClassName, children: !isTrimmed ? rawOrRenderedExcerpt || (0,external_wp_i18n_namespaceObject.__)("No excerpt found") : trimmedExcerpt + ELLIPSIS }); 38418 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 38419 showControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38420 external_wp_blockEditor_namespaceObject.AlignmentToolbar, 38421 { 38422 value: textAlign, 38423 onChange: (newAlign) => setAttributes({ textAlign: newAlign }) 38424 } 38425 ) }), 38426 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 38427 external_wp_components_namespaceObject.__experimentalToolsPanel, 38428 { 38429 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 38430 resetAll: () => { 38431 setAttributes({ 38432 showMoreOnNewLine: true, 38433 excerptLength: 55 38434 }); 38435 }, 38436 dropdownMenuProps, 38437 children: [ 38438 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38439 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38440 { 38441 hasValue: () => showMoreOnNewLine !== true, 38442 label: (0,external_wp_i18n_namespaceObject.__)("Show link on new line"), 38443 onDeselect: () => setAttributes({ showMoreOnNewLine: true }), 38444 isShownByDefault: true, 38445 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38446 external_wp_components_namespaceObject.ToggleControl, 38447 { 38448 __nextHasNoMarginBottom: true, 38449 label: (0,external_wp_i18n_namespaceObject.__)("Show link on new line"), 38450 checked: showMoreOnNewLine, 38451 onChange: (newShowMoreOnNewLine) => setAttributes({ 38452 showMoreOnNewLine: newShowMoreOnNewLine 38453 }) 38454 } 38455 ) 38456 } 38457 ), 38458 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38459 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38460 { 38461 hasValue: () => excerptLength !== 55, 38462 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words"), 38463 onDeselect: () => setAttributes({ excerptLength: 55 }), 38464 isShownByDefault: true, 38465 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38466 external_wp_components_namespaceObject.RangeControl, 38467 { 38468 __next40pxDefaultSize: true, 38469 __nextHasNoMarginBottom: true, 38470 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words"), 38471 value: excerptLength, 38472 onChange: (value) => { 38473 setAttributes({ excerptLength: value }); 38474 }, 38475 min: "10", 38476 max: "100" 38477 } 38478 ) 38479 } 38480 ) 38481 ] 38482 } 38483 ) }), 38484 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 38485 excerptContent, 38486 !showMoreOnNewLine && " ", 38487 showMoreOnNewLine ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "wp-block-post-excerpt__more-text", children: readMoreLink }) : readMoreLink 38488 ] }) 38489 ] }); 38490 } 38491 38492 38493 ;// ./node_modules/@wordpress/block-library/build-module/post-excerpt/transforms.js 38494 38495 const post_excerpt_transforms_transforms = { 38496 from: [ 38497 { 38498 type: "block", 38499 blocks: ["core/post-content"], 38500 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/post-excerpt") 38501 } 38502 ], 38503 to: [ 38504 { 38505 type: "block", 38506 blocks: ["core/post-content"], 38507 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/post-content") 38508 } 38509 ] 38510 }; 38511 var post_excerpt_transforms_transforms_default = post_excerpt_transforms_transforms; 38512 38513 38514 ;// ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js 38515 38516 38517 38518 38519 38520 const { name: post_excerpt_name } = post_excerpt_block_namespaceObject; 38521 const post_excerpt_settings = { 38522 icon: post_excerpt_default, 38523 transforms: post_excerpt_transforms_transforms_default, 38524 edit: PostExcerptEditor 38525 }; 38526 const post_excerpt_init = () => initBlock({ name: post_excerpt_name, metadata: post_excerpt_block_namespaceObject, settings: post_excerpt_settings }); 38527 38528 38529 ;// ./node_modules/@wordpress/icons/build-module/library/post-featured-image.js 38530 38531 38532 var post_featured_image_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z" }) }); 38533 38534 38535 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/block.json 38536 const post_featured_image_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-featured-image","title":"Featured Image","category":"theme","description":"Display a post\'s featured image.","textdomain":"default","attributes":{"isLink":{"type":"boolean","default":false,"role":"content"},"aspectRatio":{"type":"string"},"width":{"type":"string"},"height":{"type":"string"},"scale":{"type":"string","default":"cover"},"sizeSlug":{"type":"string"},"rel":{"type":"string","attribute":"rel","default":"","role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"},"overlayColor":{"type":"string"},"customOverlayColor":{"type":"string"},"dimRatio":{"type":"number","default":0},"gradient":{"type":"string"},"customGradient":{"type":"string"},"useFirstImageFromPost":{"type":"boolean","default":false}},"usesContext":["postId","postType","queryId"],"example":{"viewportWidth":350},"supports":{"align":["left","right","center","wide","full"],"color":{"text":false,"background":false},"__experimentalBorder":{"color":true,"radius":true,"width":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"color":true,"radius":true,"width":true}},"filter":{"duotone":true},"shadow":{"__experimentalSkipSerialization":true},"html":false,"spacing":{"margin":true,"padding":true},"interactivity":{"clientNavigation":true}},"selectors":{"border":".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay","shadow":".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder","filter":{"duotone":".wp-block-post-featured-image img, .wp-block-post-featured-image .wp-block-post-featured-image__placeholder, .wp-block-post-featured-image .components-placeholder__illustration, .wp-block-post-featured-image .components-placeholder::before"}},"editorStyle":"wp-block-post-featured-image-editor","style":"wp-block-post-featured-image"}'); 38537 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/dimension-controls.js 38538 38539 38540 38541 38542 const SCALE_OPTIONS = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 38543 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38544 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 38545 { 38546 value: "cover", 38547 label: (0,external_wp_i18n_namespaceObject._x)("Cover", "Scale option for Image dimension control") 38548 } 38549 ), 38550 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38551 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 38552 { 38553 value: "contain", 38554 label: (0,external_wp_i18n_namespaceObject._x)( 38555 "Contain", 38556 "Scale option for Image dimension control" 38557 ) 38558 } 38559 ), 38560 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38561 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 38562 { 38563 value: "fill", 38564 label: (0,external_wp_i18n_namespaceObject._x)("Fill", "Scale option for Image dimension control") 38565 } 38566 ) 38567 ] }); 38568 const DEFAULT_SCALE = "cover"; 38569 const scaleHelp = { 38570 cover: (0,external_wp_i18n_namespaceObject.__)( 38571 "Image is scaled and cropped to fill the entire space without being distorted." 38572 ), 38573 contain: (0,external_wp_i18n_namespaceObject.__)( 38574 "Image is scaled to fill the space without clipping nor distorting." 38575 ), 38576 fill: (0,external_wp_i18n_namespaceObject.__)( 38577 "Image will be stretched and distorted to completely fill the space." 38578 ) 38579 }; 38580 const DimensionControls = ({ 38581 clientId, 38582 attributes: { aspectRatio, width, height, scale }, 38583 setAttributes 38584 }) => { 38585 const [availableUnits, defaultRatios, themeRatios, showDefaultRatios] = (0,external_wp_blockEditor_namespaceObject.useSettings)( 38586 "spacing.units", 38587 "dimensions.aspectRatios.default", 38588 "dimensions.aspectRatios.theme", 38589 "dimensions.defaultAspectRatios" 38590 ); 38591 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 38592 availableUnits: availableUnits || ["px", "%", "vw", "em", "rem"] 38593 }); 38594 const onDimensionChange = (dimension, nextValue) => { 38595 const parsedValue = parseFloat(nextValue); 38596 if (isNaN(parsedValue) && nextValue) { 38597 return; 38598 } 38599 setAttributes({ 38600 [dimension]: parsedValue < 0 ? "0" : nextValue 38601 }); 38602 }; 38603 const scaleLabel = (0,external_wp_i18n_namespaceObject._x)("Scale", "Image scaling options"); 38604 const showScaleControl = height || aspectRatio && aspectRatio !== "auto"; 38605 const themeOptions = themeRatios?.map(({ name, ratio }) => ({ 38606 label: name, 38607 value: ratio 38608 })); 38609 const defaultOptions = defaultRatios?.map(({ name, ratio }) => ({ 38610 label: name, 38611 value: ratio 38612 })); 38613 const aspectRatioOptions = [ 38614 { 38615 label: (0,external_wp_i18n_namespaceObject._x)( 38616 "Original", 38617 "Aspect ratio option for dimensions control" 38618 ), 38619 value: "auto" 38620 }, 38621 ...showDefaultRatios ? defaultOptions : [], 38622 ...themeOptions ? themeOptions : [] 38623 ]; 38624 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 38625 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38626 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38627 { 38628 hasValue: () => !!aspectRatio, 38629 label: (0,external_wp_i18n_namespaceObject.__)("Aspect ratio"), 38630 onDeselect: () => setAttributes({ aspectRatio: void 0 }), 38631 resetAllFilter: () => ({ 38632 aspectRatio: void 0 38633 }), 38634 isShownByDefault: true, 38635 panelId: clientId, 38636 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38637 external_wp_components_namespaceObject.SelectControl, 38638 { 38639 __next40pxDefaultSize: true, 38640 __nextHasNoMarginBottom: true, 38641 label: (0,external_wp_i18n_namespaceObject.__)("Aspect ratio"), 38642 value: aspectRatio, 38643 options: aspectRatioOptions, 38644 onChange: (nextAspectRatio) => setAttributes({ aspectRatio: nextAspectRatio }) 38645 } 38646 ) 38647 } 38648 ), 38649 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38650 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38651 { 38652 className: "single-column", 38653 hasValue: () => !!height, 38654 label: (0,external_wp_i18n_namespaceObject.__)("Height"), 38655 onDeselect: () => setAttributes({ height: void 0 }), 38656 resetAllFilter: () => ({ 38657 height: void 0 38658 }), 38659 isShownByDefault: true, 38660 panelId: clientId, 38661 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38662 external_wp_components_namespaceObject.__experimentalUnitControl, 38663 { 38664 __next40pxDefaultSize: true, 38665 label: (0,external_wp_i18n_namespaceObject.__)("Height"), 38666 labelPosition: "top", 38667 value: height || "", 38668 min: 0, 38669 onChange: (nextHeight) => onDimensionChange("height", nextHeight), 38670 units 38671 } 38672 ) 38673 } 38674 ), 38675 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38676 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38677 { 38678 className: "single-column", 38679 hasValue: () => !!width, 38680 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 38681 onDeselect: () => setAttributes({ width: void 0 }), 38682 resetAllFilter: () => ({ 38683 width: void 0 38684 }), 38685 isShownByDefault: true, 38686 panelId: clientId, 38687 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38688 external_wp_components_namespaceObject.__experimentalUnitControl, 38689 { 38690 __next40pxDefaultSize: true, 38691 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 38692 labelPosition: "top", 38693 value: width || "", 38694 min: 0, 38695 onChange: (nextWidth) => onDimensionChange("width", nextWidth), 38696 units 38697 } 38698 ) 38699 } 38700 ), 38701 showScaleControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38702 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38703 { 38704 hasValue: () => !!scale && scale !== DEFAULT_SCALE, 38705 label: scaleLabel, 38706 onDeselect: () => setAttributes({ 38707 scale: DEFAULT_SCALE 38708 }), 38709 resetAllFilter: () => ({ 38710 scale: DEFAULT_SCALE 38711 }), 38712 isShownByDefault: true, 38713 panelId: clientId, 38714 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38715 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 38716 { 38717 __next40pxDefaultSize: true, 38718 __nextHasNoMarginBottom: true, 38719 label: scaleLabel, 38720 value: scale, 38721 help: scaleHelp[scale], 38722 onChange: (value) => setAttributes({ 38723 scale: value 38724 }), 38725 isBlock: true, 38726 children: SCALE_OPTIONS 38727 } 38728 ) 38729 } 38730 ) 38731 ] }); 38732 }; 38733 var dimension_controls_default = DimensionControls; 38734 38735 38736 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/overlay-controls.js 38737 38738 38739 38740 38741 38742 const Overlay = ({ 38743 clientId, 38744 attributes, 38745 setAttributes, 38746 overlayColor, 38747 setOverlayColor 38748 }) => { 38749 const { dimRatio } = attributes; 38750 const { gradientValue, setGradient } = (0,external_wp_blockEditor_namespaceObject.__experimentalUseGradient)(); 38751 const colorGradientSettings = (0,external_wp_blockEditor_namespaceObject.__experimentalUseMultipleOriginColorsAndGradients)(); 38752 if (!colorGradientSettings.hasColorsOrGradients) { 38753 return null; 38754 } 38755 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 38756 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38757 external_wp_blockEditor_namespaceObject.__experimentalColorGradientSettingsDropdown, 38758 { 38759 __experimentalIsRenderedInSidebar: true, 38760 settings: [ 38761 { 38762 colorValue: overlayColor.color, 38763 gradientValue, 38764 label: (0,external_wp_i18n_namespaceObject.__)("Overlay"), 38765 onColorChange: setOverlayColor, 38766 onGradientChange: setGradient, 38767 isShownByDefault: true, 38768 resetAllFilter: () => ({ 38769 overlayColor: void 0, 38770 customOverlayColor: void 0, 38771 gradient: void 0, 38772 customGradient: void 0 38773 }), 38774 clearable: true 38775 } 38776 ], 38777 panelId: clientId, 38778 ...colorGradientSettings 38779 } 38780 ), 38781 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38782 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 38783 { 38784 hasValue: () => dimRatio !== void 0, 38785 label: (0,external_wp_i18n_namespaceObject.__)("Overlay opacity"), 38786 onDeselect: () => setAttributes({ dimRatio: 0 }), 38787 resetAllFilter: () => ({ 38788 dimRatio: 0 38789 }), 38790 isShownByDefault: true, 38791 panelId: clientId, 38792 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38793 external_wp_components_namespaceObject.RangeControl, 38794 { 38795 __nextHasNoMarginBottom: true, 38796 label: (0,external_wp_i18n_namespaceObject.__)("Overlay opacity"), 38797 value: dimRatio, 38798 onChange: (newDimRatio) => setAttributes({ 38799 dimRatio: newDimRatio 38800 }), 38801 min: 0, 38802 max: 100, 38803 step: 10, 38804 required: true, 38805 __next40pxDefaultSize: true 38806 } 38807 ) 38808 } 38809 ) 38810 ] }); 38811 }; 38812 var overlay_controls_default = (0,external_wp_compose_namespaceObject.compose)([ 38813 (0,external_wp_blockEditor_namespaceObject.withColors)({ overlayColor: "background-color" }) 38814 ])(Overlay); 38815 38816 38817 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/utils.js 38818 function utils_dimRatioToClass(ratio) { 38819 return ratio === void 0 ? null : "has-background-dim-" + 10 * Math.round(ratio / 10); 38820 } 38821 38822 38823 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/overlay.js 38824 38825 38826 38827 38828 38829 const overlay_Overlay = ({ attributes, overlayColor }) => { 38830 const { dimRatio } = attributes; 38831 const { gradientClass, gradientValue } = (0,external_wp_blockEditor_namespaceObject.__experimentalUseGradient)(); 38832 const colorGradientSettings = (0,external_wp_blockEditor_namespaceObject.__experimentalUseMultipleOriginColorsAndGradients)(); 38833 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 38834 const overlayStyles = { 38835 backgroundColor: overlayColor.color, 38836 backgroundImage: gradientValue, 38837 ...borderProps.style 38838 }; 38839 if (!colorGradientSettings.hasColorsOrGradients || !dimRatio) { 38840 return null; 38841 } 38842 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38843 "span", 38844 { 38845 "aria-hidden": "true", 38846 className: dist_clsx( 38847 "wp-block-post-featured-image__overlay", 38848 utils_dimRatioToClass(dimRatio), 38849 { 38850 [overlayColor.class]: overlayColor.class, 38851 "has-background-dim": dimRatio !== void 0, 38852 "has-background-gradient": gradientValue, 38853 [gradientClass]: gradientClass 38854 }, 38855 borderProps.className 38856 ), 38857 style: overlayStyles 38858 } 38859 ); 38860 }; 38861 var overlay_default = (0,external_wp_compose_namespaceObject.compose)([ 38862 (0,external_wp_blockEditor_namespaceObject.withColors)({ overlayColor: "background-color" }) 38863 ])(overlay_Overlay); 38864 38865 38866 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/edit.js 38867 38868 38869 38870 38871 38872 38873 38874 38875 38876 38877 38878 38879 38880 38881 38882 38883 const post_featured_image_edit_ALLOWED_MEDIA_TYPES = ["image"]; 38884 const { ResolutionTool: post_featured_image_edit_ResolutionTool } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 38885 const edit_DEFAULT_MEDIA_SIZE_SLUG = "full"; 38886 function FeaturedImageResolutionTool({ image, value, onChange }) { 38887 const { imageSizes } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 38888 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 38889 return { 38890 imageSizes: getSettings().imageSizes 38891 }; 38892 }, []); 38893 if (!imageSizes?.length) { 38894 return null; 38895 } 38896 const imageSizeOptions = imageSizes.filter( 38897 ({ slug }) => image?.media_details?.sizes?.[slug]?.source_url 38898 ).map(({ name, slug }) => ({ value: slug, label: name })); 38899 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38900 post_featured_image_edit_ResolutionTool, 38901 { 38902 value, 38903 defaultValue: edit_DEFAULT_MEDIA_SIZE_SLUG, 38904 options: imageSizeOptions, 38905 onChange 38906 } 38907 ); 38908 } 38909 function PostFeaturedImageEdit({ 38910 clientId, 38911 attributes, 38912 setAttributes, 38913 context: { postId, postType: postTypeSlug, queryId } 38914 }) { 38915 const isDescendentOfQueryLoop = Number.isFinite(queryId); 38916 const { 38917 isLink, 38918 aspectRatio, 38919 height, 38920 width, 38921 scale, 38922 sizeSlug, 38923 rel, 38924 linkTarget, 38925 useFirstImageFromPost 38926 } = attributes; 38927 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(); 38928 const [storedFeaturedImage, setFeaturedImage] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 38929 "postType", 38930 postTypeSlug, 38931 "featured_media", 38932 postId 38933 ); 38934 const [postContent] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 38935 "postType", 38936 postTypeSlug, 38937 "content", 38938 postId 38939 ); 38940 const featuredImage = (0,external_wp_element_namespaceObject.useMemo)(() => { 38941 if (storedFeaturedImage) { 38942 return storedFeaturedImage; 38943 } 38944 if (!useFirstImageFromPost) { 38945 return; 38946 } 38947 const imageOpener = /<!--\s+wp:(?:core\/)?image\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\s+\/?-->).)*)?}\s+)?-->/.exec( 38948 postContent 38949 ); 38950 const imageId = imageOpener?.groups?.attrs && JSON.parse(imageOpener.groups.attrs)?.id; 38951 return imageId; 38952 }, [storedFeaturedImage, useFirstImageFromPost, postContent]); 38953 const { media, postType, postPermalink } = (0,external_wp_data_namespaceObject.useSelect)( 38954 (select) => { 38955 const { getEntityRecord, getPostType, getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 38956 return { 38957 media: featuredImage && getEntityRecord("postType", "attachment", featuredImage, { 38958 context: "view" 38959 }), 38960 postType: postTypeSlug && getPostType(postTypeSlug), 38961 postPermalink: getEditedEntityRecord( 38962 "postType", 38963 postTypeSlug, 38964 postId 38965 )?.link 38966 }; 38967 }, 38968 [featuredImage, postTypeSlug, postId] 38969 ); 38970 const mediaUrl = media?.media_details?.sizes?.[sizeSlug]?.source_url || media?.source_url; 38971 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 38972 style: { width, height, aspectRatio }, 38973 className: dist_clsx({ 38974 "is-transient": temporaryURL 38975 }) 38976 }); 38977 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 38978 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 38979 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 38980 const placeholder = (content) => { 38981 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 38982 external_wp_components_namespaceObject.Placeholder, 38983 { 38984 className: dist_clsx( 38985 "block-editor-media-placeholder", 38986 borderProps.className 38987 ), 38988 withIllustration: true, 38989 style: { 38990 height: !!aspectRatio && "100%", 38991 width: !!aspectRatio && "100%", 38992 ...borderProps.style, 38993 ...shadowProps.style 38994 }, 38995 children: content 38996 } 38997 ); 38998 }; 38999 const onSelectImage = (value) => { 39000 if (value?.id) { 39001 setFeaturedImage(value.id); 39002 } 39003 if (value?.url && (0,external_wp_blob_namespaceObject.isBlobURL)(value.url)) { 39004 setTemporaryURL(value.url); 39005 } 39006 }; 39007 const onResetImage = () => { 39008 setAttributes({ 39009 isLink: false, 39010 linkTarget: "_self", 39011 rel: "", 39012 sizeSlug: void 0 39013 }); 39014 setFeaturedImage(0); 39015 }; 39016 (0,external_wp_element_namespaceObject.useEffect)(() => { 39017 if (mediaUrl && temporaryURL) { 39018 setTemporaryURL(); 39019 } 39020 }, [mediaUrl, temporaryURL]); 39021 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 39022 const onUploadError = (message) => { 39023 createErrorNotice(message, { type: "snackbar" }); 39024 setTemporaryURL(); 39025 }; 39026 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 39027 const controls = blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39028 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "color", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39029 overlay_controls_default, 39030 { 39031 attributes, 39032 setAttributes, 39033 clientId 39034 } 39035 ) }), 39036 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "dimensions", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39037 dimension_controls_default, 39038 { 39039 clientId, 39040 attributes, 39041 setAttributes, 39042 media 39043 } 39044 ) }), 39045 (featuredImage || isDescendentOfQueryLoop || !postId) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 39046 external_wp_components_namespaceObject.__experimentalToolsPanel, 39047 { 39048 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 39049 resetAll: () => { 39050 setAttributes({ 39051 isLink: false, 39052 linkTarget: "_self", 39053 rel: "", 39054 sizeSlug: edit_DEFAULT_MEDIA_SIZE_SLUG 39055 }); 39056 }, 39057 dropdownMenuProps, 39058 children: [ 39059 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39060 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39061 { 39062 label: postType?.labels.singular_name ? (0,external_wp_i18n_namespaceObject.sprintf)( 39063 // translators: %s: Name of the post type e.g: "post". 39064 (0,external_wp_i18n_namespaceObject.__)("Link to %s"), 39065 postType.labels.singular_name 39066 ) : (0,external_wp_i18n_namespaceObject.__)("Link to post"), 39067 isShownByDefault: true, 39068 hasValue: () => !!isLink, 39069 onDeselect: () => setAttributes({ 39070 isLink: false 39071 }), 39072 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39073 external_wp_components_namespaceObject.ToggleControl, 39074 { 39075 __nextHasNoMarginBottom: true, 39076 label: postType?.labels.singular_name ? (0,external_wp_i18n_namespaceObject.sprintf)( 39077 // translators: %s: Name of the post type e.g: "post". 39078 (0,external_wp_i18n_namespaceObject.__)("Link to %s"), 39079 postType.labels.singular_name 39080 ) : (0,external_wp_i18n_namespaceObject.__)("Link to post"), 39081 onChange: () => setAttributes({ isLink: !isLink }), 39082 checked: isLink 39083 } 39084 ) 39085 } 39086 ), 39087 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39088 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39089 { 39090 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 39091 isShownByDefault: true, 39092 hasValue: () => "_self" !== linkTarget, 39093 onDeselect: () => setAttributes({ 39094 linkTarget: "_self" 39095 }), 39096 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39097 external_wp_components_namespaceObject.ToggleControl, 39098 { 39099 __nextHasNoMarginBottom: true, 39100 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 39101 onChange: (value) => setAttributes({ 39102 linkTarget: value ? "_blank" : "_self" 39103 }), 39104 checked: linkTarget === "_blank" 39105 } 39106 ) 39107 } 39108 ), 39109 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39110 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39111 { 39112 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 39113 isShownByDefault: true, 39114 hasValue: () => !!rel, 39115 onDeselect: () => setAttributes({ 39116 rel: "" 39117 }), 39118 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39119 external_wp_components_namespaceObject.TextControl, 39120 { 39121 __next40pxDefaultSize: true, 39122 __nextHasNoMarginBottom: true, 39123 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 39124 help: (0,external_wp_element_namespaceObject.createInterpolateElement)( 39125 (0,external_wp_i18n_namespaceObject.__)( 39126 "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document." 39127 ), 39128 { 39129 a: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" }) 39130 } 39131 ), 39132 value: rel, 39133 onChange: (newRel) => setAttributes({ rel: newRel }) 39134 } 39135 ) 39136 } 39137 ), 39138 !!media && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39139 FeaturedImageResolutionTool, 39140 { 39141 image: media, 39142 value: sizeSlug, 39143 onChange: (nextSizeSlug) => setAttributes({ sizeSlug: nextSizeSlug }) 39144 } 39145 ) 39146 ] 39147 } 39148 ) }) 39149 ] }); 39150 let image; 39151 if (!featuredImage && (isDescendentOfQueryLoop || !postId)) { 39152 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39153 controls, 39154 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 39155 !!isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: postPermalink, target: linkTarget, children: placeholder() }) : placeholder(), 39156 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39157 overlay_default, 39158 { 39159 attributes, 39160 setAttributes, 39161 clientId 39162 } 39163 ) 39164 ] }) 39165 ] }); 39166 } 39167 const label = (0,external_wp_i18n_namespaceObject.__)("Add a featured image"); 39168 const imageStyles = { 39169 ...borderProps.style, 39170 ...shadowProps.style, 39171 height: aspectRatio ? "100%" : height, 39172 width: !!aspectRatio && "100%", 39173 objectFit: !!(height || aspectRatio) && scale 39174 }; 39175 if (!featuredImage && !temporaryURL) { 39176 image = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39177 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 39178 { 39179 onSelect: onSelectImage, 39180 accept: "image/*", 39181 allowedTypes: post_featured_image_edit_ALLOWED_MEDIA_TYPES, 39182 onError: onUploadError, 39183 placeholder, 39184 mediaLibraryButton: ({ open }) => { 39185 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39186 external_wp_components_namespaceObject.Button, 39187 { 39188 __next40pxDefaultSize: true, 39189 icon: upload_default, 39190 variant: "primary", 39191 label, 39192 showTooltip: true, 39193 tooltipPosition: "top center", 39194 onClick: () => { 39195 open(); 39196 } 39197 } 39198 ); 39199 } 39200 } 39201 ); 39202 } else { 39203 image = !media && !temporaryURL ? placeholder() : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39204 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39205 "img", 39206 { 39207 className: borderProps.className, 39208 src: temporaryURL || mediaUrl, 39209 alt: media && media?.alt_text ? (0,external_wp_i18n_namespaceObject.sprintf)( 39210 // translators: %s: The image's alt text. 39211 (0,external_wp_i18n_namespaceObject.__)("Featured image: %s"), 39212 media.alt_text 39213 ) : (0,external_wp_i18n_namespaceObject.__)("Featured image"), 39214 style: imageStyles 39215 } 39216 ), 39217 temporaryURL && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 39218 ] }); 39219 } 39220 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39221 !temporaryURL && controls, 39222 !!media && !isDescendentOfQueryLoop && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39223 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 39224 { 39225 mediaId: featuredImage, 39226 mediaURL: mediaUrl, 39227 allowedTypes: post_featured_image_edit_ALLOWED_MEDIA_TYPES, 39228 accept: "image/*", 39229 onSelect: onSelectImage, 39230 onError: onUploadError, 39231 onReset: onResetImage 39232 } 39233 ) }), 39234 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...blockProps, children: [ 39235 !!isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: postPermalink, target: linkTarget, children: image }) : image, 39236 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39237 overlay_default, 39238 { 39239 attributes, 39240 setAttributes, 39241 clientId 39242 } 39243 ) 39244 ] }) 39245 ] }); 39246 } 39247 39248 39249 ;// ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js 39250 39251 39252 39253 39254 const { name: post_featured_image_name } = post_featured_image_block_namespaceObject; 39255 const post_featured_image_settings = { 39256 icon: post_featured_image_default, 39257 edit: PostFeaturedImageEdit 39258 }; 39259 const post_featured_image_init = () => initBlock({ name: post_featured_image_name, metadata: post_featured_image_block_namespaceObject, settings: post_featured_image_settings }); 39260 39261 39262 ;// ./node_modules/@wordpress/block-library/build-module/post-navigation-link/block.json 39263 const post_navigation_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-navigation-link","title":"Post Navigation Link","category":"theme","description":"Displays the next or previous post link that is adjacent to the current post.","textdomain":"default","attributes":{"textAlign":{"type":"string"},"type":{"type":"string","default":"next"},"label":{"type":"string","role":"content"},"showTitle":{"type":"boolean","default":false},"linkLabel":{"type":"boolean","default":false},"arrow":{"type":"string","default":"none"},"taxonomy":{"type":"string","default":""}},"usesContext":["postType"],"supports":{"reusable":false,"html":false,"color":{"link":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-post-navigation-link"}'); 39264 ;// ./node_modules/@wordpress/block-library/build-module/post-navigation-link/edit.js 39265 39266 39267 39268 39269 39270 39271 39272 39273 function PostNavigationLinkEdit({ 39274 context: { postType }, 39275 attributes: { 39276 type, 39277 label, 39278 showTitle, 39279 textAlign, 39280 linkLabel, 39281 arrow, 39282 taxonomy 39283 }, 39284 setAttributes 39285 }) { 39286 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 39287 const showControls = blockEditingMode === "default"; 39288 const isNext = type === "next"; 39289 let placeholder = isNext ? (0,external_wp_i18n_namespaceObject.__)("Next") : (0,external_wp_i18n_namespaceObject.__)("Previous"); 39290 const arrowMap = { 39291 none: "", 39292 arrow: isNext ? "\u2192" : "\u2190", 39293 chevron: isNext ? "\xBB" : "\xAB" 39294 }; 39295 const displayArrow = arrowMap[arrow]; 39296 if (showTitle) { 39297 placeholder = isNext ? ( 39298 /* translators: Label before for next and previous post. There is a space after the colon. */ 39299 (0,external_wp_i18n_namespaceObject.__)("Next: ") 39300 ) : ( 39301 /* translators: Label before for next and previous post. There is a space after the colon. */ 39302 (0,external_wp_i18n_namespaceObject.__)("Previous: ") 39303 ); 39304 } 39305 const ariaLabel = isNext ? (0,external_wp_i18n_namespaceObject.__)("Next post") : (0,external_wp_i18n_namespaceObject.__)("Previous post"); 39306 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 39307 className: dist_clsx({ 39308 [`has-text-align-$textAlign}`]: textAlign 39309 }) 39310 }); 39311 const taxonomies = (0,external_wp_data_namespaceObject.useSelect)( 39312 (select) => { 39313 const { getTaxonomies } = select(external_wp_coreData_namespaceObject.store); 39314 const filteredTaxonomies = getTaxonomies({ 39315 type: postType, 39316 per_page: -1 39317 }); 39318 return filteredTaxonomies; 39319 }, 39320 [postType] 39321 ); 39322 const getTaxonomyOptions = () => { 39323 const selectOption = { 39324 label: (0,external_wp_i18n_namespaceObject.__)("Unfiltered"), 39325 value: "" 39326 }; 39327 const taxonomyOptions = (taxonomies ?? []).filter(({ visibility }) => !!visibility?.publicly_queryable).map((item) => { 39328 return { 39329 value: item.slug, 39330 label: item.name 39331 }; 39332 }); 39333 return [selectOption, ...taxonomyOptions]; 39334 }; 39335 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 39336 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39337 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 39338 external_wp_components_namespaceObject.__experimentalToolsPanel, 39339 { 39340 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 39341 resetAll: () => { 39342 setAttributes({ 39343 showTitle: false, 39344 linkLabel: false, 39345 arrow: "none" 39346 }); 39347 }, 39348 dropdownMenuProps, 39349 children: [ 39350 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39351 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39352 { 39353 label: (0,external_wp_i18n_namespaceObject.__)("Display the title as a link"), 39354 isShownByDefault: true, 39355 hasValue: () => showTitle, 39356 onDeselect: () => setAttributes({ showTitle: false }), 39357 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39358 external_wp_components_namespaceObject.ToggleControl, 39359 { 39360 __nextHasNoMarginBottom: true, 39361 label: (0,external_wp_i18n_namespaceObject.__)("Display the title as a link"), 39362 help: (0,external_wp_i18n_namespaceObject.__)( 39363 "If you have entered a custom label, it will be prepended before the title." 39364 ), 39365 checked: !!showTitle, 39366 onChange: () => setAttributes({ 39367 showTitle: !showTitle 39368 }) 39369 } 39370 ) 39371 } 39372 ), 39373 showTitle && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39374 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39375 { 39376 label: (0,external_wp_i18n_namespaceObject.__)( 39377 "Include the label as part of the link" 39378 ), 39379 isShownByDefault: true, 39380 hasValue: () => !!linkLabel, 39381 onDeselect: () => setAttributes({ linkLabel: false }), 39382 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39383 external_wp_components_namespaceObject.ToggleControl, 39384 { 39385 __nextHasNoMarginBottom: true, 39386 label: (0,external_wp_i18n_namespaceObject.__)( 39387 "Include the label as part of the link" 39388 ), 39389 checked: !!linkLabel, 39390 onChange: () => setAttributes({ 39391 linkLabel: !linkLabel 39392 }) 39393 } 39394 ) 39395 } 39396 ), 39397 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39398 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 39399 { 39400 label: (0,external_wp_i18n_namespaceObject.__)("Arrow"), 39401 isShownByDefault: true, 39402 hasValue: () => arrow !== "none", 39403 onDeselect: () => setAttributes({ arrow: "none" }), 39404 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 39405 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 39406 { 39407 __next40pxDefaultSize: true, 39408 __nextHasNoMarginBottom: true, 39409 label: (0,external_wp_i18n_namespaceObject.__)("Arrow"), 39410 value: arrow, 39411 onChange: (value) => { 39412 setAttributes({ arrow: value }); 39413 }, 39414 help: (0,external_wp_i18n_namespaceObject.__)( 39415 "A decorative arrow for the next and previous link." 39416 ), 39417 isBlock: true, 39418 children: [ 39419 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39420 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 39421 { 39422 value: "none", 39423 label: (0,external_wp_i18n_namespaceObject._x)( 39424 "None", 39425 "Arrow option for Next/Previous link" 39426 ) 39427 } 39428 ), 39429 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39430 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 39431 { 39432 value: "arrow", 39433 label: (0,external_wp_i18n_namespaceObject._x)( 39434 "Arrow", 39435 "Arrow option for Next/Previous link" 39436 ) 39437 } 39438 ), 39439 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39440 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 39441 { 39442 value: "chevron", 39443 label: (0,external_wp_i18n_namespaceObject._x)( 39444 "Chevron", 39445 "Arrow option for Next/Previous link" 39446 ) 39447 } 39448 ) 39449 ] 39450 } 39451 ) 39452 } 39453 ) 39454 ] 39455 } 39456 ) }), 39457 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39458 external_wp_components_namespaceObject.SelectControl, 39459 { 39460 __next40pxDefaultSize: true, 39461 __nextHasNoMarginBottom: true, 39462 label: (0,external_wp_i18n_namespaceObject.__)("Filter by taxonomy"), 39463 value: taxonomy, 39464 options: getTaxonomyOptions(), 39465 onChange: (value) => setAttributes({ 39466 taxonomy: value 39467 }), 39468 help: (0,external_wp_i18n_namespaceObject.__)( 39469 "Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories." 39470 ) 39471 } 39472 ) }), 39473 showControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39474 external_wp_blockEditor_namespaceObject.AlignmentToolbar, 39475 { 39476 value: textAlign, 39477 onChange: (nextAlign) => { 39478 setAttributes({ textAlign: nextAlign }); 39479 } 39480 } 39481 ) }), 39482 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 39483 !isNext && displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39484 "span", 39485 { 39486 className: `wp-block-post-navigation-link__arrow-previous is-arrow-$arrow}`, 39487 children: displayArrow 39488 } 39489 ), 39490 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39491 external_wp_blockEditor_namespaceObject.RichText, 39492 { 39493 tagName: "a", 39494 identifier: "label", 39495 "aria-label": ariaLabel, 39496 placeholder, 39497 value: label, 39498 withoutInteractiveFormatting: true, 39499 onChange: (newLabel) => setAttributes({ label: newLabel }) 39500 } 39501 ), 39502 showTitle && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39503 "a", 39504 { 39505 href: "#post-navigation-pseudo-link", 39506 onClick: (event) => event.preventDefault(), 39507 children: (0,external_wp_i18n_namespaceObject.__)("An example title") 39508 } 39509 ), 39510 isNext && displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39511 "span", 39512 { 39513 className: `wp-block-post-navigation-link__arrow-next is-arrow-$arrow}`, 39514 "aria-hidden": true, 39515 children: displayArrow 39516 } 39517 ) 39518 ] }) 39519 ] }); 39520 } 39521 39522 39523 ;// ./node_modules/@wordpress/icons/build-module/library/previous.js 39524 39525 39526 var previous_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.6 7l-1.1-1L5 12l5.5 6 1.1-1L7 12l4.6-5zm6 0l-1.1-1-5.5 6 5.5 6 1.1-1-4.6-5 4.6-5z" }) }); 39527 39528 39529 ;// ./node_modules/@wordpress/icons/build-module/library/next.js 39530 39531 39532 var next_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.6 6L5.4 7l4.5 5-4.5 5 1.1 1 5.5-6-5.4-6zm6 0l-1.1 1 4.5 5-4.5 5 1.1 1 5.5-6-5.5-6z" }) }); 39533 39534 39535 ;// ./node_modules/@wordpress/block-library/build-module/post-navigation-link/variations.js 39536 39537 39538 const post_navigation_link_variations_variations = [ 39539 { 39540 name: "post-previous", 39541 title: (0,external_wp_i18n_namespaceObject.__)("Previous Post"), 39542 description: (0,external_wp_i18n_namespaceObject.__)( 39543 "Displays the post link that precedes the current post." 39544 ), 39545 icon: previous_default, 39546 attributes: { type: "previous" }, 39547 scope: ["inserter", "transform"], 39548 example: { 39549 attributes: { 39550 label: (0,external_wp_i18n_namespaceObject.__)("Previous post"), 39551 arrow: "arrow" 39552 } 39553 } 39554 }, 39555 { 39556 isDefault: true, 39557 name: "post-next", 39558 title: (0,external_wp_i18n_namespaceObject.__)("Next Post"), 39559 description: (0,external_wp_i18n_namespaceObject.__)( 39560 "Displays the post link that follows the current post." 39561 ), 39562 icon: next_default, 39563 attributes: { type: "next" }, 39564 scope: ["inserter", "transform"], 39565 example: { 39566 attributes: { 39567 label: (0,external_wp_i18n_namespaceObject.__)("Next post"), 39568 arrow: "arrow" 39569 } 39570 } 39571 } 39572 ]; 39573 post_navigation_link_variations_variations.forEach((variation) => { 39574 if (variation.isActive) { 39575 return; 39576 } 39577 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.type === variationAttributes.type; 39578 }); 39579 var post_navigation_link_variations_variations_default = post_navigation_link_variations_variations; 39580 39581 39582 ;// ./node_modules/@wordpress/block-library/build-module/post-navigation-link/index.js 39583 39584 39585 39586 39587 39588 const { name: post_navigation_link_name } = post_navigation_link_block_namespaceObject; 39589 const post_navigation_link_settings = { 39590 edit: PostNavigationLinkEdit, 39591 variations: post_navigation_link_variations_variations_default, 39592 example: { 39593 attributes: { 39594 label: (0,external_wp_i18n_namespaceObject.__)("Next post"), 39595 arrow: "arrow" 39596 } 39597 } 39598 }; 39599 const post_navigation_link_init = () => initBlock({ name: post_navigation_link_name, metadata: post_navigation_link_block_namespaceObject, settings: post_navigation_link_settings }); 39600 39601 39602 ;// ./node_modules/@wordpress/block-library/build-module/post-template/block.json 39603 const post_template_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-template","title":"Post Template","category":"theme","ancestor":["core/query"],"description":"Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.","textdomain":"default","usesContext":["queryId","query","displayLayout","templateSlug","previewPostType","enhancedPagination","postType"],"supports":{"reusable":false,"html":false,"align":["wide","full"],"layout":true,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"spacing":{"margin":true,"padding":true,"blockGap":{"__experimentalDefault":"1.25em"},"__experimentalDefaultControls":{"blockGap":true,"padding":false,"margin":false}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}},"style":"wp-block-post-template","editorStyle":"wp-block-post-template-editor"}'); 39604 ;// ./node_modules/@wordpress/block-library/build-module/post-template/edit.js 39605 39606 39607 39608 39609 39610 39611 39612 39613 39614 const post_template_edit_TEMPLATE = [ 39615 ["core/post-title"], 39616 ["core/post-date"], 39617 ["core/post-excerpt"] 39618 ]; 39619 function PostTemplateInnerBlocks({ classList }) { 39620 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 39621 { className: dist_clsx("wp-block-post", classList) }, 39622 { template: post_template_edit_TEMPLATE, __unstableDisableLayoutClassNames: true } 39623 ); 39624 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { ...innerBlocksProps }); 39625 } 39626 function PostTemplateBlockPreview({ 39627 blocks, 39628 blockContextId, 39629 classList, 39630 isHidden, 39631 setActiveBlockContextId 39632 }) { 39633 const blockPreviewProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBlockPreview)({ 39634 blocks, 39635 props: { 39636 className: dist_clsx("wp-block-post", classList) 39637 } 39638 }); 39639 const handleOnClick = () => { 39640 setActiveBlockContextId(blockContextId); 39641 }; 39642 const style = { 39643 display: isHidden ? "none" : void 0 39644 }; 39645 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39646 "li", 39647 { 39648 ...blockPreviewProps, 39649 tabIndex: 0, 39650 role: "button", 39651 onClick: handleOnClick, 39652 onKeyPress: handleOnClick, 39653 style 39654 } 39655 ); 39656 } 39657 const MemoizedPostTemplateBlockPreview = (0,external_wp_element_namespaceObject.memo)(PostTemplateBlockPreview); 39658 function PostTemplateEdit({ 39659 setAttributes, 39660 clientId, 39661 context: { 39662 query: { 39663 perPage, 39664 offset = 0, 39665 postType, 39666 order, 39667 orderBy, 39668 author, 39669 search, 39670 exclude, 39671 sticky, 39672 inherit, 39673 taxQuery, 39674 parents, 39675 pages, 39676 format, 39677 // We gather extra query args to pass to the REST API call. 39678 // This way extenders of Query Loop can add their own query args, 39679 // and have accurate previews in the editor. 39680 // Noting though that these args should either be supported by the 39681 // REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`. 39682 ...restQueryArgs 39683 } = {}, 39684 templateSlug, 39685 previewPostType 39686 }, 39687 attributes: { layout }, 39688 __unstableLayoutClassNames 39689 }) { 39690 const { type: layoutType, columnCount = 3 } = layout || {}; 39691 const [activeBlockContextId, setActiveBlockContextId] = (0,external_wp_element_namespaceObject.useState)(); 39692 const { posts, blocks } = (0,external_wp_data_namespaceObject.useSelect)( 39693 (select) => { 39694 const { getEntityRecords, getTaxonomies } = select(external_wp_coreData_namespaceObject.store); 39695 const { getBlocks } = select(external_wp_blockEditor_namespaceObject.store); 39696 const templateCategory = inherit && templateSlug?.startsWith("category-") && getEntityRecords("taxonomy", "category", { 39697 context: "view", 39698 per_page: 1, 39699 _fields: ["id"], 39700 slug: templateSlug.replace("category-", "") 39701 }); 39702 const templateTag = inherit && templateSlug?.startsWith("tag-") && getEntityRecords("taxonomy", "post_tag", { 39703 context: "view", 39704 per_page: 1, 39705 _fields: ["id"], 39706 slug: templateSlug.replace("tag-", "") 39707 }); 39708 const query = { 39709 offset: offset || 0, 39710 order, 39711 orderby: orderBy 39712 }; 39713 if (taxQuery && !inherit) { 39714 const taxonomies = getTaxonomies({ 39715 type: postType, 39716 per_page: -1, 39717 context: "view" 39718 }); 39719 const builtTaxQuery = Object.entries(taxQuery).reduce( 39720 (accumulator, [taxonomySlug, terms]) => { 39721 const taxonomy = taxonomies?.find( 39722 ({ slug }) => slug === taxonomySlug 39723 ); 39724 if (taxonomy?.rest_base) { 39725 accumulator[taxonomy?.rest_base] = terms; 39726 } 39727 return accumulator; 39728 }, 39729 {} 39730 ); 39731 if (!!Object.keys(builtTaxQuery).length) { 39732 Object.assign(query, builtTaxQuery); 39733 } 39734 } 39735 if (perPage) { 39736 query.per_page = perPage; 39737 } 39738 if (author) { 39739 query.author = author; 39740 } 39741 if (search) { 39742 query.search = search; 39743 } 39744 if (exclude?.length) { 39745 query.exclude = exclude; 39746 } 39747 if (parents?.length) { 39748 query.parent = parents; 39749 } 39750 if (format?.length) { 39751 query.format = format; 39752 } 39753 if (["exclude", "only"].includes(sticky)) { 39754 query.sticky = sticky === "only"; 39755 } 39756 if (["", "ignore"].includes(sticky)) { 39757 delete query.sticky; 39758 query.ignore_sticky = sticky === "ignore"; 39759 } 39760 let currentPostType = postType; 39761 if (inherit) { 39762 if (templateSlug?.startsWith("archive-")) { 39763 query.postType = templateSlug.replace("archive-", ""); 39764 currentPostType = query.postType; 39765 } else if (templateCategory) { 39766 query.categories = templateCategory[0]?.id; 39767 } else if (templateTag) { 39768 query.tags = templateTag[0]?.id; 39769 } else if (templateSlug?.startsWith("taxonomy-post_format")) { 39770 query.format = templateSlug.replace( 39771 "taxonomy-post_format-post-format-", 39772 "" 39773 ); 39774 } 39775 } 39776 const usedPostType = previewPostType || currentPostType; 39777 return { 39778 posts: getEntityRecords("postType", usedPostType, { 39779 ...query, 39780 ...restQueryArgs 39781 }), 39782 blocks: getBlocks(clientId) 39783 }; 39784 }, 39785 [ 39786 perPage, 39787 offset, 39788 order, 39789 orderBy, 39790 clientId, 39791 author, 39792 search, 39793 postType, 39794 exclude, 39795 sticky, 39796 inherit, 39797 templateSlug, 39798 taxQuery, 39799 parents, 39800 format, 39801 restQueryArgs, 39802 previewPostType 39803 ] 39804 ); 39805 const blockContexts = (0,external_wp_element_namespaceObject.useMemo)( 39806 () => posts?.map((post) => ({ 39807 postType: post.type, 39808 postId: post.id, 39809 classList: post.class_list ?? "" 39810 })), 39811 [posts] 39812 ); 39813 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 39814 className: dist_clsx(__unstableLayoutClassNames, { 39815 [`columns-$columnCount}`]: layoutType === "grid" && columnCount 39816 // Ensure column count is flagged via classname for backwards compatibility. 39817 }) 39818 }); 39819 if (!posts) { 39820 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }); 39821 } 39822 if (!posts.length) { 39823 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { ...blockProps, children: [ 39824 " ", 39825 (0,external_wp_i18n_namespaceObject.__)("No results found.") 39826 ] }); 39827 } 39828 const setDisplayLayout = (newDisplayLayout) => setAttributes({ 39829 layout: { ...layout, ...newDisplayLayout } 39830 }); 39831 const displayLayoutControls = [ 39832 { 39833 icon: list_default, 39834 title: (0,external_wp_i18n_namespaceObject._x)("List view", "Post template block display setting"), 39835 onClick: () => setDisplayLayout({ type: "default" }), 39836 isActive: layoutType === "default" || layoutType === "constrained" 39837 }, 39838 { 39839 icon: grid_default, 39840 title: (0,external_wp_i18n_namespaceObject._x)("Grid view", "Post template block display setting"), 39841 onClick: () => setDisplayLayout({ 39842 type: "grid", 39843 columnCount 39844 }), 39845 isActive: layoutType === "grid" 39846 } 39847 ]; 39848 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 39849 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { controls: displayLayoutControls }) }), 39850 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...blockProps, children: blockContexts && blockContexts.map((blockContext) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 39851 external_wp_blockEditor_namespaceObject.BlockContextProvider, 39852 { 39853 value: blockContext, 39854 children: [ 39855 blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId) ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39856 PostTemplateInnerBlocks, 39857 { 39858 classList: blockContext.classList 39859 } 39860 ) : null, 39861 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39862 MemoizedPostTemplateBlockPreview, 39863 { 39864 blocks, 39865 blockContextId: blockContext.postId, 39866 classList: blockContext.classList, 39867 setActiveBlockContextId, 39868 isHidden: blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId) 39869 } 39870 ) 39871 ] 39872 }, 39873 blockContext.postId 39874 )) }) 39875 ] }); 39876 } 39877 39878 39879 ;// ./node_modules/@wordpress/block-library/build-module/post-template/save.js 39880 39881 39882 function PostTemplateSave() { 39883 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 39884 } 39885 39886 39887 ;// ./node_modules/@wordpress/block-library/build-module/post-template/index.js 39888 39889 39890 39891 39892 39893 const { name: post_template_name } = post_template_block_namespaceObject; 39894 const post_template_settings = { 39895 icon: layout_default, 39896 edit: PostTemplateEdit, 39897 save: PostTemplateSave 39898 }; 39899 const post_template_init = () => initBlock({ name: post_template_name, metadata: post_template_block_namespaceObject, settings: post_template_settings }); 39900 39901 39902 ;// ./node_modules/@wordpress/icons/build-module/library/post-categories.js 39903 39904 39905 var post_categories_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 39906 external_wp_primitives_namespaceObject.Path, 39907 { 39908 d: "M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z", 39909 fillRule: "evenodd", 39910 clipRule: "evenodd" 39911 } 39912 ) }); 39913 39914 39915 ;// ./node_modules/@wordpress/block-library/build-module/post-terms/block.json 39916 const post_terms_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-terms","title":"Post Terms","category":"theme","description":"Post terms.","textdomain":"default","attributes":{"term":{"type":"string"},"textAlign":{"type":"string"},"separator":{"type":"string","default":", "},"prefix":{"type":"string","default":"","role":"content"},"suffix":{"type":"string","default":"","role":"content"}},"usesContext":["postId","postType"],"example":{"viewportWidth":350},"supports":{"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-terms"}'); 39917 ;// ./node_modules/@wordpress/block-library/build-module/post-terms/use-post-terms.js 39918 39919 39920 const use_post_terms_EMPTY_ARRAY = []; 39921 function usePostTerms({ postId, term }) { 39922 const { slug } = term; 39923 return (0,external_wp_data_namespaceObject.useSelect)( 39924 (select) => { 39925 const visible = term?.visibility?.publicly_queryable; 39926 if (!visible) { 39927 return { 39928 postTerms: use_post_terms_EMPTY_ARRAY, 39929 isLoading: false, 39930 hasPostTerms: false 39931 }; 39932 } 39933 const { getEntityRecords, isResolving } = select(external_wp_coreData_namespaceObject.store); 39934 const taxonomyArgs = [ 39935 "taxonomy", 39936 slug, 39937 { 39938 post: postId, 39939 per_page: -1, 39940 context: "view" 39941 } 39942 ]; 39943 const terms = getEntityRecords(...taxonomyArgs); 39944 return { 39945 postTerms: terms, 39946 isLoading: isResolving("getEntityRecords", taxonomyArgs), 39947 hasPostTerms: !!terms?.length 39948 }; 39949 }, 39950 [postId, term?.visibility?.publicly_queryable, slug] 39951 ); 39952 } 39953 39954 39955 ;// ./node_modules/@wordpress/block-library/build-module/post-terms/edit.js 39956 39957 39958 39959 39960 39961 39962 39963 39964 39965 39966 const ALLOWED_FORMATS = [ 39967 "core/bold", 39968 "core/image", 39969 "core/italic", 39970 "core/link", 39971 "core/strikethrough", 39972 "core/text-color" 39973 ]; 39974 function PostTermsEdit({ 39975 attributes, 39976 clientId, 39977 context, 39978 isSelected, 39979 setAttributes, 39980 insertBlocksAfter 39981 }) { 39982 const { term, textAlign, separator, prefix, suffix } = attributes; 39983 const { postId, postType } = context; 39984 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 39985 const showControls = blockEditingMode === "default"; 39986 const selectedTerm = (0,external_wp_data_namespaceObject.useSelect)( 39987 (select) => { 39988 if (!term) { 39989 return {}; 39990 } 39991 const { getTaxonomy } = select(external_wp_coreData_namespaceObject.store); 39992 const taxonomy = getTaxonomy(term); 39993 return taxonomy?.visibility?.publicly_queryable ? taxonomy : {}; 39994 }, 39995 [term] 39996 ); 39997 const { postTerms, hasPostTerms, isLoading } = usePostTerms({ 39998 postId, 39999 term: selectedTerm 40000 }); 40001 const hasPost = postId && postType; 40002 const blockInformation = (0,external_wp_blockEditor_namespaceObject.useBlockDisplayInformation)(clientId); 40003 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 40004 className: dist_clsx({ 40005 [`has-text-align-$textAlign}`]: textAlign, 40006 [`taxonomy-$term}`]: term 40007 }) 40008 }); 40009 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40010 showControls && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40011 external_wp_blockEditor_namespaceObject.AlignmentToolbar, 40012 { 40013 value: textAlign, 40014 onChange: (nextAlign) => { 40015 setAttributes({ textAlign: nextAlign }); 40016 } 40017 } 40018 ) }), 40019 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40020 external_wp_components_namespaceObject.TextControl, 40021 { 40022 __next40pxDefaultSize: true, 40023 __nextHasNoMarginBottom: true, 40024 autoComplete: "off", 40025 label: (0,external_wp_i18n_namespaceObject.__)("Separator"), 40026 value: separator || "", 40027 onChange: (nextValue) => { 40028 setAttributes({ separator: nextValue }); 40029 }, 40030 help: (0,external_wp_i18n_namespaceObject.__)("Enter character(s) used to separate terms.") 40031 } 40032 ) }), 40033 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 40034 isLoading && hasPost && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 40035 !isLoading && (isSelected || prefix) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40036 external_wp_blockEditor_namespaceObject.RichText, 40037 { 40038 identifier: "prefix", 40039 allowedFormats: ALLOWED_FORMATS, 40040 className: "wp-block-post-terms__prefix", 40041 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Prefix"), 40042 placeholder: (0,external_wp_i18n_namespaceObject.__)("Prefix") + " ", 40043 value: prefix, 40044 onChange: (value) => setAttributes({ prefix: value }), 40045 tagName: "span" 40046 } 40047 ), 40048 (!hasPost || !term) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: blockInformation.title }), 40049 hasPost && !isLoading && hasPostTerms && postTerms.map((postTerm) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40050 "a", 40051 { 40052 href: postTerm.link, 40053 onClick: (event) => event.preventDefault(), 40054 rel: "tag", 40055 children: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(postTerm.name) 40056 }, 40057 postTerm.id 40058 )).reduce((prev, curr) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40059 prev, 40060 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "wp-block-post-terms__separator", children: separator || " " }), 40061 curr 40062 ] })), 40063 hasPost && !isLoading && !hasPostTerms && (selectedTerm?.labels?.no_terms || (0,external_wp_i18n_namespaceObject.__)("Term items not found.")), 40064 !isLoading && (isSelected || suffix) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40065 external_wp_blockEditor_namespaceObject.RichText, 40066 { 40067 identifier: "suffix", 40068 allowedFormats: ALLOWED_FORMATS, 40069 className: "wp-block-post-terms__suffix", 40070 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Suffix"), 40071 placeholder: " " + (0,external_wp_i18n_namespaceObject.__)("Suffix"), 40072 value: suffix, 40073 onChange: (value) => setAttributes({ suffix: value }), 40074 tagName: "span", 40075 __unstableOnSplitAtEnd: () => insertBlocksAfter( 40076 (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()) 40077 ) 40078 } 40079 ) 40080 ] }) 40081 ] }); 40082 } 40083 40084 40085 ;// ./node_modules/@wordpress/icons/build-module/library/post-terms.js 40086 40087 40088 var post_terms_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M8.1 12.3c.1.1.3.3.5.3.2.1.4.1.6.1.2 0 .4 0 .6-.1.2-.1.4-.2.5-.3l3-3c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.5-1.1L9.7 3.5c-.1-.2-.3-.3-.5-.3H5c-.4 0-.8.4-.8.8v4.2c0 .2.1.4.2.5l3.7 3.6zM5.8 4.8h3.1l3.4 3.4v.1l-3 3 .5.5-.7-.5-3.3-3.4V4.8zM4 20h9v-1.5H4V20zm0-5.5V16h16v-1.5H4z" }) }); 40089 40090 40091 ;// ./node_modules/@wordpress/block-library/build-module/post-terms/hooks.js 40092 40093 const variationIconMap = { 40094 category: post_categories_default, 40095 post_tag: post_terms_default 40096 }; 40097 function enhanceVariations(settings, name) { 40098 if (name !== "core/post-terms") { 40099 return settings; 40100 } 40101 const variations = settings.variations.map((variation) => ({ 40102 ...variation, 40103 ...{ 40104 icon: variationIconMap[variation.name] ?? post_categories_default 40105 } 40106 })); 40107 return { 40108 ...settings, 40109 variations 40110 }; 40111 } 40112 40113 40114 ;// ./node_modules/@wordpress/block-library/build-module/post-terms/index.js 40115 40116 40117 40118 40119 40120 40121 const { name: post_terms_name } = post_terms_block_namespaceObject; 40122 const post_terms_settings = { 40123 icon: post_categories_default, 40124 edit: PostTermsEdit 40125 }; 40126 const post_terms_init = () => { 40127 (0,external_wp_hooks_namespaceObject.addFilter)( 40128 "blocks.registerBlockType", 40129 "core/template-part", 40130 enhanceVariations 40131 ); 40132 return initBlock({ name: post_terms_name, metadata: post_terms_block_namespaceObject, settings: post_terms_settings }); 40133 }; 40134 40135 40136 ;// ./node_modules/@wordpress/icons/build-module/library/time-to-read.js 40137 40138 40139 var time_to_read_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 3c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16.5c-4.1 0-7.5-3.4-7.5-7.5S7.9 4.5 12 4.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM12 7l-1 5c0 .3.2.6.4.8l4.2 2.8-2.7-4.1L12 7z" }) }); 40140 40141 40142 ;// ./node_modules/@wordpress/block-library/build-module/post-time-to-read/block.json 40143 const post_time_to_read_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-time-to-read","title":"Time to Read","category":"theme","description":"Show minutes required to finish reading the post. Can also show a word count.","textdomain":"default","usesContext":["postId","postType"],"attributes":{"textAlign":{"type":"string"},"displayAsRange":{"type":"boolean","default":true},"displayMode":{"type":"string","default":"time"},"averageReadingSpeed":{"type":"number","default":189}},"supports":{"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"html":false,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}}}'); 40144 ;// external ["wp","wordcount"] 40145 const external_wp_wordcount_namespaceObject = window["wp"]["wordcount"]; 40146 ;// ./node_modules/@wordpress/block-library/build-module/post-time-to-read/edit.js 40147 40148 40149 40150 40151 40152 40153 40154 40155 40156 40157 function PostTimeToReadEdit({ attributes, setAttributes, context }) { 40158 const { textAlign, displayAsRange, displayMode, averageReadingSpeed } = attributes; 40159 const { postId, postType } = context; 40160 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 40161 const [contentStructure] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 40162 "postType", 40163 postType, 40164 "content", 40165 postId 40166 ); 40167 const [blocks] = (0,external_wp_coreData_namespaceObject.useEntityBlockEditor)("postType", postType, { 40168 id: postId 40169 }); 40170 const displayString = (0,external_wp_element_namespaceObject.useMemo)(() => { 40171 let content; 40172 if (contentStructure instanceof Function) { 40173 content = contentStructure({ blocks }); 40174 } else if (blocks) { 40175 content = (0,external_wp_blocks_namespaceObject.__unstableSerializeAndClean)(blocks); 40176 } else { 40177 content = contentStructure; 40178 } 40179 const wordCountType = (0,external_wp_i18n_namespaceObject._x)( 40180 "words", 40181 "Word count type. Do not translate!" 40182 ); 40183 const totalWords = (0,external_wp_wordcount_namespaceObject.count)(content || "", wordCountType); 40184 if (displayMode === "time") { 40185 if (displayAsRange) { 40186 let maxMinutes = Math.max( 40187 1, 40188 Math.round(totalWords / averageReadingSpeed * 1.2) 40189 ); 40190 const minMinutes = Math.max( 40191 1, 40192 Math.round(totalWords / averageReadingSpeed * 0.8) 40193 ); 40194 if (minMinutes === maxMinutes) { 40195 maxMinutes = maxMinutes + 1; 40196 } 40197 const rangeLabel = (0,external_wp_i18n_namespaceObject._x)( 40198 "%1$s\u2013%2$s minutes", 40199 "Range of minutes to read" 40200 ); 40201 return (0,external_wp_i18n_namespaceObject.sprintf)(rangeLabel, minMinutes, maxMinutes); 40202 } 40203 const minutesToRead = Math.max( 40204 1, 40205 Math.round(totalWords / averageReadingSpeed) 40206 ); 40207 return (0,external_wp_i18n_namespaceObject.sprintf)( 40208 /* translators: %s: the number of minutes to read the post. */ 40209 (0,external_wp_i18n_namespaceObject._n)("%s minute", "%s minutes", minutesToRead), 40210 minutesToRead 40211 ); 40212 } 40213 if (displayMode === "words") { 40214 return wordCountType === "words" ? (0,external_wp_i18n_namespaceObject.sprintf)( 40215 /* translators: %s: the number of words in the post. */ 40216 (0,external_wp_i18n_namespaceObject._n)("%s word", "%s words", totalWords), 40217 totalWords.toLocaleString() 40218 ) : (0,external_wp_i18n_namespaceObject.sprintf)( 40219 /* translators: %s: the number of characters in the post. */ 40220 (0,external_wp_i18n_namespaceObject._n)("%s character", "%s characters", totalWords), 40221 totalWords.toLocaleString() 40222 ); 40223 } 40224 }, [ 40225 contentStructure, 40226 blocks, 40227 displayAsRange, 40228 displayMode, 40229 averageReadingSpeed 40230 ]); 40231 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 40232 className: dist_clsx({ 40233 [`has-text-align-$textAlign}`]: textAlign 40234 }) 40235 }); 40236 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40237 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40238 external_wp_blockEditor_namespaceObject.AlignmentControl, 40239 { 40240 value: textAlign, 40241 onChange: (nextAlign) => { 40242 setAttributes({ textAlign: nextAlign }); 40243 } 40244 } 40245 ) }), 40246 displayMode === "time" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40247 external_wp_components_namespaceObject.__experimentalToolsPanel, 40248 { 40249 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 40250 resetAll: () => { 40251 setAttributes({ 40252 displayAsRange: true 40253 }); 40254 }, 40255 dropdownMenuProps, 40256 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40257 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 40258 { 40259 isShownByDefault: true, 40260 label: (0,external_wp_i18n_namespaceObject._x)( 40261 "Display as range", 40262 "Turns reading time range display on or off" 40263 ), 40264 hasValue: () => !displayAsRange, 40265 onDeselect: () => { 40266 setAttributes({ 40267 displayAsRange: true 40268 }); 40269 }, 40270 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40271 external_wp_components_namespaceObject.ToggleControl, 40272 { 40273 __nextHasNoMarginBottom: true, 40274 label: (0,external_wp_i18n_namespaceObject.__)("Display as range"), 40275 checked: !!displayAsRange, 40276 onChange: () => setAttributes({ 40277 displayAsRange: !displayAsRange 40278 }) 40279 } 40280 ) 40281 } 40282 ) 40283 } 40284 ) }), 40285 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: displayString }) 40286 ] }); 40287 } 40288 var post_time_to_read_edit_edit_default = PostTimeToReadEdit; 40289 40290 40291 ;// ./node_modules/@wordpress/icons/build-module/library/word-count.js 40292 40293 40294 var word_count_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 5c1.1 0 2 .9 2 2v10c0 1.1-.9 2-2 2H5c-1.1 0-2-.9-2-2V7c0-1.1.9-2 2-2zM5 6.5c-.3 0-.5.2-.5.5v10c0 .3.2.5.5.5h14c.3 0 .5-.2.5-.5V7c0-.3-.2-.5-.5-.5zM14.734 9q.714 0 1.15.253.437.247.639.84.2.591.2 1.61v1.15q0 .402.036.667.04.258.172.39.138.127.437.127h.104l-.162.828h-.08q-.5 0-.776-.097a.9.9 0 0 1-.414-.283 2 2 0 0 1-.259-.448q-.316.367-.748.598-.43.23-.977.23-.524 0-.914-.213a1.56 1.56 0 0 1-.61-.58 1.65 1.65 0 0 1-.213-.84q0-.477.207-.817.213-.345.564-.568.357-.23.794-.363.437-.139.902-.196.471-.062.902-.068 0-.805-.315-1.053-.316-.247-.915-.247-.316 0-.678.098-.356.097-.805.408l-.15-.84a2.8 2.8 0 0 1 .846-.419A3.4 3.4 0 0 1 14.734 9m-5.877 1.669H9.86l.59-1.531h.689l-.585 1.53h.898l-.249.727h-.922l-.337.866h1.019l-.354.773h-.962l-.681 1.804h-.701l.69-1.804h-.999l-.693 1.804h-.69l.685-1.804H6.3l.34-.773h.915l.333-.866h-.994l.244-.726H8.16l.594-1.531h.693zm6.832 1.264q-.823.029-1.335.16-.506.133-.74.397-.236.265-.236.685 0 .454.241.66.248.202.632.202.414 0 .8-.207.39-.207.637-.552zm-7.441.328h1l.34-.866h-1z" }) }); 40295 40296 40297 ;// ./node_modules/@wordpress/block-library/build-module/post-time-to-read/variations.js 40298 40299 40300 const post_time_to_read_variations_variations = [ 40301 { 40302 name: "time-to-read", 40303 title: (0,external_wp_i18n_namespaceObject.__)("Time to Read"), 40304 description: (0,external_wp_i18n_namespaceObject.__)("Show minutes required to finish reading the post."), 40305 attributes: { 40306 displayMode: "time" 40307 }, 40308 scope: ["inserter", "transform"], 40309 isActive: (blockAttributes) => blockAttributes?.displayMode === "time", 40310 icon: time_to_read_default, 40311 isDefault: true 40312 }, 40313 { 40314 name: "word-count", 40315 title: (0,external_wp_i18n_namespaceObject.__)("Word Count"), 40316 description: (0,external_wp_i18n_namespaceObject.__)("Show the number of words in the post."), 40317 attributes: { 40318 displayMode: "words" 40319 }, 40320 scope: ["inserter", "transform"], 40321 isActive: (blockAttributes) => blockAttributes?.displayMode === "words", 40322 icon: word_count_default 40323 } 40324 ]; 40325 var post_time_to_read_variations_variations_default = post_time_to_read_variations_variations; 40326 40327 40328 ;// ./node_modules/@wordpress/block-library/build-module/post-time-to-read/index.js 40329 40330 40331 40332 40333 40334 const { name: post_time_to_read_name } = post_time_to_read_block_namespaceObject; 40335 const post_time_to_read_settings = { 40336 icon: time_to_read_default, 40337 edit: post_time_to_read_edit_edit_default, 40338 variations: post_time_to_read_variations_variations_default, 40339 example: {} 40340 }; 40341 const post_time_to_read_init = () => initBlock({ name: post_time_to_read_name, metadata: post_time_to_read_block_namespaceObject, settings: post_time_to_read_settings }); 40342 40343 40344 ;// ./node_modules/@wordpress/block-library/build-module/post-title/block.json 40345 const post_title_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/post-title","title":"Title","category":"theme","description":"Displays the title of a post, page, or any other content-type.","textdomain":"default","usesContext":["postId","postType","queryId"],"attributes":{"textAlign":{"type":"string"},"level":{"type":"number","default":2},"levelOptions":{"type":"array"},"isLink":{"type":"boolean","default":false,"role":"content"},"rel":{"type":"string","attribute":"rel","default":"","role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"}},"example":{"viewportWidth":350},"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-post-title"}'); 40346 ;// ./node_modules/@wordpress/block-library/build-module/post-title/edit.js 40347 40348 40349 40350 40351 40352 40353 40354 40355 40356 40357 function PostTitleEdit({ 40358 attributes: { level, levelOptions, textAlign, isLink, rel, linkTarget }, 40359 setAttributes, 40360 context: { postType, postId, queryId }, 40361 insertBlocksAfter 40362 }) { 40363 const TagName = level === 0 ? "p" : `h$level}`; 40364 const isDescendentOfQueryLoop = Number.isFinite(queryId); 40365 const userCanEdit = (0,external_wp_data_namespaceObject.useSelect)( 40366 (select) => { 40367 if (isDescendentOfQueryLoop) { 40368 return false; 40369 } 40370 return select(external_wp_coreData_namespaceObject.store).canUser("update", { 40371 kind: "postType", 40372 name: postType, 40373 id: postId 40374 }); 40375 }, 40376 [isDescendentOfQueryLoop, postType, postId] 40377 ); 40378 const [rawTitle = "", setTitle, fullTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 40379 "postType", 40380 postType, 40381 "title", 40382 postId 40383 ); 40384 const [link] = (0,external_wp_coreData_namespaceObject.useEntityProp)("postType", postType, "link", postId); 40385 const onSplitAtEnd = () => { 40386 insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())); 40387 }; 40388 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 40389 className: dist_clsx({ 40390 [`has-text-align-$textAlign}`]: textAlign 40391 }) 40392 }); 40393 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 40394 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 40395 let titleElement = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: (0,external_wp_i18n_namespaceObject.__)("Title") }); 40396 if (postType && postId) { 40397 titleElement = userCanEdit ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40398 external_wp_blockEditor_namespaceObject.PlainText, 40399 { 40400 tagName: TagName, 40401 placeholder: (0,external_wp_i18n_namespaceObject.__)("No title"), 40402 value: rawTitle, 40403 onChange: setTitle, 40404 __experimentalVersion: 2, 40405 __unstableOnSplitAtEnd: onSplitAtEnd, 40406 ...blockProps 40407 } 40408 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40409 TagName, 40410 { 40411 ...blockProps, 40412 dangerouslySetInnerHTML: { __html: fullTitle?.rendered } 40413 } 40414 ); 40415 } 40416 if (isLink && postType && postId) { 40417 titleElement = userCanEdit ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40418 external_wp_blockEditor_namespaceObject.PlainText, 40419 { 40420 tagName: "a", 40421 href: link, 40422 target: linkTarget, 40423 rel, 40424 placeholder: !rawTitle.length ? (0,external_wp_i18n_namespaceObject.__)("No title") : null, 40425 value: rawTitle, 40426 onChange: setTitle, 40427 __experimentalVersion: 2, 40428 __unstableOnSplitAtEnd: onSplitAtEnd 40429 } 40430 ) }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40431 "a", 40432 { 40433 href: link, 40434 target: linkTarget, 40435 rel, 40436 onClick: (event) => event.preventDefault(), 40437 dangerouslySetInnerHTML: { 40438 __html: fullTitle?.rendered 40439 } 40440 } 40441 ) }); 40442 } 40443 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40444 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40445 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 40446 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40447 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 40448 { 40449 value: level, 40450 options: levelOptions, 40451 onChange: (newLevel) => setAttributes({ level: newLevel }) 40452 } 40453 ), 40454 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40455 external_wp_blockEditor_namespaceObject.AlignmentControl, 40456 { 40457 value: textAlign, 40458 onChange: (nextAlign) => { 40459 setAttributes({ textAlign: nextAlign }); 40460 } 40461 } 40462 ) 40463 ] }), 40464 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 40465 external_wp_components_namespaceObject.__experimentalToolsPanel, 40466 { 40467 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 40468 resetAll: () => { 40469 setAttributes({ 40470 rel: "", 40471 linkTarget: "_self", 40472 isLink: false 40473 }); 40474 }, 40475 dropdownMenuProps, 40476 children: [ 40477 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40478 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 40479 { 40480 label: (0,external_wp_i18n_namespaceObject.__)("Make title a link"), 40481 isShownByDefault: true, 40482 hasValue: () => isLink, 40483 onDeselect: () => setAttributes({ isLink: false }), 40484 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40485 external_wp_components_namespaceObject.ToggleControl, 40486 { 40487 __nextHasNoMarginBottom: true, 40488 label: (0,external_wp_i18n_namespaceObject.__)("Make title a link"), 40489 onChange: () => setAttributes({ isLink: !isLink }), 40490 checked: isLink 40491 } 40492 ) 40493 } 40494 ), 40495 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 40496 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40497 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 40498 { 40499 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 40500 isShownByDefault: true, 40501 hasValue: () => linkTarget === "_blank", 40502 onDeselect: () => setAttributes({ 40503 linkTarget: "_self" 40504 }), 40505 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40506 external_wp_components_namespaceObject.ToggleControl, 40507 { 40508 __nextHasNoMarginBottom: true, 40509 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 40510 onChange: (value) => setAttributes({ 40511 linkTarget: value ? "_blank" : "_self" 40512 }), 40513 checked: linkTarget === "_blank" 40514 } 40515 ) 40516 } 40517 ), 40518 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40519 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 40520 { 40521 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 40522 isShownByDefault: true, 40523 hasValue: () => !!rel, 40524 onDeselect: () => setAttributes({ rel: "" }), 40525 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40526 external_wp_components_namespaceObject.TextControl, 40527 { 40528 __next40pxDefaultSize: true, 40529 __nextHasNoMarginBottom: true, 40530 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 40531 help: (0,external_wp_element_namespaceObject.createInterpolateElement)( 40532 (0,external_wp_i18n_namespaceObject.__)( 40533 "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document." 40534 ), 40535 { 40536 a: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" }) 40537 } 40538 ), 40539 value: rel, 40540 onChange: (newRel) => setAttributes({ rel: newRel }) 40541 } 40542 ) 40543 } 40544 ) 40545 ] }) 40546 ] 40547 } 40548 ) }) 40549 ] }), 40550 titleElement 40551 ] }); 40552 } 40553 40554 40555 ;// ./node_modules/@wordpress/block-library/build-module/post-title/deprecated.js 40556 40557 const post_title_deprecated_v1 = { 40558 attributes: { 40559 textAlign: { 40560 type: "string" 40561 }, 40562 level: { 40563 type: "number", 40564 default: 2 40565 }, 40566 isLink: { 40567 type: "boolean", 40568 default: false 40569 }, 40570 rel: { 40571 type: "string", 40572 attribute: "rel", 40573 default: "" 40574 }, 40575 linkTarget: { 40576 type: "string", 40577 default: "_self" 40578 } 40579 }, 40580 supports: { 40581 align: ["wide", "full"], 40582 html: false, 40583 color: { 40584 gradients: true, 40585 link: true 40586 }, 40587 spacing: { 40588 margin: true 40589 }, 40590 typography: { 40591 fontSize: true, 40592 lineHeight: true, 40593 __experimentalFontFamily: true, 40594 __experimentalFontWeight: true, 40595 __experimentalFontStyle: true, 40596 __experimentalTextTransform: true 40597 } 40598 }, 40599 save() { 40600 return null; 40601 }, 40602 migrate: migrate_font_family_default, 40603 isEligible({ style }) { 40604 return style?.typography?.fontFamily; 40605 } 40606 }; 40607 var post_title_deprecated_deprecated_default = [post_title_deprecated_v1]; 40608 40609 40610 ;// ./node_modules/@wordpress/block-library/build-module/post-title/index.js 40611 40612 40613 40614 40615 40616 const { name: post_title_name } = post_title_block_namespaceObject; 40617 const post_title_settings = { 40618 icon: title_default, 40619 edit: PostTitleEdit, 40620 deprecated: post_title_deprecated_deprecated_default 40621 }; 40622 const post_title_init = () => initBlock({ name: post_title_name, metadata: post_title_block_namespaceObject, settings: post_title_settings }); 40623 40624 40625 ;// ./node_modules/@wordpress/icons/build-module/library/preformatted.js 40626 40627 40628 var preformatted_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z" }) }); 40629 40630 40631 ;// ./node_modules/@wordpress/block-library/build-module/preformatted/edit.js 40632 40633 40634 40635 40636 function PreformattedEdit({ 40637 attributes, 40638 mergeBlocks, 40639 setAttributes, 40640 onRemove, 40641 insertBlocksAfter, 40642 style 40643 }) { 40644 const { content } = attributes; 40645 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ style }); 40646 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40647 external_wp_blockEditor_namespaceObject.RichText, 40648 { 40649 tagName: "pre", 40650 identifier: "content", 40651 preserveWhiteSpace: true, 40652 value: content, 40653 onChange: (nextContent) => { 40654 setAttributes({ 40655 content: nextContent 40656 }); 40657 }, 40658 onRemove, 40659 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Preformatted text"), 40660 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write preformatted text\u2026"), 40661 onMerge: mergeBlocks, 40662 ...blockProps, 40663 __unstablePastePlainText: true, 40664 __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())) 40665 } 40666 ); 40667 } 40668 40669 40670 ;// ./node_modules/@wordpress/block-library/build-module/preformatted/block.json 40671 const preformatted_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/preformatted","title":"Preformatted","category":"text","description":"Add text that respects your spacing and tabs, and also allows styling.","textdomain":"default","attributes":{"content":{"type":"rich-text","source":"rich-text","selector":"pre","__unstablePreserveWhiteSpace":true,"role":"content"}},"supports":{"anchor":true,"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"padding":true,"margin":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-preformatted"}'); 40672 ;// ./node_modules/@wordpress/block-library/build-module/preformatted/save.js 40673 40674 40675 function preformatted_save_save({ attributes }) { 40676 const { content } = attributes; 40677 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 40678 } 40679 40680 40681 ;// ./node_modules/@wordpress/block-library/build-module/preformatted/transforms.js 40682 40683 const preformatted_transforms_transforms = { 40684 from: [ 40685 { 40686 type: "block", 40687 blocks: ["core/code", "core/paragraph", "core/verse"], 40688 transform: ({ content, anchor }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/preformatted", { 40689 content, 40690 anchor 40691 }) 40692 }, 40693 { 40694 type: "raw", 40695 isMatch: (node) => node.nodeName === "PRE" && !(node.children.length === 1 && node.firstChild.nodeName === "CODE"), 40696 schema: ({ phrasingContentSchema }) => ({ 40697 pre: { 40698 children: phrasingContentSchema 40699 } 40700 }) 40701 } 40702 ], 40703 to: [ 40704 { 40705 type: "block", 40706 blocks: ["core/paragraph"], 40707 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", attributes) 40708 }, 40709 { 40710 type: "block", 40711 blocks: ["core/code"], 40712 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/code", attributes) 40713 }, 40714 { 40715 type: "block", 40716 blocks: ["core/verse"], 40717 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/verse", attributes) 40718 } 40719 ] 40720 }; 40721 var preformatted_transforms_transforms_default = preformatted_transforms_transforms; 40722 40723 40724 ;// ./node_modules/@wordpress/block-library/build-module/preformatted/index.js 40725 40726 40727 40728 40729 40730 40731 40732 const { name: preformatted_name } = preformatted_block_namespaceObject; 40733 const preformatted_settings = { 40734 icon: preformatted_default, 40735 example: { 40736 attributes: { 40737 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 40738 // translators: Sample content for the Preformatted block. Can be replaced with a more locale-adequate work. 40739 content: (0,external_wp_i18n_namespaceObject.__)( 40740 "EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;" 40741 ) 40742 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 40743 } 40744 }, 40745 transforms: preformatted_transforms_transforms_default, 40746 edit: PreformattedEdit, 40747 save: preformatted_save_save, 40748 merge(attributes, attributesToMerge) { 40749 return { 40750 content: attributes.content + "\n\n" + attributesToMerge.content 40751 }; 40752 } 40753 }; 40754 const preformatted_init = () => initBlock({ name: preformatted_name, metadata: preformatted_block_namespaceObject, settings: preformatted_settings }); 40755 40756 40757 ;// ./node_modules/@wordpress/icons/build-module/library/pullquote.js 40758 40759 40760 var pullquote_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z" }) }); 40761 40762 40763 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/shared.js 40764 const SOLID_COLOR_CLASS = `is-style-solid-color`; 40765 40766 40767 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/deprecated.js 40768 40769 40770 40771 40772 40773 const pullquote_deprecated_blockAttributes = { 40774 value: { 40775 type: "string", 40776 source: "html", 40777 selector: "blockquote", 40778 multiline: "p" 40779 }, 40780 citation: { 40781 type: "string", 40782 source: "html", 40783 selector: "cite", 40784 default: "" 40785 }, 40786 mainColor: { 40787 type: "string" 40788 }, 40789 customMainColor: { 40790 type: "string" 40791 }, 40792 textColor: { 40793 type: "string" 40794 }, 40795 customTextColor: { 40796 type: "string" 40797 } 40798 }; 40799 function parseBorderColor(styleString) { 40800 if (!styleString) { 40801 return; 40802 } 40803 const matches = styleString.match(/border-color:([^;]+)[;]?/); 40804 if (matches && matches[1]) { 40805 return matches[1]; 40806 } 40807 } 40808 function multilineToInline(value) { 40809 value = value || `<p></p>`; 40810 const padded = `</p>$value}<p>`; 40811 const values = padded.split(`</p><p>`); 40812 values.shift(); 40813 values.pop(); 40814 return values.join("<br>"); 40815 } 40816 const pullquote_deprecated_v5 = { 40817 attributes: { 40818 value: { 40819 type: "string", 40820 source: "html", 40821 selector: "blockquote", 40822 multiline: "p", 40823 role: "content" 40824 }, 40825 citation: { 40826 type: "string", 40827 source: "html", 40828 selector: "cite", 40829 default: "", 40830 role: "content" 40831 }, 40832 textAlign: { 40833 type: "string" 40834 } 40835 }, 40836 save({ attributes }) { 40837 const { textAlign, citation, value } = attributes; 40838 const shouldShowCitation = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation); 40839 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40840 "figure", 40841 { 40842 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 40843 className: dist_clsx({ 40844 [`has-text-align-$textAlign}`]: textAlign 40845 }) 40846 }), 40847 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { children: [ 40848 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 40849 shouldShowCitation && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 40850 ] }) 40851 } 40852 ); 40853 }, 40854 migrate({ value, ...attributes }) { 40855 return { 40856 value: multilineToInline(value), 40857 ...attributes 40858 }; 40859 } 40860 }; 40861 const pullquote_deprecated_v4 = { 40862 attributes: { 40863 ...pullquote_deprecated_blockAttributes 40864 }, 40865 save({ attributes }) { 40866 const { 40867 mainColor, 40868 customMainColor, 40869 customTextColor, 40870 textColor, 40871 value, 40872 citation, 40873 className 40874 } = attributes; 40875 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 40876 let figureClasses, figureStyles; 40877 if (isSolidColorStyle) { 40878 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 40879 "background-color", 40880 mainColor 40881 ); 40882 figureClasses = dist_clsx({ 40883 "has-background": backgroundClass || customMainColor, 40884 [backgroundClass]: backgroundClass 40885 }); 40886 figureStyles = { 40887 backgroundColor: backgroundClass ? void 0 : customMainColor 40888 }; 40889 } else if (customMainColor) { 40890 figureStyles = { 40891 borderColor: customMainColor 40892 }; 40893 } 40894 const blockquoteTextColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 40895 "color", 40896 textColor 40897 ); 40898 const blockquoteClasses = dist_clsx({ 40899 "has-text-color": textColor || customTextColor, 40900 [blockquoteTextColorClass]: blockquoteTextColorClass 40901 }); 40902 const blockquoteStyles = blockquoteTextColorClass ? void 0 : { color: customTextColor }; 40903 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 40904 "figure", 40905 { 40906 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 40907 className: figureClasses, 40908 style: figureStyles 40909 }), 40910 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 40911 "blockquote", 40912 { 40913 className: blockquoteClasses, 40914 style: blockquoteStyles, 40915 children: [ 40916 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 40917 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 40918 ] 40919 } 40920 ) 40921 } 40922 ); 40923 }, 40924 migrate({ 40925 value, 40926 className, 40927 mainColor, 40928 customMainColor, 40929 customTextColor, 40930 ...attributes 40931 }) { 40932 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 40933 let style; 40934 if (customMainColor) { 40935 if (!isSolidColorStyle) { 40936 style = { 40937 border: { 40938 color: customMainColor 40939 } 40940 }; 40941 } else { 40942 style = { 40943 color: { 40944 background: customMainColor 40945 } 40946 }; 40947 } 40948 } 40949 if (customTextColor && style) { 40950 style.color = { 40951 ...style.color, 40952 text: customTextColor 40953 }; 40954 } 40955 return { 40956 value: multilineToInline(value), 40957 className, 40958 backgroundColor: isSolidColorStyle ? mainColor : void 0, 40959 borderColor: isSolidColorStyle ? void 0 : mainColor, 40960 textAlign: isSolidColorStyle ? "left" : void 0, 40961 style, 40962 ...attributes 40963 }; 40964 } 40965 }; 40966 const pullquote_deprecated_v3 = { 40967 attributes: { 40968 ...pullquote_deprecated_blockAttributes, 40969 // figureStyle is an attribute that never existed. 40970 // We are using it as a way to access the styles previously applied to the figure. 40971 figureStyle: { 40972 source: "attribute", 40973 selector: "figure", 40974 attribute: "style" 40975 } 40976 }, 40977 save({ attributes }) { 40978 const { 40979 mainColor, 40980 customMainColor, 40981 textColor, 40982 customTextColor, 40983 value, 40984 citation, 40985 className, 40986 figureStyle 40987 } = attributes; 40988 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 40989 let figureClasses, figureStyles; 40990 if (isSolidColorStyle) { 40991 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 40992 "background-color", 40993 mainColor 40994 ); 40995 figureClasses = dist_clsx({ 40996 "has-background": backgroundClass || customMainColor, 40997 [backgroundClass]: backgroundClass 40998 }); 40999 figureStyles = { 41000 backgroundColor: backgroundClass ? void 0 : customMainColor 41001 }; 41002 } else if (customMainColor) { 41003 figureStyles = { 41004 borderColor: customMainColor 41005 }; 41006 } else if (mainColor) { 41007 const borderColor = parseBorderColor(figureStyle); 41008 figureStyles = { 41009 borderColor 41010 }; 41011 } 41012 const blockquoteTextColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 41013 "color", 41014 textColor 41015 ); 41016 const blockquoteClasses = (textColor || customTextColor) && dist_clsx("has-text-color", { 41017 [blockquoteTextColorClass]: blockquoteTextColorClass 41018 }); 41019 const blockquoteStyles = blockquoteTextColorClass ? void 0 : { color: customTextColor }; 41020 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: figureClasses, style: figureStyles, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 41021 "blockquote", 41022 { 41023 className: blockquoteClasses, 41024 style: blockquoteStyles, 41025 children: [ 41026 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 41027 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 41028 ] 41029 } 41030 ) }); 41031 }, 41032 migrate({ 41033 value, 41034 className, 41035 figureStyle, 41036 mainColor, 41037 customMainColor, 41038 customTextColor, 41039 ...attributes 41040 }) { 41041 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 41042 let style; 41043 if (customMainColor) { 41044 if (!isSolidColorStyle) { 41045 style = { 41046 border: { 41047 color: customMainColor 41048 } 41049 }; 41050 } else { 41051 style = { 41052 color: { 41053 background: customMainColor 41054 } 41055 }; 41056 } 41057 } 41058 if (customTextColor && style) { 41059 style.color = { 41060 ...style.color, 41061 text: customTextColor 41062 }; 41063 } 41064 if (!isSolidColorStyle && mainColor && figureStyle) { 41065 const borderColor = parseBorderColor(figureStyle); 41066 if (borderColor) { 41067 return { 41068 value: multilineToInline(value), 41069 ...attributes, 41070 className, 41071 // Block supports: Set style.border.color if a deprecated block has `mainColor`, inline border CSS and is not a solid color style. 41072 style: { 41073 border: { 41074 color: borderColor 41075 } 41076 } 41077 }; 41078 } 41079 } 41080 return { 41081 value: multilineToInline(value), 41082 className, 41083 backgroundColor: isSolidColorStyle ? mainColor : void 0, 41084 borderColor: isSolidColorStyle ? void 0 : mainColor, 41085 textAlign: isSolidColorStyle ? "left" : void 0, 41086 style, 41087 ...attributes 41088 }; 41089 } 41090 }; 41091 const pullquote_deprecated_v2 = { 41092 attributes: pullquote_deprecated_blockAttributes, 41093 save({ attributes }) { 41094 const { 41095 mainColor, 41096 customMainColor, 41097 textColor, 41098 customTextColor, 41099 value, 41100 citation, 41101 className 41102 } = attributes; 41103 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 41104 let figureClass, figureStyles; 41105 if (isSolidColorStyle) { 41106 figureClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("background-color", mainColor); 41107 if (!figureClass) { 41108 figureStyles = { 41109 backgroundColor: customMainColor 41110 }; 41111 } 41112 } else if (customMainColor) { 41113 figureStyles = { 41114 borderColor: customMainColor 41115 }; 41116 } else if (mainColor) { 41117 const colors = (0,external_wp_data_namespaceObject.select)(external_wp_blockEditor_namespaceObject.store).getSettings().colors ?? []; 41118 const colorObject = (0,external_wp_blockEditor_namespaceObject.getColorObjectByAttributeValues)( 41119 colors, 41120 mainColor 41121 ); 41122 figureStyles = { 41123 borderColor: colorObject.color 41124 }; 41125 } 41126 const blockquoteTextColorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 41127 "color", 41128 textColor 41129 ); 41130 const blockquoteClasses = textColor || customTextColor ? dist_clsx("has-text-color", { 41131 [blockquoteTextColorClass]: blockquoteTextColorClass 41132 }) : void 0; 41133 const blockquoteStyle = blockquoteTextColorClass ? void 0 : { color: customTextColor }; 41134 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("figure", { className: figureClass, style: figureStyles, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 41135 "blockquote", 41136 { 41137 className: blockquoteClasses, 41138 style: blockquoteStyle, 41139 children: [ 41140 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 41141 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 41142 ] 41143 } 41144 ) }); 41145 }, 41146 migrate({ 41147 value, 41148 className, 41149 mainColor, 41150 customMainColor, 41151 customTextColor, 41152 ...attributes 41153 }) { 41154 const isSolidColorStyle = className?.includes(SOLID_COLOR_CLASS); 41155 let style = {}; 41156 if (customMainColor) { 41157 if (!isSolidColorStyle) { 41158 style = { 41159 border: { 41160 color: customMainColor 41161 } 41162 }; 41163 } else { 41164 style = { 41165 color: { 41166 background: customMainColor 41167 } 41168 }; 41169 } 41170 } 41171 if (customTextColor && style) { 41172 style.color = { 41173 ...style.color, 41174 text: customTextColor 41175 }; 41176 } 41177 return { 41178 value: multilineToInline(value), 41179 className, 41180 backgroundColor: isSolidColorStyle ? mainColor : void 0, 41181 borderColor: isSolidColorStyle ? void 0 : mainColor, 41182 textAlign: isSolidColorStyle ? "left" : void 0, 41183 style, 41184 ...attributes 41185 }; 41186 } 41187 }; 41188 const pullquote_deprecated_v1 = { 41189 attributes: { 41190 ...pullquote_deprecated_blockAttributes 41191 }, 41192 save({ attributes }) { 41193 const { value, citation } = attributes; 41194 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { children: [ 41195 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 41196 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 41197 ] }); 41198 }, 41199 migrate({ value, ...attributes }) { 41200 return { 41201 value: multilineToInline(value), 41202 ...attributes 41203 }; 41204 } 41205 }; 41206 const deprecated_v0 = { 41207 attributes: { 41208 ...pullquote_deprecated_blockAttributes, 41209 citation: { 41210 type: "string", 41211 source: "html", 41212 selector: "footer" 41213 }, 41214 align: { 41215 type: "string", 41216 default: "none" 41217 } 41218 }, 41219 save({ attributes }) { 41220 const { value, citation, align } = attributes; 41221 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { className: `align$align}`, children: [ 41222 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value, multiline: true }), 41223 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "footer", value: citation }) 41224 ] }); 41225 }, 41226 migrate({ value, ...attributes }) { 41227 return { 41228 value: multilineToInline(value), 41229 ...attributes 41230 }; 41231 } 41232 }; 41233 var pullquote_deprecated_deprecated_default = [pullquote_deprecated_v5, pullquote_deprecated_v4, pullquote_deprecated_v3, pullquote_deprecated_v2, pullquote_deprecated_v1, deprecated_v0]; 41234 41235 41236 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/figure.js 41237 const Figure = "figure"; 41238 41239 41240 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/blockquote.js 41241 const BlockQuote = "blockquote"; 41242 41243 41244 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/edit.js 41245 41246 41247 41248 41249 41250 41251 41252 41253 const isWebPlatform = external_wp_element_namespaceObject.Platform.OS === "web"; 41254 function PullQuoteEdit({ 41255 attributes, 41256 setAttributes, 41257 isSelected, 41258 insertBlocksAfter 41259 }) { 41260 const { textAlign, citation, value } = attributes; 41261 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 41262 className: dist_clsx({ 41263 [`has-text-align-$textAlign}`]: textAlign 41264 }) 41265 }); 41266 const shouldShowCitation = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) || isSelected; 41267 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 41268 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41269 external_wp_blockEditor_namespaceObject.AlignmentControl, 41270 { 41271 value: textAlign, 41272 onChange: (nextAlign) => { 41273 setAttributes({ textAlign: nextAlign }); 41274 } 41275 } 41276 ) }), 41277 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Figure, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(BlockQuote, { children: [ 41278 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41279 external_wp_blockEditor_namespaceObject.RichText, 41280 { 41281 identifier: "value", 41282 tagName: "p", 41283 value, 41284 onChange: (nextValue) => setAttributes({ 41285 value: nextValue 41286 }), 41287 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Pullquote text"), 41288 placeholder: ( 41289 // translators: placeholder text used for the quote 41290 (0,external_wp_i18n_namespaceObject.__)("Add quote") 41291 ), 41292 textAlign: "center" 41293 } 41294 ), 41295 shouldShowCitation && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41296 external_wp_blockEditor_namespaceObject.RichText, 41297 { 41298 identifier: "citation", 41299 tagName: isWebPlatform ? "cite" : void 0, 41300 style: { display: "block" }, 41301 value: citation, 41302 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Pullquote citation text"), 41303 placeholder: ( 41304 // translators: placeholder text used for the citation 41305 (0,external_wp_i18n_namespaceObject.__)("Add citation") 41306 ), 41307 onChange: (nextCitation) => setAttributes({ 41308 citation: nextCitation 41309 }), 41310 className: "wp-block-pullquote__citation", 41311 __unstableMobileNoFocusOnMount: true, 41312 textAlign: "center", 41313 __unstableOnSplitAtEnd: () => insertBlocksAfter( 41314 (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()) 41315 ) 41316 } 41317 ) 41318 ] }) }) 41319 ] }); 41320 } 41321 var pullquote_edit_edit_default = PullQuoteEdit; 41322 41323 41324 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/block.json 41325 const pullquote_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/pullquote","title":"Pullquote","category":"text","description":"Give special visual emphasis to a quote from your text.","textdomain":"default","attributes":{"value":{"type":"rich-text","source":"rich-text","selector":"p","role":"content"},"citation":{"type":"rich-text","source":"rich-text","selector":"cite","role":"content"},"textAlign":{"type":"string"}},"supports":{"anchor":true,"align":["left","right","wide","full"],"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"color":{"gradients":true,"background":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"dimensions":{"minHeight":true,"__experimentalDefaultControls":{"minHeight":false}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"__experimentalStyle":{"typography":{"fontSize":"1.5em","lineHeight":"1.6"}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-pullquote-editor","style":"wp-block-pullquote"}'); 41326 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/save.js 41327 41328 41329 41330 function pullquote_save_save({ attributes }) { 41331 const { textAlign, citation, value } = attributes; 41332 const shouldShowCitation = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation); 41333 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41334 "figure", 41335 { 41336 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 41337 className: dist_clsx({ 41338 [`has-text-align-$textAlign}`]: textAlign 41339 }) 41340 }), 41341 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { children: [ 41342 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "p", value }), 41343 shouldShowCitation && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 41344 ] }) 41345 } 41346 ); 41347 } 41348 41349 41350 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/transforms.js 41351 41352 41353 const pullquote_transforms_transforms = { 41354 from: [ 41355 { 41356 type: "block", 41357 isMultiBlock: true, 41358 blocks: ["core/paragraph"], 41359 transform: (attributes) => { 41360 return (0,external_wp_blocks_namespaceObject.createBlock)("core/pullquote", { 41361 value: (0,external_wp_richText_namespaceObject.toHTMLString)({ 41362 value: (0,external_wp_richText_namespaceObject.join)( 41363 attributes.map( 41364 ({ content }) => (0,external_wp_richText_namespaceObject.create)({ html: content }) 41365 ), 41366 "\n" 41367 ) 41368 }), 41369 anchor: attributes.anchor 41370 }); 41371 } 41372 }, 41373 { 41374 type: "block", 41375 blocks: ["core/heading"], 41376 transform: ({ content, anchor }) => { 41377 return (0,external_wp_blocks_namespaceObject.createBlock)("core/pullquote", { 41378 value: content, 41379 anchor 41380 }); 41381 } 41382 } 41383 ], 41384 to: [ 41385 { 41386 type: "block", 41387 blocks: ["core/paragraph"], 41388 transform: ({ value, citation }) => { 41389 const paragraphs = []; 41390 if (value) { 41391 paragraphs.push( 41392 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 41393 content: value 41394 }) 41395 ); 41396 } 41397 if (citation) { 41398 paragraphs.push( 41399 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 41400 content: citation 41401 }) 41402 ); 41403 } 41404 if (paragraphs.length === 0) { 41405 return (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 41406 content: "" 41407 }); 41408 } 41409 return paragraphs; 41410 } 41411 }, 41412 { 41413 type: "block", 41414 blocks: ["core/heading"], 41415 transform: ({ value, citation }) => { 41416 if (!value) { 41417 return (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { 41418 content: citation 41419 }); 41420 } 41421 const headingBlock = (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { 41422 content: value 41423 }); 41424 if (!citation) { 41425 return headingBlock; 41426 } 41427 return [ 41428 headingBlock, 41429 (0,external_wp_blocks_namespaceObject.createBlock)("core/heading", { 41430 content: citation 41431 }) 41432 ]; 41433 } 41434 } 41435 ] 41436 }; 41437 var pullquote_transforms_transforms_default = pullquote_transforms_transforms; 41438 41439 41440 ;// ./node_modules/@wordpress/block-library/build-module/pullquote/index.js 41441 41442 41443 41444 41445 41446 41447 41448 41449 const { name: pullquote_name } = pullquote_block_namespaceObject; 41450 const pullquote_settings = { 41451 icon: pullquote_default, 41452 example: { 41453 attributes: { 41454 value: ( 41455 // translators: Quote serving as example for the Pullquote block. Attributed to Matt Mullenweg. 41456 (0,external_wp_i18n_namespaceObject.__)( 41457 "One of the hardest things to do in technology is disrupt yourself." 41458 ) 41459 ), 41460 citation: (0,external_wp_i18n_namespaceObject.__)("Matt Mullenweg") 41461 } 41462 }, 41463 transforms: pullquote_transforms_transforms_default, 41464 edit: pullquote_edit_edit_default, 41465 save: pullquote_save_save, 41466 deprecated: pullquote_deprecated_deprecated_default 41467 }; 41468 const pullquote_init = () => initBlock({ name: pullquote_name, metadata: pullquote_block_namespaceObject, settings: pullquote_settings }); 41469 41470 41471 ;// ./node_modules/@wordpress/icons/build-module/library/loop.js 41472 41473 41474 var loop_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z" }) }); 41475 41476 41477 ;// ./node_modules/@wordpress/block-library/build-module/query/block.json 41478 const query_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query","title":"Query Loop","category":"theme","description":"An advanced block that allows displaying post types based on different query parameters and visual configurations.","keywords":["posts","list","blog","blogs","custom post types"],"textdomain":"default","attributes":{"queryId":{"type":"number"},"query":{"type":"object","default":{"perPage":null,"pages":0,"offset":0,"postType":"post","order":"desc","orderBy":"date","author":"","search":"","exclude":[],"sticky":"","inherit":true,"taxQuery":null,"parents":[],"format":[]}},"tagName":{"type":"string","default":"div"},"namespace":{"type":"string"},"enhancedPagination":{"type":"boolean","default":false}},"usesContext":["templateSlug"],"providesContext":{"queryId":"queryId","query":"query","displayLayout":"displayLayout","enhancedPagination":"enhancedPagination"},"supports":{"align":["wide","full"],"html":false,"layout":true,"interactivity":true,"contentRole":true},"editorStyle":"wp-block-query-editor"}'); 41479 ;// ./node_modules/@wordpress/block-library/build-module/query/utils.js 41480 41481 41482 41483 41484 41485 41486 41487 const getEntitiesInfo = (entities) => { 41488 const mapping = entities?.reduce( 41489 (accumulator, entity) => { 41490 const { mapById, mapByName, names } = accumulator; 41491 mapById[entity.id] = entity; 41492 mapByName[entity.name] = entity; 41493 names.push(entity.name); 41494 return accumulator; 41495 }, 41496 { mapById: {}, mapByName: {}, names: [] } 41497 ); 41498 return { 41499 entities, 41500 ...mapping 41501 }; 41502 }; 41503 const getValueFromObjectPath = (object, path) => { 41504 const normalizedPath = path.split("."); 41505 let value = object; 41506 normalizedPath.forEach((fieldName) => { 41507 value = value?.[fieldName]; 41508 }); 41509 return value; 41510 }; 41511 const mapToIHasNameAndId = (entities, path) => { 41512 return (entities || []).map((entity) => ({ 41513 ...entity, 41514 name: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(getValueFromObjectPath(entity, path)) 41515 })); 41516 }; 41517 const usePostTypes = () => { 41518 const postTypes = (0,external_wp_data_namespaceObject.useSelect)((select) => { 41519 const { getPostTypes } = select(external_wp_coreData_namespaceObject.store); 41520 const excludedPostTypes = ["attachment"]; 41521 const filteredPostTypes = getPostTypes({ per_page: -1 })?.filter( 41522 ({ viewable, slug }) => viewable && !excludedPostTypes.includes(slug) 41523 ); 41524 return filteredPostTypes; 41525 }, []); 41526 const postTypesTaxonomiesMap = (0,external_wp_element_namespaceObject.useMemo)(() => { 41527 if (!postTypes?.length) { 41528 return; 41529 } 41530 return postTypes.reduce((accumulator, type) => { 41531 accumulator[type.slug] = type.taxonomies; 41532 return accumulator; 41533 }, {}); 41534 }, [postTypes]); 41535 const postTypesSelectOptions = (0,external_wp_element_namespaceObject.useMemo)( 41536 () => (postTypes || []).map(({ labels, slug }) => ({ 41537 label: labels.singular_name, 41538 value: slug 41539 })), 41540 [postTypes] 41541 ); 41542 const postTypeFormatSupportMap = (0,external_wp_element_namespaceObject.useMemo)(() => { 41543 if (!postTypes?.length) { 41544 return {}; 41545 } 41546 return postTypes.reduce((accumulator, type) => { 41547 accumulator[type.slug] = type.supports?.["post-formats"] || false; 41548 return accumulator; 41549 }, {}); 41550 }, [postTypes]); 41551 return { 41552 postTypesTaxonomiesMap, 41553 postTypesSelectOptions, 41554 postTypeFormatSupportMap 41555 }; 41556 }; 41557 const useTaxonomies = (postType) => { 41558 const taxonomies = (0,external_wp_data_namespaceObject.useSelect)( 41559 (select) => { 41560 const { getTaxonomies, getPostType } = select(external_wp_coreData_namespaceObject.store); 41561 if (getPostType(postType)?.taxonomies?.length > 0) { 41562 return getTaxonomies({ 41563 type: postType, 41564 per_page: -1 41565 }); 41566 } 41567 return []; 41568 }, 41569 [postType] 41570 ); 41571 return (0,external_wp_element_namespaceObject.useMemo)(() => { 41572 return taxonomies?.filter( 41573 ({ visibility }) => !!visibility?.publicly_queryable 41574 ); 41575 }, [taxonomies]); 41576 }; 41577 function useIsPostTypeHierarchical(postType) { 41578 return (0,external_wp_data_namespaceObject.useSelect)( 41579 (select) => { 41580 const type = select(external_wp_coreData_namespaceObject.store).getPostType(postType); 41581 return type?.viewable && type?.hierarchical; 41582 }, 41583 [postType] 41584 ); 41585 } 41586 function useOrderByOptions(postType) { 41587 const supportsCustomOrder = (0,external_wp_data_namespaceObject.useSelect)( 41588 (select) => { 41589 const type = select(external_wp_coreData_namespaceObject.store).getPostType(postType); 41590 return !!type?.supports?.["page-attributes"]; 41591 }, 41592 [postType] 41593 ); 41594 return (0,external_wp_element_namespaceObject.useMemo)(() => { 41595 const orderByOptions = [ 41596 { 41597 label: (0,external_wp_i18n_namespaceObject.__)("Newest to oldest"), 41598 value: "date/desc" 41599 }, 41600 { 41601 label: (0,external_wp_i18n_namespaceObject.__)("Oldest to newest"), 41602 value: "date/asc" 41603 }, 41604 { 41605 /* translators: Label for ordering posts by title in ascending order. */ 41606 label: (0,external_wp_i18n_namespaceObject.__)("A \u2192 Z"), 41607 value: "title/asc" 41608 }, 41609 { 41610 /* translators: Label for ordering posts by title in descending order. */ 41611 label: (0,external_wp_i18n_namespaceObject.__)("Z \u2192 A"), 41612 value: "title/desc" 41613 } 41614 ]; 41615 if (supportsCustomOrder) { 41616 orderByOptions.push( 41617 { 41618 /* translators: Label for ordering posts by ascending menu order. */ 41619 label: (0,external_wp_i18n_namespaceObject.__)("Ascending by order"), 41620 value: "menu_order/asc" 41621 }, 41622 { 41623 /* translators: Label for ordering posts by descending menu order. */ 41624 label: (0,external_wp_i18n_namespaceObject.__)("Descending by order"), 41625 value: "menu_order/desc" 41626 } 41627 ); 41628 } 41629 return orderByOptions; 41630 }, [supportsCustomOrder]); 41631 } 41632 function useAllowedControls(attributes) { 41633 return (0,external_wp_data_namespaceObject.useSelect)( 41634 (select) => select(external_wp_blocks_namespaceObject.store).getActiveBlockVariation( 41635 "core/query", 41636 attributes 41637 )?.allowedControls, 41638 [attributes] 41639 ); 41640 } 41641 function isControlAllowed(allowedControls, key) { 41642 if (!allowedControls) { 41643 return true; 41644 } 41645 return allowedControls.includes(key); 41646 } 41647 const getTransformedBlocksFromPattern = (blocks, queryBlockAttributes) => { 41648 const { 41649 query: { postType, inherit }, 41650 namespace 41651 } = queryBlockAttributes; 41652 const clonedBlocks = blocks.map((block) => (0,external_wp_blocks_namespaceObject.cloneBlock)(block)); 41653 const queryClientIds = []; 41654 const blocksQueue = [...clonedBlocks]; 41655 while (blocksQueue.length > 0) { 41656 const block = blocksQueue.shift(); 41657 if (block.name === "core/query") { 41658 block.attributes.query = { 41659 ...block.attributes.query, 41660 postType, 41661 inherit 41662 }; 41663 if (namespace) { 41664 block.attributes.namespace = namespace; 41665 } 41666 queryClientIds.push(block.clientId); 41667 } 41668 block.innerBlocks?.forEach((innerBlock) => { 41669 blocksQueue.push(innerBlock); 41670 }); 41671 } 41672 return { newBlocks: clonedBlocks, queryClientIds }; 41673 }; 41674 function useBlockNameForPatterns(clientId, attributes) { 41675 return (0,external_wp_data_namespaceObject.useSelect)( 41676 (select) => { 41677 const activeVariationName = select( 41678 external_wp_blocks_namespaceObject.store 41679 ).getActiveBlockVariation("core/query", attributes)?.name; 41680 if (!activeVariationName) { 41681 return "core/query"; 41682 } 41683 const { getBlockRootClientId, getPatternsByBlockTypes } = select(external_wp_blockEditor_namespaceObject.store); 41684 const rootClientId = getBlockRootClientId(clientId); 41685 const activePatterns = getPatternsByBlockTypes( 41686 `core/query/$activeVariationName}`, 41687 rootClientId 41688 ); 41689 return activePatterns.length > 0 ? `core/query/$activeVariationName}` : "core/query"; 41690 }, 41691 [clientId, attributes] 41692 ); 41693 } 41694 function useScopedBlockVariations(attributes) { 41695 const { activeVariationName, blockVariations } = (0,external_wp_data_namespaceObject.useSelect)( 41696 (select) => { 41697 const { getActiveBlockVariation, getBlockVariations } = select(external_wp_blocks_namespaceObject.store); 41698 return { 41699 activeVariationName: getActiveBlockVariation( 41700 "core/query", 41701 attributes 41702 )?.name, 41703 blockVariations: getBlockVariations("core/query", "block") 41704 }; 41705 }, 41706 [attributes] 41707 ); 41708 const variations = (0,external_wp_element_namespaceObject.useMemo)(() => { 41709 const isNotConnected = (variation) => !variation.attributes?.namespace; 41710 if (!activeVariationName) { 41711 return blockVariations.filter(isNotConnected); 41712 } 41713 const connectedVariations = blockVariations.filter( 41714 (variation) => variation.attributes?.namespace?.includes(activeVariationName) 41715 ); 41716 if (!!connectedVariations.length) { 41717 return connectedVariations; 41718 } 41719 return blockVariations.filter(isNotConnected); 41720 }, [activeVariationName, blockVariations]); 41721 return variations; 41722 } 41723 const usePatterns = (clientId, name) => { 41724 return (0,external_wp_data_namespaceObject.useSelect)( 41725 (select) => { 41726 const { getBlockRootClientId, getPatternsByBlockTypes } = select(external_wp_blockEditor_namespaceObject.store); 41727 const rootClientId = getBlockRootClientId(clientId); 41728 return getPatternsByBlockTypes(name, rootClientId); 41729 }, 41730 [name, clientId] 41731 ); 41732 }; 41733 const useUnsupportedBlocks = (clientId) => { 41734 return (0,external_wp_data_namespaceObject.useSelect)( 41735 (select) => { 41736 const { getClientIdsOfDescendants, getBlockName } = select(external_wp_blockEditor_namespaceObject.store); 41737 return getClientIdsOfDescendants(clientId).some( 41738 (descendantClientId) => { 41739 const blockName = getBlockName(descendantClientId); 41740 const blockSupportsInteractivity = Object.is( 41741 (0,external_wp_blocks_namespaceObject.getBlockSupport)(blockName, "interactivity"), 41742 true 41743 ); 41744 const blockSupportsInteractivityClientNavigation = (0,external_wp_blocks_namespaceObject.getBlockSupport)( 41745 blockName, 41746 "interactivity.clientNavigation" 41747 ); 41748 return !blockSupportsInteractivity && !blockSupportsInteractivityClientNavigation; 41749 } 41750 ); 41751 }, 41752 [clientId] 41753 ); 41754 }; 41755 function getQueryContextFromTemplate(templateSlug) { 41756 if (!templateSlug) { 41757 return { isSingular: true }; 41758 } 41759 let isSingular = false; 41760 let templateType = templateSlug === "wp" ? "custom" : templateSlug; 41761 const singularTemplates = ["404", "blank", "single", "page", "custom"]; 41762 const templateTypeFromSlug = templateSlug.includes("-") ? templateSlug.split("-", 1)[0] : templateSlug; 41763 const queryFromTemplateSlug = templateSlug.includes("-") ? templateSlug.split("-").slice(1).join("-") : ""; 41764 if (queryFromTemplateSlug) { 41765 templateType = templateTypeFromSlug; 41766 } 41767 isSingular = singularTemplates.includes(templateType); 41768 return { isSingular, templateType }; 41769 } 41770 41771 41772 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/enhanced-pagination-control.js 41773 41774 41775 41776 41777 function EnhancedPaginationControl({ 41778 enhancedPagination, 41779 setAttributes, 41780 clientId 41781 }) { 41782 const hasUnsupportedBlocks = useUnsupportedBlocks(clientId); 41783 let help = (0,external_wp_i18n_namespaceObject.__)( 41784 "Reload the full page\u2014instead of just the posts list\u2014when visitors navigate between pages." 41785 ); 41786 if (hasUnsupportedBlocks) { 41787 help = (0,external_wp_i18n_namespaceObject.__)( 41788 "Enhancement disabled because there are non-compatible blocks inside the Query block." 41789 ); 41790 } 41791 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41792 external_wp_components_namespaceObject.ToggleControl, 41793 { 41794 __nextHasNoMarginBottom: true, 41795 label: (0,external_wp_i18n_namespaceObject.__)("Reload full page"), 41796 help, 41797 checked: !enhancedPagination, 41798 disabled: hasUnsupportedBlocks, 41799 onChange: (value) => { 41800 setAttributes({ 41801 enhancedPagination: !value 41802 }); 41803 } 41804 } 41805 ) }); 41806 } 41807 41808 41809 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/order-control.js 41810 41811 41812 41813 const defaultOrderByOptions = [ 41814 { 41815 label: (0,external_wp_i18n_namespaceObject.__)("Newest to oldest"), 41816 value: "date/desc" 41817 }, 41818 { 41819 label: (0,external_wp_i18n_namespaceObject.__)("Oldest to newest"), 41820 value: "date/asc" 41821 }, 41822 { 41823 /* translators: Label for ordering posts by title in ascending order. */ 41824 label: (0,external_wp_i18n_namespaceObject.__)("A \u2192 Z"), 41825 value: "title/asc" 41826 }, 41827 { 41828 /* translators: Label for ordering posts by title in descending order. */ 41829 label: (0,external_wp_i18n_namespaceObject.__)("Z \u2192 A"), 41830 value: "title/desc" 41831 } 41832 ]; 41833 function OrderControl({ 41834 order, 41835 orderBy, 41836 orderByOptions = defaultOrderByOptions, 41837 onChange 41838 }) { 41839 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41840 external_wp_components_namespaceObject.SelectControl, 41841 { 41842 __nextHasNoMarginBottom: true, 41843 __next40pxDefaultSize: true, 41844 label: (0,external_wp_i18n_namespaceObject.__)("Order by"), 41845 value: `$orderBy}/$order}`, 41846 options: orderByOptions, 41847 onChange: (value) => { 41848 const [newOrderBy, newOrder] = value.split("/"); 41849 onChange({ order: newOrder, orderBy: newOrderBy }); 41850 } 41851 } 41852 ); 41853 } 41854 var order_control_default = OrderControl; 41855 41856 41857 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/author-control.js 41858 41859 41860 41861 41862 41863 41864 const author_control_AUTHORS_QUERY = { 41865 who: "authors", 41866 per_page: -1, 41867 _fields: "id,name", 41868 context: "view" 41869 }; 41870 function AuthorControl({ value, onChange }) { 41871 const authorsList = (0,external_wp_data_namespaceObject.useSelect)((select) => { 41872 const { getUsers } = select(external_wp_coreData_namespaceObject.store); 41873 return getUsers(author_control_AUTHORS_QUERY); 41874 }, []); 41875 if (!authorsList) { 41876 return null; 41877 } 41878 const authorsInfo = getEntitiesInfo(authorsList); 41879 const normalizedValue = !value ? [] : value.toString().split(","); 41880 const sanitizedValue = normalizedValue.reduce( 41881 (accumulator, authorId) => { 41882 const author = authorsInfo.mapById[authorId]; 41883 if (author) { 41884 accumulator.push({ 41885 id: authorId, 41886 value: author.name 41887 }); 41888 } 41889 return accumulator; 41890 }, 41891 [] 41892 ); 41893 const getIdByValue = (entitiesMappedByName, authorValue) => { 41894 const id = authorValue?.id || entitiesMappedByName[authorValue]?.id; 41895 if (id) { 41896 return id; 41897 } 41898 }; 41899 const onAuthorChange = (newValue) => { 41900 const ids = Array.from( 41901 newValue.reduce((accumulator, author) => { 41902 const id = getIdByValue(authorsInfo.mapByName, author); 41903 if (id) { 41904 accumulator.add(id); 41905 } 41906 return accumulator; 41907 }, /* @__PURE__ */ new Set()) 41908 ); 41909 onChange({ author: ids.join(",") }); 41910 }; 41911 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 41912 external_wp_components_namespaceObject.FormTokenField, 41913 { 41914 label: (0,external_wp_i18n_namespaceObject.__)("Authors"), 41915 value: sanitizedValue, 41916 suggestions: authorsInfo.names, 41917 onChange: onAuthorChange, 41918 __experimentalShowHowTo: false, 41919 __nextHasNoMarginBottom: true, 41920 __next40pxDefaultSize: true 41921 } 41922 ); 41923 } 41924 var author_control_default = AuthorControl; 41925 41926 41927 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/parent-control.js 41928 41929 41930 41931 41932 41933 41934 41935 41936 const parent_control_EMPTY_ARRAY = []; 41937 const BASE_QUERY = { 41938 order: "asc", 41939 _fields: "id,title", 41940 context: "view" 41941 }; 41942 function ParentControl({ parents, postType, onChange }) { 41943 const [search, setSearch] = (0,external_wp_element_namespaceObject.useState)(""); 41944 const [value, setValue] = (0,external_wp_element_namespaceObject.useState)(parent_control_EMPTY_ARRAY); 41945 const [suggestions, setSuggestions] = (0,external_wp_element_namespaceObject.useState)(parent_control_EMPTY_ARRAY); 41946 const debouncedSearch = (0,external_wp_compose_namespaceObject.useDebounce)(setSearch, 250); 41947 const { searchResults, searchHasResolved } = (0,external_wp_data_namespaceObject.useSelect)( 41948 (select) => { 41949 if (!search) { 41950 return { searchResults: parent_control_EMPTY_ARRAY, searchHasResolved: true }; 41951 } 41952 const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 41953 const selectorArgs = [ 41954 "postType", 41955 postType, 41956 { 41957 ...BASE_QUERY, 41958 search, 41959 orderby: "relevance", 41960 exclude: parents, 41961 per_page: 20 41962 } 41963 ]; 41964 return { 41965 searchResults: getEntityRecords(...selectorArgs), 41966 searchHasResolved: hasFinishedResolution( 41967 "getEntityRecords", 41968 selectorArgs 41969 ) 41970 }; 41971 }, 41972 [search, postType, parents] 41973 ); 41974 const currentParents = (0,external_wp_data_namespaceObject.useSelect)( 41975 (select) => { 41976 if (!parents?.length) { 41977 return parent_control_EMPTY_ARRAY; 41978 } 41979 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 41980 return getEntityRecords("postType", postType, { 41981 ...BASE_QUERY, 41982 include: parents, 41983 per_page: parents.length 41984 }); 41985 }, 41986 [parents, postType] 41987 ); 41988 (0,external_wp_element_namespaceObject.useEffect)(() => { 41989 if (!parents?.length) { 41990 setValue(parent_control_EMPTY_ARRAY); 41991 } 41992 if (!currentParents?.length) { 41993 return; 41994 } 41995 const currentParentsInfo = getEntitiesInfo( 41996 mapToIHasNameAndId(currentParents, "title.rendered") 41997 ); 41998 const sanitizedValue = parents.reduce((accumulator, id) => { 41999 const entity = currentParentsInfo.mapById[id]; 42000 if (entity) { 42001 accumulator.push({ 42002 id, 42003 value: entity.name 42004 }); 42005 } 42006 return accumulator; 42007 }, []); 42008 setValue(sanitizedValue); 42009 }, [parents, currentParents]); 42010 const entitiesInfo = (0,external_wp_element_namespaceObject.useMemo)(() => { 42011 if (!searchResults?.length) { 42012 return parent_control_EMPTY_ARRAY; 42013 } 42014 return getEntitiesInfo( 42015 mapToIHasNameAndId(searchResults, "title.rendered") 42016 ); 42017 }, [searchResults]); 42018 (0,external_wp_element_namespaceObject.useEffect)(() => { 42019 if (!searchHasResolved) { 42020 return; 42021 } 42022 setSuggestions(entitiesInfo.names); 42023 }, [entitiesInfo.names, searchHasResolved]); 42024 const getIdByValue = (entitiesMappedByName, entity) => { 42025 const id = entity?.id || entitiesMappedByName?.[entity]?.id; 42026 if (id) { 42027 return id; 42028 } 42029 }; 42030 const onParentChange = (newValue) => { 42031 const ids = Array.from( 42032 newValue.reduce((accumulator, entity) => { 42033 const id = getIdByValue(entitiesInfo.mapByName, entity); 42034 if (id) { 42035 accumulator.add(id); 42036 } 42037 return accumulator; 42038 }, /* @__PURE__ */ new Set()) 42039 ); 42040 setSuggestions(parent_control_EMPTY_ARRAY); 42041 onChange({ parents: ids }); 42042 }; 42043 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42044 external_wp_components_namespaceObject.FormTokenField, 42045 { 42046 __next40pxDefaultSize: true, 42047 label: (0,external_wp_i18n_namespaceObject.__)("Parents"), 42048 value, 42049 onInputChange: debouncedSearch, 42050 suggestions, 42051 onChange: onParentChange, 42052 __experimentalShowHowTo: false, 42053 __nextHasNoMarginBottom: true 42054 } 42055 ); 42056 } 42057 var parent_control_default = ParentControl; 42058 42059 42060 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/taxonomy-controls.js 42061 42062 42063 42064 42065 42066 42067 42068 42069 const taxonomy_controls_EMPTY_ARRAY = []; 42070 const taxonomy_controls_BASE_QUERY = { 42071 order: "asc", 42072 _fields: "id,name", 42073 context: "view" 42074 }; 42075 const getTermIdByTermValue = (terms, termValue) => { 42076 const termId = termValue?.id || terms?.find((term) => term.name === termValue)?.id; 42077 if (termId) { 42078 return termId; 42079 } 42080 const termValueLower = termValue.toLocaleLowerCase(); 42081 return terms?.find( 42082 (term) => term.name.toLocaleLowerCase() === termValueLower 42083 )?.id; 42084 }; 42085 function TaxonomyControls({ onChange, query }) { 42086 const { postType, taxQuery } = query; 42087 const taxonomies = useTaxonomies(postType); 42088 if (!taxonomies || taxonomies.length === 0) { 42089 return null; 42090 } 42091 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 4, children: taxonomies.map((taxonomy) => { 42092 const termIds = taxQuery?.[taxonomy.slug] || []; 42093 const handleChange = (newTermIds) => onChange({ 42094 taxQuery: { 42095 ...taxQuery, 42096 [taxonomy.slug]: newTermIds 42097 } 42098 }); 42099 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42100 TaxonomyItem, 42101 { 42102 taxonomy, 42103 termIds, 42104 onChange: handleChange 42105 }, 42106 taxonomy.slug 42107 ); 42108 }) }); 42109 } 42110 function TaxonomyItem({ taxonomy, termIds, onChange }) { 42111 const [search, setSearch] = (0,external_wp_element_namespaceObject.useState)(""); 42112 const [value, setValue] = (0,external_wp_element_namespaceObject.useState)(taxonomy_controls_EMPTY_ARRAY); 42113 const [suggestions, setSuggestions] = (0,external_wp_element_namespaceObject.useState)(taxonomy_controls_EMPTY_ARRAY); 42114 const debouncedSearch = (0,external_wp_compose_namespaceObject.useDebounce)(setSearch, 250); 42115 const { searchResults, searchHasResolved } = (0,external_wp_data_namespaceObject.useSelect)( 42116 (select) => { 42117 if (!search) { 42118 return { searchResults: taxonomy_controls_EMPTY_ARRAY, searchHasResolved: true }; 42119 } 42120 const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 42121 const selectorArgs = [ 42122 "taxonomy", 42123 taxonomy.slug, 42124 { 42125 ...taxonomy_controls_BASE_QUERY, 42126 search, 42127 orderby: "name", 42128 exclude: termIds, 42129 per_page: 20 42130 } 42131 ]; 42132 return { 42133 searchResults: getEntityRecords(...selectorArgs), 42134 searchHasResolved: hasFinishedResolution( 42135 "getEntityRecords", 42136 selectorArgs 42137 ) 42138 }; 42139 }, 42140 [search, taxonomy.slug, termIds] 42141 ); 42142 const existingTerms = (0,external_wp_data_namespaceObject.useSelect)( 42143 (select) => { 42144 if (!termIds?.length) { 42145 return taxonomy_controls_EMPTY_ARRAY; 42146 } 42147 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 42148 return getEntityRecords("taxonomy", taxonomy.slug, { 42149 ...taxonomy_controls_BASE_QUERY, 42150 include: termIds, 42151 per_page: termIds.length 42152 }); 42153 }, 42154 [taxonomy.slug, termIds] 42155 ); 42156 (0,external_wp_element_namespaceObject.useEffect)(() => { 42157 if (!termIds?.length) { 42158 setValue(taxonomy_controls_EMPTY_ARRAY); 42159 } 42160 if (!existingTerms?.length) { 42161 return; 42162 } 42163 const sanitizedValue = termIds.reduce((accumulator, id) => { 42164 const entity = existingTerms.find((term) => term.id === id); 42165 if (entity) { 42166 accumulator.push({ 42167 id, 42168 value: entity.name 42169 }); 42170 } 42171 return accumulator; 42172 }, []); 42173 setValue(sanitizedValue); 42174 }, [termIds, existingTerms]); 42175 (0,external_wp_element_namespaceObject.useEffect)(() => { 42176 if (!searchHasResolved) { 42177 return; 42178 } 42179 setSuggestions(searchResults.map((result) => result.name)); 42180 }, [searchResults, searchHasResolved]); 42181 const onTermsChange = (newTermValues) => { 42182 const newTermIds = /* @__PURE__ */ new Set(); 42183 for (const termValue of newTermValues) { 42184 const termId = getTermIdByTermValue(searchResults, termValue); 42185 if (termId) { 42186 newTermIds.add(termId); 42187 } 42188 } 42189 setSuggestions(taxonomy_controls_EMPTY_ARRAY); 42190 onChange(Array.from(newTermIds)); 42191 }; 42192 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "block-library-query-inspector__taxonomy-control", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42193 external_wp_components_namespaceObject.FormTokenField, 42194 { 42195 label: taxonomy.name, 42196 value, 42197 onInputChange: debouncedSearch, 42198 suggestions, 42199 displayTransform: external_wp_htmlEntities_namespaceObject.decodeEntities, 42200 onChange: onTermsChange, 42201 __experimentalShowHowTo: false, 42202 __nextHasNoMarginBottom: true, 42203 __next40pxDefaultSize: true 42204 } 42205 ) }); 42206 } 42207 42208 42209 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/format-controls.js 42210 42211 42212 42213 42214 42215 const POST_FORMATS = [ 42216 { value: "aside", label: (0,external_wp_i18n_namespaceObject.__)("Aside") }, 42217 { value: "audio", label: (0,external_wp_i18n_namespaceObject.__)("Audio") }, 42218 { value: "chat", label: (0,external_wp_i18n_namespaceObject.__)("Chat") }, 42219 { value: "gallery", label: (0,external_wp_i18n_namespaceObject.__)("Gallery") }, 42220 { value: "image", label: (0,external_wp_i18n_namespaceObject.__)("Image") }, 42221 { value: "link", label: (0,external_wp_i18n_namespaceObject.__)("Link") }, 42222 { value: "quote", label: (0,external_wp_i18n_namespaceObject.__)("Quote") }, 42223 { value: "standard", label: (0,external_wp_i18n_namespaceObject.__)("Standard") }, 42224 { value: "status", label: (0,external_wp_i18n_namespaceObject.__)("Status") }, 42225 { value: "video", label: (0,external_wp_i18n_namespaceObject.__)("Video") } 42226 ].sort((a, b) => { 42227 const normalizedA = a.label.toUpperCase(); 42228 const normalizedB = b.label.toUpperCase(); 42229 if (normalizedA < normalizedB) { 42230 return -1; 42231 } 42232 if (normalizedA > normalizedB) { 42233 return 1; 42234 } 42235 return 0; 42236 }); 42237 function formatNamesToValues(names, formats) { 42238 return names.map((name) => { 42239 return formats.find( 42240 (item) => item.label.toLocaleLowerCase() === name.toLocaleLowerCase() 42241 )?.value; 42242 }).filter(Boolean); 42243 } 42244 function FormatControls({ onChange, query: { format } }) { 42245 const normalizedFormats = Array.isArray(format) ? format : [format]; 42246 const { supportedFormats } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 42247 const themeSupports = select(external_wp_coreData_namespaceObject.store).getThemeSupports(); 42248 return { 42249 supportedFormats: themeSupports.formats 42250 }; 42251 }, []); 42252 const formats = POST_FORMATS.filter( 42253 (item) => supportedFormats.includes(item.value) 42254 ); 42255 const values = normalizedFormats.map( 42256 (name) => formats.find((item) => item.value === name)?.label 42257 ).filter(Boolean); 42258 const suggestions = formats.filter((item) => !normalizedFormats.includes(item.value)).map((item) => item.label); 42259 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42260 external_wp_components_namespaceObject.FormTokenField, 42261 { 42262 label: (0,external_wp_i18n_namespaceObject.__)("Formats"), 42263 value: values, 42264 suggestions, 42265 onChange: (newValues) => { 42266 onChange({ 42267 format: formatNamesToValues(newValues, formats) 42268 }); 42269 }, 42270 __experimentalShowHowTo: false, 42271 __experimentalExpandOnFocus: true, 42272 __nextHasNoMarginBottom: true, 42273 __next40pxDefaultSize: true 42274 } 42275 ); 42276 } 42277 42278 42279 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/sticky-control.js 42280 42281 42282 42283 const stickyOptions = [ 42284 { label: (0,external_wp_i18n_namespaceObject.__)("Include"), value: "" }, 42285 { label: (0,external_wp_i18n_namespaceObject.__)("Ignore"), value: "ignore" }, 42286 { label: (0,external_wp_i18n_namespaceObject.__)("Exclude"), value: "exclude" }, 42287 { label: (0,external_wp_i18n_namespaceObject.__)("Only"), value: "only" } 42288 ]; 42289 function StickyControl({ value, onChange }) { 42290 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42291 external_wp_components_namespaceObject.SelectControl, 42292 { 42293 __nextHasNoMarginBottom: true, 42294 __next40pxDefaultSize: true, 42295 label: (0,external_wp_i18n_namespaceObject.__)("Sticky posts"), 42296 options: stickyOptions, 42297 value, 42298 onChange, 42299 help: (0,external_wp_i18n_namespaceObject.__)( 42300 "Sticky posts always appear first, regardless of their publish date." 42301 ) 42302 } 42303 ); 42304 } 42305 42306 42307 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/per-page-control.js 42308 42309 42310 42311 const MIN_POSTS_PER_PAGE = 1; 42312 const MAX_POSTS_PER_PAGE = 100; 42313 const PerPageControl = ({ perPage, offset = 0, onChange }) => { 42314 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42315 external_wp_components_namespaceObject.RangeControl, 42316 { 42317 __next40pxDefaultSize: true, 42318 __nextHasNoMarginBottom: true, 42319 label: (0,external_wp_i18n_namespaceObject.__)("Items per page"), 42320 min: MIN_POSTS_PER_PAGE, 42321 max: MAX_POSTS_PER_PAGE, 42322 onChange: (newPerPage) => { 42323 if (isNaN(newPerPage) || newPerPage < MIN_POSTS_PER_PAGE || newPerPage > MAX_POSTS_PER_PAGE) { 42324 return; 42325 } 42326 onChange({ perPage: newPerPage, offset }); 42327 }, 42328 value: parseInt(perPage, 10) 42329 } 42330 ); 42331 }; 42332 var per_page_control_default = PerPageControl; 42333 42334 42335 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/offset-controls.js 42336 42337 42338 42339 const MIN_OFFSET = 0; 42340 const MAX_OFFSET = 100; 42341 const OffsetControl = ({ offset = 0, onChange }) => { 42342 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42343 external_wp_components_namespaceObject.__experimentalNumberControl, 42344 { 42345 __next40pxDefaultSize: true, 42346 label: (0,external_wp_i18n_namespaceObject.__)("Offset"), 42347 value: offset, 42348 min: MIN_OFFSET, 42349 onChange: (newOffset) => { 42350 if (isNaN(newOffset) || newOffset < MIN_OFFSET || newOffset > MAX_OFFSET) { 42351 return; 42352 } 42353 onChange({ offset: newOffset }); 42354 } 42355 } 42356 ); 42357 }; 42358 var offset_controls_default = OffsetControl; 42359 42360 42361 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/pages-control.js 42362 42363 42364 42365 const PagesControl = ({ pages, onChange }) => { 42366 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42367 external_wp_components_namespaceObject.__experimentalNumberControl, 42368 { 42369 __next40pxDefaultSize: true, 42370 label: (0,external_wp_i18n_namespaceObject.__)("Max pages to show"), 42371 value: pages, 42372 min: 0, 42373 onChange: (newPages) => { 42374 if (isNaN(newPages) || newPages < 0) { 42375 return; 42376 } 42377 onChange({ pages: newPages }); 42378 }, 42379 help: (0,external_wp_i18n_namespaceObject.__)( 42380 "Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero)." 42381 ) 42382 } 42383 ); 42384 }; 42385 var pages_control_default = PagesControl; 42386 42387 42388 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/inspector-controls/index.js 42389 42390 42391 42392 42393 42394 42395 42396 42397 42398 42399 42400 42401 42402 42403 42404 42405 42406 42407 function QueryInspectorControls(props) { 42408 const { attributes, setQuery, isSingular } = props; 42409 const { query } = attributes; 42410 const { 42411 order, 42412 orderBy, 42413 author: authorIds, 42414 pages, 42415 postType, 42416 perPage, 42417 offset, 42418 sticky, 42419 inherit, 42420 taxQuery, 42421 parents, 42422 format 42423 } = query; 42424 const allowedControls = useAllowedControls(attributes); 42425 const showSticky = postType === "post"; 42426 const { 42427 postTypesTaxonomiesMap, 42428 postTypesSelectOptions, 42429 postTypeFormatSupportMap 42430 } = usePostTypes(); 42431 const taxonomies = useTaxonomies(postType); 42432 const isPostTypeHierarchical = useIsPostTypeHierarchical(postType); 42433 const onPostTypeChange = (newValue) => { 42434 const updateQuery = { postType: newValue }; 42435 const supportedTaxonomies = postTypesTaxonomiesMap[newValue]; 42436 const updatedTaxQuery = Object.entries(taxQuery || {}).reduce( 42437 (accumulator, [taxonomySlug, terms]) => { 42438 if (supportedTaxonomies.includes(taxonomySlug)) { 42439 accumulator[taxonomySlug] = terms; 42440 } 42441 return accumulator; 42442 }, 42443 {} 42444 ); 42445 updateQuery.taxQuery = !!Object.keys(updatedTaxQuery).length ? updatedTaxQuery : void 0; 42446 if (newValue !== "post") { 42447 updateQuery.sticky = ""; 42448 } 42449 updateQuery.parents = []; 42450 const hasFormatSupport = postTypeFormatSupportMap[newValue]; 42451 if (!hasFormatSupport) { 42452 updateQuery.format = []; 42453 } 42454 setQuery(updateQuery); 42455 }; 42456 const [querySearch, setQuerySearch] = (0,external_wp_element_namespaceObject.useState)(query.search); 42457 const debouncedQuerySearch = (0,external_wp_element_namespaceObject.useMemo)(() => { 42458 return (0,external_wp_compose_namespaceObject.debounce)((newQuerySearch) => { 42459 setQuery({ search: newQuerySearch }); 42460 }, 250); 42461 }, [setQuery]); 42462 const orderByOptions = useOrderByOptions(postType); 42463 const showInheritControl = isControlAllowed(allowedControls, "inherit"); 42464 const showPostTypeControl = !inherit && isControlAllowed(allowedControls, "postType"); 42465 const postTypeControlLabel = (0,external_wp_i18n_namespaceObject.__)("Post type"); 42466 const postTypeControlHelp = (0,external_wp_i18n_namespaceObject.__)( 42467 "Select the type of content to display: posts, pages, or custom post types." 42468 ); 42469 const showOrderControl = !inherit && isControlAllowed(allowedControls, "order"); 42470 const showStickyControl = !inherit && showSticky && isControlAllowed(allowedControls, "sticky"); 42471 const showSettingsPanel = showInheritControl || showPostTypeControl || showOrderControl || showStickyControl; 42472 const showTaxControl = !!taxonomies?.length && isControlAllowed(allowedControls, "taxQuery"); 42473 const showAuthorControl = isControlAllowed(allowedControls, "author"); 42474 const showSearchControl = isControlAllowed(allowedControls, "search"); 42475 const showParentControl = isControlAllowed(allowedControls, "parents") && isPostTypeHierarchical; 42476 const postTypeHasFormatSupport = postTypeFormatSupportMap[postType]; 42477 const showFormatControl = (0,external_wp_data_namespaceObject.useSelect)( 42478 (select) => { 42479 if (!postTypeHasFormatSupport || !isControlAllowed(allowedControls, "format")) { 42480 return false; 42481 } 42482 const themeSupports = select(external_wp_coreData_namespaceObject.store).getThemeSupports(); 42483 return themeSupports.formats && themeSupports.formats.length > 0 && themeSupports.formats.some((type) => type !== "standard"); 42484 }, 42485 [allowedControls, postTypeHasFormatSupport] 42486 ); 42487 const showFiltersPanel = showTaxControl || showAuthorControl || showSearchControl || showParentControl || showFormatControl; 42488 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 42489 const showPostCountControl = isControlAllowed( 42490 allowedControls, 42491 "postCount" 42492 ); 42493 const showOffSetControl = isControlAllowed(allowedControls, "offset"); 42494 const showPagesControl = isControlAllowed(allowedControls, "pages"); 42495 const showDisplayPanel = showPostCountControl || showOffSetControl || showPagesControl; 42496 const hasInheritanceWarning = isSingular && inherit; 42497 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 42498 showSettingsPanel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 42499 external_wp_components_namespaceObject.__experimentalToolsPanel, 42500 { 42501 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 42502 resetAll: () => { 42503 setQuery({ 42504 postType: "post", 42505 order: "desc", 42506 orderBy: "date", 42507 sticky: "", 42508 inherit: true 42509 }); 42510 }, 42511 dropdownMenuProps, 42512 children: [ 42513 showInheritControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42514 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42515 { 42516 hasValue: () => !inherit, 42517 label: (0,external_wp_i18n_namespaceObject.__)("Query type"), 42518 onDeselect: () => setQuery({ inherit: true }), 42519 isShownByDefault: true, 42520 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: 4, children: [ 42521 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 42522 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 42523 { 42524 __next40pxDefaultSize: true, 42525 __nextHasNoMarginBottom: true, 42526 label: (0,external_wp_i18n_namespaceObject.__)("Query type"), 42527 isBlock: true, 42528 onChange: (value) => { 42529 setQuery({ 42530 inherit: value === "default" 42531 }); 42532 }, 42533 help: inherit ? (0,external_wp_i18n_namespaceObject.__)( 42534 "Display a list of posts or custom post types based on the current template." 42535 ) : (0,external_wp_i18n_namespaceObject.__)( 42536 "Display a list of posts or custom post types based on specific criteria." 42537 ), 42538 value: !!inherit ? "default" : "custom", 42539 children: [ 42540 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42541 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 42542 { 42543 value: "default", 42544 label: (0,external_wp_i18n_namespaceObject.__)("Default") 42545 } 42546 ), 42547 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42548 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 42549 { 42550 value: "custom", 42551 label: (0,external_wp_i18n_namespaceObject.__)("Custom") 42552 } 42553 ) 42554 ] 42555 } 42556 ), 42557 hasInheritanceWarning && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42558 external_wp_components_namespaceObject.Notice, 42559 { 42560 status: "warning", 42561 isDismissible: false, 42562 children: (0,external_wp_i18n_namespaceObject.__)( 42563 "Cannot inherit the current template query when placed inside the singular content (e.g., post, page, 404, blank)." 42564 ) 42565 } 42566 ) 42567 ] }) 42568 } 42569 ), 42570 showPostTypeControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42571 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42572 { 42573 hasValue: () => postType !== "post", 42574 label: postTypeControlLabel, 42575 onDeselect: () => onPostTypeChange("post"), 42576 isShownByDefault: true, 42577 children: postTypesSelectOptions.length > 2 ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42578 external_wp_components_namespaceObject.SelectControl, 42579 { 42580 __nextHasNoMarginBottom: true, 42581 __next40pxDefaultSize: true, 42582 options: postTypesSelectOptions, 42583 value: postType, 42584 label: postTypeControlLabel, 42585 onChange: onPostTypeChange, 42586 help: postTypeControlHelp 42587 } 42588 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42589 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 42590 { 42591 __nextHasNoMarginBottom: true, 42592 __next40pxDefaultSize: true, 42593 isBlock: true, 42594 value: postType, 42595 label: postTypeControlLabel, 42596 onChange: onPostTypeChange, 42597 help: postTypeControlHelp, 42598 children: postTypesSelectOptions.map( 42599 (option) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42600 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 42601 { 42602 value: option.value, 42603 label: option.label 42604 }, 42605 option.value 42606 ) 42607 ) 42608 } 42609 ) 42610 } 42611 ), 42612 showOrderControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42613 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42614 { 42615 hasValue: () => order !== "desc" || orderBy !== "date", 42616 label: (0,external_wp_i18n_namespaceObject.__)("Order by"), 42617 onDeselect: () => setQuery({ order: "desc", orderBy: "date" }), 42618 isShownByDefault: true, 42619 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42620 order_control_default, 42621 { 42622 ...{ order, orderBy, orderByOptions }, 42623 onChange: setQuery 42624 } 42625 ) 42626 } 42627 ), 42628 showStickyControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42629 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42630 { 42631 hasValue: () => !!sticky, 42632 label: (0,external_wp_i18n_namespaceObject.__)("Sticky posts"), 42633 onDeselect: () => setQuery({ sticky: "" }), 42634 isShownByDefault: true, 42635 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42636 StickyControl, 42637 { 42638 value: sticky, 42639 onChange: (value) => setQuery({ sticky: value }) 42640 } 42641 ) 42642 } 42643 ) 42644 ] 42645 } 42646 ), 42647 !inherit && showDisplayPanel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 42648 external_wp_components_namespaceObject.__experimentalToolsPanel, 42649 { 42650 className: "block-library-query-toolspanel__display", 42651 label: (0,external_wp_i18n_namespaceObject.__)("Display"), 42652 resetAll: () => { 42653 setQuery({ 42654 offset: 0, 42655 pages: 0 42656 }); 42657 }, 42658 dropdownMenuProps, 42659 children: [ 42660 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42661 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42662 { 42663 label: (0,external_wp_i18n_namespaceObject.__)("Items per page"), 42664 hasValue: () => perPage > 0, 42665 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42666 per_page_control_default, 42667 { 42668 perPage, 42669 offset, 42670 onChange: setQuery 42671 } 42672 ) 42673 } 42674 ), 42675 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42676 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42677 { 42678 label: (0,external_wp_i18n_namespaceObject.__)("Offset"), 42679 hasValue: () => offset > 0, 42680 onDeselect: () => setQuery({ offset: 0 }), 42681 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42682 offset_controls_default, 42683 { 42684 offset, 42685 onChange: setQuery 42686 } 42687 ) 42688 } 42689 ), 42690 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42691 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42692 { 42693 label: (0,external_wp_i18n_namespaceObject.__)("Max pages to show"), 42694 hasValue: () => pages > 0, 42695 onDeselect: () => setQuery({ pages: 0 }), 42696 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(pages_control_default, { pages, onChange: setQuery }) 42697 } 42698 ) 42699 ] 42700 } 42701 ), 42702 !inherit && showFiltersPanel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 42703 external_wp_components_namespaceObject.__experimentalToolsPanel, 42704 { 42705 className: "block-library-query-toolspanel__filters", 42706 label: (0,external_wp_i18n_namespaceObject.__)("Filters"), 42707 resetAll: () => { 42708 setQuery({ 42709 author: "", 42710 parents: [], 42711 search: "", 42712 taxQuery: null, 42713 format: [] 42714 }); 42715 setQuerySearch(""); 42716 }, 42717 dropdownMenuProps, 42718 children: [ 42719 showTaxControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42720 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42721 { 42722 label: (0,external_wp_i18n_namespaceObject.__)("Taxonomies"), 42723 hasValue: () => Object.values(taxQuery || {}).some( 42724 (terms) => !!terms.length 42725 ), 42726 onDeselect: () => setQuery({ taxQuery: null }), 42727 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42728 TaxonomyControls, 42729 { 42730 onChange: setQuery, 42731 query 42732 } 42733 ) 42734 } 42735 ), 42736 showAuthorControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42737 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42738 { 42739 hasValue: () => !!authorIds, 42740 label: (0,external_wp_i18n_namespaceObject.__)("Authors"), 42741 onDeselect: () => setQuery({ author: "" }), 42742 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42743 author_control_default, 42744 { 42745 value: authorIds, 42746 onChange: setQuery 42747 } 42748 ) 42749 } 42750 ), 42751 showSearchControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42752 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42753 { 42754 hasValue: () => !!querySearch, 42755 label: (0,external_wp_i18n_namespaceObject.__)("Keyword"), 42756 onDeselect: () => { 42757 setQuery({ search: "" }); 42758 setQuerySearch(""); 42759 }, 42760 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42761 external_wp_components_namespaceObject.TextControl, 42762 { 42763 __nextHasNoMarginBottom: true, 42764 __next40pxDefaultSize: true, 42765 label: (0,external_wp_i18n_namespaceObject.__)("Keyword"), 42766 value: querySearch, 42767 onChange: (newQuerySearch) => { 42768 debouncedQuerySearch(newQuerySearch); 42769 setQuerySearch(newQuerySearch); 42770 } 42771 } 42772 ) 42773 } 42774 ), 42775 showParentControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42776 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42777 { 42778 hasValue: () => !!parents?.length, 42779 label: (0,external_wp_i18n_namespaceObject.__)("Parents"), 42780 onDeselect: () => setQuery({ parents: [] }), 42781 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42782 parent_control_default, 42783 { 42784 parents, 42785 postType, 42786 onChange: setQuery 42787 } 42788 ) 42789 } 42790 ), 42791 showFormatControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42792 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 42793 { 42794 hasValue: () => !!format?.length, 42795 label: (0,external_wp_i18n_namespaceObject.__)("Formats"), 42796 onDeselect: () => setQuery({ format: [] }), 42797 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42798 FormatControls, 42799 { 42800 onChange: setQuery, 42801 query 42802 } 42803 ) 42804 } 42805 ) 42806 ] 42807 } 42808 ) 42809 ] }); 42810 } 42811 42812 42813 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/enhanced-pagination-modal.js 42814 42815 42816 42817 42818 42819 const modalDescriptionId = "wp-block-query-enhanced-pagination-modal__description"; 42820 function EnhancedPaginationModal({ 42821 clientId, 42822 attributes: { enhancedPagination }, 42823 setAttributes 42824 }) { 42825 const [isOpen, setOpen] = (0,external_wp_element_namespaceObject.useState)(false); 42826 const hasUnsupportedBlocks = useUnsupportedBlocks(clientId); 42827 (0,external_wp_element_namespaceObject.useEffect)(() => { 42828 if (enhancedPagination && hasUnsupportedBlocks) { 42829 setAttributes({ enhancedPagination: false }); 42830 setOpen(true); 42831 } 42832 }, [enhancedPagination, hasUnsupportedBlocks, setAttributes]); 42833 const closeModal = () => { 42834 setOpen(false); 42835 }; 42836 const notice = (0,external_wp_i18n_namespaceObject.__)( 42837 "Currently, avoiding full page reloads is not possible when non-interactive or non-client Navigation compatible blocks from plugins are present inside the Query block." 42838 ) + " " + (0,external_wp_i18n_namespaceObject.__)( 42839 'If you still want to prevent full page reloads, remove that block, then disable "Reload full page" again in the Query Block settings.' 42840 ); 42841 return isOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42842 external_wp_components_namespaceObject.Modal, 42843 { 42844 title: (0,external_wp_i18n_namespaceObject.__)("Query block: Reload full page enabled"), 42845 className: "wp-block-query__enhanced-pagination-modal", 42846 aria: { 42847 describedby: modalDescriptionId 42848 }, 42849 role: "alertdialog", 42850 focusOnMount: "firstElement", 42851 isDismissible: false, 42852 onRequestClose: closeModal, 42853 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { alignment: "right", spacing: 5, children: [ 42854 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { id: modalDescriptionId, children: notice }), 42855 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42856 external_wp_components_namespaceObject.Button, 42857 { 42858 __next40pxDefaultSize: true, 42859 variant: "primary", 42860 onClick: closeModal, 42861 children: (0,external_wp_i18n_namespaceObject.__)("OK") 42862 } 42863 ) 42864 ] }) 42865 } 42866 ); 42867 } 42868 42869 42870 ;// ./node_modules/@wordpress/block-library/build-module/utils/search-patterns.js 42871 42872 function normalizeSearchInput(input = "") { 42873 input = remove_accents_default()(input); 42874 input = input.trim().toLowerCase(); 42875 return input; 42876 } 42877 function getPatternSearchRank(pattern, searchValue) { 42878 const normalizedSearchValue = normalizeSearchInput(searchValue); 42879 const normalizedTitle = normalizeSearchInput(pattern.title); 42880 let rank = 0; 42881 if (normalizedSearchValue === normalizedTitle) { 42882 rank += 30; 42883 } else if (normalizedTitle.startsWith(normalizedSearchValue)) { 42884 rank += 20; 42885 } else { 42886 const searchTerms = normalizedSearchValue.split(" "); 42887 const hasMatchedTerms = searchTerms.every( 42888 (searchTerm) => normalizedTitle.includes(searchTerm) 42889 ); 42890 if (hasMatchedTerms) { 42891 rank += 10; 42892 } 42893 } 42894 return rank; 42895 } 42896 function searchPatterns(patterns = [], searchValue = "") { 42897 if (!searchValue) { 42898 return patterns; 42899 } 42900 const rankedPatterns = patterns.map((pattern) => { 42901 return [pattern, getPatternSearchRank(pattern, searchValue)]; 42902 }).filter(([, rank]) => rank > 0); 42903 rankedPatterns.sort(([, rank1], [, rank2]) => rank2 - rank1); 42904 return rankedPatterns.map(([pattern]) => pattern); 42905 } 42906 42907 42908 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/pattern-selection.js 42909 42910 42911 42912 42913 42914 42915 42916 42917 function PatternSelectionModal({ 42918 clientId, 42919 attributes, 42920 setIsPatternSelectionModalOpen 42921 }) { 42922 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42923 external_wp_components_namespaceObject.Modal, 42924 { 42925 overlayClassName: "block-library-query-pattern__selection-modal", 42926 title: (0,external_wp_i18n_namespaceObject.__)("Choose a pattern"), 42927 onRequestClose: () => setIsPatternSelectionModalOpen(false), 42928 isFullScreen: true, 42929 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(PatternSelection, { clientId, attributes }) 42930 } 42931 ); 42932 } 42933 function useBlockPatterns(clientId, attributes) { 42934 const blockNameForPatterns = useBlockNameForPatterns( 42935 clientId, 42936 attributes 42937 ); 42938 const allPatterns = usePatterns(clientId, blockNameForPatterns); 42939 const rootBlockPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => { 42940 return allPatterns.filter((pattern) => { 42941 return pattern.blocks?.[0]?.name === blockNameForPatterns; 42942 }); 42943 }, [allPatterns, blockNameForPatterns]); 42944 return rootBlockPatterns; 42945 } 42946 function PatternSelection({ 42947 clientId, 42948 attributes, 42949 showTitlesAsTooltip = false, 42950 showSearch = true 42951 }) { 42952 const [searchValue, setSearchValue] = (0,external_wp_element_namespaceObject.useState)(""); 42953 const { replaceBlock, selectBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 42954 const blockPatterns = useBlockPatterns(clientId, attributes); 42955 const blockPreviewContext = (0,external_wp_element_namespaceObject.useMemo)( 42956 () => ({ 42957 previewPostType: attributes.query.postType 42958 }), 42959 [attributes.query.postType] 42960 ); 42961 const filteredBlockPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => { 42962 return searchPatterns(blockPatterns, searchValue); 42963 }, [blockPatterns, searchValue]); 42964 const onBlockPatternSelect = (pattern, blocks) => { 42965 const { newBlocks, queryClientIds } = getTransformedBlocksFromPattern( 42966 blocks, 42967 attributes 42968 ); 42969 replaceBlock(clientId, newBlocks); 42970 if (queryClientIds[0]) { 42971 selectBlock(queryClientIds[0]); 42972 } 42973 }; 42974 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "block-library-query-pattern__selection-content", children: [ 42975 showSearch && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "block-library-query-pattern__selection-search", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42976 external_wp_components_namespaceObject.SearchControl, 42977 { 42978 __nextHasNoMarginBottom: true, 42979 onChange: setSearchValue, 42980 value: searchValue, 42981 label: (0,external_wp_i18n_namespaceObject.__)("Search"), 42982 placeholder: (0,external_wp_i18n_namespaceObject.__)("Search") 42983 } 42984 ) }), 42985 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockContextProvider, { value: blockPreviewContext, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 42986 external_wp_blockEditor_namespaceObject.__experimentalBlockPatternsList, 42987 { 42988 blockPatterns: filteredBlockPatterns, 42989 onClickPattern: onBlockPatternSelect, 42990 showTitlesAsTooltip 42991 } 42992 ) }) 42993 ] }); 42994 } 42995 42996 42997 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/query-toolbar.js 42998 42999 43000 43001 43002 function QueryToolbar({ 43003 clientId, 43004 attributes, 43005 hasInnerBlocks 43006 }) { 43007 const hasPatterns = useBlockPatterns(clientId, attributes).length; 43008 if (!hasPatterns) { 43009 return null; 43010 } 43011 const buttonLabel = hasInnerBlocks ? (0,external_wp_i18n_namespaceObject.__)("Change design") : (0,external_wp_i18n_namespaceObject.__)("Choose pattern"); 43012 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { className: "wp-block-template-part__block-control-group", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalDropdownContentWrapper, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43013 external_wp_components_namespaceObject.Dropdown, 43014 { 43015 contentClassName: "block-editor-block-settings-menu__popover", 43016 focusOnMount: "firstElement", 43017 expandOnMobile: true, 43018 renderToggle: ({ isOpen, onToggle }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43019 external_wp_components_namespaceObject.ToolbarButton, 43020 { 43021 "aria-haspopup": "true", 43022 "aria-expanded": isOpen, 43023 onClick: onToggle, 43024 children: buttonLabel 43025 } 43026 ), 43027 renderContent: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43028 PatternSelection, 43029 { 43030 clientId, 43031 attributes, 43032 showSearch: false, 43033 showTitlesAsTooltip: true 43034 } 43035 ) 43036 } 43037 ) }) }); 43038 } 43039 43040 43041 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/query-content.js 43042 43043 43044 43045 43046 43047 43048 43049 43050 43051 43052 43053 43054 43055 const { HTMLElementControl: query_content_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 43056 const DEFAULTS_POSTS_PER_PAGE = 3; 43057 const query_content_TEMPLATE = [["core/post-template"]]; 43058 function QueryContent({ 43059 attributes, 43060 setAttributes, 43061 clientId, 43062 context, 43063 name 43064 }) { 43065 const { 43066 queryId, 43067 query, 43068 enhancedPagination, 43069 tagName: TagName = "div", 43070 query: { inherit } = {} 43071 } = attributes; 43072 const { templateSlug } = context; 43073 const { isSingular } = getQueryContextFromTemplate(templateSlug); 43074 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 43075 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(QueryContent); 43076 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 43077 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 43078 template: query_content_TEMPLATE 43079 }); 43080 const { postsPerPage } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 43081 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 43082 const { getEntityRecord, getEntityRecordEdits, canUser } = select(external_wp_coreData_namespaceObject.store); 43083 const settingPerPage = canUser("read", { 43084 kind: "root", 43085 name: "site" 43086 }) ? +getEntityRecord("root", "site")?.posts_per_page : +getSettings().postsPerPage; 43087 const editedSettingPerPage = +getEntityRecordEdits("root", "site")?.posts_per_page; 43088 return { 43089 postsPerPage: editedSettingPerPage || settingPerPage || DEFAULTS_POSTS_PER_PAGE 43090 }; 43091 }, []); 43092 const updateQuery = (0,external_wp_element_namespaceObject.useCallback)( 43093 (newQuery) => setAttributes((prevAttributes) => ({ 43094 query: { ...prevAttributes.query, ...newQuery } 43095 })), 43096 [setAttributes] 43097 ); 43098 (0,external_wp_element_namespaceObject.useEffect)(() => { 43099 const newQuery = {}; 43100 if (inherit && query.perPage !== postsPerPage) { 43101 newQuery.perPage = postsPerPage; 43102 } else if (!query.perPage && postsPerPage) { 43103 newQuery.perPage = postsPerPage; 43104 } 43105 if (!!Object.keys(newQuery).length) { 43106 __unstableMarkNextChangeAsNotPersistent(); 43107 updateQuery(newQuery); 43108 } 43109 }, [ 43110 query.perPage, 43111 inherit, 43112 postsPerPage, 43113 __unstableMarkNextChangeAsNotPersistent, 43114 updateQuery 43115 ]); 43116 (0,external_wp_element_namespaceObject.useEffect)(() => { 43117 if (!Number.isFinite(queryId)) { 43118 __unstableMarkNextChangeAsNotPersistent(); 43119 setAttributes({ queryId: instanceId }); 43120 } 43121 }, [ 43122 queryId, 43123 instanceId, 43124 __unstableMarkNextChangeAsNotPersistent, 43125 setAttributes 43126 ]); 43127 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 43128 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43129 QueryToolbar, 43130 { 43131 clientId, 43132 attributes, 43133 hasInnerBlocks: true 43134 } 43135 ) }), 43136 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43137 EnhancedPaginationModal, 43138 { 43139 attributes, 43140 setAttributes, 43141 clientId 43142 } 43143 ), 43144 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43145 QueryInspectorControls, 43146 { 43147 name, 43148 attributes, 43149 setQuery: updateQuery, 43150 setAttributes, 43151 clientId, 43152 isSingular 43153 } 43154 ) }), 43155 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: [ 43156 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43157 query_content_HTMLElementControl, 43158 { 43159 tagName: TagName, 43160 onChange: (value) => setAttributes({ tagName: value }), 43161 clientId, 43162 options: [ 43163 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 43164 { label: "<main>", value: "main" }, 43165 { label: "<section>", value: "section" }, 43166 { label: "<aside>", value: "aside" } 43167 ] 43168 } 43169 ), 43170 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43171 EnhancedPaginationControl, 43172 { 43173 enhancedPagination, 43174 setAttributes, 43175 clientId 43176 } 43177 ) 43178 ] }), 43179 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps }) 43180 ] }); 43181 } 43182 43183 43184 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/query-placeholder.js 43185 43186 43187 43188 43189 43190 43191 43192 43193 43194 43195 43196 function QueryPlaceholder({ 43197 attributes, 43198 clientId, 43199 name, 43200 openPatternSelectionModal 43201 }) { 43202 const [isStartingBlank, setIsStartingBlank] = (0,external_wp_element_namespaceObject.useState)(false); 43203 const [containerWidth, setContainerWidth] = (0,external_wp_element_namespaceObject.useState)(0); 43204 const resizeObserverRef = (0,external_wp_compose_namespaceObject.useResizeObserver)(([entry]) => { 43205 setContainerWidth(entry.contentRect.width); 43206 }); 43207 const SMALL_CONTAINER_BREAKPOINT = 160; 43208 const isSmallContainer = containerWidth > 0 && containerWidth < SMALL_CONTAINER_BREAKPOINT; 43209 const { blockType, activeBlockVariation } = (0,external_wp_data_namespaceObject.useSelect)( 43210 (select) => { 43211 const { getActiveBlockVariation, getBlockType } = select(external_wp_blocks_namespaceObject.store); 43212 return { 43213 blockType: getBlockType(name), 43214 activeBlockVariation: getActiveBlockVariation( 43215 name, 43216 attributes 43217 ) 43218 }; 43219 }, 43220 [name, attributes] 43221 ); 43222 const hasPatterns = !!useBlockPatterns(clientId, attributes).length; 43223 const icon = activeBlockVariation?.icon?.src || activeBlockVariation?.icon || blockType?.icon?.src; 43224 const label = activeBlockVariation?.title || blockType?.title; 43225 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 43226 ref: resizeObserverRef 43227 }); 43228 if (isStartingBlank) { 43229 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43230 QueryVariationPicker, 43231 { 43232 clientId, 43233 attributes, 43234 icon, 43235 label 43236 } 43237 ); 43238 } 43239 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 43240 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43241 QueryToolbar, 43242 { 43243 clientId, 43244 attributes, 43245 hasInnerBlocks: false 43246 } 43247 ) }), 43248 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 43249 external_wp_components_namespaceObject.Placeholder, 43250 { 43251 className: "block-editor-media-placeholder", 43252 icon: !isSmallContainer && icon, 43253 label: !isSmallContainer && label, 43254 instructions: !isSmallContainer && (0,external_wp_i18n_namespaceObject.__)("Choose a pattern for the query loop or start blank."), 43255 withIllustration: isSmallContainer, 43256 children: [ 43257 !!hasPatterns && !isSmallContainer && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43258 external_wp_components_namespaceObject.Button, 43259 { 43260 __next40pxDefaultSize: true, 43261 variant: "primary", 43262 onClick: openPatternSelectionModal, 43263 children: (0,external_wp_i18n_namespaceObject.__)("Choose") 43264 } 43265 ), 43266 !isSmallContainer && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43267 external_wp_components_namespaceObject.Button, 43268 { 43269 __next40pxDefaultSize: true, 43270 variant: "secondary", 43271 onClick: () => { 43272 setIsStartingBlank(true); 43273 }, 43274 children: (0,external_wp_i18n_namespaceObject.__)("Start blank") 43275 } 43276 ) 43277 ] 43278 } 43279 ) 43280 ] }); 43281 } 43282 function QueryVariationPicker({ clientId, attributes, icon, label }) { 43283 const scopeVariations = useScopedBlockVariations(attributes); 43284 const { replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 43285 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 43286 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43287 external_wp_blockEditor_namespaceObject.__experimentalBlockVariationPicker, 43288 { 43289 icon, 43290 label, 43291 variations: scopeVariations, 43292 onSelect: (variation) => { 43293 if (variation.innerBlocks) { 43294 replaceInnerBlocks( 43295 clientId, 43296 (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)( 43297 variation.innerBlocks 43298 ), 43299 false 43300 ); 43301 } 43302 } 43303 } 43304 ) }); 43305 } 43306 43307 43308 ;// ./node_modules/@wordpress/block-library/build-module/query/edit/index.js 43309 43310 43311 43312 43313 43314 43315 43316 const QueryEdit = (props) => { 43317 const { clientId, attributes } = props; 43318 const [isPatternSelectionModalOpen, setIsPatternSelectionModalOpen] = (0,external_wp_element_namespaceObject.useState)(false); 43319 const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)( 43320 (select) => !!select(external_wp_blockEditor_namespaceObject.store).getBlocks(clientId).length, 43321 [clientId] 43322 ); 43323 const Component = hasInnerBlocks ? QueryContent : QueryPlaceholder; 43324 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 43325 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43326 Component, 43327 { 43328 ...props, 43329 openPatternSelectionModal: () => setIsPatternSelectionModalOpen(true) 43330 } 43331 ), 43332 isPatternSelectionModalOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 43333 PatternSelectionModal, 43334 { 43335 clientId, 43336 attributes, 43337 setIsPatternSelectionModalOpen 43338 } 43339 ) 43340 ] }); 43341 }; 43342 var query_edit_edit_default = QueryEdit; 43343 43344 43345 ;// ./node_modules/@wordpress/block-library/build-module/query/save.js 43346 43347 43348 function query_save_save({ attributes: { tagName: Tag = "div" } }) { 43349 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 43350 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 43351 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 43352 } 43353 43354 43355 ;// ./node_modules/@wordpress/block-library/build-module/query/icons.js 43356 43357 43358 const titleDate = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M41 9H7v3h34V9zm-22 5H7v1h12v-1zM7 26h12v1H7v-1zm34-5H7v3h34v-3zM7 38h12v1H7v-1zm34-5H7v3h34v-3z" }) }); 43359 const titleExcerpt = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M41 9H7v3h34V9zm-4 5H7v1h30v-1zm4 3H7v1h34v-1zM7 20h30v1H7v-1zm0 12h30v1H7v-1zm34 3H7v1h34v-1zM7 38h30v1H7v-1zm34-11H7v3h34v-3z" }) }); 43360 const titleDateExcerpt = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M41 9H7v3h34V9zm-22 5H7v1h12v-1zm22 3H7v1h34v-1zM7 20h34v1H7v-1zm0 12h12v1H7v-1zm34 3H7v1h34v-1zM7 38h34v1H7v-1zm34-11H7v3h34v-3z" }) }); 43361 const imageDateTitle = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M7 9h34v6H7V9zm12 8H7v1h12v-1zm18 3H7v1h30v-1zm0 18H7v1h30v-1zM7 35h12v1H7v-1zm34-8H7v6h34v-6z" }) }); 43362 43363 43364 ;// ./node_modules/@wordpress/block-library/build-module/query/variations.js 43365 43366 43367 const query_variations_variations = [ 43368 { 43369 name: "title-date", 43370 title: (0,external_wp_i18n_namespaceObject.__)("Title & Date"), 43371 icon: titleDate, 43372 attributes: {}, 43373 innerBlocks: [ 43374 [ 43375 "core/post-template", 43376 {}, 43377 [["core/post-title"], ["core/post-date"]] 43378 ], 43379 ["core/query-pagination"], 43380 ["core/query-no-results"] 43381 ], 43382 scope: ["block"] 43383 }, 43384 { 43385 name: "title-excerpt", 43386 title: (0,external_wp_i18n_namespaceObject.__)("Title & Excerpt"), 43387 icon: titleExcerpt, 43388 attributes: {}, 43389 innerBlocks: [ 43390 [ 43391 "core/post-template", 43392 {}, 43393 [["core/post-title"], ["core/post-excerpt"]] 43394 ], 43395 ["core/query-pagination"], 43396 ["core/query-no-results"] 43397 ], 43398 scope: ["block"] 43399 }, 43400 { 43401 name: "title-date-excerpt", 43402 title: (0,external_wp_i18n_namespaceObject.__)("Title, Date, & Excerpt"), 43403 icon: titleDateExcerpt, 43404 attributes: {}, 43405 innerBlocks: [ 43406 [ 43407 "core/post-template", 43408 {}, 43409 [ 43410 ["core/post-title"], 43411 ["core/post-date"], 43412 ["core/post-excerpt"] 43413 ] 43414 ], 43415 ["core/query-pagination"], 43416 ["core/query-no-results"] 43417 ], 43418 scope: ["block"] 43419 }, 43420 { 43421 name: "image-date-title", 43422 title: (0,external_wp_i18n_namespaceObject.__)("Image, Date, & Title"), 43423 icon: imageDateTitle, 43424 attributes: {}, 43425 innerBlocks: [ 43426 [ 43427 "core/post-template", 43428 {}, 43429 [ 43430 ["core/post-featured-image"], 43431 ["core/post-date"], 43432 ["core/post-title"] 43433 ] 43434 ], 43435 ["core/query-pagination"], 43436 ["core/query-no-results"] 43437 ], 43438 scope: ["block"] 43439 } 43440 ]; 43441 var query_variations_variations_default = query_variations_variations; 43442 43443 43444 ;// ./node_modules/@wordpress/block-library/build-module/query/deprecated.js 43445 43446 43447 43448 43449 const { cleanEmptyObject: deprecated_cleanEmptyObject } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 43450 const migrateToTaxQuery = (attributes) => { 43451 const { query } = attributes; 43452 const { categoryIds, tagIds, ...newQuery } = query; 43453 if (query.categoryIds?.length || query.tagIds?.length) { 43454 newQuery.taxQuery = { 43455 category: !!query.categoryIds?.length ? query.categoryIds : void 0, 43456 post_tag: !!query.tagIds?.length ? query.tagIds : void 0 43457 }; 43458 } 43459 return { 43460 ...attributes, 43461 query: newQuery 43462 }; 43463 }; 43464 const migrateColors = (attributes, innerBlocks) => { 43465 const { style, backgroundColor, gradient, textColor, ...newAttributes } = attributes; 43466 const hasColorStyles = backgroundColor || gradient || textColor || style?.color || style?.elements?.link; 43467 if (!hasColorStyles) { 43468 return [attributes, innerBlocks]; 43469 } 43470 if (style) { 43471 newAttributes.style = deprecated_cleanEmptyObject({ 43472 ...style, 43473 color: void 0, 43474 elements: { 43475 ...style.elements, 43476 link: void 0 43477 } 43478 }); 43479 } 43480 if (hasSingleInnerGroupBlock(innerBlocks)) { 43481 const groupBlock = innerBlocks[0]; 43482 const hasStyles = style?.color || style?.elements?.link || groupBlock.attributes.style; 43483 const newStyles = hasStyles ? deprecated_cleanEmptyObject({ 43484 ...groupBlock.attributes.style, 43485 color: style?.color, 43486 elements: style?.elements?.link ? { link: style?.elements?.link } : void 0 43487 }) : void 0; 43488 const updatedGroupBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 43489 "core/group", 43490 { 43491 ...groupBlock.attributes, 43492 backgroundColor, 43493 gradient, 43494 textColor, 43495 style: newStyles 43496 }, 43497 groupBlock.innerBlocks 43498 ); 43499 return [newAttributes, [updatedGroupBlock]]; 43500 } 43501 const newGroupBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 43502 "core/group", 43503 { 43504 backgroundColor, 43505 gradient, 43506 textColor, 43507 style: deprecated_cleanEmptyObject({ 43508 color: style?.color, 43509 elements: style?.elements?.link ? { link: style?.elements?.link } : void 0 43510 }) 43511 }, 43512 innerBlocks 43513 ); 43514 return [newAttributes, [newGroupBlock]]; 43515 }; 43516 const hasSingleInnerGroupBlock = (innerBlocks = []) => innerBlocks.length === 1 && innerBlocks[0].name === "core/group"; 43517 const migrateToConstrainedLayout = (attributes) => { 43518 const { layout = null } = attributes; 43519 if (!layout) { 43520 return attributes; 43521 } 43522 const { inherit = null, contentSize = null, ...newLayout } = layout; 43523 if (inherit || contentSize) { 43524 return { 43525 ...attributes, 43526 layout: { 43527 ...newLayout, 43528 contentSize, 43529 type: "constrained" 43530 } 43531 }; 43532 } 43533 return attributes; 43534 }; 43535 const findPostTemplateBlock = (innerBlocks = []) => { 43536 let foundBlock = null; 43537 for (const block of innerBlocks) { 43538 if (block.name === "core/post-template") { 43539 foundBlock = block; 43540 break; 43541 } else if (block.innerBlocks.length) { 43542 foundBlock = findPostTemplateBlock(block.innerBlocks); 43543 } 43544 } 43545 return foundBlock; 43546 }; 43547 const replacePostTemplateBlock = (innerBlocks = [], replacementBlock) => { 43548 innerBlocks.forEach((block, index) => { 43549 if (block.name === "core/post-template") { 43550 innerBlocks.splice(index, 1, replacementBlock); 43551 } else if (block.innerBlocks.length) { 43552 block.innerBlocks = replacePostTemplateBlock( 43553 block.innerBlocks, 43554 replacementBlock 43555 ); 43556 } 43557 }); 43558 return innerBlocks; 43559 }; 43560 const migrateDisplayLayout = (attributes, innerBlocks) => { 43561 const { displayLayout = null, ...newAttributes } = attributes; 43562 if (!displayLayout) { 43563 return [attributes, innerBlocks]; 43564 } 43565 const postTemplateBlock = findPostTemplateBlock(innerBlocks); 43566 if (!postTemplateBlock) { 43567 return [attributes, innerBlocks]; 43568 } 43569 const { type, columns } = displayLayout; 43570 const updatedLayoutType = type === "flex" ? "grid" : "default"; 43571 const newPostTemplateBlock = (0,external_wp_blocks_namespaceObject.createBlock)( 43572 "core/post-template", 43573 { 43574 ...postTemplateBlock.attributes, 43575 layout: { 43576 type: updatedLayoutType, 43577 ...columns && { columnCount: columns } 43578 } 43579 }, 43580 postTemplateBlock.innerBlocks 43581 ); 43582 return [ 43583 newAttributes, 43584 replacePostTemplateBlock(innerBlocks, newPostTemplateBlock) 43585 ]; 43586 }; 43587 const query_deprecated_v1 = { 43588 attributes: { 43589 queryId: { 43590 type: "number" 43591 }, 43592 query: { 43593 type: "object", 43594 default: { 43595 perPage: null, 43596 pages: 0, 43597 offset: 0, 43598 postType: "post", 43599 categoryIds: [], 43600 tagIds: [], 43601 order: "desc", 43602 orderBy: "date", 43603 author: "", 43604 search: "", 43605 exclude: [], 43606 sticky: "", 43607 inherit: true 43608 } 43609 }, 43610 layout: { 43611 type: "object", 43612 default: { 43613 type: "list" 43614 } 43615 } 43616 }, 43617 supports: { 43618 html: false 43619 }, 43620 migrate(attributes, innerBlocks) { 43621 const withTaxQuery = migrateToTaxQuery(attributes); 43622 const { layout, ...restWithTaxQuery } = withTaxQuery; 43623 const newAttributes = { 43624 ...restWithTaxQuery, 43625 displayLayout: withTaxQuery.layout 43626 }; 43627 return migrateDisplayLayout(newAttributes, innerBlocks); 43628 }, 43629 save() { 43630 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 43631 } 43632 }; 43633 const query_deprecated_v2 = { 43634 attributes: { 43635 queryId: { 43636 type: "number" 43637 }, 43638 query: { 43639 type: "object", 43640 default: { 43641 perPage: null, 43642 pages: 0, 43643 offset: 0, 43644 postType: "post", 43645 categoryIds: [], 43646 tagIds: [], 43647 order: "desc", 43648 orderBy: "date", 43649 author: "", 43650 search: "", 43651 exclude: [], 43652 sticky: "", 43653 inherit: true 43654 } 43655 }, 43656 tagName: { 43657 type: "string", 43658 default: "div" 43659 }, 43660 displayLayout: { 43661 type: "object", 43662 default: { 43663 type: "list" 43664 } 43665 } 43666 }, 43667 supports: { 43668 align: ["wide", "full"], 43669 html: false, 43670 color: { 43671 gradients: true, 43672 link: true 43673 }, 43674 layout: true 43675 }, 43676 isEligible: ({ query: { categoryIds, tagIds } = {} }) => categoryIds || tagIds, 43677 migrate(attributes, innerBlocks) { 43678 const withTaxQuery = migrateToTaxQuery(attributes); 43679 const [withColorAttributes, withColorInnerBlocks] = migrateColors( 43680 withTaxQuery, 43681 innerBlocks 43682 ); 43683 const withConstrainedLayoutAttributes = migrateToConstrainedLayout(withColorAttributes); 43684 return migrateDisplayLayout( 43685 withConstrainedLayoutAttributes, 43686 withColorInnerBlocks 43687 ); 43688 }, 43689 save({ attributes: { tagName: Tag = "div" } }) { 43690 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 43691 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 43692 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 43693 } 43694 }; 43695 const query_deprecated_v3 = { 43696 attributes: { 43697 queryId: { 43698 type: "number" 43699 }, 43700 query: { 43701 type: "object", 43702 default: { 43703 perPage: null, 43704 pages: 0, 43705 offset: 0, 43706 postType: "post", 43707 order: "desc", 43708 orderBy: "date", 43709 author: "", 43710 search: "", 43711 exclude: [], 43712 sticky: "", 43713 inherit: true, 43714 taxQuery: null, 43715 parents: [] 43716 } 43717 }, 43718 tagName: { 43719 type: "string", 43720 default: "div" 43721 }, 43722 displayLayout: { 43723 type: "object", 43724 default: { 43725 type: "list" 43726 } 43727 }, 43728 namespace: { 43729 type: "string" 43730 } 43731 }, 43732 supports: { 43733 align: ["wide", "full"], 43734 html: false, 43735 color: { 43736 gradients: true, 43737 link: true, 43738 __experimentalDefaultControls: { 43739 background: true, 43740 text: true 43741 } 43742 }, 43743 layout: true 43744 }, 43745 isEligible(attributes) { 43746 const { style, backgroundColor, gradient, textColor } = attributes; 43747 return backgroundColor || gradient || textColor || style?.color || style?.elements?.link; 43748 }, 43749 migrate(attributes, innerBlocks) { 43750 const [withColorAttributes, withColorInnerBlocks] = migrateColors( 43751 attributes, 43752 innerBlocks 43753 ); 43754 const withConstrainedLayoutAttributes = migrateToConstrainedLayout(withColorAttributes); 43755 return migrateDisplayLayout( 43756 withConstrainedLayoutAttributes, 43757 withColorInnerBlocks 43758 ); 43759 }, 43760 save({ attributes: { tagName: Tag = "div" } }) { 43761 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 43762 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 43763 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 43764 } 43765 }; 43766 const query_deprecated_v4 = { 43767 attributes: { 43768 queryId: { 43769 type: "number" 43770 }, 43771 query: { 43772 type: "object", 43773 default: { 43774 perPage: null, 43775 pages: 0, 43776 offset: 0, 43777 postType: "post", 43778 order: "desc", 43779 orderBy: "date", 43780 author: "", 43781 search: "", 43782 exclude: [], 43783 sticky: "", 43784 inherit: true, 43785 taxQuery: null, 43786 parents: [] 43787 } 43788 }, 43789 tagName: { 43790 type: "string", 43791 default: "div" 43792 }, 43793 displayLayout: { 43794 type: "object", 43795 default: { 43796 type: "list" 43797 } 43798 }, 43799 namespace: { 43800 type: "string" 43801 } 43802 }, 43803 supports: { 43804 align: ["wide", "full"], 43805 html: false, 43806 color: { 43807 gradients: true, 43808 link: true, 43809 __experimentalDefaultControls: { 43810 background: true, 43811 text: true 43812 } 43813 }, 43814 layout: true 43815 }, 43816 save({ attributes: { tagName: Tag = "div" } }) { 43817 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 43818 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 43819 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 43820 }, 43821 isEligible: ({ layout }) => layout?.inherit || layout?.contentSize && layout?.type !== "constrained", 43822 migrate(attributes, innerBlocks) { 43823 const withConstrainedLayoutAttributes = migrateToConstrainedLayout(attributes); 43824 return migrateDisplayLayout( 43825 withConstrainedLayoutAttributes, 43826 innerBlocks 43827 ); 43828 } 43829 }; 43830 const query_deprecated_v5 = { 43831 attributes: { 43832 queryId: { 43833 type: "number" 43834 }, 43835 query: { 43836 type: "object", 43837 default: { 43838 perPage: null, 43839 pages: 0, 43840 offset: 0, 43841 postType: "post", 43842 order: "desc", 43843 orderBy: "date", 43844 author: "", 43845 search: "", 43846 exclude: [], 43847 sticky: "", 43848 inherit: true, 43849 taxQuery: null, 43850 parents: [] 43851 } 43852 }, 43853 tagName: { 43854 type: "string", 43855 default: "div" 43856 }, 43857 displayLayout: { 43858 type: "object", 43859 default: { 43860 type: "list" 43861 } 43862 }, 43863 namespace: { 43864 type: "string" 43865 } 43866 }, 43867 supports: { 43868 align: ["wide", "full"], 43869 anchor: true, 43870 html: false, 43871 layout: true 43872 }, 43873 save({ attributes: { tagName: Tag = "div" } }) { 43874 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 43875 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 43876 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 43877 }, 43878 isEligible: ({ displayLayout }) => { 43879 return !!displayLayout; 43880 }, 43881 migrate: migrateDisplayLayout 43882 }; 43883 const query_deprecated_deprecated = [query_deprecated_v5, query_deprecated_v4, query_deprecated_v3, query_deprecated_v2, query_deprecated_v1]; 43884 var query_deprecated_deprecated_default = query_deprecated_deprecated; 43885 43886 43887 ;// ./node_modules/@wordpress/block-library/build-module/query/index.js 43888 43889 43890 43891 43892 43893 43894 43895 const { name: query_name } = query_block_namespaceObject; 43896 const query_settings = { 43897 icon: loop_default, 43898 edit: query_edit_edit_default, 43899 example: { 43900 viewportWidth: 650, 43901 attributes: { 43902 namespace: "core/posts-list", 43903 query: { 43904 perPage: 4, 43905 pages: 1, 43906 offset: 0, 43907 postType: "post", 43908 order: "desc", 43909 orderBy: "date", 43910 author: "", 43911 search: "", 43912 sticky: "exclude", 43913 inherit: false 43914 } 43915 }, 43916 innerBlocks: [ 43917 { 43918 name: "core/post-template", 43919 attributes: { 43920 layout: { 43921 type: "grid", 43922 columnCount: 2 43923 } 43924 }, 43925 innerBlocks: [ 43926 { 43927 name: "core/post-title" 43928 }, 43929 { 43930 name: "core/post-date" 43931 }, 43932 { 43933 name: "core/post-excerpt" 43934 } 43935 ] 43936 } 43937 ] 43938 }, 43939 save: query_save_save, 43940 variations: query_variations_variations_default, 43941 deprecated: query_deprecated_deprecated_default 43942 }; 43943 const query_init = () => initBlock({ name: query_name, metadata: query_block_namespaceObject, settings: query_settings }); 43944 43945 43946 ;// ./node_modules/@wordpress/block-library/build-module/query-no-results/block.json 43947 const query_no_results_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-no-results","title":"No Results","category":"theme","description":"Contains the block elements used to render content when no query results are found.","ancestor":["core/query"],"textdomain":"default","usesContext":["queryId","query"],"supports":{"align":true,"reusable":false,"html":false,"color":{"gradients":true,"link":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 43948 ;// ./node_modules/@wordpress/block-library/build-module/query-no-results/edit.js 43949 43950 43951 43952 const query_no_results_edit_TEMPLATE = [ 43953 [ 43954 "core/paragraph", 43955 { 43956 placeholder: (0,external_wp_i18n_namespaceObject.__)( 43957 "Add text or blocks that will display when a query returns no results." 43958 ) 43959 } 43960 ] 43961 ]; 43962 function QueryNoResultsEdit() { 43963 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 43964 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 43965 template: query_no_results_edit_TEMPLATE 43966 }); 43967 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }); 43968 } 43969 43970 43971 ;// ./node_modules/@wordpress/block-library/build-module/query-no-results/save.js 43972 43973 43974 function query_no_results_save_save() { 43975 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 43976 } 43977 43978 43979 ;// ./node_modules/@wordpress/block-library/build-module/query-no-results/index.js 43980 43981 43982 43983 43984 43985 43986 const { name: query_no_results_name } = query_no_results_block_namespaceObject; 43987 const query_no_results_settings = { 43988 icon: loop_default, 43989 edit: QueryNoResultsEdit, 43990 save: query_no_results_save_save, 43991 example: { 43992 innerBlocks: [ 43993 { 43994 name: "core/paragraph", 43995 attributes: { 43996 content: (0,external_wp_i18n_namespaceObject.__)("No posts were found.") 43997 } 43998 } 43999 ] 44000 } 44001 }; 44002 const query_no_results_init = () => initBlock({ name: query_no_results_name, metadata: query_no_results_block_namespaceObject, settings: query_no_results_settings }); 44003 44004 44005 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/block.json 44006 const query_pagination_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-pagination","title":"Pagination","category":"theme","ancestor":["core/query"],"allowedBlocks":["core/query-pagination-previous","core/query-pagination-numbers","core/query-pagination-next"],"description":"Displays a paginated navigation to next/previous set of posts, when applicable.","textdomain":"default","attributes":{"paginationArrow":{"type":"string","default":"none"},"showLabel":{"type":"boolean","default":true}},"usesContext":["queryId","query"],"providesContext":{"paginationArrow":"paginationArrow","showLabel":"showLabel"},"supports":{"align":true,"reusable":false,"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"layout":{"allowSwitching":false,"allowInheriting":false,"default":{"type":"flex"}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-query-pagination-editor","style":"wp-block-query-pagination"}'); 44007 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/query-pagination-arrow-controls.js 44008 44009 44010 44011 function QueryPaginationArrowControls({ value, onChange }) { 44012 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 44013 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 44014 { 44015 __next40pxDefaultSize: true, 44016 __nextHasNoMarginBottom: true, 44017 label: (0,external_wp_i18n_namespaceObject.__)("Arrow"), 44018 value, 44019 onChange, 44020 help: (0,external_wp_i18n_namespaceObject.__)( 44021 "A decorative arrow appended to the next and previous page link." 44022 ), 44023 isBlock: true, 44024 children: [ 44025 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44026 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 44027 { 44028 value: "none", 44029 label: (0,external_wp_i18n_namespaceObject._x)( 44030 "None", 44031 "Arrow option for Query Pagination Next/Previous blocks" 44032 ) 44033 } 44034 ), 44035 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44036 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 44037 { 44038 value: "arrow", 44039 label: (0,external_wp_i18n_namespaceObject._x)( 44040 "Arrow", 44041 "Arrow option for Query Pagination Next/Previous blocks" 44042 ) 44043 } 44044 ), 44045 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44046 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 44047 { 44048 value: "chevron", 44049 label: (0,external_wp_i18n_namespaceObject._x)( 44050 "Chevron", 44051 "Arrow option for Query Pagination Next/Previous blocks" 44052 ) 44053 } 44054 ) 44055 ] 44056 } 44057 ); 44058 } 44059 44060 44061 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/query-pagination-label-control.js 44062 44063 44064 44065 function QueryPaginationLabelControl({ value, onChange }) { 44066 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44067 external_wp_components_namespaceObject.ToggleControl, 44068 { 44069 __nextHasNoMarginBottom: true, 44070 label: (0,external_wp_i18n_namespaceObject.__)("Show label text"), 44071 help: (0,external_wp_i18n_namespaceObject.__)('Make label text visible, e.g. "Next Page".'), 44072 onChange, 44073 checked: value === true 44074 } 44075 ); 44076 } 44077 44078 44079 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/edit.js 44080 44081 44082 44083 44084 44085 44086 44087 44088 44089 const query_pagination_edit_TEMPLATE = [ 44090 ["core/query-pagination-previous"], 44091 ["core/query-pagination-numbers"], 44092 ["core/query-pagination-next"] 44093 ]; 44094 function edit_QueryPaginationEdit({ 44095 attributes: { paginationArrow, showLabel }, 44096 setAttributes, 44097 clientId 44098 }) { 44099 const hasNextPreviousBlocks = (0,external_wp_data_namespaceObject.useSelect)( 44100 (select) => { 44101 const { getBlocks } = select(external_wp_blockEditor_namespaceObject.store); 44102 const innerBlocks = getBlocks(clientId); 44103 return innerBlocks?.find((innerBlock) => { 44104 return [ 44105 "core/query-pagination-next", 44106 "core/query-pagination-previous" 44107 ].includes(innerBlock.name); 44108 }); 44109 }, 44110 [clientId] 44111 ); 44112 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 44113 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 44114 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 44115 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 44116 template: query_pagination_edit_TEMPLATE 44117 }); 44118 (0,external_wp_element_namespaceObject.useEffect)(() => { 44119 if (paginationArrow === "none" && !showLabel) { 44120 __unstableMarkNextChangeAsNotPersistent(); 44121 setAttributes({ showLabel: true }); 44122 } 44123 }, [ 44124 paginationArrow, 44125 setAttributes, 44126 showLabel, 44127 __unstableMarkNextChangeAsNotPersistent 44128 ]); 44129 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44130 hasNextPreviousBlocks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 44131 external_wp_components_namespaceObject.__experimentalToolsPanel, 44132 { 44133 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 44134 resetAll: () => { 44135 setAttributes({ 44136 paginationArrow: "none", 44137 showLabel: true 44138 }); 44139 }, 44140 dropdownMenuProps, 44141 children: [ 44142 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44143 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44144 { 44145 hasValue: () => paginationArrow !== "none", 44146 label: (0,external_wp_i18n_namespaceObject.__)("Pagination arrow"), 44147 onDeselect: () => setAttributes({ paginationArrow: "none" }), 44148 isShownByDefault: true, 44149 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44150 QueryPaginationArrowControls, 44151 { 44152 value: paginationArrow, 44153 onChange: (value) => { 44154 setAttributes({ paginationArrow: value }); 44155 } 44156 } 44157 ) 44158 } 44159 ), 44160 paginationArrow !== "none" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44161 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44162 { 44163 hasValue: () => !showLabel, 44164 label: (0,external_wp_i18n_namespaceObject.__)("Show text"), 44165 onDeselect: () => setAttributes({ showLabel: true }), 44166 isShownByDefault: true, 44167 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44168 QueryPaginationLabelControl, 44169 { 44170 value: showLabel, 44171 onChange: (value) => { 44172 setAttributes({ showLabel: value }); 44173 } 44174 } 44175 ) 44176 } 44177 ) 44178 ] 44179 } 44180 ) }), 44181 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("nav", { ...innerBlocksProps }) 44182 ] }); 44183 } 44184 44185 44186 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/save.js 44187 44188 44189 function query_pagination_save_save() { 44190 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 44191 } 44192 44193 44194 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/deprecated.js 44195 44196 44197 const query_pagination_deprecated_deprecated = [ 44198 // Version with wrapper `div` element. 44199 { 44200 save() { 44201 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 44202 } 44203 } 44204 ]; 44205 var query_pagination_deprecated_deprecated_default = query_pagination_deprecated_deprecated; 44206 44207 44208 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js 44209 44210 44211 44212 44213 44214 44215 const { name: query_pagination_name } = query_pagination_block_namespaceObject; 44216 const query_pagination_settings = { 44217 icon: query_pagination_default, 44218 edit: edit_QueryPaginationEdit, 44219 save: query_pagination_save_save, 44220 deprecated: query_pagination_deprecated_deprecated_default 44221 }; 44222 const query_pagination_init = () => initBlock({ name: query_pagination_name, metadata: query_pagination_block_namespaceObject, settings: query_pagination_settings }); 44223 44224 44225 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-next/block.json 44226 const query_pagination_next_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-pagination-next","title":"Next Page","category":"theme","parent":["core/query-pagination"],"description":"Displays the next posts page link.","textdomain":"default","attributes":{"label":{"type":"string"}},"usesContext":["queryId","query","paginationArrow","showLabel","enhancedPagination"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 44227 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-next/edit.js 44228 44229 44230 44231 const query_pagination_next_edit_arrowMap = { 44232 none: "", 44233 arrow: "\u2192", 44234 chevron: "\xBB" 44235 }; 44236 function QueryPaginationNextEdit({ 44237 attributes: { label }, 44238 setAttributes, 44239 context: { paginationArrow, showLabel } 44240 }) { 44241 const displayArrow = query_pagination_next_edit_arrowMap[paginationArrow]; 44242 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 44243 "a", 44244 { 44245 href: "#pagination-next-pseudo-link", 44246 onClick: (event) => event.preventDefault(), 44247 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), 44248 children: [ 44249 showLabel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44250 external_wp_blockEditor_namespaceObject.PlainText, 44251 { 44252 __experimentalVersion: 2, 44253 tagName: "span", 44254 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Next page link"), 44255 placeholder: (0,external_wp_i18n_namespaceObject.__)("Next Page"), 44256 value: label, 44257 onChange: (newLabel) => setAttributes({ label: newLabel }) 44258 } 44259 ), 44260 displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44261 "span", 44262 { 44263 className: `wp-block-query-pagination-next-arrow is-arrow-$paginationArrow}`, 44264 "aria-hidden": true, 44265 children: displayArrow 44266 } 44267 ) 44268 ] 44269 } 44270 ); 44271 } 44272 44273 44274 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js 44275 44276 44277 44278 44279 const { name: query_pagination_next_name } = query_pagination_next_block_namespaceObject; 44280 const query_pagination_next_settings = { 44281 icon: query_pagination_next_default, 44282 edit: QueryPaginationNextEdit 44283 }; 44284 const query_pagination_next_init = () => initBlock({ name: query_pagination_next_name, metadata: query_pagination_next_block_namespaceObject, settings: query_pagination_next_settings }); 44285 44286 44287 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/block.json 44288 const query_pagination_numbers_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-pagination-numbers","title":"Page Numbers","category":"theme","parent":["core/query-pagination"],"description":"Displays a list of page numbers for pagination.","textdomain":"default","attributes":{"midSize":{"type":"number","default":2}},"usesContext":["queryId","query","enhancedPagination"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-query-pagination-numbers-editor"}'); 44289 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/edit.js 44290 44291 44292 44293 44294 44295 const createPaginationItem = (content, Tag = "a", extraClass = "") => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { className: `page-numbers $extraClass}`, children: content }, content); 44296 const previewPaginationNumbers = (midSize) => { 44297 const paginationItems = []; 44298 for (let i = 1; i <= midSize; i++) { 44299 paginationItems.push(createPaginationItem(i)); 44300 } 44301 paginationItems.push( 44302 createPaginationItem(midSize + 1, "span", "current") 44303 ); 44304 for (let i = 1; i <= midSize; i++) { 44305 paginationItems.push(createPaginationItem(midSize + 1 + i)); 44306 } 44307 paginationItems.push(createPaginationItem("...", "span", "dots")); 44308 paginationItems.push(createPaginationItem(midSize * 2 + 3)); 44309 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: paginationItems }); 44310 }; 44311 function QueryPaginationNumbersEdit({ 44312 attributes, 44313 setAttributes 44314 }) { 44315 const { midSize } = attributes; 44316 const paginationNumbers = previewPaginationNumbers( 44317 parseInt(midSize, 10) 44318 ); 44319 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 44320 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44321 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44322 external_wp_components_namespaceObject.__experimentalToolsPanel, 44323 { 44324 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 44325 resetAll: () => setAttributes({ midSize: 2 }), 44326 dropdownMenuProps, 44327 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44328 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44329 { 44330 label: (0,external_wp_i18n_namespaceObject.__)("Number of links"), 44331 hasValue: () => midSize !== 2, 44332 onDeselect: () => setAttributes({ midSize: 2 }), 44333 isShownByDefault: true, 44334 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44335 external_wp_components_namespaceObject.RangeControl, 44336 { 44337 __next40pxDefaultSize: true, 44338 __nextHasNoMarginBottom: true, 44339 label: (0,external_wp_i18n_namespaceObject.__)("Number of links"), 44340 help: (0,external_wp_i18n_namespaceObject.__)( 44341 "Specify how many links can appear before and after the current page number. Links to the first, current and last page are always visible." 44342 ), 44343 value: midSize, 44344 onChange: (value) => { 44345 setAttributes({ 44346 midSize: parseInt(value, 10) 44347 }); 44348 }, 44349 min: 0, 44350 max: 5, 44351 withInputField: false 44352 } 44353 ) 44354 } 44355 ) 44356 } 44357 ) }), 44358 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: paginationNumbers }) 44359 ] }); 44360 } 44361 44362 44363 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js 44364 44365 44366 44367 44368 const { name: query_pagination_numbers_name } = query_pagination_numbers_block_namespaceObject; 44369 const query_pagination_numbers_settings = { 44370 icon: query_pagination_numbers_default, 44371 edit: QueryPaginationNumbersEdit, 44372 example: {} 44373 }; 44374 const query_pagination_numbers_init = () => initBlock({ name: query_pagination_numbers_name, metadata: query_pagination_numbers_block_namespaceObject, settings: query_pagination_numbers_settings }); 44375 44376 44377 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/block.json 44378 const query_pagination_previous_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-pagination-previous","title":"Previous Page","category":"theme","parent":["core/query-pagination"],"description":"Displays the previous posts page link.","textdomain":"default","attributes":{"label":{"type":"string"}},"usesContext":["queryId","query","paginationArrow","showLabel","enhancedPagination"],"supports":{"reusable":false,"html":false,"color":{"gradients":true,"text":false,"__experimentalDefaultControls":{"background":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}}}'); 44379 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/edit.js 44380 44381 44382 44383 const query_pagination_previous_edit_arrowMap = { 44384 none: "", 44385 arrow: "\u2190", 44386 chevron: "\xAB" 44387 }; 44388 function QueryPaginationPreviousEdit({ 44389 attributes: { label }, 44390 setAttributes, 44391 context: { paginationArrow, showLabel } 44392 }) { 44393 const displayArrow = query_pagination_previous_edit_arrowMap[paginationArrow]; 44394 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 44395 "a", 44396 { 44397 href: "#pagination-previous-pseudo-link", 44398 onClick: (event) => event.preventDefault(), 44399 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), 44400 children: [ 44401 displayArrow && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44402 "span", 44403 { 44404 className: `wp-block-query-pagination-previous-arrow is-arrow-$paginationArrow}`, 44405 "aria-hidden": true, 44406 children: displayArrow 44407 } 44408 ), 44409 showLabel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44410 external_wp_blockEditor_namespaceObject.PlainText, 44411 { 44412 __experimentalVersion: 2, 44413 tagName: "span", 44414 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Previous page link"), 44415 placeholder: (0,external_wp_i18n_namespaceObject.__)("Previous Page"), 44416 value: label, 44417 onChange: (newLabel) => setAttributes({ label: newLabel }) 44418 } 44419 ) 44420 ] 44421 } 44422 ); 44423 } 44424 44425 44426 ;// ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js 44427 44428 44429 44430 44431 const { name: query_pagination_previous_name } = query_pagination_previous_block_namespaceObject; 44432 const query_pagination_previous_settings = { 44433 icon: query_pagination_previous_default, 44434 edit: QueryPaginationPreviousEdit 44435 }; 44436 const query_pagination_previous_init = () => initBlock({ name: query_pagination_previous_name, metadata: query_pagination_previous_block_namespaceObject, settings: query_pagination_previous_settings }); 44437 44438 44439 ;// ./node_modules/@wordpress/block-library/build-module/query-title/block.json 44440 const query_title_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-title","title":"Query Title","category":"theme","description":"Display the query title.","textdomain":"default","attributes":{"type":{"type":"string"},"textAlign":{"type":"string"},"level":{"type":"number","default":1},"levelOptions":{"type":"array"},"showPrefix":{"type":"boolean","default":true},"showSearchTerm":{"type":"boolean","default":true}},"example":{"attributes":{"type":"search"}},"usesContext":["query"],"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-query-title"}'); 44441 ;// ./node_modules/@wordpress/block-library/build-module/query-title/use-archive-label.js 44442 44443 44444 function useArchiveLabel() { 44445 const templateSlug = (0,external_wp_data_namespaceObject.useSelect)((select) => { 44446 const { getCurrentPostId, getCurrentPostType, getCurrentTemplateId } = select("core/editor"); 44447 const currentPostType = getCurrentPostType(); 44448 const templateId = getCurrentTemplateId() || (currentPostType === "wp_template" ? getCurrentPostId() : null); 44449 return templateId ? select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 44450 "postType", 44451 "wp_template", 44452 templateId 44453 )?.slug : null; 44454 }, []); 44455 const taxonomyMatches = templateSlug?.match( 44456 /^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/ 44457 ); 44458 let taxonomy; 44459 let term; 44460 let isAuthor = false; 44461 let authorSlug; 44462 if (taxonomyMatches) { 44463 if (taxonomyMatches[1]) { 44464 taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1]; 44465 } else if (taxonomyMatches[3]) { 44466 taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4]; 44467 term = taxonomyMatches[7]; 44468 } 44469 taxonomy = taxonomy === "tag" ? "post_tag" : taxonomy; 44470 } else { 44471 const authorMatches = templateSlug?.match(/^(author)$|^author-(.+)$/); 44472 if (authorMatches) { 44473 isAuthor = true; 44474 if (authorMatches[2]) { 44475 authorSlug = authorMatches[2]; 44476 } 44477 } 44478 } 44479 return (0,external_wp_data_namespaceObject.useSelect)( 44480 (select) => { 44481 const { getEntityRecords, getTaxonomy, getAuthors } = select(external_wp_coreData_namespaceObject.store); 44482 let archiveTypeLabel; 44483 let archiveNameLabel; 44484 if (taxonomy) { 44485 archiveTypeLabel = getTaxonomy(taxonomy)?.labels?.singular_name; 44486 } 44487 if (term) { 44488 const records = getEntityRecords("taxonomy", taxonomy, { 44489 slug: term, 44490 per_page: 1 44491 }); 44492 if (records && records[0]) { 44493 archiveNameLabel = records[0].name; 44494 } 44495 } 44496 if (isAuthor) { 44497 archiveTypeLabel = "Author"; 44498 if (authorSlug) { 44499 const authorRecords = getAuthors({ slug: authorSlug }); 44500 if (authorRecords && authorRecords[0]) { 44501 archiveNameLabel = authorRecords[0].name; 44502 } 44503 } 44504 } 44505 return { 44506 archiveTypeLabel, 44507 archiveNameLabel 44508 }; 44509 }, 44510 [authorSlug, isAuthor, taxonomy, term] 44511 ); 44512 } 44513 44514 44515 ;// ./node_modules/@wordpress/block-library/build-module/query-title/use-post-type-label.js 44516 44517 44518 function usePostTypeLabel(contextPostType) { 44519 const currentPostType = (0,external_wp_data_namespaceObject.useSelect)((select) => { 44520 const { getCurrentPostType } = select("core/editor"); 44521 return getCurrentPostType(); 44522 }, []); 44523 return (0,external_wp_data_namespaceObject.useSelect)( 44524 (select) => { 44525 const { getPostType } = select(external_wp_coreData_namespaceObject.store); 44526 const postTypeSlug = contextPostType || currentPostType; 44527 const postType = getPostType(postTypeSlug); 44528 return { 44529 postTypeLabel: postType ? postType.labels.singular_name : "" 44530 }; 44531 }, 44532 [contextPostType, currentPostType] 44533 ); 44534 } 44535 44536 44537 ;// ./node_modules/@wordpress/block-library/build-module/query-title/edit.js 44538 44539 44540 44541 44542 44543 44544 44545 44546 const SUPPORTED_TYPES = ["archive", "search", "post-type"]; 44547 function QueryTitleEdit({ 44548 attributes: { 44549 type, 44550 level, 44551 levelOptions, 44552 textAlign, 44553 showPrefix, 44554 showSearchTerm 44555 }, 44556 setAttributes, 44557 context: { query } 44558 }) { 44559 const { archiveTypeLabel, archiveNameLabel } = useArchiveLabel(); 44560 const { postTypeLabel } = usePostTypeLabel(query?.postType); 44561 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 44562 const TagName = level === 0 ? "p" : `h$level}`; 44563 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 44564 className: dist_clsx("wp-block-query-title__placeholder", { 44565 [`has-text-align-$textAlign}`]: textAlign 44566 }) 44567 }); 44568 if (!SUPPORTED_TYPES.includes(type)) { 44569 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Provided type is not supported.") }) }); 44570 } 44571 let titleElement; 44572 if (type === "archive") { 44573 let title; 44574 if (archiveTypeLabel) { 44575 if (showPrefix) { 44576 if (archiveNameLabel) { 44577 title = (0,external_wp_i18n_namespaceObject.sprintf)( 44578 /* translators: 1: Archive type title e.g: "Category", 2: Label of the archive e.g: "Shoes" */ 44579 (0,external_wp_i18n_namespaceObject._x)("%1$s: %2$s", "archive label"), 44580 archiveTypeLabel, 44581 archiveNameLabel 44582 ); 44583 } else { 44584 title = (0,external_wp_i18n_namespaceObject.sprintf)( 44585 /* translators: %s: Archive type title e.g: "Category", "Tag"... */ 44586 (0,external_wp_i18n_namespaceObject.__)("%s: Name"), 44587 archiveTypeLabel 44588 ); 44589 } 44590 } else if (archiveNameLabel) { 44591 title = archiveNameLabel; 44592 } else { 44593 title = (0,external_wp_i18n_namespaceObject.sprintf)( 44594 /* translators: %s: Archive type title e.g: "Category", "Tag"... */ 44595 (0,external_wp_i18n_namespaceObject.__)("%s name"), 44596 archiveTypeLabel 44597 ); 44598 } 44599 } else { 44600 title = showPrefix ? (0,external_wp_i18n_namespaceObject.__)("Archive type: Name") : (0,external_wp_i18n_namespaceObject.__)("Archive title"); 44601 } 44602 titleElement = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44603 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44604 external_wp_components_namespaceObject.__experimentalToolsPanel, 44605 { 44606 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 44607 resetAll: () => setAttributes({ 44608 showPrefix: true 44609 }), 44610 dropdownMenuProps, 44611 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44612 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44613 { 44614 hasValue: () => !showPrefix, 44615 label: (0,external_wp_i18n_namespaceObject.__)("Show archive type in title"), 44616 onDeselect: () => setAttributes({ showPrefix: true }), 44617 isShownByDefault: true, 44618 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44619 external_wp_components_namespaceObject.ToggleControl, 44620 { 44621 __nextHasNoMarginBottom: true, 44622 label: (0,external_wp_i18n_namespaceObject.__)("Show archive type in title"), 44623 onChange: () => setAttributes({ 44624 showPrefix: !showPrefix 44625 }), 44626 checked: showPrefix 44627 } 44628 ) 44629 } 44630 ) 44631 } 44632 ) }), 44633 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: title }) 44634 ] }); 44635 } 44636 if (type === "search") { 44637 titleElement = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44638 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44639 external_wp_components_namespaceObject.__experimentalToolsPanel, 44640 { 44641 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 44642 resetAll: () => setAttributes({ 44643 showSearchTerm: true 44644 }), 44645 dropdownMenuProps, 44646 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44647 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44648 { 44649 hasValue: () => !showSearchTerm, 44650 label: (0,external_wp_i18n_namespaceObject.__)("Show search term in title"), 44651 onDeselect: () => setAttributes({ showSearchTerm: true }), 44652 isShownByDefault: true, 44653 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44654 external_wp_components_namespaceObject.ToggleControl, 44655 { 44656 __nextHasNoMarginBottom: true, 44657 label: (0,external_wp_i18n_namespaceObject.__)("Show search term in title"), 44658 onChange: () => setAttributes({ 44659 showSearchTerm: !showSearchTerm 44660 }), 44661 checked: showSearchTerm 44662 } 44663 ) 44664 } 44665 ) 44666 } 44667 ) }), 44668 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: showSearchTerm ? (0,external_wp_i18n_namespaceObject.__)("Search results for: \u201Csearch term\u201D") : (0,external_wp_i18n_namespaceObject.__)("Search results") }) 44669 ] }); 44670 } 44671 if (type === "post-type") { 44672 let title; 44673 if (postTypeLabel) { 44674 if (showPrefix) { 44675 title = (0,external_wp_i18n_namespaceObject.sprintf)( 44676 /* translators: %s: Singular post type name of the queried object */ 44677 (0,external_wp_i18n_namespaceObject.__)('Post Type: "%s"'), 44678 postTypeLabel 44679 ); 44680 } else { 44681 title = postTypeLabel; 44682 } 44683 } else { 44684 title = showPrefix ? (0,external_wp_i18n_namespaceObject.__)("Post Type: Name") : (0,external_wp_i18n_namespaceObject.__)("Name"); 44685 } 44686 titleElement = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44687 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44688 external_wp_components_namespaceObject.__experimentalToolsPanel, 44689 { 44690 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 44691 resetAll: () => setAttributes({ 44692 showPrefix: true 44693 }), 44694 dropdownMenuProps, 44695 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44696 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 44697 { 44698 hasValue: () => !showPrefix, 44699 label: (0,external_wp_i18n_namespaceObject.__)("Show post type label"), 44700 onDeselect: () => setAttributes({ showPrefix: true }), 44701 isShownByDefault: true, 44702 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44703 external_wp_components_namespaceObject.ToggleControl, 44704 { 44705 __nextHasNoMarginBottom: true, 44706 label: (0,external_wp_i18n_namespaceObject.__)("Show post type label"), 44707 onChange: () => setAttributes({ 44708 showPrefix: !showPrefix 44709 }), 44710 checked: showPrefix 44711 } 44712 ) 44713 } 44714 ) 44715 } 44716 ) }), 44717 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: title }) 44718 ] }); 44719 } 44720 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 44721 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 44722 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44723 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 44724 { 44725 value: level, 44726 options: levelOptions, 44727 onChange: (newLevel) => setAttributes({ level: newLevel }) 44728 } 44729 ), 44730 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44731 external_wp_blockEditor_namespaceObject.AlignmentControl, 44732 { 44733 value: textAlign, 44734 onChange: (nextAlign) => { 44735 setAttributes({ textAlign: nextAlign }); 44736 } 44737 } 44738 ) 44739 ] }), 44740 titleElement 44741 ] }); 44742 } 44743 44744 44745 ;// ./node_modules/@wordpress/block-library/build-module/query-title/variations.js 44746 44747 44748 const query_title_variations_variations = [ 44749 { 44750 isDefault: true, 44751 name: "archive-title", 44752 title: (0,external_wp_i18n_namespaceObject.__)("Archive Title"), 44753 description: (0,external_wp_i18n_namespaceObject.__)( 44754 "Display the archive title based on the queried object." 44755 ), 44756 icon: title_default, 44757 attributes: { 44758 type: "archive" 44759 }, 44760 scope: ["inserter"] 44761 }, 44762 { 44763 isDefault: false, 44764 name: "search-title", 44765 title: (0,external_wp_i18n_namespaceObject.__)("Search Results Title"), 44766 description: (0,external_wp_i18n_namespaceObject.__)( 44767 "Display the search results title based on the queried object." 44768 ), 44769 icon: title_default, 44770 attributes: { 44771 type: "search" 44772 }, 44773 scope: ["inserter"] 44774 }, 44775 { 44776 isDefault: false, 44777 name: "post-type-label", 44778 title: (0,external_wp_i18n_namespaceObject.__)("Post Type Label"), 44779 description: (0,external_wp_i18n_namespaceObject.__)( 44780 "Display the post type label based on the queried object." 44781 ), 44782 icon: title_default, 44783 attributes: { 44784 type: "post-type" 44785 }, 44786 scope: ["inserter"] 44787 } 44788 ]; 44789 query_title_variations_variations.forEach((variation) => { 44790 if (variation.isActive) { 44791 return; 44792 } 44793 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.type === variationAttributes.type; 44794 }); 44795 var query_title_variations_variations_default = query_title_variations_variations; 44796 44797 44798 ;// ./node_modules/@wordpress/block-library/build-module/query-title/deprecated.js 44799 44800 const query_title_deprecated_v1 = { 44801 attributes: { 44802 type: { 44803 type: "string" 44804 }, 44805 textAlign: { 44806 type: "string" 44807 }, 44808 level: { 44809 type: "number", 44810 default: 1 44811 } 44812 }, 44813 supports: { 44814 align: ["wide", "full"], 44815 html: false, 44816 color: { 44817 gradients: true 44818 }, 44819 spacing: { 44820 margin: true 44821 }, 44822 typography: { 44823 fontSize: true, 44824 lineHeight: true, 44825 __experimentalFontFamily: true 44826 } 44827 }, 44828 save() { 44829 return null; 44830 }, 44831 migrate: migrate_font_family_default, 44832 isEligible({ style }) { 44833 return style?.typography?.fontFamily; 44834 } 44835 }; 44836 var query_title_deprecated_deprecated_default = [query_title_deprecated_v1]; 44837 44838 44839 ;// ./node_modules/@wordpress/block-library/build-module/query-title/index.js 44840 44841 44842 44843 44844 44845 44846 const { name: query_title_name } = query_title_block_namespaceObject; 44847 const query_title_settings = { 44848 icon: title_default, 44849 edit: QueryTitleEdit, 44850 variations: query_title_variations_variations_default, 44851 deprecated: query_title_deprecated_deprecated_default 44852 }; 44853 const query_title_init = () => initBlock({ name: query_title_name, metadata: query_title_block_namespaceObject, settings: query_title_settings }); 44854 44855 44856 ;// ./node_modules/@wordpress/block-library/build-module/query-total/block.json 44857 const query_total_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/query-total","title":"Query Total","category":"theme","ancestor":["core/query"],"description":"Display the total number of results in a query.","textdomain":"default","attributes":{"displayType":{"type":"string","default":"total-results"}},"usesContext":["queryId","query"],"supports":{"align":["wide","full"],"html":false,"spacing":{"margin":true,"padding":true},"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-query-total"}'); 44858 ;// ./node_modules/@wordpress/block-library/build-module/query-total/icons.js 44859 44860 44861 const resultsFound = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44862 external_wp_components_namespaceObject.SVG, 44863 { 44864 xmlns: "http://www.w3.org/2000/svg", 44865 viewBox: "0 0 24 24", 44866 width: "24", 44867 height: "24", 44868 "aria-hidden": "true", 44869 focusable: "false", 44870 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M4 11h4v2H4v-2zm6 0h6v2h-6v-2zm8 0h2v2h-2v-2z" }) 44871 } 44872 ); 44873 const displayingResults = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44874 external_wp_components_namespaceObject.SVG, 44875 { 44876 xmlns: "http://www.w3.org/2000/svg", 44877 viewBox: "0 0 24 24", 44878 width: "24", 44879 height: "24", 44880 "aria-hidden": "true", 44881 focusable: "false", 44882 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M4 13h2v-2H4v2zm4 0h10v-2H8v2zm12 0h2v-2h-2v2z" }) 44883 } 44884 ); 44885 const queryTotal = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44886 external_wp_components_namespaceObject.SVG, 44887 { 44888 xmlns: "http://www.w3.org/2000/svg", 44889 viewBox: "0 0 24 24", 44890 width: "24", 44891 height: "24", 44892 "aria-hidden": "true", 44893 focusable: "false", 44894 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12Zm-7-6-4.1 5h8.8v-3h-1.5v1.5h-4.2l2.9-3.5-2.9-3.5h4.2V10h1.5V7H7.4l4.1 5Z" }) 44895 } 44896 ); 44897 44898 44899 ;// ./node_modules/@wordpress/block-library/build-module/query-total/edit.js 44900 44901 44902 44903 44904 44905 function QueryTotalEdit({ attributes, setAttributes }) { 44906 const { displayType } = attributes; 44907 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 44908 const getButtonPositionIcon = () => { 44909 switch (displayType) { 44910 case "total-results": 44911 return resultsFound; 44912 case "range-display": 44913 return displayingResults; 44914 } 44915 }; 44916 const buttonPositionControls = [ 44917 { 44918 role: "menuitemradio", 44919 title: (0,external_wp_i18n_namespaceObject.__)("Total results"), 44920 isActive: displayType === "total-results", 44921 icon: resultsFound, 44922 onClick: () => { 44923 setAttributes({ displayType: "total-results" }); 44924 } 44925 }, 44926 { 44927 role: "menuitemradio", 44928 title: (0,external_wp_i18n_namespaceObject.__)("Range display"), 44929 isActive: displayType === "range-display", 44930 icon: displayingResults, 44931 onClick: () => { 44932 setAttributes({ displayType: "range-display" }); 44933 } 44934 } 44935 ]; 44936 const controls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 44937 external_wp_components_namespaceObject.ToolbarDropdownMenu, 44938 { 44939 icon: getButtonPositionIcon(), 44940 label: (0,external_wp_i18n_namespaceObject.__)("Change display type"), 44941 controls: buttonPositionControls 44942 } 44943 ) }) }); 44944 const renderDisplay = () => { 44945 if (displayType === "total-results") { 44946 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: (0,external_wp_i18n_namespaceObject.__)("12 results found") }); 44947 } 44948 if (displayType === "range-display") { 44949 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: (0,external_wp_i18n_namespaceObject.__)("Displaying 1 \u2013 10 of 12") }); 44950 } 44951 return null; 44952 }; 44953 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 44954 controls, 44955 renderDisplay() 44956 ] }); 44957 } 44958 44959 44960 ;// ./node_modules/@wordpress/block-library/build-module/query-total/index.js 44961 44962 44963 44964 44965 const { name: query_total_name } = query_total_block_namespaceObject; 44966 const query_total_settings = { 44967 icon: queryTotal, 44968 edit: QueryTotalEdit 44969 }; 44970 const query_total_init = () => initBlock({ name: query_total_name, metadata: query_total_block_namespaceObject, settings: query_total_settings }); 44971 44972 44973 ;// ./node_modules/@wordpress/icons/build-module/library/quote.js 44974 44975 44976 var quote_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z" }) }); 44977 44978 44979 ;// ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js 44980 44981 44982 44983 44984 const migrateToQuoteV2 = (attributes) => { 44985 const { value, ...restAttributes } = attributes; 44986 return [ 44987 { 44988 ...restAttributes 44989 }, 44990 value ? (0,external_wp_blocks_namespaceObject.parseWithAttributeSchema)(value, { 44991 type: "array", 44992 source: "query", 44993 selector: "p", 44994 query: { 44995 content: { 44996 type: "string", 44997 source: "html" 44998 } 44999 } 45000 }).map( 45001 ({ content }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { content }) 45002 ) : (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph") 45003 ]; 45004 }; 45005 const deprecated_TEXT_ALIGN_OPTIONS = ["left", "right", "center"]; 45006 const deprecated_migrateTextAlign = (attributes, innerBlocks) => { 45007 const { align, ...rest } = attributes; 45008 const migratedAttributes = deprecated_TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, textAlign: align } : attributes; 45009 return [migratedAttributes, innerBlocks]; 45010 }; 45011 const migrateLargeStyle = (attributes, innerBlocks) => { 45012 return [ 45013 { 45014 ...attributes, 45015 className: attributes.className ? attributes.className + " is-style-large" : "is-style-large" 45016 }, 45017 innerBlocks 45018 ]; 45019 }; 45020 const quote_deprecated_v4 = { 45021 attributes: { 45022 value: { 45023 type: "string", 45024 source: "html", 45025 selector: "blockquote", 45026 multiline: "p", 45027 default: "", 45028 role: "content" 45029 }, 45030 citation: { 45031 type: "string", 45032 source: "html", 45033 selector: "cite", 45034 default: "", 45035 role: "content" 45036 }, 45037 align: { 45038 type: "string" 45039 } 45040 }, 45041 supports: { 45042 anchor: true, 45043 html: false, 45044 __experimentalOnEnter: true, 45045 __experimentalOnMerge: true, 45046 typography: { 45047 fontSize: true, 45048 lineHeight: true, 45049 __experimentalFontFamily: true, 45050 __experimentalFontWeight: true, 45051 __experimentalFontStyle: true, 45052 __experimentalTextTransform: true, 45053 __experimentalTextDecoration: true, 45054 __experimentalLetterSpacing: true, 45055 __experimentalDefaultControls: { 45056 fontSize: true, 45057 fontAppearance: true 45058 } 45059 }, 45060 color: { 45061 gradients: true, 45062 heading: true, 45063 link: true, 45064 __experimentalDefaultControls: { 45065 background: true, 45066 text: true 45067 } 45068 } 45069 }, 45070 isEligible: ({ align }) => deprecated_TEXT_ALIGN_OPTIONS.includes(align), 45071 save({ attributes }) { 45072 const { align, citation } = attributes; 45073 const className = dist_clsx({ 45074 [`has-text-align-$align}`]: align 45075 }); 45076 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 45077 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}), 45078 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 45079 ] }); 45080 }, 45081 migrate: deprecated_migrateTextAlign 45082 }; 45083 const quote_deprecated_v3 = { 45084 attributes: { 45085 value: { 45086 type: "string", 45087 source: "html", 45088 selector: "blockquote", 45089 multiline: "p", 45090 default: "", 45091 role: "content" 45092 }, 45093 citation: { 45094 type: "string", 45095 source: "html", 45096 selector: "cite", 45097 default: "", 45098 role: "content" 45099 }, 45100 align: { 45101 type: "string" 45102 } 45103 }, 45104 supports: { 45105 anchor: true, 45106 __experimentalSlashInserter: true, 45107 typography: { 45108 fontSize: true, 45109 lineHeight: true, 45110 __experimentalFontStyle: true, 45111 __experimentalFontWeight: true, 45112 __experimentalLetterSpacing: true, 45113 __experimentalTextTransform: true, 45114 __experimentalDefaultControls: { 45115 fontSize: true, 45116 fontAppearance: true 45117 } 45118 } 45119 }, 45120 save({ attributes }) { 45121 const { align, value, citation } = attributes; 45122 const className = dist_clsx({ 45123 [`has-text-align-$align}`]: align 45124 }); 45125 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 45126 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { multiline: true, value }), 45127 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 45128 ] }); 45129 }, 45130 migrate(attributes) { 45131 return deprecated_migrateTextAlign(...migrateToQuoteV2(attributes)); 45132 } 45133 }; 45134 const quote_deprecated_v2 = { 45135 attributes: { 45136 value: { 45137 type: "string", 45138 source: "html", 45139 selector: "blockquote", 45140 multiline: "p", 45141 default: "" 45142 }, 45143 citation: { 45144 type: "string", 45145 source: "html", 45146 selector: "cite", 45147 default: "" 45148 }, 45149 align: { 45150 type: "string" 45151 } 45152 }, 45153 migrate(attributes) { 45154 return deprecated_migrateTextAlign(...migrateToQuoteV2(attributes)); 45155 }, 45156 save({ attributes }) { 45157 const { align, value, citation } = attributes; 45158 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { style: { textAlign: align ? align : null }, children: [ 45159 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { multiline: true, value }), 45160 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 45161 ] }); 45162 } 45163 }; 45164 const quote_deprecated_v1 = { 45165 attributes: { 45166 value: { 45167 type: "string", 45168 source: "html", 45169 selector: "blockquote", 45170 multiline: "p", 45171 default: "" 45172 }, 45173 citation: { 45174 type: "string", 45175 source: "html", 45176 selector: "cite", 45177 default: "" 45178 }, 45179 align: { 45180 type: "string" 45181 }, 45182 style: { 45183 type: "number", 45184 default: 1 45185 } 45186 }, 45187 migrate(attributes) { 45188 if (attributes.style === 2) { 45189 const { style, ...restAttributes } = attributes; 45190 return deprecated_migrateTextAlign( 45191 ...migrateLargeStyle(...migrateToQuoteV2(restAttributes)) 45192 ); 45193 } 45194 return deprecated_migrateTextAlign(...migrateToQuoteV2(attributes)); 45195 }, 45196 save({ attributes }) { 45197 const { align, value, citation, style } = attributes; 45198 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 45199 "blockquote", 45200 { 45201 className: style === 2 ? "is-large" : "", 45202 style: { textAlign: align ? align : null }, 45203 children: [ 45204 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { multiline: true, value }), 45205 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 45206 ] 45207 } 45208 ); 45209 } 45210 }; 45211 const quote_deprecated_v0 = { 45212 attributes: { 45213 value: { 45214 type: "string", 45215 source: "html", 45216 selector: "blockquote", 45217 multiline: "p", 45218 default: "" 45219 }, 45220 citation: { 45221 type: "string", 45222 source: "html", 45223 selector: "footer", 45224 default: "" 45225 }, 45226 align: { 45227 type: "string" 45228 }, 45229 style: { 45230 type: "number", 45231 default: 1 45232 } 45233 }, 45234 migrate(attributes) { 45235 if (!isNaN(parseInt(attributes.style))) { 45236 const { style, ...restAttributes } = attributes; 45237 return deprecated_migrateTextAlign(...migrateToQuoteV2(restAttributes)); 45238 } 45239 return deprecated_migrateTextAlign(...migrateToQuoteV2(attributes)); 45240 }, 45241 save({ attributes }) { 45242 const { align, value, citation, style } = attributes; 45243 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 45244 "blockquote", 45245 { 45246 className: `blocks-quote-style-$style}`, 45247 style: { textAlign: align ? align : null }, 45248 children: [ 45249 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { multiline: true, value }), 45250 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "footer", value: citation }) 45251 ] 45252 } 45253 ); 45254 } 45255 }; 45256 var quote_deprecated_deprecated_default = [quote_deprecated_v4, quote_deprecated_v3, quote_deprecated_v2, quote_deprecated_v1, quote_deprecated_v0]; 45257 45258 45259 ;// ./node_modules/@wordpress/icons/build-module/library/verse.js 45260 45261 45262 var verse_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z" }) }); 45263 45264 45265 ;// ./node_modules/@wordpress/block-library/build-module/quote/edit.js 45266 45267 45268 45269 45270 45271 45272 45273 45274 45275 45276 45277 const edit_isWebPlatform = external_wp_element_namespaceObject.Platform.OS === "web"; 45278 const quote_edit_TEMPLATE = [["core/paragraph", {}]]; 45279 const edit_useMigrateOnLoad = (attributes, clientId) => { 45280 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 45281 const { updateBlockAttributes, replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 45282 (0,external_wp_element_namespaceObject.useEffect)(() => { 45283 if (!attributes.value) { 45284 return; 45285 } 45286 const [newAttributes, newInnerBlocks] = migrateToQuoteV2(attributes); 45287 external_wp_deprecated_default()("Value attribute on the quote block", { 45288 since: "6.0", 45289 version: "6.5", 45290 alternative: "inner blocks" 45291 }); 45292 registry.batch(() => { 45293 updateBlockAttributes(clientId, newAttributes); 45294 replaceInnerBlocks(clientId, newInnerBlocks); 45295 }); 45296 }, [attributes.value]); 45297 }; 45298 function QuoteEdit({ 45299 attributes, 45300 setAttributes, 45301 insertBlocksAfter, 45302 clientId, 45303 className, 45304 style, 45305 isSelected 45306 }) { 45307 const { textAlign, allowedBlocks } = attributes; 45308 edit_useMigrateOnLoad(attributes, clientId); 45309 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 45310 className: dist_clsx(className, { 45311 [`has-text-align-$textAlign}`]: textAlign 45312 }), 45313 ...!edit_isWebPlatform && { style } 45314 }); 45315 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 45316 template: quote_edit_TEMPLATE, 45317 templateInsertUpdatesSelection: true, 45318 __experimentalCaptureToolbars: true, 45319 renderAppender: false, 45320 allowedBlocks 45321 }); 45322 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 45323 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45324 external_wp_blockEditor_namespaceObject.AlignmentControl, 45325 { 45326 value: textAlign, 45327 onChange: (nextAlign) => { 45328 setAttributes({ textAlign: nextAlign }); 45329 } 45330 } 45331 ) }), 45332 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.BlockQuotation, { ...innerBlocksProps, children: [ 45333 innerBlocksProps.children, 45334 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45335 Caption, 45336 { 45337 attributeKey: "citation", 45338 tagName: edit_isWebPlatform ? "cite" : "p", 45339 style: edit_isWebPlatform && { display: "block" }, 45340 isSelected, 45341 attributes, 45342 setAttributes, 45343 __unstableMobileNoFocusOnMount: true, 45344 icon: verse_default, 45345 label: (0,external_wp_i18n_namespaceObject.__)("Quote citation"), 45346 placeholder: ( 45347 // translators: placeholder text used for the 45348 // citation 45349 (0,external_wp_i18n_namespaceObject.__)("Add citation") 45350 ), 45351 addLabel: (0,external_wp_i18n_namespaceObject.__)("Add citation"), 45352 removeLabel: (0,external_wp_i18n_namespaceObject.__)("Remove citation"), 45353 excludeElementClassName: true, 45354 className: "wp-block-quote__citation", 45355 insertBlocksAfter, 45356 ...!edit_isWebPlatform ? { textAlign } : {} 45357 } 45358 ) 45359 ] }) 45360 ] }); 45361 } 45362 45363 45364 ;// ./node_modules/@wordpress/block-library/build-module/quote/block.json 45365 const quote_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/quote","title":"Quote","category":"text","description":"Give quoted text visual emphasis. \\"In quoting others, we cite ourselves.\\" — Julio Cortázar","keywords":["blockquote","cite"],"textdomain":"default","attributes":{"value":{"type":"string","source":"html","selector":"blockquote","multiline":"p","default":"","role":"content"},"citation":{"type":"rich-text","source":"rich-text","selector":"cite","role":"content"},"textAlign":{"type":"string"}},"supports":{"anchor":true,"align":["left","right","wide","full"],"html":false,"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"__experimentalBorder":{"color":true,"radius":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"radius":true,"style":true,"width":true}},"dimensions":{"minHeight":true,"__experimentalDefaultControls":{"minHeight":false}},"__experimentalOnEnter":true,"__experimentalOnMerge":true,"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"color":{"gradients":true,"heading":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"layout":{"allowEditing":false},"spacing":{"blockGap":true,"padding":true,"margin":true},"interactivity":{"clientNavigation":true},"allowedBlocks":true},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"plain","label":"Plain"}],"editorStyle":"wp-block-quote-editor","style":"wp-block-quote"}'); 45366 ;// ./node_modules/@wordpress/block-library/build-module/quote/save.js 45367 45368 45369 45370 function quote_save_save({ attributes }) { 45371 const { textAlign, citation } = attributes; 45372 const className = dist_clsx({ 45373 [`has-text-align-$textAlign}`]: textAlign 45374 }); 45375 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("blockquote", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: [ 45376 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}), 45377 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "cite", value: citation }) 45378 ] }); 45379 } 45380 45381 45382 ;// ./node_modules/@wordpress/block-library/build-module/quote/transforms.js 45383 45384 45385 const quote_transforms_transforms = { 45386 from: [ 45387 { 45388 type: "block", 45389 blocks: ["core/pullquote"], 45390 transform: ({ 45391 value, 45392 align, 45393 citation, 45394 anchor, 45395 fontSize, 45396 style 45397 }) => { 45398 return (0,external_wp_blocks_namespaceObject.createBlock)( 45399 "core/quote", 45400 { 45401 align, 45402 citation, 45403 anchor, 45404 fontSize, 45405 style 45406 }, 45407 [(0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { content: value })] 45408 ); 45409 } 45410 }, 45411 { 45412 type: "prefix", 45413 prefix: ">", 45414 transform: (content) => (0,external_wp_blocks_namespaceObject.createBlock)("core/quote", {}, [ 45415 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { content }) 45416 ]) 45417 }, 45418 { 45419 type: "raw", 45420 schema: () => ({ 45421 blockquote: { 45422 children: "*" 45423 } 45424 }), 45425 selector: "blockquote", 45426 transform: (node, handler) => { 45427 return (0,external_wp_blocks_namespaceObject.createBlock)( 45428 "core/quote", 45429 // Don't try to parse any `cite` out of this content. 45430 // * There may be more than one cite. 45431 // * There may be more attribution text than just the cite. 45432 // * If the cite is nested in the quoted text, it's wrong to 45433 // remove it. 45434 {}, 45435 handler({ 45436 HTML: node.innerHTML, 45437 mode: "BLOCKS" 45438 }) 45439 ); 45440 } 45441 }, 45442 { 45443 type: "block", 45444 isMultiBlock: true, 45445 blocks: ["*"], 45446 isMatch: ({}, blocks) => { 45447 if (blocks.length === 1) { 45448 return [ 45449 "core/paragraph", 45450 "core/heading", 45451 "core/list", 45452 "core/pullquote" 45453 ].includes(blocks[0].name); 45454 } 45455 return !blocks.some(({ name }) => name === "core/quote"); 45456 }, 45457 __experimentalConvert: (blocks) => (0,external_wp_blocks_namespaceObject.createBlock)( 45458 "core/quote", 45459 {}, 45460 blocks.map( 45461 (block) => (0,external_wp_blocks_namespaceObject.createBlock)( 45462 block.name, 45463 block.attributes, 45464 block.innerBlocks 45465 ) 45466 ) 45467 ) 45468 } 45469 ], 45470 to: [ 45471 { 45472 type: "block", 45473 blocks: ["core/pullquote"], 45474 isMatch: ({}, block) => { 45475 return block.innerBlocks.every( 45476 ({ name }) => name === "core/paragraph" 45477 ); 45478 }, 45479 transform: ({ align, citation, anchor, fontSize, style }, innerBlocks) => { 45480 const value = innerBlocks.map(({ attributes }) => `$attributes.content}`).join("<br>"); 45481 return (0,external_wp_blocks_namespaceObject.createBlock)("core/pullquote", { 45482 value, 45483 align, 45484 citation, 45485 anchor, 45486 fontSize, 45487 style 45488 }); 45489 } 45490 }, 45491 { 45492 type: "block", 45493 blocks: ["core/paragraph"], 45494 transform: ({ citation }, innerBlocks) => external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) ? innerBlocks : [ 45495 ...innerBlocks, 45496 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 45497 content: citation 45498 }) 45499 ] 45500 }, 45501 { 45502 type: "block", 45503 blocks: ["core/group"], 45504 transform: ({ citation, anchor }, innerBlocks) => (0,external_wp_blocks_namespaceObject.createBlock)( 45505 "core/group", 45506 { anchor }, 45507 external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) ? innerBlocks : [ 45508 ...innerBlocks, 45509 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 45510 content: citation 45511 }) 45512 ] 45513 ) 45514 } 45515 ], 45516 ungroup: ({ citation }, innerBlocks) => external_wp_blockEditor_namespaceObject.RichText.isEmpty(citation) ? innerBlocks : [ 45517 ...innerBlocks, 45518 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 45519 content: citation 45520 }) 45521 ] 45522 }; 45523 var quote_transforms_transforms_default = quote_transforms_transforms; 45524 45525 45526 ;// ./node_modules/@wordpress/block-library/build-module/quote/index.js 45527 45528 45529 45530 45531 45532 45533 45534 45535 const { name: quote_name } = quote_block_namespaceObject; 45536 const quote_settings = { 45537 icon: quote_default, 45538 example: { 45539 attributes: { 45540 citation: (0,external_wp_i18n_namespaceObject.__)("Julio Cort\xE1zar") 45541 }, 45542 innerBlocks: [ 45543 { 45544 name: "core/paragraph", 45545 attributes: { 45546 content: (0,external_wp_i18n_namespaceObject.__)("In quoting others, we cite ourselves.") 45547 } 45548 } 45549 ] 45550 }, 45551 transforms: quote_transforms_transforms_default, 45552 edit: QuoteEdit, 45553 save: quote_save_save, 45554 deprecated: quote_deprecated_deprecated_default 45555 }; 45556 const quote_init = () => initBlock({ name: quote_name, metadata: quote_block_namespaceObject, settings: quote_settings }); 45557 45558 45559 ;// ./node_modules/@wordpress/icons/build-module/library/symbol.js 45560 45561 45562 var symbol_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M21.3 10.8l-5.6-5.6c-.7-.7-1.8-.7-2.5 0l-5.6 5.6c-.7.7-.7 1.8 0 2.5l5.6 5.6c.3.3.8.5 1.2.5s.9-.2 1.2-.5l5.6-5.6c.8-.7.8-1.9.1-2.5zm-1 1.4l-5.6 5.6c-.1.1-.3.1-.4 0l-5.6-5.6c-.1-.1-.1-.3 0-.4l5.6-5.6s.1-.1.2-.1.1 0 .2.1l5.6 5.6c.1.1.1.3 0 .4zm-16.6-.4L10 5.5l-1-1-6.3 6.3c-.7.7-.7 1.8 0 2.5L9 19.5l1.1-1.1-6.3-6.3c-.2 0-.2-.2-.1-.3z" }) }); 45563 45564 45565 ;// ./node_modules/@wordpress/block-library/build-module/block/block.json 45566 const block_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/block","title":"Pattern","category":"reusable","description":"Reuse this design across your site.","keywords":["reusable"],"textdomain":"default","attributes":{"ref":{"type":"number"},"content":{"type":"object","default":{}}},"providesContext":{"pattern/overrides":"content"},"supports":{"customClassName":false,"html":false,"inserter":false,"renaming":false,"interactivity":{"clientNavigation":true}}}'); 45567 ;// external ["wp","patterns"] 45568 const external_wp_patterns_namespaceObject = window["wp"]["patterns"]; 45569 ;// ./node_modules/@wordpress/block-library/build-module/block/edit.js 45570 45571 45572 45573 45574 45575 45576 45577 45578 45579 45580 45581 const { useLayoutClasses } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 45582 const { hasOverridableBlocks } = unlock(external_wp_patterns_namespaceObject.privateApis); 45583 const fullAlignments = ["full", "wide", "left", "right"]; 45584 const useInferredLayout = (blocks, parentLayout) => { 45585 const initialInferredAlignmentRef = (0,external_wp_element_namespaceObject.useRef)(); 45586 return (0,external_wp_element_namespaceObject.useMemo)(() => { 45587 if (!blocks?.length) { 45588 return {}; 45589 } 45590 let alignment = initialInferredAlignmentRef.current; 45591 if (alignment === void 0) { 45592 const isConstrained = parentLayout?.type === "constrained"; 45593 const hasFullAlignment = blocks.some( 45594 (block) => fullAlignments.includes(block.attributes.align) 45595 ); 45596 alignment = isConstrained && hasFullAlignment ? "full" : null; 45597 initialInferredAlignmentRef.current = alignment; 45598 } 45599 const layout = alignment ? parentLayout : void 0; 45600 return { alignment, layout }; 45601 }, [blocks, parentLayout]); 45602 }; 45603 function RecursionWarning() { 45604 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 45605 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Block cannot be rendered inside itself.") }) }); 45606 } 45607 const edit_NOOP = () => { 45608 }; 45609 function ReusableBlockEditRecursionWrapper(props) { 45610 const { ref } = props.attributes; 45611 const hasAlreadyRendered = (0,external_wp_blockEditor_namespaceObject.useHasRecursion)(ref); 45612 if (hasAlreadyRendered) { 45613 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(RecursionWarning, {}); 45614 } 45615 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RecursionProvider, { uniqueId: ref, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ReusableBlockEdit, { ...props }) }); 45616 } 45617 function ReusableBlockControl({ 45618 recordId, 45619 canOverrideBlocks, 45620 hasContent, 45621 handleEditOriginal, 45622 resetContent 45623 }) { 45624 const canUserEdit = (0,external_wp_data_namespaceObject.useSelect)( 45625 (select) => !!select(external_wp_coreData_namespaceObject.store).canUser("update", { 45626 kind: "postType", 45627 name: "wp_block", 45628 id: recordId 45629 }), 45630 [recordId] 45631 ); 45632 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 45633 canUserEdit && !!handleEditOriginal && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { onClick: handleEditOriginal, children: (0,external_wp_i18n_namespaceObject.__)("Edit original") }) }) }), 45634 canOverrideBlocks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45635 external_wp_components_namespaceObject.ToolbarButton, 45636 { 45637 onClick: resetContent, 45638 disabled: !hasContent, 45639 children: (0,external_wp_i18n_namespaceObject.__)("Reset") 45640 } 45641 ) }) }) 45642 ] }); 45643 } 45644 function ReusableBlockEdit({ 45645 name, 45646 attributes: { ref, content }, 45647 __unstableParentLayout: parentLayout, 45648 setAttributes 45649 }) { 45650 const { record, hasResolved } = (0,external_wp_coreData_namespaceObject.useEntityRecord)( 45651 "postType", 45652 "wp_block", 45653 ref 45654 ); 45655 const [blocks] = (0,external_wp_coreData_namespaceObject.useEntityBlockEditor)("postType", "wp_block", { 45656 id: ref 45657 }); 45658 const isMissing = hasResolved && !record; 45659 const { __unstableMarkLastChangeAsPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 45660 const { onNavigateToEntityRecord, hasPatternOverridesSource } = (0,external_wp_data_namespaceObject.useSelect)( 45661 (select) => { 45662 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 45663 return { 45664 onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord, 45665 hasPatternOverridesSource: !!(0,external_wp_blocks_namespaceObject.getBlockBindingsSource)( 45666 "core/pattern-overrides" 45667 ) 45668 }; 45669 }, 45670 [] 45671 ); 45672 const canOverrideBlocks = (0,external_wp_element_namespaceObject.useMemo)( 45673 () => hasPatternOverridesSource && hasOverridableBlocks(blocks), 45674 [hasPatternOverridesSource, blocks] 45675 ); 45676 const { alignment, layout } = useInferredLayout(blocks, parentLayout); 45677 const layoutClasses = useLayoutClasses({ layout }, name); 45678 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 45679 className: dist_clsx( 45680 "block-library-block__reusable-block-container", 45681 layout && layoutClasses, 45682 { [`align$alignment}`]: alignment } 45683 ) 45684 }); 45685 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 45686 layout, 45687 value: blocks, 45688 onInput: edit_NOOP, 45689 onChange: edit_NOOP, 45690 renderAppender: blocks?.length ? void 0 : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender 45691 }); 45692 const handleEditOriginal = () => { 45693 onNavigateToEntityRecord({ 45694 postId: ref, 45695 postType: "wp_block" 45696 }); 45697 }; 45698 const resetContent = () => { 45699 if (content) { 45700 __unstableMarkLastChangeAsPersistent(); 45701 setAttributes({ content: void 0 }); 45702 } 45703 }; 45704 let children = null; 45705 if (isMissing) { 45706 children = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Block has been deleted or is unavailable.") }); 45707 } 45708 if (!hasResolved) { 45709 children = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }); 45710 } 45711 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 45712 hasResolved && !isMissing && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45713 ReusableBlockControl, 45714 { 45715 recordId: ref, 45716 canOverrideBlocks, 45717 hasContent: !!content, 45718 handleEditOriginal: onNavigateToEntityRecord ? handleEditOriginal : void 0, 45719 resetContent 45720 } 45721 ), 45722 children === null ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...innerBlocksProps }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children }) 45723 ] }); 45724 } 45725 45726 45727 ;// ./node_modules/@wordpress/block-library/build-module/block/deprecated.js 45728 const isObject = (obj) => typeof obj === "object" && !Array.isArray(obj) && obj !== null; 45729 const block_deprecated_v2 = { 45730 attributes: { 45731 ref: { 45732 type: "number" 45733 }, 45734 content: { 45735 type: "object" 45736 } 45737 }, 45738 supports: { 45739 customClassName: false, 45740 html: false, 45741 inserter: false, 45742 renaming: false 45743 }, 45744 // Force this deprecation to run whenever there's a values sub-property that's an object. 45745 // 45746 // This could fail in the future if a block ever has binding to a `values` attribute. 45747 // Some extra protection is added to ensure `values` is an object, but this only reduces 45748 // the likelihood, it doesn't solve it completely. 45749 isEligible({ content }) { 45750 return !!content && Object.keys(content).every( 45751 (contentKey) => content[contentKey].values && isObject(content[contentKey].values) 45752 ); 45753 }, 45754 /* 45755 * Old attribute format: 45756 * content: { 45757 * "V98q_x": { 45758 * // The attribute values are now stored as a 'values' sub-property. 45759 * values: { content: 'My content value' }, 45760 * // ... additional metadata, like the block name can be stored here. 45761 * } 45762 * } 45763 * 45764 * New attribute format: 45765 * content: { 45766 * "V98q_x": { 45767 * content: 'My content value', 45768 * } 45769 * } 45770 */ 45771 migrate(attributes) { 45772 const { content, ...retainedAttributes } = attributes; 45773 if (content && Object.keys(content).length) { 45774 const updatedContent = { ...content }; 45775 for (const contentKey in content) { 45776 updatedContent[contentKey] = content[contentKey].values; 45777 } 45778 return { 45779 ...retainedAttributes, 45780 content: updatedContent 45781 }; 45782 } 45783 return attributes; 45784 } 45785 }; 45786 const block_deprecated_v1 = { 45787 attributes: { 45788 ref: { 45789 type: "number" 45790 }, 45791 overrides: { 45792 type: "object" 45793 } 45794 }, 45795 supports: { 45796 customClassName: false, 45797 html: false, 45798 inserter: false, 45799 renaming: false 45800 }, 45801 // Force this deprecation to run whenever there's an `overrides` object. 45802 isEligible({ overrides }) { 45803 return !!overrides; 45804 }, 45805 /* 45806 * Old attribute format: 45807 * overrides: { 45808 * // An key is an id that represents a block. 45809 * // The values are the attribute values of the block. 45810 * "V98q_x": { content: 'My content value' } 45811 * } 45812 * 45813 * New attribute format: 45814 * content: { 45815 * "V98q_x": { content: 'My content value' } 45816 * } 45817 * 45818 */ 45819 migrate(attributes) { 45820 const { overrides, ...retainedAttributes } = attributes; 45821 const content = {}; 45822 Object.keys(overrides).forEach((id) => { 45823 content[id] = overrides[id]; 45824 }); 45825 return { 45826 ...retainedAttributes, 45827 content 45828 }; 45829 } 45830 }; 45831 var block_deprecated_deprecated_default = [block_deprecated_v2, block_deprecated_v1]; 45832 45833 45834 ;// ./node_modules/@wordpress/block-library/build-module/block/index.js 45835 45836 45837 45838 45839 45840 45841 45842 45843 const { name: block_name } = block_block_namespaceObject; 45844 const block_settings = { 45845 deprecated: block_deprecated_deprecated_default, 45846 edit: ReusableBlockEditRecursionWrapper, 45847 icon: symbol_default, 45848 __experimentalLabel: ({ ref }) => { 45849 if (!ref) { 45850 return; 45851 } 45852 const entity = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 45853 "postType", 45854 "wp_block", 45855 ref 45856 ); 45857 if (!entity?.title) { 45858 return; 45859 } 45860 return (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(entity.title); 45861 } 45862 }; 45863 const block_init = () => initBlock({ name: block_name, metadata: block_block_namespaceObject, settings: block_settings }); 45864 45865 45866 ;// ./node_modules/@wordpress/block-library/build-module/read-more/block.json 45867 const read_more_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/read-more","title":"Read More","category":"theme","description":"Displays the link of a post, page, or any other content-type.","textdomain":"default","attributes":{"content":{"type":"string","role":"content"},"linkTarget":{"type":"string","default":"_self"}},"usesContext":["postId"],"supports":{"html":false,"color":{"gradients":true,"text":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalLetterSpacing":true,"__experimentalTextDecoration":true,"__experimentalDefaultControls":{"fontSize":true,"textDecoration":true}},"spacing":{"margin":["top","bottom"],"padding":true,"__experimentalDefaultControls":{"padding":true}},"__experimentalBorder":{"color":true,"radius":true,"width":true,"__experimentalDefaultControls":{"width":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-read-more"}'); 45868 ;// ./node_modules/@wordpress/block-library/build-module/read-more/edit.js 45869 45870 45871 45872 45873 45874 45875 function ReadMore({ 45876 attributes: { content, linkTarget }, 45877 setAttributes, 45878 insertBlocksAfter 45879 }) { 45880 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 45881 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 45882 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 45883 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45884 external_wp_components_namespaceObject.__experimentalToolsPanel, 45885 { 45886 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 45887 resetAll: () => setAttributes({ linkTarget: "_self" }), 45888 dropdownMenuProps, 45889 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45890 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 45891 { 45892 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 45893 isShownByDefault: true, 45894 hasValue: () => linkTarget !== "_self", 45895 onDeselect: () => setAttributes({ linkTarget: "_self" }), 45896 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45897 external_wp_components_namespaceObject.ToggleControl, 45898 { 45899 __nextHasNoMarginBottom: true, 45900 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 45901 onChange: (value) => setAttributes({ 45902 linkTarget: value ? "_blank" : "_self" 45903 }), 45904 checked: linkTarget === "_blank" 45905 } 45906 ) 45907 } 45908 ) 45909 } 45910 ) }), 45911 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 45912 external_wp_blockEditor_namespaceObject.RichText, 45913 { 45914 identifier: "content", 45915 tagName: "a", 45916 "aria-label": (0,external_wp_i18n_namespaceObject.__)("\u201CRead more\u201D link text"), 45917 placeholder: (0,external_wp_i18n_namespaceObject.__)("Read more"), 45918 value: content, 45919 onChange: (newValue) => setAttributes({ content: newValue }), 45920 __unstableOnSplitAtEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())), 45921 withoutInteractiveFormatting: true, 45922 ...blockProps 45923 } 45924 ) 45925 ] }); 45926 } 45927 45928 45929 ;// ./node_modules/@wordpress/block-library/build-module/read-more/index.js 45930 45931 45932 45933 45934 45935 const { name: read_more_name } = read_more_block_namespaceObject; 45936 const read_more_settings = { 45937 icon: link_default, 45938 edit: ReadMore, 45939 example: { 45940 attributes: { 45941 content: (0,external_wp_i18n_namespaceObject.__)("Read more") 45942 } 45943 } 45944 }; 45945 const read_more_init = () => initBlock({ name: read_more_name, metadata: read_more_block_namespaceObject, settings: read_more_settings }); 45946 45947 45948 ;// ./node_modules/@wordpress/icons/build-module/library/rss.js 45949 45950 45951 var rss_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z" }) }); 45952 45953 45954 ;// ./node_modules/@wordpress/block-library/build-module/rss/block.json 45955 const rss_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/rss","title":"RSS","category":"widgets","description":"Display entries from any RSS or Atom feed.","keywords":["atom","feed"],"textdomain":"default","attributes":{"columns":{"type":"number","default":2},"blockLayout":{"type":"string","default":"list"},"feedURL":{"type":"string","default":"","role":"content"},"itemsToShow":{"type":"number","default":5},"displayExcerpt":{"type":"boolean","default":false},"displayAuthor":{"type":"boolean","default":false},"displayDate":{"type":"boolean","default":false},"excerptLength":{"type":"number","default":55},"openInNewTab":{"type":"boolean","default":false},"rel":{"type":"string"}},"supports":{"align":true,"html":false,"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"padding":false,"margin":false}},"color":{"background":true,"text":true,"gradients":true,"link":true}},"editorStyle":"wp-block-rss-editor","style":"wp-block-rss"}'); 45956 ;// ./node_modules/@wordpress/block-library/build-module/rss/edit.js 45957 45958 45959 45960 45961 45962 45963 45964 45965 45966 const DEFAULT_MIN_ITEMS = 1; 45967 const DEFAULT_MAX_ITEMS = 20; 45968 function RSSEdit({ attributes, setAttributes }) { 45969 const [isEditing, setIsEditing] = (0,external_wp_element_namespaceObject.useState)(!attributes.feedURL); 45970 const { 45971 blockLayout, 45972 columns, 45973 displayAuthor, 45974 displayDate, 45975 displayExcerpt, 45976 excerptLength, 45977 feedURL, 45978 itemsToShow, 45979 openInNewTab, 45980 rel 45981 } = attributes; 45982 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 45983 function toggleAttribute(propName) { 45984 return () => { 45985 const value = attributes[propName]; 45986 setAttributes({ [propName]: !value }); 45987 }; 45988 } 45989 function onSubmitURL(event) { 45990 event.preventDefault(); 45991 if (feedURL) { 45992 setAttributes({ feedURL: (0,external_wp_url_namespaceObject.prependHTTP)(feedURL) }); 45993 setIsEditing(false); 45994 } 45995 } 45996 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 45997 const label = (0,external_wp_i18n_namespaceObject.__)("RSS URL"); 45998 if (isEditing) { 45999 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46000 external_wp_components_namespaceObject.Placeholder, 46001 { 46002 icon: rss_default, 46003 label, 46004 instructions: (0,external_wp_i18n_namespaceObject.__)( 46005 "Display entries from any RSS or Atom feed." 46006 ), 46007 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 46008 "form", 46009 { 46010 onSubmit: onSubmitURL, 46011 className: "wp-block-rss__placeholder-form", 46012 children: [ 46013 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46014 external_wp_components_namespaceObject.__experimentalInputControl, 46015 { 46016 __next40pxDefaultSize: true, 46017 label, 46018 type: "url", 46019 hideLabelFromVision: true, 46020 placeholder: (0,external_wp_i18n_namespaceObject.__)("Enter URL here\u2026"), 46021 value: feedURL, 46022 onChange: (value) => setAttributes({ feedURL: value }), 46023 className: "wp-block-rss__placeholder-input" 46024 } 46025 ), 46026 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46027 external_wp_components_namespaceObject.Button, 46028 { 46029 __next40pxDefaultSize: true, 46030 variant: "primary", 46031 type: "submit", 46032 children: (0,external_wp_i18n_namespaceObject.__)("Apply") 46033 } 46034 ) 46035 ] 46036 } 46037 ) 46038 } 46039 ) }); 46040 } 46041 const toolbarControls = [ 46042 { 46043 icon: pencil_default, 46044 title: (0,external_wp_i18n_namespaceObject.__)("Edit RSS URL"), 46045 onClick: () => setIsEditing(true) 46046 }, 46047 { 46048 icon: list_default, 46049 title: (0,external_wp_i18n_namespaceObject._x)("List view", "RSS block display setting"), 46050 onClick: () => setAttributes({ blockLayout: "list" }), 46051 isActive: blockLayout === "list" 46052 }, 46053 { 46054 icon: grid_default, 46055 title: (0,external_wp_i18n_namespaceObject._x)("Grid view", "RSS block display setting"), 46056 onClick: () => setAttributes({ blockLayout: "grid" }), 46057 isActive: blockLayout === "grid" 46058 } 46059 ]; 46060 const serverSideAttributes = { 46061 ...attributes, 46062 style: { 46063 ...attributes?.style, 46064 border: void 0, 46065 spacing: void 0 46066 } 46067 }; 46068 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 46069 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { controls: toolbarControls }) }), 46070 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 46071 external_wp_components_namespaceObject.__experimentalToolsPanel, 46072 { 46073 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 46074 resetAll: () => { 46075 setAttributes({ 46076 itemsToShow: 5, 46077 displayAuthor: false, 46078 displayDate: false, 46079 displayExcerpt: false, 46080 excerptLength: 55, 46081 columns: 2, 46082 openInNewTab: false 46083 }); 46084 }, 46085 dropdownMenuProps, 46086 children: [ 46087 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46088 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46089 { 46090 label: (0,external_wp_i18n_namespaceObject.__)("Number of items"), 46091 hasValue: () => itemsToShow !== 5, 46092 onDeselect: () => setAttributes({ itemsToShow: 5 }), 46093 isShownByDefault: true, 46094 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46095 external_wp_components_namespaceObject.RangeControl, 46096 { 46097 __nextHasNoMarginBottom: true, 46098 __next40pxDefaultSize: true, 46099 label: (0,external_wp_i18n_namespaceObject.__)("Number of items"), 46100 value: itemsToShow, 46101 onChange: (value) => setAttributes({ itemsToShow: value }), 46102 min: DEFAULT_MIN_ITEMS, 46103 max: DEFAULT_MAX_ITEMS, 46104 required: true 46105 } 46106 ) 46107 } 46108 ), 46109 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46110 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46111 { 46112 label: (0,external_wp_i18n_namespaceObject.__)("Display author"), 46113 hasValue: () => !!displayAuthor, 46114 onDeselect: () => setAttributes({ displayAuthor: false }), 46115 isShownByDefault: true, 46116 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46117 external_wp_components_namespaceObject.ToggleControl, 46118 { 46119 __nextHasNoMarginBottom: true, 46120 label: (0,external_wp_i18n_namespaceObject.__)("Display author"), 46121 checked: displayAuthor, 46122 onChange: toggleAttribute("displayAuthor") 46123 } 46124 ) 46125 } 46126 ), 46127 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46128 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46129 { 46130 label: (0,external_wp_i18n_namespaceObject.__)("Display date"), 46131 hasValue: () => !!displayDate, 46132 onDeselect: () => setAttributes({ displayDate: false }), 46133 isShownByDefault: true, 46134 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46135 external_wp_components_namespaceObject.ToggleControl, 46136 { 46137 __nextHasNoMarginBottom: true, 46138 label: (0,external_wp_i18n_namespaceObject.__)("Display date"), 46139 checked: displayDate, 46140 onChange: toggleAttribute("displayDate") 46141 } 46142 ) 46143 } 46144 ), 46145 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46146 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46147 { 46148 label: (0,external_wp_i18n_namespaceObject.__)("Display excerpt"), 46149 hasValue: () => !!displayExcerpt, 46150 onDeselect: () => setAttributes({ displayExcerpt: false }), 46151 isShownByDefault: true, 46152 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46153 external_wp_components_namespaceObject.ToggleControl, 46154 { 46155 __nextHasNoMarginBottom: true, 46156 label: (0,external_wp_i18n_namespaceObject.__)("Display excerpt"), 46157 checked: displayExcerpt, 46158 onChange: toggleAttribute("displayExcerpt") 46159 } 46160 ) 46161 } 46162 ), 46163 displayExcerpt && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46164 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46165 { 46166 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words in excerpt"), 46167 hasValue: () => excerptLength !== 55, 46168 onDeselect: () => setAttributes({ excerptLength: 55 }), 46169 isShownByDefault: true, 46170 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46171 external_wp_components_namespaceObject.RangeControl, 46172 { 46173 __nextHasNoMarginBottom: true, 46174 __next40pxDefaultSize: true, 46175 label: (0,external_wp_i18n_namespaceObject.__)("Max number of words in excerpt"), 46176 value: excerptLength, 46177 onChange: (value) => setAttributes({ excerptLength: value }), 46178 min: 10, 46179 max: 100, 46180 required: true 46181 } 46182 ) 46183 } 46184 ), 46185 blockLayout === "grid" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46186 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46187 { 46188 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 46189 hasValue: () => columns !== 2, 46190 onDeselect: () => setAttributes({ columns: 2 }), 46191 isShownByDefault: true, 46192 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46193 external_wp_components_namespaceObject.RangeControl, 46194 { 46195 __nextHasNoMarginBottom: true, 46196 __next40pxDefaultSize: true, 46197 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 46198 value: columns, 46199 onChange: (value) => setAttributes({ columns: value }), 46200 min: 2, 46201 max: 6, 46202 required: true 46203 } 46204 ) 46205 } 46206 ), 46207 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46208 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46209 { 46210 label: (0,external_wp_i18n_namespaceObject.__)("Open links in new tab"), 46211 hasValue: () => !!openInNewTab, 46212 onDeselect: () => setAttributes({ openInNewTab: false }), 46213 isShownByDefault: true, 46214 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46215 external_wp_components_namespaceObject.ToggleControl, 46216 { 46217 __nextHasNoMarginBottom: true, 46218 label: (0,external_wp_i18n_namespaceObject.__)("Open links in new tab"), 46219 checked: openInNewTab, 46220 onChange: (value) => setAttributes({ openInNewTab: value }) 46221 } 46222 ) 46223 } 46224 ) 46225 ] 46226 } 46227 ) }), 46228 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46229 external_wp_components_namespaceObject.TextControl, 46230 { 46231 __next40pxDefaultSize: true, 46232 __nextHasNoMarginBottom: true, 46233 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 46234 help: (0,external_wp_element_namespaceObject.createInterpolateElement)( 46235 (0,external_wp_i18n_namespaceObject.__)( 46236 "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document." 46237 ), 46238 { 46239 a: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" }) 46240 } 46241 ), 46242 value: rel || "", 46243 onChange: (value) => setAttributes({ rel: value }) 46244 } 46245 ) }), 46246 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46247 (external_wp_serverSideRender_default()), 46248 { 46249 block: "core/rss", 46250 attributes: serverSideAttributes 46251 } 46252 ) }) }) 46253 ] }); 46254 } 46255 46256 46257 ;// ./node_modules/@wordpress/block-library/build-module/rss/index.js 46258 46259 46260 46261 46262 const { name: rss_name } = rss_block_namespaceObject; 46263 const rss_settings = { 46264 icon: rss_default, 46265 example: { 46266 attributes: { 46267 feedURL: "https://wordpress.org" 46268 } 46269 }, 46270 edit: RSSEdit 46271 }; 46272 const rss_init = () => initBlock({ name: rss_name, metadata: rss_block_namespaceObject, settings: rss_settings }); 46273 46274 46275 ;// ./node_modules/@wordpress/icons/build-module/library/search.js 46276 46277 46278 var search_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z" }) }); 46279 46280 46281 ;// ./node_modules/@wordpress/block-library/build-module/search/block.json 46282 const search_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/search","title":"Search","category":"widgets","description":"Help visitors find your content.","keywords":["find"],"textdomain":"default","attributes":{"label":{"type":"string","role":"content"},"showLabel":{"type":"boolean","default":true},"placeholder":{"type":"string","default":"","role":"content"},"width":{"type":"number"},"widthUnit":{"type":"string"},"buttonText":{"type":"string","role":"content"},"buttonPosition":{"type":"string","default":"button-outside"},"buttonUseIcon":{"type":"boolean","default":false},"query":{"type":"object","default":{}},"isSearchFieldHidden":{"type":"boolean","default":false}},"supports":{"align":["left","center","right"],"color":{"gradients":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"background":true,"text":true}},"interactivity":true,"typography":{"__experimentalSkipSerialization":true,"__experimentalSelector":".wp-block-search__label, .wp-block-search__input, .wp-block-search__button","fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"color":true,"radius":true,"width":true,"__experimentalSkipSerialization":true,"__experimentalDefaultControls":{"color":true,"radius":true,"width":true}},"spacing":{"margin":true},"html":false},"editorStyle":"wp-block-search-editor","style":"wp-block-search"}'); 46283 ;// ./node_modules/@wordpress/block-library/build-module/search/utils.js 46284 const PC_WIDTH_DEFAULT = 50; 46285 const PX_WIDTH_DEFAULT = 350; 46286 const MIN_WIDTH = 220; 46287 function utils_isPercentageUnit(unit) { 46288 return unit === "%"; 46289 } 46290 46291 46292 ;// ./node_modules/@wordpress/block-library/build-module/search/edit.js 46293 46294 46295 46296 46297 46298 46299 46300 46301 46302 46303 46304 46305 const DEFAULT_INNER_PADDING = "4px"; 46306 const PERCENTAGE_WIDTHS = [25, 50, 75, 100]; 46307 function SearchEdit({ 46308 className, 46309 attributes, 46310 setAttributes, 46311 toggleSelection, 46312 isSelected, 46313 clientId 46314 }) { 46315 const { 46316 label, 46317 showLabel, 46318 placeholder, 46319 width, 46320 widthUnit, 46321 align, 46322 buttonText, 46323 buttonPosition, 46324 buttonUseIcon, 46325 isSearchFieldHidden, 46326 style 46327 } = attributes; 46328 const wasJustInsertedIntoNavigationBlock = (0,external_wp_data_namespaceObject.useSelect)( 46329 (select) => { 46330 const { getBlockParentsByBlockName, wasBlockJustInserted } = select(external_wp_blockEditor_namespaceObject.store); 46331 return !!getBlockParentsByBlockName(clientId, "core/navigation")?.length && wasBlockJustInserted(clientId); 46332 }, 46333 [clientId] 46334 ); 46335 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 46336 (0,external_wp_element_namespaceObject.useEffect)(() => { 46337 if (wasJustInsertedIntoNavigationBlock) { 46338 __unstableMarkNextChangeAsNotPersistent(); 46339 setAttributes({ 46340 showLabel: false, 46341 buttonUseIcon: true, 46342 buttonPosition: "button-inside" 46343 }); 46344 } 46345 }, [ 46346 __unstableMarkNextChangeAsNotPersistent, 46347 wasJustInsertedIntoNavigationBlock, 46348 setAttributes 46349 ]); 46350 const borderRadius = style?.border?.radius; 46351 let borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 46352 if (typeof borderRadius === "number") { 46353 borderProps = { 46354 ...borderProps, 46355 style: { 46356 ...borderProps.style, 46357 borderRadius: `$borderRadius}px` 46358 } 46359 }; 46360 } 46361 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 46362 const [fluidTypographySettings, layout] = (0,external_wp_blockEditor_namespaceObject.useSettings)( 46363 "typography.fluid", 46364 "layout" 46365 ); 46366 const typographyProps = (0,external_wp_blockEditor_namespaceObject.getTypographyClassesAndStyles)(attributes, { 46367 typography: { 46368 fluid: fluidTypographySettings 46369 }, 46370 layout: { 46371 wideSize: layout?.wideSize 46372 } 46373 }); 46374 const unitControlInstanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(external_wp_components_namespaceObject.__experimentalUnitControl); 46375 const unitControlInputId = `wp-block-search__width-$unitControlInstanceId}`; 46376 const isButtonPositionInside = "button-inside" === buttonPosition; 46377 const isButtonPositionOutside = "button-outside" === buttonPosition; 46378 const hasNoButton = "no-button" === buttonPosition; 46379 const hasOnlyButton = "button-only" === buttonPosition; 46380 const searchFieldRef = (0,external_wp_element_namespaceObject.useRef)(); 46381 const buttonRef = (0,external_wp_element_namespaceObject.useRef)(); 46382 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 46383 availableUnits: ["%", "px"], 46384 defaultValues: { "%": PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT } 46385 }); 46386 (0,external_wp_element_namespaceObject.useEffect)(() => { 46387 if (hasOnlyButton && !isSelected) { 46388 setAttributes({ 46389 isSearchFieldHidden: true 46390 }); 46391 } 46392 }, [hasOnlyButton, isSelected, setAttributes]); 46393 (0,external_wp_element_namespaceObject.useEffect)(() => { 46394 if (!hasOnlyButton || !isSelected) { 46395 return; 46396 } 46397 setAttributes({ 46398 isSearchFieldHidden: false 46399 }); 46400 }, [hasOnlyButton, isSelected, setAttributes, width]); 46401 const getBlockClassNames = () => { 46402 return dist_clsx( 46403 className, 46404 isButtonPositionInside ? "wp-block-search__button-inside" : void 0, 46405 isButtonPositionOutside ? "wp-block-search__button-outside" : void 0, 46406 hasNoButton ? "wp-block-search__no-button" : void 0, 46407 hasOnlyButton ? "wp-block-search__button-only" : void 0, 46408 !buttonUseIcon && !hasNoButton ? "wp-block-search__text-button" : void 0, 46409 buttonUseIcon && !hasNoButton ? "wp-block-search__icon-button" : void 0, 46410 hasOnlyButton && isSearchFieldHidden ? "wp-block-search__searchfield-hidden" : void 0 46411 ); 46412 }; 46413 const buttonPositionControls = [ 46414 { 46415 label: (0,external_wp_i18n_namespaceObject.__)("Button outside"), 46416 value: "button-outside" 46417 }, 46418 { 46419 label: (0,external_wp_i18n_namespaceObject.__)("Button inside"), 46420 value: "button-inside" 46421 }, 46422 { 46423 label: (0,external_wp_i18n_namespaceObject.__)("No button"), 46424 value: "no-button" 46425 }, 46426 { 46427 label: (0,external_wp_i18n_namespaceObject.__)("Button only"), 46428 value: "button-only" 46429 } 46430 ]; 46431 const getResizableSides = () => { 46432 if (hasOnlyButton) { 46433 return {}; 46434 } 46435 return { 46436 right: align !== "right", 46437 left: align === "right" 46438 }; 46439 }; 46440 const renderTextField = () => { 46441 const textFieldClasses = dist_clsx( 46442 "wp-block-search__input", 46443 isButtonPositionInside ? void 0 : borderProps.className, 46444 typographyProps.className 46445 ); 46446 const textFieldStyles = { 46447 ...isButtonPositionInside ? { 46448 borderRadius: borderProps.style?.borderRadius, 46449 borderTopLeftRadius: borderProps.style?.borderTopLeftRadius, 46450 borderTopRightRadius: borderProps.style?.borderTopRightRadius, 46451 borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius, 46452 borderBottomRightRadius: borderProps.style?.borderBottomRightRadius 46453 } : borderProps.style, 46454 ...typographyProps.style, 46455 textDecoration: void 0 46456 }; 46457 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46458 "input", 46459 { 46460 type: "search", 46461 className: textFieldClasses, 46462 style: textFieldStyles, 46463 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Optional placeholder text"), 46464 placeholder: placeholder ? void 0 : (0,external_wp_i18n_namespaceObject.__)("Optional placeholder\u2026"), 46465 value: placeholder, 46466 onChange: (event) => setAttributes({ placeholder: event.target.value }), 46467 ref: searchFieldRef 46468 } 46469 ); 46470 }; 46471 const renderButton = () => { 46472 const buttonClasses = dist_clsx( 46473 "wp-block-search__button", 46474 colorProps.className, 46475 typographyProps.className, 46476 isButtonPositionInside ? void 0 : borderProps.className, 46477 buttonUseIcon ? "has-icon" : void 0, 46478 (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("button") 46479 ); 46480 const buttonStyles = { 46481 ...colorProps.style, 46482 ...typographyProps.style, 46483 ...isButtonPositionInside ? { 46484 borderRadius: borderProps.style?.borderRadius, 46485 borderTopLeftRadius: borderProps.style?.borderTopLeftRadius, 46486 borderTopRightRadius: borderProps.style?.borderTopRightRadius, 46487 borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius, 46488 borderBottomRightRadius: borderProps.style?.borderBottomRightRadius 46489 } : borderProps.style 46490 }; 46491 const handleButtonClick = () => { 46492 if (hasOnlyButton) { 46493 setAttributes({ 46494 isSearchFieldHidden: !isSearchFieldHidden 46495 }); 46496 } 46497 }; 46498 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 46499 buttonUseIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46500 "button", 46501 { 46502 type: "button", 46503 className: buttonClasses, 46504 style: buttonStyles, 46505 "aria-label": buttonText ? (0,external_wp_dom_namespaceObject.__unstableStripHTML)(buttonText) : (0,external_wp_i18n_namespaceObject.__)("Search"), 46506 onClick: handleButtonClick, 46507 ref: buttonRef, 46508 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(build_module_icon_icon_default, { icon: search_default }) 46509 } 46510 ), 46511 !buttonUseIcon && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46512 external_wp_blockEditor_namespaceObject.RichText, 46513 { 46514 identifier: "buttonText", 46515 className: buttonClasses, 46516 style: buttonStyles, 46517 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Button text"), 46518 placeholder: (0,external_wp_i18n_namespaceObject.__)("Add button text\u2026"), 46519 withoutInteractiveFormatting: true, 46520 value: buttonText, 46521 onChange: (html) => setAttributes({ buttonText: html }), 46522 onClick: handleButtonClick 46523 } 46524 ) 46525 ] }); 46526 }; 46527 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 46528 const controls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 46529 external_wp_components_namespaceObject.__experimentalToolsPanel, 46530 { 46531 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 46532 resetAll: () => { 46533 setAttributes({ 46534 width: void 0, 46535 widthUnit: void 0, 46536 showLabel: true, 46537 buttonUseIcon: false, 46538 buttonPosition: "button-outside", 46539 isSearchFieldHidden: false 46540 }); 46541 }, 46542 dropdownMenuProps, 46543 children: [ 46544 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46545 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46546 { 46547 hasValue: () => !showLabel, 46548 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 46549 onDeselect: () => { 46550 setAttributes({ 46551 showLabel: true 46552 }); 46553 }, 46554 isShownByDefault: true, 46555 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46556 external_wp_components_namespaceObject.ToggleControl, 46557 { 46558 __nextHasNoMarginBottom: true, 46559 checked: showLabel, 46560 label: (0,external_wp_i18n_namespaceObject.__)("Show label"), 46561 onChange: (value) => setAttributes({ 46562 showLabel: value 46563 }) 46564 } 46565 ) 46566 } 46567 ), 46568 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46569 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46570 { 46571 hasValue: () => buttonPosition !== "button-outside", 46572 label: (0,external_wp_i18n_namespaceObject.__)("Button position"), 46573 onDeselect: () => { 46574 setAttributes({ 46575 buttonPosition: "button-outside", 46576 isSearchFieldHidden: false 46577 }); 46578 }, 46579 isShownByDefault: true, 46580 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46581 external_wp_components_namespaceObject.SelectControl, 46582 { 46583 value: buttonPosition, 46584 __next40pxDefaultSize: true, 46585 __nextHasNoMarginBottom: true, 46586 label: (0,external_wp_i18n_namespaceObject.__)("Button position"), 46587 onChange: (value) => { 46588 setAttributes({ 46589 buttonPosition: value, 46590 isSearchFieldHidden: value === "button-only" 46591 }); 46592 }, 46593 options: buttonPositionControls 46594 } 46595 ) 46596 } 46597 ), 46598 buttonPosition !== "no-button" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46599 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46600 { 46601 hasValue: () => !!buttonUseIcon, 46602 label: (0,external_wp_i18n_namespaceObject.__)("Use button with icon"), 46603 onDeselect: () => { 46604 setAttributes({ 46605 buttonUseIcon: false 46606 }); 46607 }, 46608 isShownByDefault: true, 46609 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46610 external_wp_components_namespaceObject.ToggleControl, 46611 { 46612 __nextHasNoMarginBottom: true, 46613 checked: buttonUseIcon, 46614 label: (0,external_wp_i18n_namespaceObject.__)("Use button with icon"), 46615 onChange: (value) => setAttributes({ 46616 buttonUseIcon: value 46617 }) 46618 } 46619 ) 46620 } 46621 ), 46622 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46623 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 46624 { 46625 hasValue: () => !!width, 46626 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 46627 onDeselect: () => { 46628 setAttributes({ 46629 width: void 0, 46630 widthUnit: void 0 46631 }); 46632 }, 46633 isShownByDefault: true, 46634 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { children: [ 46635 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46636 external_wp_components_namespaceObject.__experimentalUnitControl, 46637 { 46638 __next40pxDefaultSize: true, 46639 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 46640 id: unitControlInputId, 46641 min: utils_isPercentageUnit(widthUnit) ? 0 : MIN_WIDTH, 46642 max: utils_isPercentageUnit(widthUnit) ? 100 : void 0, 46643 step: 1, 46644 onChange: (newWidth) => { 46645 const parsedNewWidth = newWidth === "" ? void 0 : parseInt(newWidth, 10); 46646 setAttributes({ 46647 width: parsedNewWidth 46648 }); 46649 }, 46650 onUnitChange: (newUnit) => { 46651 setAttributes({ 46652 width: "%" === newUnit ? PC_WIDTH_DEFAULT : PX_WIDTH_DEFAULT, 46653 widthUnit: newUnit 46654 }); 46655 }, 46656 __unstableInputWidth: "80px", 46657 value: `$width}$widthUnit}`, 46658 units 46659 } 46660 ), 46661 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46662 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 46663 { 46664 label: (0,external_wp_i18n_namespaceObject.__)("Percentage Width"), 46665 value: PERCENTAGE_WIDTHS.includes(width) && widthUnit === "%" ? width : void 0, 46666 hideLabelFromVision: true, 46667 onChange: (newWidth) => { 46668 setAttributes({ 46669 width: newWidth, 46670 widthUnit: "%" 46671 }); 46672 }, 46673 isBlock: true, 46674 __next40pxDefaultSize: true, 46675 __nextHasNoMarginBottom: true, 46676 children: PERCENTAGE_WIDTHS.map((widthValue) => { 46677 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46678 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 46679 { 46680 value: widthValue, 46681 label: (0,external_wp_i18n_namespaceObject.sprintf)( 46682 /* translators: %d: Percentage value. */ 46683 (0,external_wp_i18n_namespaceObject.__)("%d%%"), 46684 widthValue 46685 ) 46686 }, 46687 widthValue 46688 ); 46689 }) 46690 } 46691 ) 46692 ] }) 46693 } 46694 ) 46695 ] 46696 } 46697 ) }) }); 46698 const isNonZeroBorderRadius = (radius) => radius !== void 0 && parseInt(radius, 10) !== 0; 46699 const padBorderRadius = (radius) => isNonZeroBorderRadius(radius) ? `calc($radius} + $DEFAULT_INNER_PADDING})` : void 0; 46700 const getWrapperStyles = () => { 46701 const styles = isButtonPositionInside ? borderProps.style : { 46702 borderRadius: borderProps.style?.borderRadius, 46703 borderTopLeftRadius: borderProps.style?.borderTopLeftRadius, 46704 borderTopRightRadius: borderProps.style?.borderTopRightRadius, 46705 borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius, 46706 borderBottomRightRadius: borderProps.style?.borderBottomRightRadius 46707 }; 46708 if (isButtonPositionInside) { 46709 if (typeof borderRadius === "object") { 46710 const { 46711 borderTopLeftRadius, 46712 borderTopRightRadius, 46713 borderBottomLeftRadius, 46714 borderBottomRightRadius 46715 } = borderProps.style; 46716 return { 46717 ...styles, 46718 borderTopLeftRadius: padBorderRadius(borderTopLeftRadius), 46719 borderTopRightRadius: padBorderRadius(borderTopRightRadius), 46720 borderBottomLeftRadius: padBorderRadius( 46721 borderBottomLeftRadius 46722 ), 46723 borderBottomRightRadius: padBorderRadius( 46724 borderBottomRightRadius 46725 ) 46726 }; 46727 } 46728 const radius = Number.isInteger(borderRadius) ? `$borderRadius}px` : borderRadius; 46729 styles.borderRadius = `calc($radius} + $DEFAULT_INNER_PADDING})`; 46730 } 46731 return styles; 46732 }; 46733 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 46734 className: getBlockClassNames(), 46735 style: { 46736 ...typographyProps.style, 46737 // Input opts out of text decoration. 46738 textDecoration: void 0 46739 } 46740 }); 46741 const labelClassnames = dist_clsx( 46742 "wp-block-search__label", 46743 typographyProps.className 46744 ); 46745 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 46746 controls, 46747 showLabel && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46748 external_wp_blockEditor_namespaceObject.RichText, 46749 { 46750 identifier: "label", 46751 className: labelClassnames, 46752 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Label text"), 46753 placeholder: (0,external_wp_i18n_namespaceObject.__)("Add label\u2026"), 46754 withoutInteractiveFormatting: true, 46755 value: label, 46756 onChange: (html) => setAttributes({ label: html }), 46757 style: typographyProps.style 46758 } 46759 ), 46760 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 46761 external_wp_components_namespaceObject.ResizableBox, 46762 { 46763 size: { 46764 width: width === void 0 ? "auto" : `$width}$widthUnit}`, 46765 height: "auto" 46766 }, 46767 className: dist_clsx( 46768 "wp-block-search__inside-wrapper", 46769 isButtonPositionInside ? borderProps.className : void 0 46770 ), 46771 style: getWrapperStyles(), 46772 minWidth: MIN_WIDTH, 46773 enable: getResizableSides(), 46774 onResizeStart: (event, direction, elt) => { 46775 setAttributes({ 46776 width: parseInt(elt.offsetWidth, 10), 46777 widthUnit: "px" 46778 }); 46779 toggleSelection(false); 46780 }, 46781 onResizeStop: (event, direction, elt, delta) => { 46782 setAttributes({ 46783 width: parseInt(width + delta.width, 10) 46784 }); 46785 toggleSelection(true); 46786 }, 46787 showHandle: isSelected, 46788 children: [ 46789 (isButtonPositionInside || isButtonPositionOutside || hasOnlyButton) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 46790 renderTextField(), 46791 renderButton() 46792 ] }), 46793 hasNoButton && renderTextField() 46794 ] 46795 } 46796 ) 46797 ] }); 46798 } 46799 46800 46801 ;// ./node_modules/@wordpress/block-library/build-module/search/variations.js 46802 46803 const search_variations_variations = [ 46804 { 46805 name: "default", 46806 isDefault: true, 46807 attributes: { buttonText: (0,external_wp_i18n_namespaceObject.__)("Search"), label: (0,external_wp_i18n_namespaceObject.__)("Search") } 46808 } 46809 ]; 46810 var search_variations_variations_default = search_variations_variations; 46811 46812 46813 ;// ./node_modules/@wordpress/block-library/build-module/search/index.js 46814 46815 46816 46817 46818 46819 46820 const { name: search_name } = search_block_namespaceObject; 46821 const search_settings = { 46822 icon: search_default, 46823 example: { 46824 attributes: { buttonText: (0,external_wp_i18n_namespaceObject.__)("Search"), label: (0,external_wp_i18n_namespaceObject.__)("Search") }, 46825 viewportWidth: 400 46826 }, 46827 variations: search_variations_variations_default, 46828 edit: SearchEdit 46829 }; 46830 const search_init = () => initBlock({ name: search_name, metadata: search_block_namespaceObject, settings: search_settings }); 46831 46832 46833 ;// ./node_modules/@wordpress/icons/build-module/library/separator.js 46834 46835 46836 var separator_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M4.5 12.5v4H3V7h1.5v3.987h15V7H21v9.5h-1.5v-4h-15Z" }) }); 46837 46838 46839 ;// ./node_modules/@wordpress/block-library/build-module/separator/use-deprecated-opacity.js 46840 46841 46842 function useDeprecatedOpacity(opacity, currentColor, setAttributes) { 46843 const [deprecatedOpacityWithNoColor, setDeprecatedOpacityWithNoColor] = (0,external_wp_element_namespaceObject.useState)(false); 46844 const previousColor = (0,external_wp_compose_namespaceObject.usePrevious)(currentColor); 46845 (0,external_wp_element_namespaceObject.useEffect)(() => { 46846 if (opacity === "css" && !currentColor && !previousColor) { 46847 setDeprecatedOpacityWithNoColor(true); 46848 } 46849 }, [currentColor, previousColor, opacity]); 46850 (0,external_wp_element_namespaceObject.useEffect)(() => { 46851 if (opacity === "css" && (deprecatedOpacityWithNoColor && currentColor || previousColor && currentColor !== previousColor)) { 46852 setAttributes({ opacity: "alpha-channel" }); 46853 setDeprecatedOpacityWithNoColor(false); 46854 } 46855 }, [deprecatedOpacityWithNoColor, currentColor, previousColor]); 46856 } 46857 46858 46859 ;// ./node_modules/@wordpress/block-library/build-module/separator/edit.js 46860 46861 46862 46863 46864 46865 46866 const HtmlElementControl = ({ tagName, setAttributes }) => { 46867 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46868 external_wp_components_namespaceObject.SelectControl, 46869 { 46870 label: (0,external_wp_i18n_namespaceObject.__)("HTML element"), 46871 value: tagName, 46872 onChange: (newValue) => setAttributes({ tagName: newValue }), 46873 options: [ 46874 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<hr>)"), value: "hr" }, 46875 { label: "<div>", value: "div" } 46876 ], 46877 help: tagName === "hr" ? (0,external_wp_i18n_namespaceObject.__)( 46878 "Only select <hr> if the separator conveys important information and should be announced by screen readers." 46879 ) : (0,external_wp_i18n_namespaceObject.__)( 46880 "The <div> element should only be used if the block is a design element with no semantic meaning." 46881 ), 46882 __next40pxDefaultSize: true, 46883 __nextHasNoMarginBottom: true 46884 } 46885 ); 46886 }; 46887 function SeparatorEdit({ attributes, setAttributes }) { 46888 const { backgroundColor, opacity, style, tagName } = attributes; 46889 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 46890 const currentColor = colorProps?.style?.backgroundColor; 46891 const hasCustomColor = !!style?.color?.background; 46892 useDeprecatedOpacity(opacity, currentColor, setAttributes); 46893 const colorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", backgroundColor); 46894 const className = dist_clsx( 46895 { 46896 "has-text-color": backgroundColor || currentColor, 46897 [colorClass]: colorClass, 46898 "has-css-opacity": opacity === "css", 46899 "has-alpha-channel-opacity": opacity === "alpha-channel" 46900 }, 46901 colorProps.className 46902 ); 46903 const styles = { 46904 color: currentColor, 46905 backgroundColor: currentColor 46906 }; 46907 const Wrapper = tagName === "hr" ? external_wp_components_namespaceObject.HorizontalRule : tagName; 46908 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 46909 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46910 HtmlElementControl, 46911 { 46912 tagName, 46913 setAttributes 46914 } 46915 ) }), 46916 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 46917 Wrapper, 46918 { 46919 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 46920 className, 46921 style: hasCustomColor ? styles : void 0 46922 }) 46923 } 46924 ) 46925 ] }); 46926 } 46927 46928 46929 ;// ./node_modules/@wordpress/block-library/build-module/separator/block.json 46930 const separator_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/separator","title":"Separator","category":"design","description":"Create a break between ideas or sections with a horizontal separator.","keywords":["horizontal-line","hr","divider"],"textdomain":"default","attributes":{"opacity":{"type":"string","default":"alpha-channel"},"tagName":{"type":"string","enum":["hr","div"],"default":"hr"}},"supports":{"anchor":true,"align":["center","wide","full"],"color":{"enableContrastChecker":false,"__experimentalSkipSerialization":true,"gradients":true,"background":true,"text":false,"__experimentalDefaultControls":{"background":true}},"spacing":{"margin":["top","bottom"]},"interactivity":{"clientNavigation":true}},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"wide","label":"Wide Line"},{"name":"dots","label":"Dots"}],"editorStyle":"wp-block-separator-editor","style":"wp-block-separator"}'); 46931 ;// ./node_modules/@wordpress/block-library/build-module/separator/save.js 46932 46933 46934 46935 function separatorSave({ attributes }) { 46936 const { backgroundColor, style, opacity, tagName: Tag } = attributes; 46937 const customColor = style?.color?.background; 46938 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 46939 const colorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", backgroundColor); 46940 const className = dist_clsx( 46941 { 46942 "has-text-color": backgroundColor || customColor, 46943 [colorClass]: colorClass, 46944 "has-css-opacity": opacity === "css", 46945 "has-alpha-channel-opacity": opacity === "alpha-channel" 46946 }, 46947 colorProps.className 46948 ); 46949 const styles = { 46950 backgroundColor: colorProps?.style?.backgroundColor, 46951 color: colorClass ? void 0 : customColor 46952 }; 46953 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style: styles }) }); 46954 } 46955 46956 46957 ;// ./node_modules/@wordpress/block-library/build-module/separator/transforms.js 46958 46959 const separator_transforms_transforms = { 46960 from: [ 46961 { 46962 type: "enter", 46963 regExp: /^-{3,}$/, 46964 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/separator") 46965 }, 46966 { 46967 type: "raw", 46968 selector: "hr", 46969 schema: { 46970 hr: {} 46971 } 46972 } 46973 ], 46974 to: [ 46975 { 46976 type: "block", 46977 blocks: ["core/spacer"], 46978 // Transform to Spacer. 46979 transform: ({ anchor }) => { 46980 return (0,external_wp_blocks_namespaceObject.createBlock)("core/spacer", { 46981 anchor: anchor || "" 46982 }); 46983 } 46984 } 46985 ] 46986 }; 46987 var separator_transforms_transforms_default = separator_transforms_transforms; 46988 46989 46990 ;// ./node_modules/@wordpress/block-library/build-module/separator/deprecated.js 46991 46992 46993 46994 const separator_deprecated_v1 = { 46995 attributes: { 46996 color: { 46997 type: "string" 46998 }, 46999 customColor: { 47000 type: "string" 47001 } 47002 }, 47003 save({ attributes }) { 47004 const { color, customColor } = attributes; 47005 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("background-color", color); 47006 const colorClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)("color", color); 47007 const className = dist_clsx({ 47008 "has-text-color has-background": color || customColor, 47009 [backgroundClass]: backgroundClass, 47010 [colorClass]: colorClass 47011 }); 47012 const style = { 47013 backgroundColor: backgroundClass ? void 0 : customColor, 47014 color: colorClass ? void 0 : customColor 47015 }; 47016 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("hr", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }) }); 47017 }, 47018 migrate(attributes) { 47019 const { color, customColor, ...restAttributes } = attributes; 47020 return { 47021 ...restAttributes, 47022 backgroundColor: color ? color : void 0, 47023 opacity: "css", 47024 style: customColor ? { color: { background: customColor } } : void 0, 47025 tagName: "hr" 47026 }; 47027 } 47028 }; 47029 var separator_deprecated_deprecated_default = [separator_deprecated_v1]; 47030 47031 47032 ;// ./node_modules/@wordpress/block-library/build-module/separator/index.js 47033 47034 47035 47036 47037 47038 47039 47040 const { name: separator_name } = separator_block_namespaceObject; 47041 const separator_settings = { 47042 icon: separator_default, 47043 example: { 47044 attributes: { 47045 customColor: "#065174", 47046 className: "is-style-wide" 47047 } 47048 }, 47049 transforms: separator_transforms_transforms_default, 47050 edit: SeparatorEdit, 47051 save: separatorSave, 47052 deprecated: separator_deprecated_deprecated_default 47053 }; 47054 const separator_init = () => initBlock({ name: separator_name, metadata: separator_block_namespaceObject, settings: separator_settings }); 47055 47056 47057 ;// ./node_modules/@wordpress/icons/build-module/library/shortcode.js 47058 47059 47060 var shortcode_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z" }) }); 47061 47062 47063 ;// ./node_modules/@wordpress/block-library/build-module/shortcode/edit.js 47064 47065 47066 47067 47068 47069 47070 function ShortcodeEdit({ attributes, setAttributes }) { 47071 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(ShortcodeEdit); 47072 const inputId = `blocks-shortcode-input-$instanceId}`; 47073 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { icon: shortcode_default, label: (0,external_wp_i18n_namespaceObject.__)("Shortcode"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47074 external_wp_blockEditor_namespaceObject.PlainText, 47075 { 47076 className: "blocks-shortcode__textarea", 47077 id: inputId, 47078 value: attributes.text, 47079 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Shortcode text"), 47080 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write shortcode here\u2026"), 47081 onChange: (text) => setAttributes({ text }) 47082 } 47083 ) }) }); 47084 } 47085 47086 47087 ;// ./node_modules/@wordpress/block-library/build-module/shortcode/save.js 47088 47089 47090 function shortcode_save_save({ attributes }) { 47091 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { children: attributes.text }); 47092 } 47093 47094 47095 ;// external ["wp","autop"] 47096 const external_wp_autop_namespaceObject = window["wp"]["autop"]; 47097 ;// ./node_modules/@wordpress/block-library/build-module/shortcode/transforms.js 47098 47099 const shortcode_transforms_transforms = { 47100 from: [ 47101 { 47102 type: "shortcode", 47103 // Per "Shortcode names should be all lowercase and use all 47104 // letters, but numbers and underscores should work fine too. 47105 // Be wary of using hyphens (dashes), you'll be better off not 47106 // using them." in https://codex.wordpress.org/Shortcode_API 47107 // Require that the first character be a letter. This notably 47108 // prevents footnote markings ([1]) from being caught as 47109 // shortcodes. 47110 tag: "[a-z][a-z0-9_-]*", 47111 attributes: { 47112 text: { 47113 type: "string", 47114 shortcode: (attrs, { content }) => { 47115 return (0,external_wp_autop_namespaceObject.removep)((0,external_wp_autop_namespaceObject.autop)(content)); 47116 } 47117 } 47118 }, 47119 priority: 20 47120 } 47121 ] 47122 }; 47123 var shortcode_transforms_transforms_default = shortcode_transforms_transforms; 47124 47125 47126 ;// ./node_modules/@wordpress/block-library/build-module/shortcode/block.json 47127 const shortcode_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/shortcode","title":"Shortcode","category":"widgets","description":"Insert additional custom elements with a WordPress shortcode.","textdomain":"default","attributes":{"text":{"type":"string","source":"raw","role":"content"}},"supports":{"className":false,"customClassName":false,"html":false},"editorStyle":"wp-block-shortcode-editor"}'); 47128 ;// ./node_modules/@wordpress/block-library/build-module/shortcode/index.js 47129 47130 47131 47132 47133 47134 47135 const { name: shortcode_name } = shortcode_block_namespaceObject; 47136 const shortcode_settings = { 47137 icon: shortcode_default, 47138 transforms: shortcode_transforms_transforms_default, 47139 edit: ShortcodeEdit, 47140 save: shortcode_save_save 47141 }; 47142 const shortcode_init = () => initBlock({ name: shortcode_name, metadata: shortcode_block_namespaceObject, settings: shortcode_settings }); 47143 47144 47145 ;// ./node_modules/@wordpress/icons/build-module/library/site-logo.js 47146 47147 47148 var site_logo_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 4c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8Zm0 1.5c3.4 0 6.2 2.7 6.5 6l-1.2-.6-.8-.4c-.1 0-.2 0-.3-.1H16c-.1-.2-.4-.2-.7 0l-2.9 2.1L9 11.3h-.7L5.5 13v-1.1c0-3.6 2.9-6.5 6.5-6.5Zm0 13c-2.7 0-5-1.7-6-4l2.8-1.7 3.5 1.2h.4s.2 0 .4-.2l2.9-2.1.4.2c.6.3 1.4.7 2.1 1.1-.5 3.1-3.2 5.4-6.4 5.4Z" }) }); 47149 47150 47151 ;// ./node_modules/@wordpress/block-library/build-module/site-logo/block.json 47152 const site_logo_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/site-logo","title":"Site Logo","category":"theme","description":"Display an image to represent this site. Update this block and the changes apply everywhere.","textdomain":"default","attributes":{"width":{"type":"number"},"isLink":{"type":"boolean","default":true,"role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"},"shouldSyncIcon":{"type":"boolean"}},"example":{"viewportWidth":500,"attributes":{"width":350,"className":"block-editor-block-types-list__site-logo-example"}},"supports":{"html":false,"align":true,"alignWide":false,"color":{"text":false,"background":false},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"interactivity":{"clientNavigation":true},"filter":{"duotone":true}},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"rounded","label":"Rounded"}],"selectors":{"filter":{"duotone":".wp-block-site-logo img, .wp-block-site-logo .components-placeholder__illustration, .wp-block-site-logo .components-placeholder::before"}},"editorStyle":"wp-block-site-logo-editor","style":"wp-block-site-logo"}'); 47153 ;// ./node_modules/@wordpress/block-library/build-module/site-logo/edit.js 47154 47155 47156 47157 47158 47159 47160 47161 47162 47163 47164 47165 47166 47167 47168 const site_logo_edit_ALLOWED_MEDIA_TYPES = ["image"]; 47169 const ACCEPT_MEDIA_STRING = "image/*"; 47170 const SiteLogo = ({ 47171 alt, 47172 attributes: { align, width, height, isLink, linkTarget, shouldSyncIcon }, 47173 isSelected, 47174 setAttributes, 47175 setLogo, 47176 logoUrl, 47177 siteUrl, 47178 logoId, 47179 iconId, 47180 setIcon, 47181 canUserEdit 47182 }) => { 47183 const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)("medium"); 47184 const isWideAligned = ["wide", "full"].includes(align); 47185 const isResizable = !isWideAligned && isLargeViewport; 47186 const [{ naturalWidth, naturalHeight }, setNaturalSize] = (0,external_wp_element_namespaceObject.useState)({}); 47187 const [isEditingImage, setIsEditingImage] = (0,external_wp_element_namespaceObject.useState)(false); 47188 const { toggleSelection } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 47189 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 47190 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 47191 const isContentOnlyMode = blockEditingMode === "contentOnly"; 47192 const { imageEditing, maxWidth, title } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 47193 const settings = select(external_wp_blockEditor_namespaceObject.store).getSettings(); 47194 const siteEntities = select(external_wp_coreData_namespaceObject.store).getEntityRecord( 47195 "root", 47196 "__unstableBase" 47197 ); 47198 return { 47199 title: siteEntities?.name, 47200 imageEditing: settings.imageEditing, 47201 maxWidth: settings.maxWidth 47202 }; 47203 }, []); 47204 (0,external_wp_element_namespaceObject.useEffect)(() => { 47205 if (shouldSyncIcon && logoId !== iconId) { 47206 setAttributes({ shouldSyncIcon: false }); 47207 } 47208 }, []); 47209 (0,external_wp_element_namespaceObject.useEffect)(() => { 47210 if (!isSelected) { 47211 setIsEditingImage(false); 47212 } 47213 }, [isSelected]); 47214 function onResizeStart() { 47215 toggleSelection(false); 47216 } 47217 function onResizeStop() { 47218 toggleSelection(true); 47219 } 47220 const img = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 47221 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47222 "img", 47223 { 47224 className: "custom-logo", 47225 src: logoUrl, 47226 alt, 47227 onLoad: (event) => { 47228 setNaturalSize({ 47229 naturalWidth: event.target.naturalWidth, 47230 naturalHeight: event.target.naturalHeight 47231 }); 47232 } 47233 } 47234 ), 47235 (0,external_wp_blob_namespaceObject.isBlobURL)(logoUrl) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 47236 ] }); 47237 let imgWrapper = img; 47238 if (isLink) { 47239 imgWrapper = /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 47240 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47241 "a", 47242 { 47243 href: siteUrl, 47244 className: "custom-logo-link", 47245 rel: "home", 47246 title, 47247 onClick: (event) => event.preventDefault(), 47248 children: img 47249 } 47250 ); 47251 } 47252 if (!isResizable || !naturalWidth || !naturalHeight) { 47253 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { style: { width, height }, children: imgWrapper }); 47254 } 47255 const defaultWidth = 120; 47256 const currentWidth = width || defaultWidth; 47257 const ratio = naturalWidth / naturalHeight; 47258 const currentHeight = currentWidth / ratio; 47259 const minWidth = naturalWidth < naturalHeight ? constants_MIN_SIZE : Math.ceil(constants_MIN_SIZE * ratio); 47260 const minHeight = naturalHeight < naturalWidth ? constants_MIN_SIZE : Math.ceil(constants_MIN_SIZE / ratio); 47261 const maxWidthBuffer = maxWidth * 2.5; 47262 let showRightHandle = false; 47263 let showLeftHandle = false; 47264 if (align === "center") { 47265 showRightHandle = true; 47266 showLeftHandle = true; 47267 } else if ((0,external_wp_i18n_namespaceObject.isRTL)()) { 47268 if (align === "left") { 47269 showRightHandle = true; 47270 } else { 47271 showLeftHandle = true; 47272 } 47273 } else { 47274 if (align === "right") { 47275 showLeftHandle = true; 47276 } else { 47277 showRightHandle = true; 47278 } 47279 } 47280 const canEditImage = logoId && naturalWidth && naturalHeight && imageEditing; 47281 const shouldShowCropAndDimensions = !isContentOnlyMode; 47282 let imgEdit; 47283 if (canEditImage && isEditingImage) { 47284 imgEdit = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47285 external_wp_blockEditor_namespaceObject.__experimentalImageEditor, 47286 { 47287 id: logoId, 47288 url: logoUrl, 47289 width: currentWidth, 47290 height: currentHeight, 47291 naturalHeight, 47292 naturalWidth, 47293 onSaveImage: (imageAttributes) => { 47294 setLogo(imageAttributes.id); 47295 }, 47296 onFinishEditing: () => { 47297 setIsEditingImage(false); 47298 } 47299 } 47300 ); 47301 } else { 47302 imgEdit = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47303 external_wp_components_namespaceObject.ResizableBox, 47304 { 47305 size: { 47306 width: currentWidth, 47307 height: currentHeight 47308 }, 47309 showHandle: isSelected && shouldShowCropAndDimensions, 47310 minWidth, 47311 maxWidth: maxWidthBuffer, 47312 minHeight, 47313 maxHeight: maxWidthBuffer / ratio, 47314 lockAspectRatio: true, 47315 enable: { 47316 top: false, 47317 right: showRightHandle, 47318 bottom: true, 47319 left: showLeftHandle 47320 }, 47321 onResizeStart, 47322 onResizeStop: (event, direction, elt, delta) => { 47323 onResizeStop(); 47324 setAttributes({ 47325 width: parseInt(currentWidth + delta.width, 10), 47326 height: parseInt(currentHeight + delta.height, 10) 47327 }); 47328 }, 47329 children: imgWrapper 47330 } 47331 ); 47332 } 47333 const shouldUseNewUrl = !window?.__experimentalUseCustomizerSiteLogoUrl; 47334 const siteIconSettingsUrl = shouldUseNewUrl ? siteUrl + "/wp-admin/options-general.php" : siteUrl + "/wp-admin/customize.php?autofocus[section]=title_tagline"; 47335 const syncSiteIconHelpText = (0,external_wp_element_namespaceObject.createInterpolateElement)( 47336 (0,external_wp_i18n_namespaceObject.__)( 47337 "Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>." 47338 ), 47339 { 47340 a: ( 47341 // eslint-disable-next-line jsx-a11y/anchor-has-content 47342 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47343 "a", 47344 { 47345 href: siteIconSettingsUrl, 47346 target: "_blank", 47347 rel: "noopener noreferrer" 47348 } 47349 ) 47350 ) 47351 } 47352 ); 47353 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 47354 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 47355 external_wp_components_namespaceObject.__experimentalToolsPanel, 47356 { 47357 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 47358 dropdownMenuProps, 47359 children: [ 47360 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47361 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 47362 { 47363 isShownByDefault: true, 47364 hasValue: () => !!width, 47365 label: (0,external_wp_i18n_namespaceObject.__)("Image width"), 47366 onDeselect: () => setAttributes({ width: void 0 }), 47367 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47368 external_wp_components_namespaceObject.RangeControl, 47369 { 47370 __nextHasNoMarginBottom: true, 47371 __next40pxDefaultSize: true, 47372 label: (0,external_wp_i18n_namespaceObject.__)("Image width"), 47373 onChange: (newWidth) => setAttributes({ width: newWidth }), 47374 min: minWidth, 47375 max: maxWidthBuffer, 47376 initialPosition: Math.min( 47377 defaultWidth, 47378 maxWidthBuffer 47379 ), 47380 value: width || "", 47381 disabled: !isResizable 47382 } 47383 ) 47384 } 47385 ), 47386 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47387 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 47388 { 47389 isShownByDefault: true, 47390 hasValue: () => !isLink, 47391 label: (0,external_wp_i18n_namespaceObject.__)("Link image to home"), 47392 onDeselect: () => setAttributes({ isLink: true }), 47393 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47394 external_wp_components_namespaceObject.ToggleControl, 47395 { 47396 __nextHasNoMarginBottom: true, 47397 label: (0,external_wp_i18n_namespaceObject.__)("Link image to home"), 47398 onChange: () => setAttributes({ isLink: !isLink }), 47399 checked: isLink 47400 } 47401 ) 47402 } 47403 ), 47404 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47405 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 47406 { 47407 isShownByDefault: true, 47408 hasValue: () => linkTarget === "_blank", 47409 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 47410 onDeselect: () => setAttributes({ linkTarget: "_self" }), 47411 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47412 external_wp_components_namespaceObject.ToggleControl, 47413 { 47414 __nextHasNoMarginBottom: true, 47415 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 47416 onChange: (value) => setAttributes({ 47417 linkTarget: value ? "_blank" : "_self" 47418 }), 47419 checked: linkTarget === "_blank" 47420 } 47421 ) 47422 } 47423 ), 47424 canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47425 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 47426 { 47427 isShownByDefault: true, 47428 hasValue: () => !!shouldSyncIcon, 47429 label: (0,external_wp_i18n_namespaceObject.__)("Use as Site Icon"), 47430 onDeselect: () => { 47431 setAttributes({ shouldSyncIcon: false }); 47432 setIcon(void 0); 47433 }, 47434 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47435 external_wp_components_namespaceObject.ToggleControl, 47436 { 47437 __nextHasNoMarginBottom: true, 47438 label: (0,external_wp_i18n_namespaceObject.__)("Use as Site Icon"), 47439 onChange: (value) => { 47440 setAttributes({ shouldSyncIcon: value }); 47441 setIcon(value ? logoId : void 0); 47442 }, 47443 checked: !!shouldSyncIcon, 47444 help: syncSiteIconHelpText 47445 } 47446 ) 47447 } 47448 ) 47449 ] 47450 } 47451 ) }), 47452 canEditImage && !isEditingImage && shouldShowCropAndDimensions && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47453 external_wp_components_namespaceObject.ToolbarButton, 47454 { 47455 onClick: () => setIsEditingImage(true), 47456 icon: crop_default, 47457 label: (0,external_wp_i18n_namespaceObject.__)("Crop") 47458 } 47459 ) }), 47460 imgEdit 47461 ] }); 47462 }; 47463 function SiteLogoReplaceFlow({ mediaURL, ...mediaReplaceProps }) { 47464 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47465 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 47466 { 47467 ...mediaReplaceProps, 47468 mediaURL, 47469 allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, 47470 accept: ACCEPT_MEDIA_STRING 47471 } 47472 ); 47473 } 47474 const InspectorLogoPreview = ({ media, itemGroupProps }) => { 47475 const { 47476 alt_text: alt, 47477 source_url: logoUrl, 47478 slug: logoSlug, 47479 media_details: logoMediaDetails 47480 } = media ?? {}; 47481 const logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug; 47482 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalItemGroup, { ...itemGroupProps, as: "span", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "flex-start", as: "span", children: [ 47483 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { src: logoUrl, alt }), 47484 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { as: "span", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47485 external_wp_components_namespaceObject.__experimentalTruncate, 47486 { 47487 numberOfLines: 1, 47488 className: "block-library-site-logo__inspector-media-replace-title", 47489 children: logoLabel 47490 } 47491 ) }) 47492 ] }) }); 47493 }; 47494 function LogoEdit({ 47495 attributes, 47496 className, 47497 setAttributes, 47498 isSelected 47499 }) { 47500 const { width, shouldSyncIcon } = attributes; 47501 const { 47502 siteLogoId, 47503 canUserEdit, 47504 url, 47505 siteIconId, 47506 mediaItemData, 47507 isRequestingMediaItem 47508 } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 47509 const { canUser, getEntityRecord, getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 47510 const _canUserEdit = canUser("update", { 47511 kind: "root", 47512 name: "site" 47513 }); 47514 const siteSettings = _canUserEdit ? getEditedEntityRecord("root", "site") : void 0; 47515 const siteData = getEntityRecord("root", "__unstableBase"); 47516 const _siteLogoId = _canUserEdit ? siteSettings?.site_logo : siteData?.site_logo; 47517 const _siteIconId = siteSettings?.site_icon; 47518 const mediaItem = _siteLogoId && select(external_wp_coreData_namespaceObject.store).getEntityRecord( 47519 "postType", 47520 "attachment", 47521 _siteLogoId, 47522 { 47523 context: "view" 47524 } 47525 ); 47526 const _isRequestingMediaItem = !!_siteLogoId && !select(external_wp_coreData_namespaceObject.store).hasFinishedResolution("getEntityRecord", [ 47527 "postType", 47528 "attachment", 47529 _siteLogoId, 47530 { context: "view" } 47531 ]); 47532 return { 47533 siteLogoId: _siteLogoId, 47534 canUserEdit: _canUserEdit, 47535 url: siteData?.home, 47536 mediaItemData: mediaItem, 47537 isRequestingMediaItem: _isRequestingMediaItem, 47538 siteIconId: _siteIconId 47539 }; 47540 }, []); 47541 const { getSettings } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 47542 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(); 47543 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 47544 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 47545 const setLogo = (newValue, shouldForceSync = false) => { 47546 if (shouldSyncIcon || shouldForceSync) { 47547 setIcon(newValue); 47548 } 47549 editEntityRecord("root", "site", void 0, { 47550 site_logo: newValue 47551 }); 47552 }; 47553 const setIcon = (newValue) => ( 47554 // The new value needs to be `null` to reset the Site Icon. 47555 editEntityRecord("root", "site", void 0, { 47556 site_icon: newValue ?? null 47557 }) 47558 ); 47559 const { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {}; 47560 const onInitialSelectLogo = (media) => { 47561 if (shouldSyncIcon === void 0) { 47562 const shouldForceSync = !siteIconId; 47563 setAttributes({ shouldSyncIcon: shouldForceSync }); 47564 onSelectLogo(media, shouldForceSync); 47565 return; 47566 } 47567 onSelectLogo(media); 47568 }; 47569 const onSelectLogo = (media, shouldForceSync = false) => { 47570 if (!media) { 47571 return; 47572 } 47573 if (!media.id && media.url) { 47574 setTemporaryURL(media.url); 47575 setLogo(void 0); 47576 return; 47577 } 47578 setLogo(media.id, shouldForceSync); 47579 }; 47580 const onRemoveLogo = () => { 47581 setLogo(null); 47582 setAttributes({ width: void 0 }); 47583 }; 47584 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 47585 const onUploadError = (message) => { 47586 createErrorNotice(message, { type: "snackbar" }); 47587 setTemporaryURL(); 47588 }; 47589 const onFilesDrop = (filesList) => { 47590 getSettings().mediaUpload({ 47591 allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, 47592 filesList, 47593 onFileChange([image]) { 47594 if ((0,external_wp_blob_namespaceObject.isBlobURL)(image?.url)) { 47595 setTemporaryURL(image.url); 47596 return; 47597 } 47598 onInitialSelectLogo(image); 47599 }, 47600 onError: onUploadError, 47601 multiple: false 47602 }); 47603 }; 47604 const mediaReplaceFlowProps = { 47605 mediaURL: logoUrl, 47606 name: !logoUrl ? (0,external_wp_i18n_namespaceObject.__)("Choose logo") : (0,external_wp_i18n_namespaceObject.__)("Replace"), 47607 onSelect: onSelectLogo, 47608 onError: onUploadError, 47609 onReset: onRemoveLogo 47610 }; 47611 const controls = canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(SiteLogoReplaceFlow, { ...mediaReplaceFlowProps }) }); 47612 let logoImage; 47613 const isLoading = siteLogoId === void 0 || isRequestingMediaItem; 47614 if (isLoading) { 47615 logoImage = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}); 47616 } 47617 (0,external_wp_element_namespaceObject.useEffect)(() => { 47618 if (logoUrl && temporaryURL) { 47619 setTemporaryURL(); 47620 } 47621 }, [logoUrl, temporaryURL]); 47622 if (!!logoUrl || !!temporaryURL) { 47623 logoImage = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 47624 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47625 SiteLogo, 47626 { 47627 alt, 47628 attributes, 47629 className, 47630 isSelected, 47631 setAttributes, 47632 logoUrl: temporaryURL || logoUrl, 47633 setLogo, 47634 logoId: mediaItemData?.id || siteLogoId, 47635 siteUrl: url, 47636 setIcon, 47637 iconId: siteIconId, 47638 canUserEdit 47639 } 47640 ), 47641 canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.DropZone, { onFilesDrop }) 47642 ] }); 47643 } 47644 const placeholder = (content) => { 47645 const placeholderClassName = dist_clsx( 47646 "block-editor-media-placeholder", 47647 className 47648 ); 47649 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47650 external_wp_components_namespaceObject.Placeholder, 47651 { 47652 className: placeholderClassName, 47653 preview: logoImage, 47654 withIllustration: true, 47655 style: { 47656 width 47657 }, 47658 children: content 47659 } 47660 ); 47661 }; 47662 const classes = dist_clsx(className, { 47663 "is-default-size": !width, 47664 "is-transient": temporaryURL 47665 }); 47666 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className: classes }); 47667 const mediaInspectorPanel = (canUserEdit || logoUrl) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47668 external_wp_components_namespaceObject.__experimentalToolsPanel, 47669 { 47670 label: (0,external_wp_i18n_namespaceObject.__)("Media"), 47671 dropdownMenuProps, 47672 children: !canUserEdit ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47673 "div", 47674 { 47675 className: "block-library-site-logo__inspector-media-replace-container", 47676 style: { gridColumn: "1 / -1" }, 47677 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47678 InspectorLogoPreview, 47679 { 47680 media: mediaItemData, 47681 itemGroupProps: { 47682 isBordered: true, 47683 className: "block-library-site-logo__inspector-readonly-logo-preview" 47684 } 47685 } 47686 ) 47687 } 47688 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47689 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 47690 { 47691 hasValue: () => !!logoUrl, 47692 label: (0,external_wp_i18n_namespaceObject.__)("Logo"), 47693 isShownByDefault: true, 47694 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "block-library-site-logo__inspector-media-replace-container", children: [ 47695 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47696 SiteLogoReplaceFlow, 47697 { 47698 ...mediaReplaceFlowProps, 47699 name: !!logoUrl ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47700 InspectorLogoPreview, 47701 { 47702 media: mediaItemData 47703 } 47704 ) : (0,external_wp_i18n_namespaceObject.__)("Choose logo"), 47705 renderToggle: (props) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { ...props, __next40pxDefaultSize: true, children: temporaryURL ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) : props.children }) 47706 } 47707 ), 47708 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.DropZone, { onFilesDrop }) 47709 ] }) 47710 } 47711 ) 47712 } 47713 ) }); 47714 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { ...blockProps, children: [ 47715 controls, 47716 mediaInspectorPanel, 47717 (!!logoUrl || !!temporaryURL) && logoImage, 47718 (isLoading || !temporaryURL && !logoUrl && !canUserEdit) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { className: "site-logo_placeholder", withIllustration: true, children: isLoading && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "components-placeholder__preview", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }) }), 47719 !isLoading && !temporaryURL && !logoUrl && canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47720 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 47721 { 47722 onSelect: onInitialSelectLogo, 47723 accept: ACCEPT_MEDIA_STRING, 47724 allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, 47725 onError: onUploadError, 47726 placeholder, 47727 mediaLibraryButton: ({ open }) => { 47728 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47729 external_wp_components_namespaceObject.Button, 47730 { 47731 __next40pxDefaultSize: true, 47732 icon: upload_default, 47733 variant: "primary", 47734 label: (0,external_wp_i18n_namespaceObject.__)("Choose logo"), 47735 showTooltip: true, 47736 tooltipPosition: "middle right", 47737 onClick: () => { 47738 open(); 47739 } 47740 } 47741 ); 47742 } 47743 } 47744 ) 47745 ] }); 47746 } 47747 47748 47749 ;// ./node_modules/@wordpress/block-library/build-module/site-logo/transforms.js 47750 47751 const site_logo_transforms_transforms = { 47752 to: [ 47753 { 47754 type: "block", 47755 blocks: ["core/site-title"], 47756 transform: ({ isLink, linkTarget }) => { 47757 return (0,external_wp_blocks_namespaceObject.createBlock)("core/site-title", { 47758 isLink, 47759 linkTarget 47760 }); 47761 } 47762 } 47763 ] 47764 }; 47765 var site_logo_transforms_transforms_default = site_logo_transforms_transforms; 47766 47767 47768 ;// ./node_modules/@wordpress/block-library/build-module/site-logo/index.js 47769 47770 47771 47772 47773 47774 const { name: site_logo_name } = site_logo_block_namespaceObject; 47775 const site_logo_settings = { 47776 icon: site_logo_default, 47777 example: {}, 47778 edit: LogoEdit, 47779 transforms: site_logo_transforms_transforms_default 47780 }; 47781 const site_logo_init = () => initBlock({ name: site_logo_name, metadata: site_logo_block_namespaceObject, settings: site_logo_settings }); 47782 47783 47784 ;// ./node_modules/@wordpress/block-library/build-module/site-tagline/block.json 47785 const site_tagline_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/site-tagline","title":"Site Tagline","category":"theme","description":"Describe in a few words what this site is about. This is important for search results, sharing on social media, and gives overall clarity to visitors.","keywords":["description"],"textdomain":"default","attributes":{"textAlign":{"type":"string"},"level":{"type":"number","default":0},"levelOptions":{"type":"array","default":[0,1,2,3,4,5,6]}},"example":{"viewportWidth":350,"attributes":{"textAlign":"center"}},"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"contentRole":true,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}},"editorStyle":"wp-block-site-tagline-editor","style":"wp-block-site-tagline"}'); 47786 ;// ./node_modules/@wordpress/block-library/build-module/site-tagline/edit.js 47787 47788 47789 47790 47791 47792 47793 47794 function SiteTaglineEdit({ 47795 attributes, 47796 setAttributes, 47797 insertBlocksAfter 47798 }) { 47799 const { textAlign, level, levelOptions } = attributes; 47800 const { canUserEdit, tagline } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 47801 const { canUser, getEntityRecord, getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 47802 const canEdit = canUser("update", { 47803 kind: "root", 47804 name: "site" 47805 }); 47806 const settings = canEdit ? getEditedEntityRecord("root", "site") : {}; 47807 const readOnlySettings = getEntityRecord("root", "__unstableBase"); 47808 return { 47809 canUserEdit: canEdit, 47810 tagline: canEdit ? settings?.description : readOnlySettings?.description 47811 }; 47812 }, []); 47813 const TagName = level === 0 ? "p" : `h$level}`; 47814 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 47815 function setTagline(newTagline) { 47816 editEntityRecord("root", "site", void 0, { 47817 description: newTagline 47818 }); 47819 } 47820 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 47821 className: dist_clsx({ 47822 [`has-text-align-$textAlign}`]: textAlign, 47823 "wp-block-site-tagline__placeholder": !canUserEdit && !tagline 47824 }) 47825 }); 47826 const siteTaglineContent = canUserEdit ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47827 external_wp_blockEditor_namespaceObject.RichText, 47828 { 47829 allowedFormats: [], 47830 onChange: setTagline, 47831 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Site tagline text"), 47832 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write site tagline\u2026"), 47833 tagName: TagName, 47834 value: tagline, 47835 disableLineBreaks: true, 47836 __unstableOnSplitAtEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())), 47837 ...blockProps 47838 } 47839 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: tagline || (0,external_wp_i18n_namespaceObject.__)("Site Tagline placeholder") }); 47840 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 47841 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 47842 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47843 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 47844 { 47845 value: level, 47846 options: levelOptions, 47847 onChange: (newLevel) => setAttributes({ level: newLevel }) 47848 } 47849 ), 47850 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47851 external_wp_blockEditor_namespaceObject.AlignmentControl, 47852 { 47853 onChange: (newAlign) => setAttributes({ textAlign: newAlign }), 47854 value: textAlign 47855 } 47856 ) 47857 ] }), 47858 siteTaglineContent 47859 ] }); 47860 } 47861 47862 47863 ;// ./node_modules/@wordpress/block-library/build-module/site-tagline/icon.js 47864 47865 47866 var site_tagline_icon_icon_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M4 10.5h16V9H4v1.5ZM4 15h9v-1.5H4V15Z" }) }); 47867 47868 47869 ;// ./node_modules/@wordpress/block-library/build-module/site-tagline/deprecated.js 47870 47871 const site_tagline_deprecated_v1 = { 47872 attributes: { 47873 textAlign: { 47874 type: "string" 47875 } 47876 }, 47877 supports: { 47878 align: ["wide", "full"], 47879 html: false, 47880 color: { 47881 gradients: true 47882 }, 47883 spacing: { 47884 margin: true, 47885 padding: true 47886 }, 47887 typography: { 47888 fontSize: true, 47889 lineHeight: true, 47890 __experimentalFontFamily: true, 47891 __experimentalTextTransform: true, 47892 __experimentalFontStyle: true, 47893 __experimentalFontWeight: true, 47894 __experimentalLetterSpacing: true 47895 } 47896 }, 47897 save() { 47898 return null; 47899 }, 47900 migrate: migrate_font_family_default, 47901 isEligible({ style }) { 47902 return style?.typography?.fontFamily; 47903 } 47904 }; 47905 var site_tagline_deprecated_deprecated_default = [site_tagline_deprecated_v1]; 47906 47907 47908 ;// ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js 47909 47910 47911 47912 47913 47914 const { name: site_tagline_name } = site_tagline_block_namespaceObject; 47915 const site_tagline_settings = { 47916 icon: site_tagline_icon_icon_default, 47917 edit: SiteTaglineEdit, 47918 deprecated: site_tagline_deprecated_deprecated_default 47919 }; 47920 const site_tagline_init = () => initBlock({ name: site_tagline_name, metadata: site_tagline_block_namespaceObject, settings: site_tagline_settings }); 47921 47922 47923 ;// ./node_modules/@wordpress/icons/build-module/library/map-marker.js 47924 47925 47926 var map_marker_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z" }) }); 47927 47928 47929 ;// ./node_modules/@wordpress/block-library/build-module/site-title/block.json 47930 const site_title_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/site-title","title":"Site Title","category":"theme","description":"Displays the name of this site. Update the block, and the changes apply everywhere it’s used. This will also appear in the browser title bar and in search results.","textdomain":"default","attributes":{"level":{"type":"number","default":1},"levelOptions":{"type":"array","default":[0,1,2,3,4,5,6]},"textAlign":{"type":"string"},"isLink":{"type":"boolean","default":true,"role":"content"},"linkTarget":{"type":"string","default":"_self","role":"content"}},"example":{"viewportWidth":500},"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"padding":true,"margin":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}},"editorStyle":"wp-block-site-title-editor","style":"wp-block-site-title"}'); 47931 ;// ./node_modules/@wordpress/block-library/build-module/site-title/edit.js 47932 47933 47934 47935 47936 47937 47938 47939 47940 47941 47942 function SiteTitleEdit({ 47943 attributes, 47944 setAttributes, 47945 insertBlocksAfter 47946 }) { 47947 const { level, levelOptions, textAlign, isLink, linkTarget } = attributes; 47948 const { canUserEdit, title } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 47949 const { canUser, getEntityRecord, getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 47950 const canEdit = canUser("update", { 47951 kind: "root", 47952 name: "site" 47953 }); 47954 const settings = canEdit ? getEditedEntityRecord("root", "site") : {}; 47955 const readOnlySettings = getEntityRecord("root", "__unstableBase"); 47956 return { 47957 canUserEdit: canEdit, 47958 title: canEdit ? settings?.title : readOnlySettings?.name 47959 }; 47960 }, []); 47961 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 47962 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 47963 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 47964 function setTitle(newTitle) { 47965 editEntityRecord("root", "site", void 0, { 47966 title: newTitle.trim() 47967 }); 47968 } 47969 const TagName = level === 0 ? "p" : `h$level}`; 47970 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 47971 className: dist_clsx({ 47972 [`has-text-align-$textAlign}`]: textAlign, 47973 "wp-block-site-title__placeholder": !canUserEdit && !title 47974 }) 47975 }); 47976 const siteTitleContent = canUserEdit ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47977 external_wp_blockEditor_namespaceObject.RichText, 47978 { 47979 tagName: isLink ? "a" : "span", 47980 href: isLink ? "#site-title-pseudo-link" : void 0, 47981 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Site title text"), 47982 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write site title\u2026"), 47983 value: title, 47984 onChange: setTitle, 47985 allowedFormats: [], 47986 disableLineBreaks: true, 47987 __unstableOnSplitAtEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())) 47988 } 47989 ) }) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: isLink ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 47990 "a", 47991 { 47992 href: "#site-title-pseudo-link", 47993 onClick: (event) => event.preventDefault(), 47994 children: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title) || (0,external_wp_i18n_namespaceObject.__)("Site Title placeholder") 47995 } 47996 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(title) || (0,external_wp_i18n_namespaceObject.__)("Site Title placeholder") }) }); 47997 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 47998 blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 47999 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48000 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 48001 { 48002 value: level, 48003 options: levelOptions, 48004 onChange: (newLevel) => setAttributes({ level: newLevel }) 48005 } 48006 ), 48007 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48008 external_wp_blockEditor_namespaceObject.AlignmentControl, 48009 { 48010 value: textAlign, 48011 onChange: (nextAlign) => { 48012 setAttributes({ textAlign: nextAlign }); 48013 } 48014 } 48015 ) 48016 ] }), 48017 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 48018 external_wp_components_namespaceObject.__experimentalToolsPanel, 48019 { 48020 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 48021 resetAll: () => { 48022 setAttributes({ 48023 isLink: true, 48024 linkTarget: "_self" 48025 }); 48026 }, 48027 dropdownMenuProps, 48028 children: [ 48029 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48030 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 48031 { 48032 hasValue: () => !isLink, 48033 label: (0,external_wp_i18n_namespaceObject.__)("Make title link to home"), 48034 onDeselect: () => setAttributes({ isLink: true }), 48035 isShownByDefault: true, 48036 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48037 external_wp_components_namespaceObject.ToggleControl, 48038 { 48039 __nextHasNoMarginBottom: true, 48040 label: (0,external_wp_i18n_namespaceObject.__)("Make title link to home"), 48041 onChange: () => setAttributes({ isLink: !isLink }), 48042 checked: isLink 48043 } 48044 ) 48045 } 48046 ), 48047 isLink && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48048 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 48049 { 48050 hasValue: () => linkTarget !== "_self", 48051 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 48052 onDeselect: () => setAttributes({ linkTarget: "_self" }), 48053 isShownByDefault: true, 48054 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48055 external_wp_components_namespaceObject.ToggleControl, 48056 { 48057 __nextHasNoMarginBottom: true, 48058 label: (0,external_wp_i18n_namespaceObject.__)("Open in new tab"), 48059 onChange: (value) => setAttributes({ 48060 linkTarget: value ? "_blank" : "_self" 48061 }), 48062 checked: linkTarget === "_blank" 48063 } 48064 ) 48065 } 48066 ) 48067 ] 48068 } 48069 ) }), 48070 siteTitleContent 48071 ] }); 48072 } 48073 48074 48075 ;// ./node_modules/@wordpress/block-library/build-module/site-title/deprecated.js 48076 48077 const site_title_deprecated_v1 = { 48078 attributes: { 48079 level: { 48080 type: "number", 48081 default: 1 48082 }, 48083 textAlign: { 48084 type: "string" 48085 }, 48086 isLink: { 48087 type: "boolean", 48088 default: true 48089 }, 48090 linkTarget: { 48091 type: "string", 48092 default: "_self" 48093 } 48094 }, 48095 supports: { 48096 align: ["wide", "full"], 48097 html: false, 48098 color: { 48099 gradients: true, 48100 link: true 48101 }, 48102 spacing: { 48103 padding: true, 48104 margin: true 48105 }, 48106 typography: { 48107 fontSize: true, 48108 lineHeight: true, 48109 __experimentalFontFamily: true, 48110 __experimentalTextTransform: true, 48111 __experimentalFontStyle: true, 48112 __experimentalFontWeight: true, 48113 __experimentalLetterSpacing: true 48114 } 48115 }, 48116 save() { 48117 return null; 48118 }, 48119 migrate: migrate_font_family_default, 48120 isEligible({ style }) { 48121 return style?.typography?.fontFamily; 48122 } 48123 }; 48124 var site_title_deprecated_deprecated_default = [site_title_deprecated_v1]; 48125 48126 48127 ;// ./node_modules/@wordpress/block-library/build-module/site-title/transforms.js 48128 48129 const site_title_transforms_transforms = { 48130 to: [ 48131 { 48132 type: "block", 48133 blocks: ["core/site-logo"], 48134 transform: ({ isLink, linkTarget }) => { 48135 return (0,external_wp_blocks_namespaceObject.createBlock)("core/site-logo", { 48136 isLink, 48137 linkTarget 48138 }); 48139 } 48140 } 48141 ] 48142 }; 48143 var site_title_transforms_transforms_default = site_title_transforms_transforms; 48144 48145 48146 ;// ./node_modules/@wordpress/block-library/build-module/site-title/index.js 48147 48148 48149 48150 48151 48152 48153 const { name: site_title_name } = site_title_block_namespaceObject; 48154 const site_title_settings = { 48155 icon: map_marker_default, 48156 example: { 48157 viewportWidth: 350, 48158 attributes: { 48159 textAlign: "center" 48160 } 48161 }, 48162 edit: SiteTitleEdit, 48163 transforms: site_title_transforms_transforms_default, 48164 deprecated: site_title_deprecated_deprecated_default 48165 }; 48166 const site_title_init = () => initBlock({ name: site_title_name, metadata: site_title_block_namespaceObject, settings: site_title_settings }); 48167 48168 48169 ;// ./node_modules/@wordpress/icons/build-module/library/share.js 48170 48171 48172 var share_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z" }) }); 48173 48174 48175 ;// ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js 48176 48177 48178 var keyboard_return_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m6.734 16.106 2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.158 1.093-1.028-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734Z" }) }); 48179 48180 48181 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/chain.js 48182 48183 48184 const ChainIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z" }) }); 48185 48186 48187 ;// ./node_modules/@wordpress/block-library/build-module/social-link/social-list.js 48188 48189 48190 function getSocialService(variation) { 48191 if (!variation?.name) { 48192 return { 48193 icon: ChainIcon, 48194 label: (0,external_wp_i18n_namespaceObject.__)("Social Icon") 48195 }; 48196 } 48197 return { 48198 icon: variation?.icon ?? ChainIcon, 48199 label: variation?.title ?? (0,external_wp_i18n_namespaceObject.__)("Social Icon") 48200 }; 48201 } 48202 48203 48204 ;// ./node_modules/@wordpress/block-library/build-module/social-link/edit.js 48205 48206 48207 48208 48209 48210 48211 48212 48213 48214 48215 48216 48217 48218 const SocialLinkURLPopover = ({ 48219 url, 48220 setAttributes, 48221 setPopover, 48222 popoverAnchor, 48223 clientId 48224 }) => { 48225 const { removeBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 48226 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48227 external_wp_blockEditor_namespaceObject.URLPopover, 48228 { 48229 anchor: popoverAnchor, 48230 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Edit social link"), 48231 onClose: () => { 48232 setPopover(false); 48233 popoverAnchor?.focus(); 48234 }, 48235 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48236 "form", 48237 { 48238 className: "block-editor-url-popover__link-editor", 48239 onSubmit: (event) => { 48240 event.preventDefault(); 48241 setPopover(false); 48242 popoverAnchor?.focus(); 48243 }, 48244 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "block-editor-url-input", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48245 external_wp_blockEditor_namespaceObject.URLInput, 48246 { 48247 value: url, 48248 onChange: (nextURL) => setAttributes({ url: nextURL }), 48249 placeholder: (0,external_wp_i18n_namespaceObject.__)("Enter social link"), 48250 label: (0,external_wp_i18n_namespaceObject.__)("Enter social link"), 48251 hideLabelFromVision: true, 48252 disableSuggestions: true, 48253 onKeyDown: (event) => { 48254 if (!!url || event.defaultPrevented || ![external_wp_keycodes_namespaceObject.BACKSPACE, external_wp_keycodes_namespaceObject.DELETE].includes( 48255 event.keyCode 48256 )) { 48257 return; 48258 } 48259 removeBlock(clientId); 48260 }, 48261 suffix: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalInputControlSuffixWrapper, { variant: "control", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48262 external_wp_components_namespaceObject.Button, 48263 { 48264 icon: keyboard_return_default, 48265 label: (0,external_wp_i18n_namespaceObject.__)("Apply"), 48266 type: "submit", 48267 size: "small" 48268 } 48269 ) }) 48270 } 48271 ) }) 48272 } 48273 ) 48274 } 48275 ); 48276 }; 48277 const SocialLinkEdit = ({ 48278 attributes, 48279 context, 48280 isSelected, 48281 setAttributes, 48282 clientId, 48283 name 48284 }) => { 48285 const { url, service, label = "", rel } = attributes; 48286 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 48287 const { 48288 showLabels, 48289 iconColor, 48290 iconColorValue, 48291 iconBackgroundColor, 48292 iconBackgroundColorValue 48293 } = context; 48294 const [showURLPopover, setPopover] = (0,external_wp_element_namespaceObject.useState)(false); 48295 const wrapperClasses = dist_clsx( 48296 "wp-social-link", 48297 // Manually adding this class for backwards compatibility of CSS when moving the 48298 // blockProps from the li to the button: https://github.com/WordPress/gutenberg/pull/64883 48299 "wp-block-social-link", 48300 "wp-social-link-" + service, 48301 { 48302 "wp-social-link__is-incomplete": !url, 48303 [`has-$iconColor}-color`]: iconColor, 48304 [`has-$iconBackgroundColor}-background-color`]: iconBackgroundColor 48305 } 48306 ); 48307 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 48308 const isContentOnlyMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)() === "contentOnly"; 48309 const { activeVariation } = (0,external_wp_data_namespaceObject.useSelect)( 48310 (select) => { 48311 const { getActiveBlockVariation } = select(external_wp_blocks_namespaceObject.store); 48312 return { 48313 activeVariation: getActiveBlockVariation(name, attributes) 48314 }; 48315 }, 48316 [name, attributes] 48317 ); 48318 const { icon, label: socialLinkName } = getSocialService(activeVariation); 48319 const socialLinkText = label.trim() === "" ? socialLinkName : label; 48320 const ref = (0,external_wp_element_namespaceObject.useRef)(); 48321 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 48322 className: "wp-block-social-link-anchor", 48323 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([setPopoverAnchor, ref]), 48324 onClick: () => setPopover(true), 48325 onKeyDown: (event) => { 48326 if (event.keyCode === external_wp_keycodes_namespaceObject.ENTER) { 48327 event.preventDefault(); 48328 setPopover(true); 48329 } 48330 } 48331 }); 48332 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 48333 isContentOnlyMode && showLabels && // Add an extra control to modify the label attribute when content only mode is active. 48334 // With content only mode active, the inspector is hidden, so users need another way 48335 // to edit this attribute. 48336 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48337 external_wp_components_namespaceObject.Dropdown, 48338 { 48339 popoverProps: { placement: "bottom-start" }, 48340 renderToggle: ({ isOpen, onToggle }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48341 external_wp_components_namespaceObject.ToolbarButton, 48342 { 48343 onClick: onToggle, 48344 "aria-haspopup": "true", 48345 "aria-expanded": isOpen, 48346 children: (0,external_wp_i18n_namespaceObject.__)("Text") 48347 } 48348 ), 48349 renderContent: () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48350 external_wp_components_namespaceObject.TextControl, 48351 { 48352 __next40pxDefaultSize: true, 48353 __nextHasNoMarginBottom: true, 48354 className: "wp-block-social-link__toolbar_content_text", 48355 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 48356 help: (0,external_wp_i18n_namespaceObject.__)( 48357 "Provide a text label or use the default." 48358 ), 48359 value: label, 48360 onChange: (value) => setAttributes({ label: value }), 48361 placeholder: socialLinkName 48362 } 48363 ) 48364 } 48365 ) }), 48366 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48367 external_wp_components_namespaceObject.__experimentalToolsPanel, 48368 { 48369 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 48370 resetAll: () => { 48371 setAttributes({ label: void 0 }); 48372 }, 48373 dropdownMenuProps, 48374 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48375 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 48376 { 48377 isShownByDefault: true, 48378 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 48379 hasValue: () => !!label, 48380 onDeselect: () => { 48381 setAttributes({ label: void 0 }); 48382 }, 48383 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48384 external_wp_components_namespaceObject.TextControl, 48385 { 48386 __next40pxDefaultSize: true, 48387 __nextHasNoMarginBottom: true, 48388 label: (0,external_wp_i18n_namespaceObject.__)("Text"), 48389 help: (0,external_wp_i18n_namespaceObject.__)( 48390 "The text is visible when enabled from the parent Social Icons block." 48391 ), 48392 value: label, 48393 onChange: (value) => setAttributes({ label: value }), 48394 placeholder: socialLinkName 48395 } 48396 ) 48397 } 48398 ) 48399 } 48400 ) }), 48401 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48402 external_wp_components_namespaceObject.TextControl, 48403 { 48404 __next40pxDefaultSize: true, 48405 __nextHasNoMarginBottom: true, 48406 label: (0,external_wp_i18n_namespaceObject.__)("Link relation"), 48407 help: (0,external_wp_element_namespaceObject.createInterpolateElement)( 48408 (0,external_wp_i18n_namespaceObject.__)( 48409 "The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document." 48410 ), 48411 { 48412 a: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ExternalLink, { href: "https://developer.mozilla.org/docs/Web/HTML/Attributes/rel" }) 48413 } 48414 ), 48415 value: rel || "", 48416 onChange: (value) => setAttributes({ rel: value }) 48417 } 48418 ) }), 48419 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 48420 "li", 48421 { 48422 role: "presentation", 48423 className: wrapperClasses, 48424 style: { 48425 color: iconColorValue, 48426 backgroundColor: iconBackgroundColorValue 48427 }, 48428 children: [ 48429 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("button", { "aria-haspopup": "dialog", ...blockProps, role: "button", children: [ 48430 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Icon, { icon }), 48431 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48432 "span", 48433 { 48434 className: dist_clsx("wp-block-social-link-label", { 48435 "screen-reader-text": !showLabels 48436 }), 48437 children: socialLinkText 48438 } 48439 ) 48440 ] }), 48441 isSelected && showURLPopover && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48442 SocialLinkURLPopover, 48443 { 48444 url, 48445 setAttributes, 48446 setPopover, 48447 popoverAnchor, 48448 clientId 48449 } 48450 ) 48451 ] 48452 } 48453 ) 48454 ] }); 48455 }; 48456 var social_link_edit_edit_default = SocialLinkEdit; 48457 48458 48459 ;// ./node_modules/@wordpress/block-library/build-module/social-link/block.json 48460 const social_link_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/social-link","title":"Social Icon","category":"widgets","parent":["core/social-links"],"description":"Display an icon linking to a social profile or site.","textdomain":"default","attributes":{"url":{"type":"string","role":"content"},"service":{"type":"string"},"label":{"type":"string","role":"content"},"rel":{"type":"string"}},"usesContext":["openInNewTab","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue"],"supports":{"reusable":false,"html":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-social-link-editor"}'); 48461 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/wordpress.js 48462 48463 48464 const WordPressIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 48465 external_wp_primitives_namespaceObject.SVG, 48466 { 48467 width: "24", 48468 height: "24", 48469 viewBox: "0 0 24 24", 48470 version: "1.1", 48471 xmlns: "http://www.w3.org/2000/svg", 48472 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z" }) 48473 } 48474 ); 48475 48476 48477 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/fivehundredpx.js 48478 48479 48480 const FivehundredpxIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.94026,15.1412c.00437.01213.108.29862.168.44064a6.55008,6.55008,0,1,0,6.03191-9.09557,6.68654,6.68654,0,0,0-2.58357.51467A8.53914,8.53914,0,0,0,8.21268,8.61344L8.209,8.61725V3.22948l9.0504-.00008c.32934-.0036.32934-.46353.32934-.61466s0-.61091-.33035-.61467L7.47248,2a.43.43,0,0,0-.43131.42692v7.58355c0,.24466.30476.42131.58793.4819.553.11812.68074-.05864.81617-.2457l.018-.02481A10.52673,10.52673,0,0,1,9.32258,9.258a5.35268,5.35268,0,1,1,7.58985,7.54976,5.417,5.417,0,0,1-3.80867,1.56365,5.17483,5.17483,0,0,1-2.69822-.74478l.00342-4.61111a2.79372,2.79372,0,0,1,.71372-1.78792,2.61611,2.61611,0,0,1,1.98282-.89477,2.75683,2.75683,0,0,1,1.95525.79477,2.66867,2.66867,0,0,1,.79656,1.909,2.724,2.724,0,0,1-2.75849,2.748,4.94651,4.94651,0,0,1-.86254-.13719c-.31234-.093-.44519.34058-.48892.48349-.16811.54966.08453.65862.13687.67489a3.75751,3.75751,0,0,0,1.25234.18375,3.94634,3.94634,0,1,0-2.82444-6.742,3.67478,3.67478,0,0,0-1.13028,2.584l-.00041.02323c-.0035.11667-.00579,2.881-.00644,3.78811l-.00407-.00451a6.18521,6.18521,0,0,1-1.0851-1.86092c-.10544-.27856-.34358-.22925-.66857-.12917-.14192.04372-.57386.17677-.47833.489Zm4.65165-1.08338a.51346.51346,0,0,0,.19513.31818l.02276.022a.52945.52945,0,0,0,.3517.18416.24242.24242,0,0,0,.16577-.0611c.05473-.05082.67382-.67812.73287-.738l.69041.68819a.28978.28978,0,0,0,.21437.11032.53239.53239,0,0,0,.35708-.19486c.29792-.30419.14885-.46821.07676-.54751l-.69954-.69975.72952-.73469c.16-.17311.01874-.35708-.12218-.498-.20461-.20461-.402-.25742-.52855-.14083l-.7254.72665-.73354-.73375a.20128.20128,0,0,0-.14179-.05695.54135.54135,0,0,0-.34379.19648c-.22561.22555-.274.38149-.15656.5059l.73374.7315-.72942.73072A.26589.26589,0,0,0,11.59191,14.05782Zm1.59866-9.915A8.86081,8.86081,0,0,0,9.854,4.776a.26169.26169,0,0,0-.16938.22759.92978.92978,0,0,0,.08619.42094c.05682.14524.20779.531.50006.41955a8.40969,8.40969,0,0,1,2.91968-.55484,7.87875,7.87875,0,0,1,3.086.62286,8.61817,8.61817,0,0,1,2.30562,1.49315.2781.2781,0,0,0,.18318.07586c.15529,0,.30425-.15253.43167-.29551.21268-.23861.35873-.4369.1492-.63538a8.50425,8.50425,0,0,0-2.62312-1.694A9.0177,9.0177,0,0,0,13.19058,4.14283ZM19.50945,18.6236h0a.93171.93171,0,0,0-.36642-.25406.26589.26589,0,0,0-.27613.06613l-.06943.06929A7.90606,7.90606,0,0,1,7.60639,18.505a7.57284,7.57284,0,0,1-1.696-2.51537,8.58715,8.58715,0,0,1-.5147-1.77754l-.00871-.04864c-.04939-.25873-.28755-.27684-.62981-.22448-.14234.02178-.5755.088-.53426.39969l.001.00712a9.08807,9.08807,0,0,0,15.406,4.99094c.00193-.00192.04753-.04718.0725-.07436C19.79425,19.16234,19.87422,18.98728,19.50945,18.6236Z" }) }); 48481 48482 48483 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/amazon.js 48484 48485 48486 const AmazonIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13.582,8.182C11.934,8.367,9.78,8.49,8.238,9.166c-1.781,0.769-3.03,2.337-3.03,4.644 c0,2.953,1.86,4.429,4.253,4.429c2.02,0,3.125-0.477,4.685-2.065c0.516,0.747,0.685,1.109,1.629,1.894 c0.212,0.114,0.483,0.103,0.672-0.066l0.006,0.006c0.567-0.505,1.599-1.401,2.18-1.888c0.231-0.188,0.19-0.496,0.009-0.754 c-0.52-0.718-1.072-1.303-1.072-2.634V8.305c0-1.876,0.133-3.599-1.249-4.891C15.23,2.369,13.422,2,12.04,2 C9.336,2,6.318,3.01,5.686,6.351C5.618,6.706,5.877,6.893,6.109,6.945l2.754,0.298C9.121,7.23,9.308,6.977,9.357,6.72 c0.236-1.151,1.2-1.706,2.284-1.706c0.584,0,1.249,0.215,1.595,0.738c0.398,0.584,0.346,1.384,0.346,2.061V8.182z M13.049,14.088 c-0.451,0.8-1.169,1.291-1.967,1.291c-1.09,0-1.728-0.83-1.728-2.061c0-2.42,2.171-2.86,4.227-2.86v0.615 C13.582,12.181,13.608,13.104,13.049,14.088z M20.683,19.339C18.329,21.076,14.917,22,11.979,22c-4.118,0-7.826-1.522-10.632-4.057 c-0.22-0.199-0.024-0.471,0.241-0.317c3.027,1.762,6.771,2.823,10.639,2.823c2.608,0,5.476-0.541,8.115-1.66 C20.739,18.62,21.072,19.051,20.683,19.339z M21.336,21.043c-0.194,0.163-0.379,0.076-0.293-0.139 c0.284-0.71,0.92-2.298,0.619-2.684c-0.301-0.386-1.99-0.183-2.749-0.092c-0.23,0.027-0.266-0.173-0.059-0.319 c1.348-0.946,3.555-0.673,3.811-0.356C22.925,17.773,22.599,19.986,21.336,21.043z" }) }); 48487 48488 48489 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/bandcamp.js 48490 48491 48492 const BandcampIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M15.27 17.289 3 17.289 8.73 6.711 21 6.711 15.27 17.289" }) }); 48493 48494 48495 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/behance.js 48496 48497 48498 const BehanceIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M7.799,5.698c0.589,0,1.12,0.051,1.606,0.156c0.482,0.102,0.894,0.273,1.241,0.507c0.344,0.235,0.612,0.546,0.804,0.938 c0.188,0.387,0.281,0.871,0.281,1.443c0,0.619-0.141,1.137-0.421,1.551c-0.284,0.413-0.7,0.751-1.255,1.014 c0.756,0.218,1.317,0.601,1.689,1.146c0.374,0.549,0.557,1.205,0.557,1.975c0,0.623-0.12,1.161-0.359,1.612 c-0.241,0.457-0.569,0.828-0.973,1.114c-0.408,0.288-0.876,0.5-1.399,0.637C9.052,17.931,8.514,18,7.963,18H2V5.698H7.799 M7.449,10.668c0.481,0,0.878-0.114,1.192-0.345c0.311-0.228,0.463-0.603,0.463-1.119c0-0.286-0.051-0.523-0.152-0.707 C8.848,8.315,8.711,8.171,8.536,8.07C8.362,7.966,8.166,7.894,7.94,7.854c-0.224-0.044-0.457-0.06-0.697-0.06H4.709v2.874H7.449z M7.6,15.905c0.267,0,0.521-0.024,0.759-0.077c0.243-0.053,0.457-0.137,0.637-0.261c0.182-0.12,0.332-0.283,0.441-0.491 C9.547,14.87,9.6,14.602,9.6,14.278c0-0.633-0.18-1.084-0.533-1.357c-0.356-0.27-0.83-0.404-1.413-0.404H4.709v3.388L7.6,15.905z M16.162,15.864c0.367,0.358,0.897,0.538,1.583,0.538c0.493,0,0.92-0.125,1.277-0.374c0.354-0.248,0.571-0.514,0.654-0.79h2.155 c-0.347,1.072-0.872,1.838-1.589,2.299C19.534,18,18.67,18.23,17.662,18.23c-0.701,0-1.332-0.113-1.899-0.337 c-0.567-0.227-1.041-0.544-1.439-0.958c-0.389-0.415-0.689-0.907-0.904-1.484c-0.213-0.574-0.32-1.21-0.32-1.899 c0-0.666,0.11-1.288,0.329-1.863c0.222-0.577,0.529-1.075,0.933-1.492c0.406-0.42,0.885-0.751,1.444-0.994 c0.558-0.241,1.175-0.363,1.857-0.363c0.754,0,1.414,0.145,1.98,0.44c0.563,0.291,1.026,0.686,1.389,1.181 c0.363,0.493,0.622,1.057,0.783,1.69c0.16,0.632,0.217,1.292,0.171,1.983h-6.428C15.557,14.84,15.795,15.506,16.162,15.864 M18.973,11.184c-0.291-0.321-0.783-0.496-1.384-0.496c-0.39,0-0.714,0.066-0.973,0.2c-0.254,0.132-0.461,0.297-0.621,0.491 c-0.157,0.197-0.265,0.405-0.328,0.628c-0.063,0.217-0.101,0.413-0.111,0.587h3.98C19.478,11.969,19.265,11.509,18.973,11.184z M15.057,7.738h4.985V6.524h-4.985L15.057,7.738z" }) }); 48499 48500 48501 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/bluesky.js 48502 48503 48504 const BlueskyIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.3,4.2c2.3,1.7,4.8,5.3,5.7,7.2.9-1.9,3.4-5.4,5.7-7.2,1.7-1.3,4.3-2.2,4.3.9s-.4,5.2-.6,5.9c-.7,2.6-3.3,3.2-5.6,2.8,4,.7,5.1,3,2.9,5.3-5,5.2-6.7-2.8-6.7-2.8,0,0-1.7,8-6.7,2.8-2.2-2.3-1.2-4.6,2.9-5.3-2.3.4-4.9-.3-5.6-2.8-.2-.7-.6-5.3-.6-5.9,0-3.1,2.7-2.1,4.3-.9h0Z" }) }); 48505 48506 48507 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/codepen.js 48508 48509 48510 const CodepenIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M22.016,8.84c-0.002-0.013-0.005-0.025-0.007-0.037c-0.005-0.025-0.008-0.048-0.015-0.072 c-0.003-0.015-0.01-0.028-0.013-0.042c-0.008-0.02-0.015-0.04-0.023-0.062c-0.007-0.015-0.013-0.028-0.02-0.042 c-0.008-0.02-0.018-0.037-0.03-0.057c-0.007-0.013-0.017-0.027-0.025-0.038c-0.012-0.018-0.023-0.035-0.035-0.052 c-0.01-0.013-0.02-0.025-0.03-0.037c-0.015-0.017-0.028-0.032-0.043-0.045c-0.01-0.012-0.022-0.023-0.035-0.035 c-0.015-0.015-0.032-0.028-0.048-0.04c-0.012-0.01-0.025-0.02-0.037-0.03c-0.005-0.003-0.01-0.008-0.015-0.012l-9.161-6.096 c-0.289-0.192-0.666-0.192-0.955,0L2.359,8.237C2.354,8.24,2.349,8.245,2.344,8.249L2.306,8.277 c-0.017,0.013-0.033,0.027-0.048,0.04C2.246,8.331,2.234,8.342,2.222,8.352c-0.015,0.015-0.028,0.03-0.042,0.047 c-0.012,0.013-0.022,0.023-0.03,0.037C2.139,8.453,2.125,8.471,2.115,8.488C2.107,8.501,2.099,8.514,2.09,8.526 C2.079,8.548,2.069,8.565,2.06,8.585C2.054,8.6,2.047,8.613,2.04,8.626C2.032,8.648,2.025,8.67,2.019,8.69 c-0.005,0.013-0.01,0.027-0.013,0.042C1.999,8.755,1.995,8.778,1.99,8.803C1.989,8.817,1.985,8.828,1.984,8.84 C1.978,8.879,1.975,8.915,1.975,8.954v6.093c0,0.037,0.003,0.075,0.008,0.112c0.002,0.012,0.005,0.025,0.007,0.038 c0.005,0.023,0.008,0.047,0.015,0.072c0.003,0.015,0.008,0.028,0.013,0.04c0.007,0.022,0.013,0.042,0.022,0.063 c0.007,0.015,0.013,0.028,0.02,0.04c0.008,0.02,0.018,0.038,0.03,0.058c0.007,0.013,0.015,0.027,0.025,0.038 c0.012,0.018,0.023,0.035,0.035,0.052c0.01,0.013,0.02,0.025,0.03,0.037c0.013,0.015,0.028,0.032,0.042,0.045 c0.012,0.012,0.023,0.023,0.035,0.035c0.015,0.013,0.032,0.028,0.048,0.04l0.038,0.03c0.005,0.003,0.01,0.007,0.013,0.01 l9.163,6.095C11.668,21.953,11.833,22,12,22c0.167,0,0.332-0.047,0.478-0.144l9.163-6.095l0.015-0.01 c0.013-0.01,0.027-0.02,0.037-0.03c0.018-0.013,0.035-0.028,0.048-0.04c0.013-0.012,0.025-0.023,0.035-0.035 c0.017-0.015,0.03-0.032,0.043-0.045c0.01-0.013,0.02-0.025,0.03-0.037c0.013-0.018,0.025-0.035,0.035-0.052 c0.008-0.013,0.018-0.027,0.025-0.038c0.012-0.02,0.022-0.038,0.03-0.058c0.007-0.013,0.013-0.027,0.02-0.04 c0.008-0.022,0.015-0.042,0.023-0.063c0.003-0.013,0.01-0.027,0.013-0.04c0.007-0.025,0.01-0.048,0.015-0.072 c0.002-0.013,0.005-0.027,0.007-0.037c0.003-0.042,0.007-0.079,0.007-0.117V8.954C22.025,8.915,22.022,8.879,22.016,8.84z M12.862,4.464l6.751,4.49l-3.016,2.013l-3.735-2.492V4.464z M11.138,4.464v4.009l-3.735,2.494L4.389,8.954L11.138,4.464z M3.699,10.562L5.853,12l-2.155,1.438V10.562z M11.138,19.536l-6.749-4.491l3.015-2.011l3.735,2.492V19.536z M12,14.035L8.953,12 L12,9.966L15.047,12L12,14.035z M12.862,19.536v-4.009l3.735-2.492l3.016,2.011L12.862,19.536z M20.303,13.438L18.147,12 l2.156-1.438L20.303,13.438z" }) }); 48511 48512 48513 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/deviantart.js 48514 48515 48516 const DeviantArtIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M 18.19 5.636 18.19 2 18.188 2 14.553 2 14.19 2.366 12.474 5.636 11.935 6 5.81 6 5.81 10.994 9.177 10.994 9.477 11.357 5.81 18.363 5.81 22 5.811 22 9.447 22 9.81 21.634 11.526 18.364 12.065 18 18.19 18 18.19 13.006 14.823 13.006 14.523 12.641 18.19 5.636z" }) }); 48517 48518 48519 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/discord.js 48520 48521 48522 const DiscordIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20.317 4.369A19.88 19.88 0 0 0 15.894 3a14.145 14.145 0 0 0-.719 1.518 19.205 19.205 0 0 0-5.351 0A14.183 14.183 0 0 0 9.104 3 19.896 19.896 0 0 0 4.682 4.369a18.921 18.921 0 0 0-3.012 12.52 19.929 19.929 0 0 0 6.081 3.097c.487-.65.922-1.339 1.3-2.061a12.445 12.445 0 0 1-1.958-.896c.165-.12.326-.246.483-.374a12.445 12.445 0 0 0 8.946 0c.157.128.318.253.483.374-.627.371-1.281.683-1.958.896.379.722.813 1.41 1.3 2.061a19.94 19.94 0 0 0 6.081-3.097 18.921 18.921 0 0 0-3.012-12.52ZM8.12 15.233c-1.202 0-2.184-1.09-2.184-2.431 0-1.34.97-2.431 2.184-2.431 1.213 0 2.202 1.09 2.184 2.431 0 1.341-.97 2.431-2.184 2.431Zm7.757 0c-1.202 0-2.184-1.09-2.184-2.431 0-1.34.97-2.431 2.184-2.431 1.213 0 2.202 1.09 2.184 2.431 0 1.341-.97 2.431-2.184 2.431Z" }) }); 48523 48524 48525 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/dribbble.js 48526 48527 48528 const DribbbleIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12,22C6.486,22,2,17.514,2,12S6.486,2,12,2c5.514,0,10,4.486,10,10S17.514,22,12,22z M20.434,13.369 c-0.292-0.092-2.644-0.794-5.32-0.365c1.117,3.07,1.572,5.57,1.659,6.09C18.689,17.798,20.053,15.745,20.434,13.369z M15.336,19.876c-0.127-0.749-0.623-3.361-1.822-6.477c-0.019,0.006-0.038,0.013-0.056,0.019c-4.818,1.679-6.547,5.02-6.701,5.334 c1.448,1.129,3.268,1.803,5.243,1.803C13.183,20.555,14.311,20.313,15.336,19.876z M5.654,17.724 c0.193-0.331,2.538-4.213,6.943-5.637c0.111-0.036,0.224-0.07,0.337-0.102c-0.214-0.485-0.448-0.971-0.692-1.45 c-4.266,1.277-8.405,1.223-8.778,1.216c-0.003,0.087-0.004,0.174-0.004,0.261C3.458,14.207,4.29,16.21,5.654,17.724z M3.639,10.264 c0.382,0.005,3.901,0.02,7.897-1.041c-1.415-2.516-2.942-4.631-3.167-4.94C5.979,5.41,4.193,7.613,3.639,10.264z M9.998,3.709 c0.236,0.316,1.787,2.429,3.187,5c3.037-1.138,4.323-2.867,4.477-3.085C16.154,4.286,14.17,3.471,12,3.471 C11.311,3.471,10.641,3.554,9.998,3.709z M18.612,6.612C18.432,6.855,17,8.69,13.842,9.979c0.199,0.407,0.389,0.821,0.567,1.237 c0.063,0.148,0.124,0.295,0.184,0.441c2.842-0.357,5.666,0.215,5.948,0.275C20.522,9.916,19.801,8.065,18.612,6.612z" }) }); 48529 48530 48531 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/dropbox.js 48532 48533 48534 const DropboxIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12,6.134L6.069,9.797L2,6.54l5.883-3.843L12,6.134z M2,13.054l5.883,3.843L12,13.459L6.069,9.797L2,13.054z M12,13.459 l4.116,3.439L22,13.054l-4.069-3.257L12,13.459z M22,6.54l-5.884-3.843L12,6.134l5.931,3.663L22,6.54z M12.011,14.2l-4.129,3.426 l-1.767-1.153v1.291l5.896,3.539l5.897-3.539v-1.291l-1.769,1.153L12.011,14.2z" }) }); 48535 48536 48537 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/etsy.js 48538 48539 48540 const EtsyIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M9.16033,4.038c0-.27174.02717-.43478.48913-.43478h6.22283c1.087,0,1.68478.92391,2.11957,2.663l.35326,1.38587h1.05978C19.59511,3.712,19.75815,2,19.75815,2s-2.663.29891-4.23913.29891h-7.962L3.29076,2.163v1.1413L4.731,3.57609c1.00543.19022,1.25.40761,1.33152,1.33152,0,0,.08152,2.71739.08152,7.20109s-.08152,7.17391-.08152,7.17391c0,.81522-.32609,1.11413-1.33152,1.30435l-1.44022.27174V22l4.2663-.13587h7.11957c1.60326,0,5.32609.13587,5.32609.13587.08152-.97826.625-5.40761.70652-5.89674H19.7038L18.644,18.52174c-.84239,1.90217-2.06522,2.038-3.42391,2.038H11.1712c-1.3587,0-2.01087-.54348-2.01087-1.712V12.65217s3.0163,0,3.99457.08152c.76087.05435,1.22283.27174,1.46739,1.33152l.32609,1.413h1.16848l-.08152-3.55978.163-3.587H15.02989l-.38043,1.57609c-.24457,1.03261-.40761,1.22283-1.46739,1.33152-1.38587.13587-4.02174.1087-4.02174.1087Z" }) }); 48541 48542 48543 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/facebook.js 48544 48545 48546 const FacebookIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z" }) }); 48547 48548 48549 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/feed.js 48550 48551 48552 const FeedIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M2,8.667V12c5.515,0,10,4.485,10,10h3.333C15.333,14.637,9.363,8.667,2,8.667z M2,2v3.333 c9.19,0,16.667,7.477,16.667,16.667H22C22,10.955,13.045,2,2,2z M4.5,17C3.118,17,2,18.12,2,19.5S3.118,22,4.5,22S7,20.88,7,19.5 S5.882,17,4.5,17z" }) }); 48553 48554 48555 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/flickr.js 48556 48557 48558 const FlickrIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5S9.25,7,6.5,7z M17.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5 S20.25,7,17.5,7z" }) }); 48559 48560 48561 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/foursquare.js 48562 48563 48564 const FoursquareIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.573,2c0,0-9.197,0-10.668,0S5,3.107,5,3.805s0,16.948,0,16.948c0,0.785,0.422,1.077,0.66,1.172 c0.238,0.097,0.892,0.177,1.285-0.275c0,0,5.035-5.843,5.122-5.93c0.132-0.132,0.132-0.132,0.262-0.132h3.26 c1.368,0,1.588-0.977,1.732-1.552c0.078-0.318,0.692-3.428,1.225-6.122l0.675-3.368C19.56,2.893,19.14,2,17.573,2z M16.495,7.22 c-0.053,0.252-0.372,0.518-0.665,0.518c-0.293,0-4.157,0-4.157,0c-0.467,0-0.802,0.318-0.802,0.787v0.508 c0,0.467,0.337,0.798,0.805,0.798c0,0,3.197,0,3.528,0s0.655,0.362,0.583,0.715c-0.072,0.353-0.407,2.102-0.448,2.295 c-0.04,0.193-0.262,0.523-0.655,0.523c-0.33,0-2.88,0-2.88,0c-0.523,0-0.683,0.068-1.033,0.503 c-0.35,0.437-3.505,4.223-3.505,4.223c-0.032,0.035-0.063,0.027-0.063-0.015V4.852c0-0.298,0.26-0.648,0.648-0.648 c0,0,8.228,0,8.562,0c0.315,0,0.61,0.297,0.528,0.683L16.495,7.22z" }) }); 48565 48566 48567 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/goodreads.js 48568 48569 48570 const GoodreadsIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.3,17.5c-0.2,0.8-0.5,1.4-1,1.9c-0.4,0.5-1,0.9-1.7,1.2C13.9,20.9,13.1,21,12,21c-0.6,0-1.3-0.1-1.9-0.2 c-0.6-0.1-1.1-0.4-1.6-0.7c-0.5-0.3-0.9-0.7-1.2-1.2c-0.3-0.5-0.5-1.1-0.5-1.7h1.5c0.1,0.5,0.2,0.9,0.5,1.2 c0.2,0.3,0.5,0.6,0.9,0.8c0.3,0.2,0.7,0.3,1.1,0.4c0.4,0.1,0.8,0.1,1.2,0.1c1.4,0,2.5-0.4,3.1-1.2c0.6-0.8,1-2,1-3.5v-1.7h0 c-0.4,0.8-0.9,1.4-1.6,1.9c-0.7,0.5-1.5,0.7-2.4,0.7c-1,0-1.9-0.2-2.6-0.5C8.7,15,8.1,14.5,7.7,14c-0.5-0.6-0.8-1.3-1-2.1 c-0.2-0.8-0.3-1.6-0.3-2.5c0-0.9,0.1-1.7,0.4-2.5c0.3-0.8,0.6-1.5,1.1-2c0.5-0.6,1.1-1,1.8-1.4C10.3,3.2,11.1,3,12,3 c0.5,0,0.9,0.1,1.3,0.2c0.4,0.1,0.8,0.3,1.1,0.5c0.3,0.2,0.6,0.5,0.9,0.8c0.3,0.3,0.5,0.6,0.6,1h0V3.4h1.5V15 C17.6,15.9,17.5,16.7,17.3,17.5z M13.8,14.1c0.5-0.3,0.9-0.7,1.3-1.1c0.3-0.5,0.6-1,0.8-1.6c0.2-0.6,0.3-1.2,0.3-1.9 c0-0.6-0.1-1.2-0.2-1.9c-0.1-0.6-0.4-1.2-0.7-1.7c-0.3-0.5-0.7-0.9-1.3-1.2c-0.5-0.3-1.1-0.5-1.9-0.5s-1.4,0.2-1.9,0.5 c-0.5,0.3-1,0.7-1.3,1.2C8.5,6.4,8.3,7,8.1,7.6C8,8.2,7.9,8.9,7.9,9.5c0,0.6,0.1,1.3,0.2,1.9C8.3,12,8.6,12.5,8.9,13 c0.3,0.5,0.8,0.8,1.3,1.1c0.5,0.3,1.1,0.4,1.9,0.4C12.7,14.5,13.3,14.4,13.8,14.1z" }) }); 48571 48572 48573 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/google.js 48574 48575 48576 const GoogleIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.02,10.18v3.72v0.01h5.51c-0.26,1.57-1.67,4.22-5.5,4.22c-3.31,0-6.01-2.75-6.01-6.12s2.7-6.12,6.01-6.12 c1.87,0,3.13,0.8,3.85,1.48l2.84-2.76C16.99,2.99,14.73,2,12.03,2c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.77,0,9.6-4.06,9.6-9.77 c0-0.83-0.11-1.42-0.25-2.05H12.02z" }) }); 48577 48578 48579 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/github.js 48580 48581 48582 const GitHubIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z" }) }); 48583 48584 48585 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/gravatar.js 48586 48587 48588 const GravatarIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10.8001 4.69937V10.6494C10.8001 11.1001 10.9791 11.5323 11.2978 11.851C11.6165 12.1697 12.0487 12.3487 12.4994 12.3487C12.9501 12.3487 13.3824 12.1697 13.7011 11.851C14.0198 11.5323 14.1988 11.1001 14.1988 10.6494V6.69089C15.2418 7.05861 16.1371 7.75537 16.7496 8.67617C17.3622 9.59698 17.6589 10.6919 17.595 11.796C17.5311 12.9001 17.1101 13.9535 16.3954 14.7975C15.6807 15.6415 14.711 16.2303 13.6325 16.4753C12.5541 16.7202 11.4252 16.608 10.4161 16.1555C9.40691 15.703 8.57217 14.9348 8.03763 13.9667C7.50308 12.9985 7.29769 11.8828 7.45242 10.7877C7.60714 9.69266 8.11359 8.67755 8.89545 7.89537C9.20904 7.57521 9.38364 7.14426 9.38132 6.69611C9.37899 6.24797 9.19994 5.81884 8.88305 5.50195C8.56616 5.18506 8.13704 5.00601 7.68889 5.00369C7.24075 5.00137 6.80979 5.17597 6.48964 5.48956C5.09907 6.8801 4.23369 8.7098 4.04094 10.6669C3.84819 12.624 4.34 14.5873 5.43257 16.2224C6.52515 17.8575 8.15088 19.0632 10.0328 19.634C11.9146 20.2049 13.9362 20.1055 15.753 19.3529C17.5699 18.6003 19.0695 17.241 19.9965 15.5066C20.9234 13.7722 21.2203 11.7701 20.8366 9.84133C20.4528 7.91259 19.4122 6.17658 17.892 4.92911C16.3717 3.68163 14.466 2.99987 12.4994 3C12.0487 3 11.6165 3.17904 11.2978 3.49773C10.9791 3.81643 10.8001 4.24867 10.8001 4.69937Z" }) }); 48589 48590 48591 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/instagram.js 48592 48593 48594 const InstagramIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z" }) }); 48595 48596 48597 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/lastfm.js 48598 48599 48600 const LastfmIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M 12.0002 1.5 C 6.2006 1.5 1.5 6.2011 1.5 11.9998 C 1.5 17.799 6.2006 22.5 12.0002 22.5 C 17.799 22.5 22.5 17.799 22.5 11.9998 C 22.5 6.2011 17.799 1.5 12.0002 1.5 Z M 16.1974 16.2204 C 14.8164 16.2152 13.9346 15.587 13.3345 14.1859 L 13.1816 13.8451 L 11.8541 10.8101 C 11.4271 9.7688 10.3526 9.0712 9.1801 9.0712 C 7.5695 9.0712 6.2593 10.3851 6.2593 12.001 C 6.2593 13.6165 7.5695 14.9303 9.1801 14.9303 C 10.272 14.9303 11.2651 14.3275 11.772 13.3567 C 11.7893 13.3235 11.8239 13.302 11.863 13.3038 C 11.9007 13.3054 11.9353 13.3288 11.9504 13.3632 L 12.4865 14.6046 C 12.5016 14.639 12.4956 14.6778 12.4723 14.7069 C 11.6605 15.6995 10.4602 16.2683 9.1801 16.2683 C 6.8331 16.2683 4.9234 14.3536 4.9234 12.001 C 4.9234 9.6468 6.833 7.732 9.1801 7.732 C 10.9572 7.732 12.3909 8.6907 13.1138 10.3636 C 13.1206 10.3802 13.8412 12.0708 14.4744 13.5191 C 14.8486 14.374 15.1462 14.896 16.1288 14.9292 C 17.0663 14.9613 17.7538 14.4122 17.7538 13.6485 C 17.7538 12.9691 17.3321 12.8004 16.3803 12.4822 C 14.7365 11.9398 13.845 11.3861 13.845 10.0182 C 13.845 8.6809 14.7667 7.8162 16.192 7.8162 C 17.1288 7.8162 17.8155 8.2287 18.2921 9.0768 C 18.305 9.1006 18.3079 9.1281 18.3004 9.1542 C 18.2929 9.1803 18.2748 9.2021 18.2507 9.2138 L 17.3614 9.669 C 17.3178 9.692 17.2643 9.6781 17.2356 9.6385 C 16.9329 9.2135 16.5956 9.0251 16.1423 9.0251 C 15.5512 9.0251 15.122 9.429 15.122 9.9865 C 15.122 10.6738 15.6529 10.8414 16.5339 11.1192 C 16.6491 11.1558 16.7696 11.194 16.8939 11.2343 C 18.2763 11.6865 19.0768 12.2311 19.0768 13.6836 C 19.0769 15.1297 17.8389 16.2204 16.1974 16.2204 Z" }) }); 48601 48602 48603 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/linkedin.js 48604 48605 48606 const LinkedInIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z" }) }); 48607 48608 48609 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/mail.js 48610 48611 48612 const MailIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 5H5c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm.5 12c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l7.5 5.6 7.5-5.6V17zm0-9.1L12 13.6 4.5 7.9V7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v.9z" }) }); 48613 48614 48615 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/mastodon.js 48616 48617 48618 const MastodonIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z" }) }); 48619 48620 48621 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/meetup.js 48622 48623 48624 const MeetupIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z" }) }); 48625 48626 48627 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/medium.js 48628 48629 48630 const MediumIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13.2,12c0,3-2.4,5.4-5.3,5.4S2.6,15,2.6,12s2.4-5.4,5.3-5.4S13.2,9,13.2,12 M19.1,12c0,2.8-1.2,5-2.7,5s-2.7-2.3-2.7-5s1.2-5,2.7-5C17.9,7,19.1,9.2,19.1,12 M21.4,12c0,2.5-0.4,4.5-0.9,4.5c-0.5,0-0.9-2-0.9-4.5s0.4-4.5,0.9-4.5C21,7.5,21.4,9.5,21.4,12" }) }); 48631 48632 48633 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/patreon.js 48634 48635 48636 const PatreonIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M20 8.40755C19.9969 6.10922 18.2543 4.22555 16.2097 3.54588C13.6708 2.70188 10.3222 2.82421 7.89775 3.99921C4.95932 5.42355 4.03626 8.54355 4.00186 11.6552C3.97363 14.2136 4.2222 20.9517 7.92225 20.9997C10.6715 21.0356 11.0809 17.3967 12.3529 15.6442C13.258 14.3974 14.4233 14.0452 15.8578 13.6806C18.3233 13.0537 20.0036 11.0551 20 8.40755Z" }) }); 48637 48638 48639 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/pinterest.js 48640 48641 48642 const PinterestIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2" }) }); 48643 48644 48645 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/pocket.js 48646 48647 48648 const PocketIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M21.927,4.194C21.667,3.48,20.982,3,20.222,3h-0.01h-1.721H3.839C3.092,3,2.411,3.47,2.145,4.17 C2.066,4.378,2.026,4.594,2.026,4.814v6.035l0.069,1.2c0.29,2.73,1.707,5.115,3.899,6.778c0.039,0.03,0.079,0.059,0.119,0.089 l0.025,0.018c1.175,0.859,2.491,1.441,3.91,1.727c0.655,0.132,1.325,0.2,1.991,0.2c0.615,0,1.232-0.057,1.839-0.17 c0.073-0.014,0.145-0.028,0.219-0.044c0.02-0.004,0.042-0.012,0.064-0.023c1.359-0.297,2.621-0.864,3.753-1.691l0.025-0.018 c0.04-0.029,0.08-0.058,0.119-0.089c2.192-1.664,3.609-4.049,3.898-6.778l0.069-1.2V4.814C22.026,4.605,22,4.398,21.927,4.194z M17.692,10.481l-4.704,4.512c-0.266,0.254-0.608,0.382-0.949,0.382c-0.342,0-0.684-0.128-0.949-0.382l-4.705-4.512 C5.838,9.957,5.82,9.089,6.344,8.542c0.524-0.547,1.392-0.565,1.939-0.04l3.756,3.601l3.755-3.601 c0.547-0.524,1.415-0.506,1.939,0.04C18.256,9.089,18.238,9.956,17.692,10.481z" }) }); 48649 48650 48651 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/reddit.js 48652 48653 48654 const RedditIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M5.27 9.221A2.775 2.775 0 0 0 2.498 11.993a2.785 2.785 0 0 0 1.6 2.511 5.337 5.337 0 0 0 2.374 4.11 9.386 9.386 0 0 0 5.539 1.7 9.386 9.386 0 0 0 5.541-1.7 5.331 5.331 0 0 0 2.372-4.114 2.787 2.787 0 0 0 1.583-2.5 2.775 2.775 0 0 0-2.772-2.772 2.742 2.742 0 0 0-1.688.574 9.482 9.482 0 0 0-4.637-1.348v-.008a2.349 2.349 0 0 1 2.011-2.316 1.97 1.97 0 0 0 1.926 1.521 1.98 1.98 0 0 0 1.978-1.978 1.98 1.98 0 0 0-1.978-1.978 1.985 1.985 0 0 0-1.938 1.578 3.183 3.183 0 0 0-2.849 3.172v.011a9.463 9.463 0 0 0-4.59 1.35 2.741 2.741 0 0 0-1.688-.574Zm6.736 9.1a3.162 3.162 0 0 1-2.921-1.944.215.215 0 0 1 .014-.2.219.219 0 0 1 .168-.106 27.327 27.327 0 0 1 2.74-.133 27.357 27.357 0 0 1 2.74.133.219.219 0 0 1 .168.106.215.215 0 0 1 .014.2 3.158 3.158 0 0 1-2.921 1.944Zm3.743-3.157a1.265 1.265 0 0 1-1.4-1.371 1.954 1.954 0 0 1 .482-1.442 1.15 1.15 0 0 1 .842-.379 1.7 1.7 0 0 1 1.49 1.777 1.323 1.323 0 0 1-.325 1.015 1.476 1.476 0 0 1-1.089.4Zm-7.485 0a1.476 1.476 0 0 1-1.086-.4 1.323 1.323 0 0 1-.325-1.016 1.7 1.7 0 0 1 1.49-1.777 1.151 1.151 0 0 1 .843.379 1.951 1.951 0 0 1 .481 1.441 1.276 1.276 0 0 1-1.403 1.373Z" }) }); 48655 48656 48657 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/skype.js 48658 48659 48660 const SkypeIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M10.113,2.699c0.033-0.006,0.067-0.013,0.1-0.02c0.033,0.017,0.066,0.033,0.098,0.051L10.113,2.699z M2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223z M21.275,13.771 c0.007-0.035,0.011-0.071,0.018-0.106c-0.018-0.031-0.033-0.064-0.052-0.095L21.275,13.771z M13.563,21.199 c0.032,0.019,0.065,0.035,0.096,0.053c0.036-0.006,0.071-0.011,0.105-0.017L13.563,21.199z M22,16.386 c0,1.494-0.581,2.898-1.637,3.953c-1.056,1.057-2.459,1.637-3.953,1.637c-0.967,0-1.914-0.251-2.75-0.725 c0.036-0.006,0.071-0.011,0.105-0.017l-0.202-0.035c0.032,0.019,0.065,0.035,0.096,0.053c-0.543,0.096-1.099,0.147-1.654,0.147 c-1.275,0-2.512-0.25-3.676-0.743c-1.125-0.474-2.135-1.156-3.002-2.023c-0.867-0.867-1.548-1.877-2.023-3.002 c-0.493-1.164-0.743-2.401-0.743-3.676c0-0.546,0.049-1.093,0.142-1.628c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103C2.244,9.5,2,8.566,2,7.615c0-1.493,0.582-2.898,1.637-3.953 c1.056-1.056,2.46-1.638,3.953-1.638c0.915,0,1.818,0.228,2.622,0.655c-0.033,0.007-0.067,0.013-0.1,0.02l0.199,0.031 c-0.032-0.018-0.066-0.034-0.098-0.051c0.002,0,0.003-0.001,0.004-0.001c0.586-0.112,1.187-0.169,1.788-0.169 c1.275,0,2.512,0.249,3.676,0.742c1.124,0.476,2.135,1.156,3.002,2.024c0.868,0.867,1.548,1.877,2.024,3.002 c0.493,1.164,0.743,2.401,0.743,3.676c0,0.575-0.054,1.15-0.157,1.712c-0.018-0.031-0.033-0.064-0.052-0.095l0.034,0.201 c0.007-0.035,0.011-0.071,0.018-0.106C21.754,14.494,22,15.432,22,16.386z M16.817,14.138c0-1.331-0.613-2.743-3.033-3.282 l-2.209-0.49c-0.84-0.192-1.807-0.444-1.807-1.237c0-0.794,0.679-1.348,1.903-1.348c2.468,0,2.243,1.696,3.468,1.696 c0.645,0,1.209-0.379,1.209-1.031c0-1.521-2.435-2.663-4.5-2.663c-2.242,0-4.63,0.952-4.63,3.488c0,1.221,0.436,2.521,2.839,3.123 l2.984,0.745c0.903,0.223,1.129,0.731,1.129,1.189c0,0.762-0.758,1.507-2.129,1.507c-2.679,0-2.307-2.062-3.743-2.062 c-0.645,0-1.113,0.444-1.113,1.078c0,1.236,1.501,2.886,4.856,2.886C15.236,17.737,16.817,16.199,16.817,14.138z" }) }); 48661 48662 48663 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/snapchat.js 48664 48665 48666 const SnapchatIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.065,2a5.526,5.526,0,0,1,3.132.892A5.854,5.854,0,0,1,17.326,5.4a5.821,5.821,0,0,1,.351,2.33q0,.612-.117,2.487a.809.809,0,0,0,.365.091,1.93,1.93,0,0,0,.664-.176,1.93,1.93,0,0,1,.664-.176,1.3,1.3,0,0,1,.729.234.7.7,0,0,1,.351.6.839.839,0,0,1-.41.7,2.732,2.732,0,0,1-.9.41,3.192,3.192,0,0,0-.9.378.728.728,0,0,0-.41.618,1.575,1.575,0,0,0,.156.56,6.9,6.9,0,0,0,1.334,1.953,5.6,5.6,0,0,0,1.881,1.315,5.875,5.875,0,0,0,1.042.3.42.42,0,0,1,.365.456q0,.911-2.852,1.341a1.379,1.379,0,0,0-.143.507,1.8,1.8,0,0,1-.182.605.451.451,0,0,1-.429.241,5.878,5.878,0,0,1-.807-.085,5.917,5.917,0,0,0-.833-.085,4.217,4.217,0,0,0-.807.065,2.42,2.42,0,0,0-.82.293,6.682,6.682,0,0,0-.755.5q-.351.267-.755.527a3.886,3.886,0,0,1-.989.436A4.471,4.471,0,0,1,11.831,22a4.307,4.307,0,0,1-1.256-.176,3.784,3.784,0,0,1-.976-.436q-.4-.26-.749-.527a6.682,6.682,0,0,0-.755-.5,2.422,2.422,0,0,0-.807-.293,4.432,4.432,0,0,0-.82-.065,5.089,5.089,0,0,0-.853.1,5,5,0,0,1-.762.1.474.474,0,0,1-.456-.241,1.819,1.819,0,0,1-.182-.618,1.411,1.411,0,0,0-.143-.521q-2.852-.429-2.852-1.341a.42.42,0,0,1,.365-.456,5.793,5.793,0,0,0,1.042-.3,5.524,5.524,0,0,0,1.881-1.315,6.789,6.789,0,0,0,1.334-1.953A1.575,1.575,0,0,0,6,12.9a.728.728,0,0,0-.41-.618,3.323,3.323,0,0,0-.9-.384,2.912,2.912,0,0,1-.9-.41.814.814,0,0,1-.41-.684.71.71,0,0,1,.338-.593,1.208,1.208,0,0,1,.716-.241,1.976,1.976,0,0,1,.625.169,2.008,2.008,0,0,0,.69.169.919.919,0,0,0,.416-.091q-.117-1.849-.117-2.474A5.861,5.861,0,0,1,6.385,5.4,5.516,5.516,0,0,1,8.625,2.819,7.075,7.075,0,0,1,12.062,2Z" }) }); 48667 48668 48669 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/soundcloud.js 48670 48671 48672 const SoundCloudIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M23.994 14.552a3.36 3.36 0 01-3.401 3.171h-8.176a.685.685 0 01-.679-.681V8.238a.749.749 0 01.452-.716S12.942 7 14.526 7a5.357 5.357 0 012.748.755 5.44 5.44 0 012.56 3.546c.282-.08.574-.12.868-.119a3.273 3.273 0 013.292 3.37zM10.718 8.795a.266.266 0 10-.528 0c-.224 2.96-.397 5.735 0 8.685a.265.265 0 00.528 0c.425-2.976.246-5.7 0-8.685zM9.066 9.82a.278.278 0 00-.553 0 33.183 33.183 0 000 7.663.278.278 0 00.55 0c.33-2.544.332-5.12.003-7.664zM7.406 9.56a.269.269 0 00-.535 0c-.253 2.7-.38 5.222 0 7.917a.266.266 0 10.531 0c.394-2.73.272-5.181.004-7.917zM5.754 10.331a.275.275 0 10-.55 0 28.035 28.035 0 000 7.155.272.272 0 00.54 0c.332-2.373.335-4.78.01-7.155zM4.087 12.12a.272.272 0 00-.544 0c-.393 1.843-.208 3.52.016 5.386a.26.26 0 00.512 0c.247-1.892.435-3.53.016-5.386zM2.433 11.838a.282.282 0 00-.56 0c-.349 1.882-.234 3.54.01 5.418.025.285.508.282.54 0 .269-1.907.394-3.517.01-5.418zM.762 12.76a.282.282 0 00-.56 0c-.32 1.264-.22 2.31.023 3.578a.262.262 0 00.521 0c.282-1.293.42-2.317.016-3.578z" }) }); 48673 48674 48675 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/spotify.js 48676 48677 48678 const SpotifyIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12,2C6.477,2,2,6.477,2,12c0,5.523,4.477,10,10,10c5.523,0,10-4.477,10-10C22,6.477,17.523,2,12,2 M16.586,16.424 c-0.18,0.295-0.563,0.387-0.857,0.207c-2.348-1.435-5.304-1.76-8.785-0.964c-0.335,0.077-0.67-0.133-0.746-0.469 c-0.077-0.335,0.132-0.67,0.469-0.746c3.809-0.871,7.077-0.496,9.713,1.115C16.673,15.746,16.766,16.13,16.586,16.424 M17.81,13.7 c-0.226,0.367-0.706,0.482-1.072,0.257c-2.687-1.652-6.785-2.131-9.965-1.166C6.36,12.917,5.925,12.684,5.8,12.273 C5.675,11.86,5.908,11.425,6.32,11.3c3.632-1.102,8.147-0.568,11.234,1.328C17.92,12.854,18.035,13.335,17.81,13.7 M17.915,10.865 c-3.223-1.914-8.54-2.09-11.618-1.156C5.804,9.859,5.281,9.58,5.131,9.086C4.982,8.591,5.26,8.069,5.755,7.919 c3.532-1.072,9.404-0.865,13.115,1.338c0.445,0.264,0.59,0.838,0.327,1.282C18.933,10.983,18.359,11.129,17.915,10.865" }) }); 48679 48680 48681 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/telegram.js 48682 48683 48684 const TelegramIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 128 128", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M28.9700376,63.3244248 C47.6273373,55.1957357 60.0684594,49.8368063 66.2934036,47.2476366 C84.0668845,39.855031 87.7600616,38.5708563 90.1672227,38.528 C90.6966555,38.5191258 91.8804274,38.6503351 92.6472251,39.2725385 C93.294694,39.7979149 93.4728387,40.5076237 93.5580865,41.0057381 C93.6433345,41.5038525 93.7494885,42.63857 93.6651041,43.5252052 C92.7019529,53.6451182 88.5344133,78.2034783 86.4142057,89.5379542 C85.5170662,94.3339958 83.750571,95.9420841 82.0403991,96.0994568 C78.3237996,96.4414641 75.5015827,93.6432685 71.9018743,91.2836143 C66.2690414,87.5912212 63.0868492,85.2926952 57.6192095,81.6896017 C51.3004058,77.5256038 55.3966232,75.2369981 58.9976911,71.4967761 C59.9401076,70.5179421 76.3155302,55.6232293 76.6324771,54.2720454 C76.6721165,54.1030573 76.7089039,53.4731496 76.3346867,53.1405352 C75.9604695,52.8079208 75.4081573,52.921662 75.0095933,53.0121213 C74.444641,53.1403447 65.4461175,59.0880351 48.0140228,70.8551922 C45.4598218,72.6091037 43.1463059,73.4636682 41.0734751,73.4188859 C38.7883453,73.3695169 34.3926725,72.1268388 31.1249416,71.0646282 C27.1169366,69.7617838 23.931454,69.0729605 24.208838,66.8603276 C24.3533167,65.7078514 25.9403832,64.5292172 28.9700376,63.3244248 Z" }) }); 48685 48686 48687 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/threads.js 48688 48689 48690 const ThreadsIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16.3 11.3c-.1 0-.2-.1-.2-.1-.1-2.6-1.5-4-3.9-4-1.4 0-2.6.6-3.3 1.7l1.3.9c.5-.8 1.4-1 2-1 .8 0 1.4.2 1.7.7.3.3.5.8.5 1.3-.7-.1-1.4-.2-2.2-.1-2.2.1-3.7 1.4-3.6 3.2 0 .9.5 1.7 1.3 2.2.7.4 1.5.6 2.4.6 1.2-.1 2.1-.5 2.7-1.3.5-.6.8-1.4.9-2.4.6.3 1 .8 1.2 1.3.4.9.4 2.4-.8 3.6-1.1 1.1-2.3 1.5-4.3 1.5-2.1 0-3.8-.7-4.8-2S5.7 14.3 5.7 12c0-2.3.5-4.1 1.5-5.4 1.1-1.3 2.7-2 4.8-2 2.2 0 3.8.7 4.9 2 .5.7.9 1.5 1.2 2.5l1.5-.4c-.3-1.2-.8-2.2-1.5-3.1-1.3-1.7-3.3-2.6-6-2.6-2.6 0-4.7.9-6 2.6C4.9 7.2 4.3 9.3 4.3 12s.6 4.8 1.9 6.4c1.4 1.7 3.4 2.6 6 2.6 2.3 0 4-.6 5.3-2 1.8-1.8 1.7-4 1.1-5.4-.4-.9-1.2-1.7-2.3-2.3zm-4 3.8c-1 .1-2-.4-2-1.3 0-.7.5-1.5 2.1-1.6h.5c.6 0 1.1.1 1.6.2-.2 2.3-1.3 2.7-2.2 2.7z" }) }); 48691 48692 48693 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/tiktok.js 48694 48695 48696 const TiktokIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.4044 3.01519C13.4086 3 14.4072 3.009 15.4045 3C15.465 4.14812 15.8874 5.31762 16.7472 6.12935C17.6053 6.96134 18.819 7.34217 20 7.47099V10.4912C18.8933 10.4558 17.7814 10.2308 16.7771 9.76499C16.3397 9.57148 15.9323 9.32227 15.5334 9.06745C15.5283 11.2591 15.5426 13.4479 15.5191 15.6305C15.4592 16.679 15.1053 17.7225 14.4814 18.5866C13.4777 20.025 11.7356 20.9627 9.94635 20.992C8.84885 21.0533 7.7525 20.7608 6.81729 20.2219C5.26743 19.3286 4.17683 17.6933 4.01799 15.9382C3.99957 15.563 3.99324 15.1883 4.00878 14.8221C4.14691 13.395 4.86917 12.0297 5.99027 11.101C7.26101 10.0192 9.04107 9.50397 10.7078 9.80886C10.7233 10.9199 10.6778 12.0297 10.6778 13.1407C9.91643 12.9 9.02668 12.9675 8.36139 13.4192C7.87566 13.7269 7.50675 14.1983 7.31453 14.7316C7.15569 15.1118 7.20116 15.5343 7.21036 15.9382C7.3928 17.169 8.60368 18.2035 9.89628 18.0916C10.7532 18.0826 11.5745 17.5965 12.0211 16.8849C12.1655 16.6357 12.3273 16.3809 12.3359 16.0878C12.4113 14.7462 12.3814 13.4102 12.3906 12.0685C12.3969 9.04495 12.3814 6.02979 12.4049 3.01575L12.4044 3.01519Z" }) }); 48697 48698 48699 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/tumblr.js 48700 48701 48702 const TumblrIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M17.04 21.28h-3.28c-2.84 0-4.94-1.37-4.94-5.02v-5.67H6.08V7.5c2.93-.73 4.11-3.3 4.3-5.48h3.01v4.93h3.47v3.65H13.4v4.93c0 1.47.73 2.01 1.92 2.01h1.73v3.75z" }) }); 48703 48704 48705 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/twitch.js 48706 48707 48708 const TwitchIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M16.499,8.089h-1.636v4.91h1.636V8.089z M12,8.089h-1.637v4.91H12V8.089z M4.228,3.178L3,6.451v13.092h4.499V22h2.456 l2.454-2.456h3.681L21,14.636V3.178H4.228z M19.364,13.816l-2.864,2.865H12l-2.453,2.453V16.68H5.863V4.814h13.501V13.816z" }) }); 48709 48710 48711 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/twitter.js 48712 48713 48714 const TwitterIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z" }) }); 48715 48716 48717 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/vimeo.js 48718 48719 48720 const VimeoIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M22.396,7.164c-0.093,2.026-1.507,4.799-4.245,8.32C15.322,19.161,12.928,21,10.97,21c-1.214,0-2.24-1.119-3.079-3.359 c-0.56-2.053-1.119-4.106-1.68-6.159C5.588,9.243,4.921,8.122,4.206,8.122c-0.156,0-0.701,0.328-1.634,0.98L1.594,7.841 c1.027-0.902,2.04-1.805,3.037-2.708C6.001,3.95,7.03,3.327,7.715,3.264c1.619-0.156,2.616,0.951,2.99,3.321 c0.404,2.557,0.685,4.147,0.841,4.769c0.467,2.121,0.981,3.181,1.542,3.181c0.435,0,1.09-0.688,1.963-2.065 c0.871-1.376,1.338-2.422,1.401-3.142c0.125-1.187-0.343-1.782-1.401-1.782c-0.498,0-1.012,0.115-1.541,0.341 c1.023-3.35,2.977-4.977,5.862-4.884C21.511,3.066,22.52,4.453,22.396,7.164z" }) }); 48721 48722 48723 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/vk.js 48724 48725 48726 const VkIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M22,7.1c0.2,0.4-0.4,1.5-1.6,3.1c-0.2,0.2-0.4,0.5-0.7,0.9c-0.5,0.7-0.9,1.1-0.9,1.4c-0.1,0.3-0.1,0.6,0.1,0.8 c0.1,0.1,0.4,0.4,0.8,0.9h0l0,0c1,0.9,1.6,1.7,2,2.3c0,0,0,0.1,0.1,0.1c0,0.1,0,0.1,0.1,0.3c0,0.1,0,0.2,0,0.4 c0,0.1-0.1,0.2-0.3,0.3c-0.1,0.1-0.4,0.1-0.6,0.1l-2.7,0c-0.2,0-0.4,0-0.6-0.1c-0.2-0.1-0.4-0.1-0.5-0.2l-0.2-0.1 c-0.2-0.1-0.5-0.4-0.7-0.7s-0.5-0.6-0.7-0.8c-0.2-0.2-0.4-0.4-0.6-0.6C14.8,15,14.6,15,14.4,15c0,0,0,0-0.1,0c0,0-0.1,0.1-0.2,0.2 c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.1-0.1,0.3-0.2,0.5c-0.1,0.2-0.1,0.5-0.1,0.8c0,0.1,0,0.2,0,0.3c0,0.1-0.1,0.2-0.1,0.2l0,0.1 c-0.1,0.1-0.3,0.2-0.6,0.2h-1.2c-0.5,0-1,0-1.5-0.2c-0.5-0.1-1-0.3-1.4-0.6s-0.7-0.5-1.1-0.7s-0.6-0.4-0.7-0.6l-0.3-0.3 c-0.1-0.1-0.2-0.2-0.3-0.3s-0.4-0.5-0.7-0.9s-0.7-1-1.1-1.6c-0.4-0.6-0.8-1.3-1.3-2.2C2.9,9.4,2.5,8.5,2.1,7.5C2,7.4,2,7.3,2,7.2 c0-0.1,0-0.1,0-0.2l0-0.1c0.1-0.1,0.3-0.2,0.6-0.2l2.9,0c0.1,0,0.2,0,0.2,0.1S5.9,6.9,5.9,7L6,7c0.1,0.1,0.2,0.2,0.3,0.3 C6.4,7.7,6.5,8,6.7,8.4C6.9,8.8,7,9,7.1,9.2l0.2,0.3c0.2,0.4,0.4,0.8,0.6,1.1c0.2,0.3,0.4,0.5,0.5,0.7s0.3,0.3,0.4,0.4 c0.1,0.1,0.3,0.1,0.4,0.1c0.1,0,0.2,0,0.3-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.1-0.2c0.1-0.1,0.1-0.3,0.1-0.5c0-0.2,0.1-0.5,0.1-0.8 c0-0.4,0-0.8,0-1.3c0-0.3,0-0.5-0.1-0.8c0-0.2-0.1-0.4-0.1-0.5L9.6,7.6C9.4,7.3,9.1,7.2,8.7,7.1C8.6,7.1,8.6,7,8.7,6.9 C8.9,6.7,9,6.6,9.1,6.5c0.4-0.2,1.2-0.3,2.5-0.3c0.6,0,1,0.1,1.4,0.1c0.1,0,0.3,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.3 c0,0.1,0.1,0.2,0.1,0.3s0,0.3,0,0.5c0,0.2,0,0.4,0,0.6c0,0.2,0,0.4,0,0.7c0,0.3,0,0.6,0,0.9c0,0.1,0,0.2,0,0.4c0,0.2,0,0.4,0,0.5 c0,0.1,0,0.3,0,0.4s0.1,0.3,0.1,0.4c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.2-0.2,0.4-0.4 s0.3-0.4,0.5-0.7c0.2-0.3,0.5-0.7,0.7-1.1c0.4-0.7,0.8-1.5,1.1-2.3c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.1l0,0l0.1,0 c0,0,0,0,0.1,0s0.2,0,0.2,0l3,0c0.3,0,0.5,0,0.7,0S21.9,7,21.9,7L22,7.1z" }) }); 48727 48728 48729 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/whatsapp.js 48730 48731 48732 const WhatsAppIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M 12.011719 2 C 6.5057187 2 2.0234844 6.478375 2.0214844 11.984375 C 2.0204844 13.744375 2.4814687 15.462563 3.3554688 16.976562 L 2 22 L 7.2324219 20.763672 C 8.6914219 21.559672 10.333859 21.977516 12.005859 21.978516 L 12.009766 21.978516 C 17.514766 21.978516 21.995047 17.499141 21.998047 11.994141 C 22.000047 9.3251406 20.962172 6.8157344 19.076172 4.9277344 C 17.190172 3.0407344 14.683719 2.001 12.011719 2 z M 12.009766 4 C 14.145766 4.001 16.153109 4.8337969 17.662109 6.3417969 C 19.171109 7.8517969 20.000047 9.8581875 19.998047 11.992188 C 19.996047 16.396187 16.413812 19.978516 12.007812 19.978516 C 10.674812 19.977516 9.3544062 19.642812 8.1914062 19.007812 L 7.5175781 18.640625 L 6.7734375 18.816406 L 4.8046875 19.28125 L 5.2851562 17.496094 L 5.5019531 16.695312 L 5.0878906 15.976562 C 4.3898906 14.768562 4.0204844 13.387375 4.0214844 11.984375 C 4.0234844 7.582375 7.6067656 4 12.009766 4 z M 8.4765625 7.375 C 8.3095625 7.375 8.0395469 7.4375 7.8105469 7.6875 C 7.5815469 7.9365 6.9355469 8.5395781 6.9355469 9.7675781 C 6.9355469 10.995578 7.8300781 12.182609 7.9550781 12.349609 C 8.0790781 12.515609 9.68175 15.115234 12.21875 16.115234 C 14.32675 16.946234 14.754891 16.782234 15.212891 16.740234 C 15.670891 16.699234 16.690438 16.137687 16.898438 15.554688 C 17.106437 14.971687 17.106922 14.470187 17.044922 14.367188 C 16.982922 14.263188 16.816406 14.201172 16.566406 14.076172 C 16.317406 13.951172 15.090328 13.348625 14.861328 13.265625 C 14.632328 13.182625 14.464828 13.140625 14.298828 13.390625 C 14.132828 13.640625 13.655766 14.201187 13.509766 14.367188 C 13.363766 14.534188 13.21875 14.556641 12.96875 14.431641 C 12.71875 14.305641 11.914938 14.041406 10.960938 13.191406 C 10.218937 12.530406 9.7182656 11.714844 9.5722656 11.464844 C 9.4272656 11.215844 9.5585938 11.079078 9.6835938 10.955078 C 9.7955938 10.843078 9.9316406 10.663578 10.056641 10.517578 C 10.180641 10.371578 10.223641 10.267562 10.306641 10.101562 C 10.389641 9.9355625 10.347156 9.7890625 10.285156 9.6640625 C 10.223156 9.5390625 9.737625 8.3065 9.515625 7.8125 C 9.328625 7.3975 9.131125 7.3878594 8.953125 7.3808594 C 8.808125 7.3748594 8.6425625 7.375 8.4765625 7.375 z" }) }); 48733 48734 48735 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/x.js 48736 48737 48738 const XIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z" }) }); 48739 48740 48741 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/yelp.js 48742 48743 48744 const YelpIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.271,16.718v1.417q-.011,3.257-.067,3.4a.707.707,0,0,1-.569.446,4.637,4.637,0,0,1-2.024-.424A4.609,4.609,0,0,1,7.8,20.565a.844.844,0,0,1-.19-.4.692.692,0,0,1,.044-.29,3.181,3.181,0,0,1,.379-.524q.335-.412,2.019-2.409.011,0,.669-.781a.757.757,0,0,1,.44-.274.965.965,0,0,1,.552.039.945.945,0,0,1,.418.324.732.732,0,0,1,.139.468Zm-1.662-2.8a.783.783,0,0,1-.58.781l-1.339.435q-3.067.981-3.257.981a.711.711,0,0,1-.6-.4,2.636,2.636,0,0,1-.19-.836,9.134,9.134,0,0,1,.011-1.857,3.559,3.559,0,0,1,.335-1.389.659.659,0,0,1,.625-.357,22.629,22.629,0,0,1,2.253.859q.781.324,1.283.524l.937.379a.771.771,0,0,1,.4.34A.982.982,0,0,1,10.609,13.917Zm9.213,3.313a4.467,4.467,0,0,1-1.021,1.8,4.559,4.559,0,0,1-1.512,1.417.671.671,0,0,1-.7-.078q-.156-.112-2.052-3.2l-.524-.859a.761.761,0,0,1-.128-.513.957.957,0,0,1,.217-.513.774.774,0,0,1,.926-.29q.011.011,1.327.446,2.264.736,2.7.887a2.082,2.082,0,0,1,.524.229.673.673,0,0,1,.245.68Zm-7.5-7.049q.056,1.137-.6,1.361-.647.19-1.272-.792L6.237,4.08a.7.7,0,0,1,.212-.691,5.788,5.788,0,0,1,2.314-1,5.928,5.928,0,0,1,2.5-.352.681.681,0,0,1,.547.5q.034.2.245,3.407T12.327,10.181Zm7.384,1.2a.679.679,0,0,1-.29.658q-.167.112-3.67.959-.747.167-1.015.257l.011-.022a.769.769,0,0,1-.513-.044.914.914,0,0,1-.413-.357.786.786,0,0,1,0-.971q.011-.011.836-1.137,1.394-1.908,1.673-2.275a2.423,2.423,0,0,1,.379-.435A.7.7,0,0,1,17.435,8a4.482,4.482,0,0,1,1.372,1.489,4.81,4.81,0,0,1,.9,1.868v.034Z" }) }); 48745 48746 48747 ;// ./node_modules/@wordpress/block-library/build-module/social-link/icons/youtube.js 48748 48749 48750 const YouTubeIcon = () => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { width: "24", height: "24", viewBox: "0 0 24 24", version: "1.1", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z" }) }); 48751 48752 48753 ;// ./node_modules/@wordpress/block-library/build-module/social-link/variations.js 48754 48755 48756 const social_link_variations_variations = [ 48757 { 48758 isDefault: true, 48759 name: "wordpress", 48760 attributes: { service: "wordpress" }, 48761 title: (0,external_wp_i18n_namespaceObject._x)("WordPress", "social link block variation name"), 48762 icon: WordPressIcon 48763 }, 48764 { 48765 name: "fivehundredpx", 48766 attributes: { service: "fivehundredpx" }, 48767 title: (0,external_wp_i18n_namespaceObject._x)("500px", "social link block variation name"), 48768 icon: FivehundredpxIcon 48769 }, 48770 { 48771 name: "amazon", 48772 attributes: { service: "amazon" }, 48773 title: (0,external_wp_i18n_namespaceObject._x)("Amazon", "social link block variation name"), 48774 icon: AmazonIcon 48775 }, 48776 { 48777 name: "bandcamp", 48778 attributes: { service: "bandcamp" }, 48779 title: (0,external_wp_i18n_namespaceObject._x)("Bandcamp", "social link block variation name"), 48780 icon: BandcampIcon 48781 }, 48782 { 48783 name: "behance", 48784 attributes: { service: "behance" }, 48785 title: (0,external_wp_i18n_namespaceObject._x)("Behance", "social link block variation name"), 48786 icon: BehanceIcon 48787 }, 48788 { 48789 name: "bluesky", 48790 attributes: { service: "bluesky" }, 48791 title: (0,external_wp_i18n_namespaceObject._x)("Bluesky", "social link block variation name"), 48792 icon: BlueskyIcon 48793 }, 48794 { 48795 name: "chain", 48796 attributes: { service: "chain" }, 48797 title: (0,external_wp_i18n_namespaceObject._x)("Link", "social link block variation name"), 48798 icon: ChainIcon 48799 }, 48800 { 48801 name: "codepen", 48802 attributes: { service: "codepen" }, 48803 title: (0,external_wp_i18n_namespaceObject._x)("CodePen", "social link block variation name"), 48804 icon: CodepenIcon 48805 }, 48806 { 48807 name: "deviantart", 48808 attributes: { service: "deviantart" }, 48809 title: (0,external_wp_i18n_namespaceObject._x)("DeviantArt", "social link block variation name"), 48810 icon: DeviantArtIcon 48811 }, 48812 { 48813 name: "discord", 48814 attributes: { service: "discord" }, 48815 title: (0,external_wp_i18n_namespaceObject._x)("Discord", "social link block variation name"), 48816 icon: DiscordIcon 48817 }, 48818 { 48819 name: "dribbble", 48820 attributes: { service: "dribbble" }, 48821 title: (0,external_wp_i18n_namespaceObject._x)("Dribbble", "social link block variation name"), 48822 icon: DribbbleIcon 48823 }, 48824 { 48825 name: "dropbox", 48826 attributes: { service: "dropbox" }, 48827 title: (0,external_wp_i18n_namespaceObject._x)("Dropbox", "social link block variation name"), 48828 icon: DropboxIcon 48829 }, 48830 { 48831 name: "etsy", 48832 attributes: { service: "etsy" }, 48833 title: (0,external_wp_i18n_namespaceObject._x)("Etsy", "social link block variation name"), 48834 icon: EtsyIcon 48835 }, 48836 { 48837 name: "facebook", 48838 attributes: { service: "facebook" }, 48839 title: (0,external_wp_i18n_namespaceObject._x)("Facebook", "social link block variation name"), 48840 icon: FacebookIcon 48841 }, 48842 { 48843 name: "feed", 48844 attributes: { service: "feed" }, 48845 title: (0,external_wp_i18n_namespaceObject._x)("RSS Feed", "social link block variation name"), 48846 icon: FeedIcon 48847 }, 48848 { 48849 name: "flickr", 48850 attributes: { service: "flickr" }, 48851 title: (0,external_wp_i18n_namespaceObject._x)("Flickr", "social link block variation name"), 48852 icon: FlickrIcon 48853 }, 48854 { 48855 name: "foursquare", 48856 attributes: { service: "foursquare" }, 48857 title: (0,external_wp_i18n_namespaceObject._x)("Foursquare", "social link block variation name"), 48858 icon: FoursquareIcon 48859 }, 48860 { 48861 name: "goodreads", 48862 attributes: { service: "goodreads" }, 48863 title: (0,external_wp_i18n_namespaceObject._x)("Goodreads", "social link block variation name"), 48864 icon: GoodreadsIcon 48865 }, 48866 { 48867 name: "google", 48868 attributes: { service: "google" }, 48869 title: (0,external_wp_i18n_namespaceObject._x)("Google", "social link block variation name"), 48870 icon: GoogleIcon 48871 }, 48872 { 48873 name: "github", 48874 attributes: { service: "github" }, 48875 title: (0,external_wp_i18n_namespaceObject._x)("GitHub", "social link block variation name"), 48876 icon: GitHubIcon 48877 }, 48878 { 48879 name: "gravatar", 48880 attributes: { service: "gravatar" }, 48881 title: (0,external_wp_i18n_namespaceObject._x)("Gravatar", "social link block variation name"), 48882 icon: GravatarIcon 48883 }, 48884 { 48885 name: "instagram", 48886 attributes: { service: "instagram" }, 48887 title: (0,external_wp_i18n_namespaceObject._x)("Instagram", "social link block variation name"), 48888 icon: InstagramIcon 48889 }, 48890 { 48891 name: "lastfm", 48892 attributes: { service: "lastfm" }, 48893 title: (0,external_wp_i18n_namespaceObject._x)("Last.fm", "social link block variation name"), 48894 icon: LastfmIcon 48895 }, 48896 { 48897 name: "linkedin", 48898 attributes: { service: "linkedin" }, 48899 title: (0,external_wp_i18n_namespaceObject._x)("LinkedIn", "social link block variation name"), 48900 icon: LinkedInIcon 48901 }, 48902 { 48903 name: "mail", 48904 attributes: { service: "mail" }, 48905 title: (0,external_wp_i18n_namespaceObject._x)("Mail", "social link block variation name"), 48906 keywords: ["email", "e-mail"], 48907 icon: MailIcon 48908 }, 48909 { 48910 name: "mastodon", 48911 attributes: { service: "mastodon" }, 48912 title: (0,external_wp_i18n_namespaceObject._x)("Mastodon", "social link block variation name"), 48913 icon: MastodonIcon 48914 }, 48915 { 48916 name: "meetup", 48917 attributes: { service: "meetup" }, 48918 title: (0,external_wp_i18n_namespaceObject._x)("Meetup", "social link block variation name"), 48919 icon: MeetupIcon 48920 }, 48921 { 48922 name: "medium", 48923 attributes: { service: "medium" }, 48924 title: (0,external_wp_i18n_namespaceObject._x)("Medium", "social link block variation name"), 48925 icon: MediumIcon 48926 }, 48927 { 48928 name: "patreon", 48929 attributes: { service: "patreon" }, 48930 title: (0,external_wp_i18n_namespaceObject._x)("Patreon", "social link block variation name"), 48931 icon: PatreonIcon 48932 }, 48933 { 48934 name: "pinterest", 48935 attributes: { service: "pinterest" }, 48936 title: (0,external_wp_i18n_namespaceObject._x)("Pinterest", "social link block variation name"), 48937 icon: PinterestIcon 48938 }, 48939 { 48940 name: "pocket", 48941 attributes: { service: "pocket" }, 48942 title: (0,external_wp_i18n_namespaceObject._x)("Pocket", "social link block variation name"), 48943 icon: PocketIcon 48944 }, 48945 { 48946 name: "reddit", 48947 attributes: { service: "reddit" }, 48948 title: (0,external_wp_i18n_namespaceObject._x)("Reddit", "social link block variation name"), 48949 icon: RedditIcon 48950 }, 48951 { 48952 name: "skype", 48953 attributes: { service: "skype" }, 48954 title: (0,external_wp_i18n_namespaceObject._x)("Skype", "social link block variation name"), 48955 icon: SkypeIcon, 48956 // Deprecated: Skype service is no longer available. 48957 scope: [] 48958 }, 48959 { 48960 name: "snapchat", 48961 attributes: { service: "snapchat" }, 48962 title: (0,external_wp_i18n_namespaceObject._x)("Snapchat", "social link block variation name"), 48963 icon: SnapchatIcon 48964 }, 48965 { 48966 name: "soundcloud", 48967 attributes: { service: "soundcloud" }, 48968 title: (0,external_wp_i18n_namespaceObject._x)("SoundCloud", "social link block variation name"), 48969 icon: SoundCloudIcon 48970 }, 48971 { 48972 name: "spotify", 48973 attributes: { service: "spotify" }, 48974 title: (0,external_wp_i18n_namespaceObject._x)("Spotify", "social link block variation name"), 48975 icon: SpotifyIcon 48976 }, 48977 { 48978 name: "telegram", 48979 attributes: { service: "telegram" }, 48980 title: (0,external_wp_i18n_namespaceObject._x)("Telegram", "social link block variation name"), 48981 icon: TelegramIcon 48982 }, 48983 { 48984 name: "threads", 48985 attributes: { service: "threads" }, 48986 title: (0,external_wp_i18n_namespaceObject._x)("Threads", "social link block variation name"), 48987 icon: ThreadsIcon 48988 }, 48989 { 48990 name: "tiktok", 48991 attributes: { service: "tiktok" }, 48992 title: (0,external_wp_i18n_namespaceObject._x)("TikTok", "social link block variation name"), 48993 icon: TiktokIcon 48994 }, 48995 { 48996 name: "tumblr", 48997 attributes: { service: "tumblr" }, 48998 title: (0,external_wp_i18n_namespaceObject._x)("Tumblr", "social link block variation name"), 48999 icon: TumblrIcon 49000 }, 49001 { 49002 name: "twitch", 49003 attributes: { service: "twitch" }, 49004 title: (0,external_wp_i18n_namespaceObject._x)("Twitch", "social link block variation name"), 49005 icon: TwitchIcon 49006 }, 49007 { 49008 name: "twitter", 49009 attributes: { service: "twitter" }, 49010 title: (0,external_wp_i18n_namespaceObject._x)("Twitter", "social link block variation name"), 49011 icon: TwitterIcon 49012 }, 49013 { 49014 name: "vimeo", 49015 attributes: { service: "vimeo" }, 49016 title: (0,external_wp_i18n_namespaceObject._x)("Vimeo", "social link block variation name"), 49017 icon: VimeoIcon 49018 }, 49019 { 49020 name: "vk", 49021 attributes: { service: "vk" }, 49022 title: (0,external_wp_i18n_namespaceObject._x)("VK", "social link block variation name"), 49023 icon: VkIcon 49024 }, 49025 { 49026 name: "whatsapp", 49027 attributes: { service: "whatsapp" }, 49028 title: (0,external_wp_i18n_namespaceObject._x)("WhatsApp", "social link block variation name"), 49029 icon: WhatsAppIcon 49030 }, 49031 { 49032 name: "x", 49033 attributes: { service: "x" }, 49034 keywords: ["twitter"], 49035 title: (0,external_wp_i18n_namespaceObject._x)("X", "social link block variation name"), 49036 icon: XIcon 49037 }, 49038 { 49039 name: "yelp", 49040 attributes: { service: "yelp" }, 49041 title: (0,external_wp_i18n_namespaceObject._x)("Yelp", "social link block variation name"), 49042 icon: YelpIcon 49043 }, 49044 { 49045 name: "youtube", 49046 attributes: { service: "youtube" }, 49047 title: (0,external_wp_i18n_namespaceObject._x)("YouTube", "social link block variation name"), 49048 icon: YouTubeIcon 49049 } 49050 ]; 49051 social_link_variations_variations.forEach((variation) => { 49052 if (variation.isActive) { 49053 return; 49054 } 49055 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.service === variationAttributes.service; 49056 }); 49057 var social_link_variations_variations_default = social_link_variations_variations; 49058 49059 49060 ;// ./node_modules/@wordpress/block-library/build-module/social-link/index.js 49061 49062 49063 49064 49065 49066 const { name: social_link_name } = social_link_block_namespaceObject; 49067 const social_link_settings = { 49068 icon: share_default, 49069 edit: social_link_edit_edit_default, 49070 variations: social_link_variations_variations_default 49071 }; 49072 const social_link_init = () => initBlock({ name: social_link_name, metadata: social_link_block_namespaceObject, settings: social_link_settings }); 49073 49074 49075 ;// ./node_modules/@wordpress/block-library/build-module/social-links/deprecated.js 49076 49077 49078 49079 const social_links_deprecated_migrateWithLayout = (attributes) => { 49080 if (!!attributes.layout) { 49081 return attributes; 49082 } 49083 const { className } = attributes; 49084 const prefix = `items-justified-`; 49085 const justifiedItemsRegex = new RegExp(`\\b$prefix}[^ ]*[ ]?\\b`, "g"); 49086 const newAttributes = { 49087 ...attributes, 49088 className: className?.replace(justifiedItemsRegex, "").trim() 49089 }; 49090 const justifyContent = className?.match(justifiedItemsRegex)?.[0]?.trim(); 49091 if (justifyContent) { 49092 Object.assign(newAttributes, { 49093 layout: { 49094 type: "flex", 49095 justifyContent: justifyContent.slice(prefix.length) 49096 } 49097 }); 49098 } 49099 return newAttributes; 49100 }; 49101 const social_links_deprecated_deprecated = [ 49102 // V1. Remove CSS variable use for colors. 49103 { 49104 attributes: { 49105 iconColor: { 49106 type: "string" 49107 }, 49108 customIconColor: { 49109 type: "string" 49110 }, 49111 iconColorValue: { 49112 type: "string" 49113 }, 49114 iconBackgroundColor: { 49115 type: "string" 49116 }, 49117 customIconBackgroundColor: { 49118 type: "string" 49119 }, 49120 iconBackgroundColorValue: { 49121 type: "string" 49122 }, 49123 openInNewTab: { 49124 type: "boolean", 49125 default: false 49126 }, 49127 size: { 49128 type: "string" 49129 } 49130 }, 49131 providesContext: { 49132 openInNewTab: "openInNewTab" 49133 }, 49134 supports: { 49135 align: ["left", "center", "right"], 49136 anchor: true 49137 }, 49138 migrate: social_links_deprecated_migrateWithLayout, 49139 save: (props) => { 49140 const { 49141 attributes: { 49142 iconBackgroundColorValue, 49143 iconColorValue, 49144 itemsJustification, 49145 size 49146 } 49147 } = props; 49148 const className = dist_clsx(size, { 49149 "has-icon-color": iconColorValue, 49150 "has-icon-background-color": iconBackgroundColorValue, 49151 [`items-justified-$itemsJustification}`]: itemsJustification 49152 }); 49153 const style = { 49154 "--wp--social-links--icon-color": iconColorValue, 49155 "--wp--social-links--icon-background-color": iconBackgroundColorValue 49156 }; 49157 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className, style }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) }); 49158 } 49159 } 49160 ]; 49161 var social_links_deprecated_deprecated_default = social_links_deprecated_deprecated; 49162 49163 49164 ;// ./node_modules/@wordpress/block-library/build-module/social-links/edit.js 49165 49166 49167 49168 49169 49170 49171 49172 49173 const sizeOptions = [ 49174 { label: (0,external_wp_i18n_namespaceObject.__)("Default"), value: "" }, 49175 { label: (0,external_wp_i18n_namespaceObject.__)("Small"), value: "has-small-icon-size" }, 49176 { label: (0,external_wp_i18n_namespaceObject.__)("Normal"), value: "has-normal-icon-size" }, 49177 { label: (0,external_wp_i18n_namespaceObject.__)("Large"), value: "has-large-icon-size" }, 49178 { label: (0,external_wp_i18n_namespaceObject.__)("Huge"), value: "has-huge-icon-size" } 49179 ]; 49180 function SocialLinksEdit(props) { 49181 const { 49182 clientId, 49183 attributes, 49184 iconBackgroundColor, 49185 iconColor, 49186 isSelected, 49187 setAttributes, 49188 setIconBackgroundColor, 49189 setIconColor 49190 } = props; 49191 const { 49192 iconBackgroundColorValue, 49193 iconColorValue, 49194 openInNewTab, 49195 showLabels, 49196 size 49197 } = attributes; 49198 const { hasSocialIcons, hasSelectedChild } = (0,external_wp_data_namespaceObject.useSelect)( 49199 (select) => { 49200 const { getBlockCount, hasSelectedInnerBlock } = select(external_wp_blockEditor_namespaceObject.store); 49201 return { 49202 hasSocialIcons: getBlockCount(clientId) > 0, 49203 hasSelectedChild: hasSelectedInnerBlock(clientId) 49204 }; 49205 }, 49206 [clientId] 49207 ); 49208 const hasAnySelected = isSelected || hasSelectedChild; 49209 const logosOnly = attributes.className?.includes("is-style-logos-only"); 49210 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 49211 (0,external_wp_element_namespaceObject.useEffect)(() => { 49212 if (logosOnly) { 49213 let restore; 49214 setAttributes((prev) => { 49215 restore = { 49216 iconBackgroundColor: prev.iconBackgroundColor, 49217 iconBackgroundColorValue: prev.iconBackgroundColorValue, 49218 customIconBackgroundColor: prev.customIconBackgroundColor 49219 }; 49220 return { 49221 iconBackgroundColor: void 0, 49222 iconBackgroundColorValue: void 0, 49223 customIconBackgroundColor: void 0 49224 }; 49225 }); 49226 return () => setAttributes({ ...restore }); 49227 } 49228 }, [logosOnly, setAttributes]); 49229 const className = dist_clsx(size, { 49230 "has-visible-labels": showLabels, 49231 "has-icon-color": iconColor.color || iconColorValue, 49232 "has-icon-background-color": iconBackgroundColor.color || iconBackgroundColorValue 49233 }); 49234 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ className }); 49235 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 49236 templateLock: false, 49237 orientation: attributes.layout?.orientation ?? "horizontal", 49238 __experimentalAppenderTagName: "li", 49239 renderAppender: !hasSocialIcons || hasAnySelected ? external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender : void 0 49240 }); 49241 const colorSettings = [ 49242 { 49243 // Use custom attribute as fallback to prevent loss of named color selection when 49244 // switching themes to a new theme that does not have a matching named color. 49245 value: iconColor.color || iconColorValue, 49246 onChange: (colorValue) => { 49247 setIconColor(colorValue); 49248 setAttributes({ iconColorValue: colorValue }); 49249 }, 49250 label: (0,external_wp_i18n_namespaceObject.__)("Icon color"), 49251 resetAllFilter: () => { 49252 setIconColor(void 0); 49253 setAttributes({ iconColorValue: void 0 }); 49254 } 49255 } 49256 ]; 49257 if (!logosOnly) { 49258 colorSettings.push({ 49259 // Use custom attribute as fallback to prevent loss of named color selection when 49260 // switching themes to a new theme that does not have a matching named color. 49261 value: iconBackgroundColor.color || iconBackgroundColorValue, 49262 onChange: (colorValue) => { 49263 setIconBackgroundColor(colorValue); 49264 setAttributes({ 49265 iconBackgroundColorValue: colorValue 49266 }); 49267 }, 49268 label: (0,external_wp_i18n_namespaceObject.__)("Icon background"), 49269 resetAllFilter: () => { 49270 setIconBackgroundColor(void 0); 49271 setAttributes({ iconBackgroundColorValue: void 0 }); 49272 } 49273 }); 49274 } 49275 const colorGradientSettings = (0,external_wp_blockEditor_namespaceObject.__experimentalUseMultipleOriginColorsAndGradients)(); 49276 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 49277 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 49278 external_wp_components_namespaceObject.__experimentalToolsPanel, 49279 { 49280 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 49281 resetAll: () => { 49282 setAttributes({ 49283 openInNewTab: false, 49284 showLabels: false, 49285 size: void 0 49286 }); 49287 }, 49288 dropdownMenuProps, 49289 children: [ 49290 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49291 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 49292 { 49293 isShownByDefault: true, 49294 hasValue: () => !!size, 49295 label: (0,external_wp_i18n_namespaceObject.__)("Icon size"), 49296 onDeselect: () => setAttributes({ size: void 0 }), 49297 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49298 external_wp_components_namespaceObject.SelectControl, 49299 { 49300 __next40pxDefaultSize: true, 49301 __nextHasNoMarginBottom: true, 49302 label: (0,external_wp_i18n_namespaceObject.__)("Icon Size"), 49303 onChange: (newSize) => { 49304 setAttributes({ 49305 size: newSize === "" ? void 0 : newSize 49306 }); 49307 }, 49308 value: size ?? "", 49309 options: sizeOptions 49310 } 49311 ) 49312 } 49313 ), 49314 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49315 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 49316 { 49317 isShownByDefault: true, 49318 label: (0,external_wp_i18n_namespaceObject.__)("Show text"), 49319 hasValue: () => !!showLabels, 49320 onDeselect: () => setAttributes({ showLabels: false }), 49321 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49322 external_wp_components_namespaceObject.ToggleControl, 49323 { 49324 __nextHasNoMarginBottom: true, 49325 label: (0,external_wp_i18n_namespaceObject.__)("Show text"), 49326 checked: showLabels, 49327 onChange: () => setAttributes({ showLabels: !showLabels }) 49328 } 49329 ) 49330 } 49331 ), 49332 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49333 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 49334 { 49335 isShownByDefault: true, 49336 label: (0,external_wp_i18n_namespaceObject.__)("Open links in new tab"), 49337 hasValue: () => !!openInNewTab, 49338 onDeselect: () => setAttributes({ openInNewTab: false }), 49339 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49340 external_wp_components_namespaceObject.ToggleControl, 49341 { 49342 __nextHasNoMarginBottom: true, 49343 label: (0,external_wp_i18n_namespaceObject.__)("Open links in new tab"), 49344 checked: openInNewTab, 49345 onChange: () => setAttributes({ 49346 openInNewTab: !openInNewTab 49347 }) 49348 } 49349 ) 49350 } 49351 ) 49352 ] 49353 } 49354 ) }), 49355 colorGradientSettings.hasColorsOrGradients && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "color", children: [ 49356 colorSettings.map( 49357 ({ onChange, label, value, resetAllFilter }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49358 external_wp_blockEditor_namespaceObject.__experimentalColorGradientSettingsDropdown, 49359 { 49360 __experimentalIsRenderedInSidebar: true, 49361 settings: [ 49362 { 49363 colorValue: value, 49364 label, 49365 onColorChange: onChange, 49366 isShownByDefault: true, 49367 resetAllFilter, 49368 enableAlpha: true, 49369 clearable: true 49370 } 49371 ], 49372 panelId: clientId, 49373 ...colorGradientSettings 49374 }, 49375 `social-links-color-$label}` 49376 ) 49377 ), 49378 !logosOnly && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49379 external_wp_blockEditor_namespaceObject.ContrastChecker, 49380 { 49381 ...{ 49382 textColor: iconColorValue, 49383 backgroundColor: iconBackgroundColorValue 49384 }, 49385 isLargeText: false 49386 } 49387 ) 49388 ] }), 49389 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...innerBlocksProps }) 49390 ] }); 49391 } 49392 const iconColorAttributes = { 49393 iconColor: "icon-color", 49394 iconBackgroundColor: "icon-background-color" 49395 }; 49396 var social_links_edit_edit_default = (0,external_wp_blockEditor_namespaceObject.withColors)(iconColorAttributes)(SocialLinksEdit); 49397 49398 49399 ;// ./node_modules/@wordpress/block-library/build-module/social-links/block.json 49400 const social_links_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/social-links","title":"Social Icons","category":"widgets","allowedBlocks":["core/social-link"],"description":"Display icons linking to your social profiles or sites.","keywords":["links"],"textdomain":"default","attributes":{"iconColor":{"type":"string"},"customIconColor":{"type":"string"},"iconColorValue":{"type":"string"},"iconBackgroundColor":{"type":"string"},"customIconBackgroundColor":{"type":"string"},"iconBackgroundColorValue":{"type":"string"},"openInNewTab":{"type":"boolean","default":false},"showLabels":{"type":"boolean","default":false},"size":{"type":"string"}},"providesContext":{"openInNewTab":"openInNewTab","showLabels":"showLabels","iconColor":"iconColor","iconColorValue":"iconColorValue","iconBackgroundColor":"iconBackgroundColor","iconBackgroundColorValue":"iconBackgroundColorValue"},"supports":{"align":["left","center","right"],"anchor":true,"html":false,"__experimentalExposeControlsToChildren":true,"layout":{"allowSwitching":false,"allowInheriting":false,"allowVerticalAlignment":false,"default":{"type":"flex"}},"color":{"enableContrastChecker":false,"background":true,"gradients":true,"text":false,"__experimentalDefaultControls":{"background":false}},"spacing":{"blockGap":["horizontal","vertical"],"margin":true,"padding":true,"units":["px","em","rem","vh","vw"],"__experimentalDefaultControls":{"blockGap":true,"margin":true,"padding":false}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}},"contentRole":true},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"logos-only","label":"Logos Only"},{"name":"pill-shape","label":"Pill Shape"}],"editorStyle":"wp-block-social-links-editor","style":"wp-block-social-links"}'); 49401 ;// ./node_modules/@wordpress/block-library/build-module/social-links/save.js 49402 49403 49404 49405 function social_links_save_save(props) { 49406 const { 49407 attributes: { 49408 iconBackgroundColorValue, 49409 iconColorValue, 49410 showLabels, 49411 size 49412 } 49413 } = props; 49414 const className = dist_clsx(size, { 49415 "has-visible-labels": showLabels, 49416 "has-icon-color": iconColorValue, 49417 "has-icon-background-color": iconBackgroundColorValue 49418 }); 49419 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }); 49420 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 49421 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...innerBlocksProps }); 49422 } 49423 49424 49425 ;// ./node_modules/@wordpress/block-library/build-module/social-links/index.js 49426 49427 49428 49429 49430 49431 49432 const { name: social_links_name } = social_links_block_namespaceObject; 49433 const social_links_settings = { 49434 example: { 49435 innerBlocks: [ 49436 { 49437 name: "core/social-link", 49438 attributes: { 49439 service: "wordpress", 49440 url: "https://wordpress.org" 49441 } 49442 }, 49443 { 49444 name: "core/social-link", 49445 attributes: { 49446 service: "facebook", 49447 url: "https://www.facebook.com/WordPress/" 49448 } 49449 }, 49450 { 49451 name: "core/social-link", 49452 attributes: { 49453 service: "twitter", 49454 url: "https://twitter.com/WordPress" 49455 } 49456 } 49457 ] 49458 }, 49459 icon: share_default, 49460 edit: social_links_edit_edit_default, 49461 save: social_links_save_save, 49462 deprecated: social_links_deprecated_deprecated_default 49463 }; 49464 const social_links_init = () => initBlock({ name: social_links_name, metadata: social_links_block_namespaceObject, settings: social_links_settings }); 49465 49466 49467 ;// ./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js 49468 49469 49470 var resize_corner_n_e_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z" }) }); 49471 49472 49473 ;// ./node_modules/@wordpress/block-library/build-module/spacer/deprecated.js 49474 49475 49476 const spacer_deprecated_deprecated = [ 49477 { 49478 attributes: { 49479 height: { 49480 type: "number", 49481 default: 100 49482 }, 49483 width: { 49484 type: "number" 49485 } 49486 }, 49487 migrate(attributes) { 49488 const { height, width } = attributes; 49489 return { 49490 ...attributes, 49491 width: width !== void 0 ? `$width}px` : void 0, 49492 height: height !== void 0 ? `$height}px` : void 0 49493 }; 49494 }, 49495 save({ attributes }) { 49496 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49497 "div", 49498 { 49499 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 49500 style: { 49501 height: attributes.height, 49502 width: attributes.width 49503 }, 49504 "aria-hidden": true 49505 }) 49506 } 49507 ); 49508 } 49509 } 49510 ]; 49511 var spacer_deprecated_deprecated_default = spacer_deprecated_deprecated; 49512 49513 49514 ;// ./node_modules/@wordpress/block-library/build-module/spacer/constants.js 49515 const MIN_SPACER_SIZE = 0; 49516 49517 49518 ;// ./node_modules/@wordpress/block-library/build-module/spacer/controls.js 49519 49520 49521 49522 49523 49524 49525 49526 49527 49528 const { useSpacingSizes } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 49529 function DimensionInput({ label, onChange, isResizing, value = "" }) { 49530 const inputId = (0,external_wp_compose_namespaceObject.useInstanceId)(external_wp_components_namespaceObject.__experimentalUnitControl, "block-spacer-height-input"); 49531 const spacingSizes = useSpacingSizes(); 49532 const [spacingUnits] = (0,external_wp_blockEditor_namespaceObject.useSettings)("spacing.units"); 49533 const availableUnits = spacingUnits ? spacingUnits.filter((unit) => unit !== "%") : ["px", "em", "rem", "vw", "vh"]; 49534 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 49535 availableUnits, 49536 defaultValues: { px: 100, em: 10, rem: 10, vw: 10, vh: 25 } 49537 }); 49538 const [parsedQuantity, parsedUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(value); 49539 const computedValue = (0,external_wp_blockEditor_namespaceObject.isValueSpacingPreset)(value) ? value : [parsedQuantity, isResizing ? "px" : parsedUnit].join(""); 49540 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: spacingSizes?.length < 2 ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49541 external_wp_components_namespaceObject.__experimentalUnitControl, 49542 { 49543 id: inputId, 49544 isResetValueOnUnitChange: true, 49545 min: MIN_SPACER_SIZE, 49546 onChange, 49547 value: computedValue, 49548 units, 49549 label, 49550 __next40pxDefaultSize: true 49551 } 49552 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.View, { className: "tools-panel-item-spacing", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49553 external_wp_blockEditor_namespaceObject.__experimentalSpacingSizesControl, 49554 { 49555 values: { all: computedValue }, 49556 onChange: ({ all }) => { 49557 onChange(all); 49558 }, 49559 label, 49560 sides: ["all"], 49561 units, 49562 allowReset: false, 49563 splitOnAxis: false, 49564 showSideInLabel: false 49565 } 49566 ) }) }); 49567 } 49568 function SpacerControls({ 49569 setAttributes, 49570 orientation, 49571 height, 49572 width, 49573 isResizing 49574 }) { 49575 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 49576 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 49577 external_wp_components_namespaceObject.__experimentalToolsPanel, 49578 { 49579 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 49580 resetAll: () => { 49581 setAttributes({ 49582 width: void 0, 49583 height: "100px" 49584 }); 49585 }, 49586 dropdownMenuProps, 49587 children: [ 49588 orientation === "horizontal" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49589 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 49590 { 49591 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 49592 isShownByDefault: true, 49593 hasValue: () => width !== void 0, 49594 onDeselect: () => setAttributes({ width: void 0 }), 49595 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49596 DimensionInput, 49597 { 49598 label: (0,external_wp_i18n_namespaceObject.__)("Width"), 49599 value: width, 49600 onChange: (nextWidth) => setAttributes({ width: nextWidth }), 49601 isResizing 49602 } 49603 ) 49604 } 49605 ), 49606 orientation !== "horizontal" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49607 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 49608 { 49609 label: (0,external_wp_i18n_namespaceObject.__)("Height"), 49610 isShownByDefault: true, 49611 hasValue: () => height !== "100px", 49612 onDeselect: () => setAttributes({ height: "100px" }), 49613 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49614 DimensionInput, 49615 { 49616 label: (0,external_wp_i18n_namespaceObject.__)("Height"), 49617 value: height, 49618 onChange: (nextHeight) => setAttributes({ height: nextHeight }), 49619 isResizing 49620 } 49621 ) 49622 } 49623 ) 49624 ] 49625 } 49626 ) }); 49627 } 49628 49629 49630 ;// ./node_modules/@wordpress/block-library/build-module/spacer/edit.js 49631 49632 49633 49634 49635 49636 49637 49638 49639 49640 49641 const { useSpacingSizes: edit_useSpacingSizes } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 49642 const ResizableSpacer = ({ 49643 orientation, 49644 onResizeStart, 49645 onResize, 49646 onResizeStop, 49647 isSelected, 49648 isResizing, 49649 setIsResizing, 49650 ...props 49651 }) => { 49652 const getCurrentSize = (elt) => { 49653 return orientation === "horizontal" ? elt.clientWidth : elt.clientHeight; 49654 }; 49655 const getNextVal = (elt) => { 49656 return `$getCurrentSize(elt)}px`; 49657 }; 49658 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49659 external_wp_components_namespaceObject.ResizableBox, 49660 { 49661 className: dist_clsx("block-library-spacer__resize-container", { 49662 "resize-horizontal": orientation === "horizontal", 49663 "is-resizing": isResizing, 49664 "is-selected": isSelected 49665 }), 49666 onResizeStart: (_event, _direction, elt) => { 49667 const nextVal = getNextVal(elt); 49668 onResizeStart(nextVal); 49669 onResize(nextVal); 49670 }, 49671 onResize: (_event, _direction, elt) => { 49672 onResize(getNextVal(elt)); 49673 if (!isResizing) { 49674 setIsResizing(true); 49675 } 49676 }, 49677 onResizeStop: (_event, _direction, elt) => { 49678 const nextVal = getCurrentSize(elt); 49679 onResizeStop(`$nextVal}px`); 49680 setIsResizing(false); 49681 }, 49682 __experimentalShowTooltip: true, 49683 __experimentalTooltipProps: { 49684 axis: orientation === "horizontal" ? "x" : "y", 49685 position: "corner", 49686 isVisible: isResizing 49687 }, 49688 showHandle: isSelected, 49689 ...props 49690 } 49691 ); 49692 }; 49693 const SpacerEdit = ({ 49694 attributes, 49695 isSelected, 49696 setAttributes, 49697 toggleSelection, 49698 context, 49699 __unstableParentLayout: parentLayout, 49700 className 49701 }) => { 49702 const disableCustomSpacingSizes = (0,external_wp_data_namespaceObject.useSelect)((select) => { 49703 const editorSettings = select(external_wp_blockEditor_namespaceObject.store).getSettings(); 49704 return editorSettings?.disableCustomSpacingSizes; 49705 }); 49706 const { orientation } = context; 49707 const { 49708 orientation: parentOrientation, 49709 type, 49710 default: { type: defaultType } = {} 49711 } = parentLayout || {}; 49712 const isFlexLayout = type === "flex" || !type && defaultType === "flex"; 49713 const inheritedOrientation = !parentOrientation && isFlexLayout ? "horizontal" : parentOrientation || orientation; 49714 const { height, width, style: blockStyle = {} } = attributes; 49715 const { layout = {} } = blockStyle; 49716 const { selfStretch, flexSize } = layout; 49717 const spacingSizes = edit_useSpacingSizes(); 49718 const [isResizing, setIsResizing] = (0,external_wp_element_namespaceObject.useState)(false); 49719 const [temporaryHeight, setTemporaryHeight] = (0,external_wp_element_namespaceObject.useState)(null); 49720 const [temporaryWidth, setTemporaryWidth] = (0,external_wp_element_namespaceObject.useState)(null); 49721 const onResizeStart = () => toggleSelection(false); 49722 const onResizeStop = () => toggleSelection(true); 49723 const { __unstableMarkNextChangeAsNotPersistent } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 49724 const handleOnVerticalResizeStop = (newHeight) => { 49725 onResizeStop(); 49726 if (isFlexLayout) { 49727 setAttributes({ 49728 style: { 49729 ...blockStyle, 49730 layout: { 49731 ...layout, 49732 flexSize: newHeight, 49733 selfStretch: "fixed" 49734 } 49735 } 49736 }); 49737 } 49738 setAttributes({ height: newHeight }); 49739 setTemporaryHeight(null); 49740 }; 49741 const handleOnHorizontalResizeStop = (newWidth) => { 49742 onResizeStop(); 49743 if (isFlexLayout) { 49744 setAttributes({ 49745 style: { 49746 ...blockStyle, 49747 layout: { 49748 ...layout, 49749 flexSize: newWidth, 49750 selfStretch: "fixed" 49751 } 49752 } 49753 }); 49754 } 49755 setAttributes({ width: newWidth }); 49756 setTemporaryWidth(null); 49757 }; 49758 const getHeightForVerticalBlocks = () => { 49759 if (isFlexLayout) { 49760 return void 0; 49761 } 49762 return temporaryHeight || (0,external_wp_blockEditor_namespaceObject.getSpacingPresetCssVar)(height) || void 0; 49763 }; 49764 const getWidthForHorizontalBlocks = () => { 49765 if (isFlexLayout) { 49766 return void 0; 49767 } 49768 return temporaryWidth || (0,external_wp_blockEditor_namespaceObject.getSpacingPresetCssVar)(width) || void 0; 49769 }; 49770 const sizeConditionalOnOrientation = inheritedOrientation === "horizontal" ? temporaryWidth || flexSize : temporaryHeight || flexSize; 49771 const style = { 49772 height: inheritedOrientation === "horizontal" ? 24 : getHeightForVerticalBlocks(), 49773 width: inheritedOrientation === "horizontal" ? getWidthForHorizontalBlocks() : void 0, 49774 // In vertical flex containers, the spacer shrinks to nothing without a minimum width. 49775 minWidth: inheritedOrientation === "vertical" && isFlexLayout ? 48 : void 0, 49776 // Add flex-basis so temporary sizes are respected. 49777 flexBasis: isFlexLayout ? sizeConditionalOnOrientation : void 0, 49778 // Remove flex-grow when resizing. 49779 flexGrow: isFlexLayout && isResizing ? 0 : void 0 49780 }; 49781 const resizableBoxWithOrientation = (blockOrientation) => { 49782 if (blockOrientation === "horizontal") { 49783 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49784 ResizableSpacer, 49785 { 49786 minWidth: MIN_SPACER_SIZE, 49787 enable: { 49788 top: false, 49789 right: true, 49790 bottom: false, 49791 left: false, 49792 topRight: false, 49793 bottomRight: false, 49794 bottomLeft: false, 49795 topLeft: false 49796 }, 49797 orientation: blockOrientation, 49798 onResizeStart, 49799 onResize: setTemporaryWidth, 49800 onResizeStop: handleOnHorizontalResizeStop, 49801 isSelected, 49802 isResizing, 49803 setIsResizing 49804 } 49805 ); 49806 } 49807 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49808 ResizableSpacer, 49809 { 49810 minHeight: MIN_SPACER_SIZE, 49811 enable: { 49812 top: false, 49813 right: false, 49814 bottom: true, 49815 left: false, 49816 topRight: false, 49817 bottomRight: false, 49818 bottomLeft: false, 49819 topLeft: false 49820 }, 49821 orientation: blockOrientation, 49822 onResizeStart, 49823 onResize: setTemporaryHeight, 49824 onResizeStop: handleOnVerticalResizeStop, 49825 isSelected, 49826 isResizing, 49827 setIsResizing 49828 } 49829 ) }); 49830 }; 49831 (0,external_wp_element_namespaceObject.useEffect)(() => { 49832 const setAttributesCovertly = (nextAttributes) => { 49833 __unstableMarkNextChangeAsNotPersistent(); 49834 setAttributes(nextAttributes); 49835 }; 49836 if (isFlexLayout && selfStretch !== "fill" && selfStretch !== "fit" && flexSize === void 0) { 49837 if (inheritedOrientation === "horizontal") { 49838 const newSize = (0,external_wp_blockEditor_namespaceObject.getCustomValueFromPreset)(width, spacingSizes) || (0,external_wp_blockEditor_namespaceObject.getCustomValueFromPreset)(height, spacingSizes) || "100px"; 49839 setAttributesCovertly({ 49840 width: "0px", 49841 style: { 49842 ...blockStyle, 49843 layout: { 49844 ...layout, 49845 flexSize: newSize, 49846 selfStretch: "fixed" 49847 } 49848 } 49849 }); 49850 } else { 49851 const newSize = (0,external_wp_blockEditor_namespaceObject.getCustomValueFromPreset)(height, spacingSizes) || (0,external_wp_blockEditor_namespaceObject.getCustomValueFromPreset)(width, spacingSizes) || "100px"; 49852 setAttributesCovertly({ 49853 height: "0px", 49854 style: { 49855 ...blockStyle, 49856 layout: { 49857 ...layout, 49858 flexSize: newSize, 49859 selfStretch: "fixed" 49860 } 49861 } 49862 }); 49863 } 49864 } else if (isFlexLayout && (selfStretch === "fill" || selfStretch === "fit")) { 49865 setAttributesCovertly( 49866 inheritedOrientation === "horizontal" ? { width: void 0 } : { height: void 0 } 49867 ); 49868 } else if (!isFlexLayout && (selfStretch || flexSize)) { 49869 setAttributesCovertly({ 49870 ...inheritedOrientation === "horizontal" ? { width: flexSize } : { height: flexSize }, 49871 style: { 49872 ...blockStyle, 49873 layout: { 49874 ...layout, 49875 flexSize: void 0, 49876 selfStretch: void 0 49877 } 49878 } 49879 }); 49880 } 49881 }, [ 49882 blockStyle, 49883 flexSize, 49884 height, 49885 inheritedOrientation, 49886 isFlexLayout, 49887 layout, 49888 selfStretch, 49889 setAttributes, 49890 spacingSizes, 49891 width, 49892 __unstableMarkNextChangeAsNotPersistent 49893 ]); 49894 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 49895 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 49896 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49897 external_wp_primitives_namespaceObject.View, 49898 { 49899 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 49900 style, 49901 className: dist_clsx(className, { 49902 "custom-sizes-disabled": disableCustomSpacingSizes 49903 }) 49904 }), 49905 children: blockEditingMode === "default" && resizableBoxWithOrientation(inheritedOrientation) 49906 } 49907 ), 49908 !isFlexLayout && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49909 SpacerControls, 49910 { 49911 setAttributes, 49912 height: temporaryHeight || height, 49913 width: temporaryWidth || width, 49914 orientation: inheritedOrientation, 49915 isResizing 49916 } 49917 ) 49918 ] }); 49919 }; 49920 var spacer_edit_edit_default = SpacerEdit; 49921 49922 49923 ;// ./node_modules/@wordpress/block-library/build-module/spacer/block.json 49924 const spacer_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/spacer","title":"Spacer","category":"design","description":"Add white space between blocks and customize its height.","textdomain":"default","attributes":{"height":{"type":"string","default":"100px"},"width":{"type":"string"}},"usesContext":["orientation"],"supports":{"anchor":true,"spacing":{"margin":["top","bottom"],"__experimentalDefaultControls":{"margin":true}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-spacer-editor","style":"wp-block-spacer"}'); 49925 ;// ./node_modules/@wordpress/block-library/build-module/spacer/transforms.js 49926 49927 const spacer_transforms_transforms = { 49928 to: [ 49929 { 49930 type: "block", 49931 blocks: ["core/separator"], 49932 // Transform to Separator. 49933 transform: ({ anchor }) => { 49934 return (0,external_wp_blocks_namespaceObject.createBlock)("core/separator", { 49935 anchor: anchor || "" 49936 }); 49937 } 49938 } 49939 ] 49940 }; 49941 var spacer_transforms_transforms_default = spacer_transforms_transforms; 49942 49943 49944 ;// ./node_modules/@wordpress/block-library/build-module/spacer/save.js 49945 49946 49947 function spacer_save_save({ attributes }) { 49948 const { height, width, style } = attributes; 49949 const { layout: { selfStretch } = {} } = style || {}; 49950 const finalHeight = selfStretch === "fill" || selfStretch === "fit" ? void 0 : height; 49951 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 49952 "div", 49953 { 49954 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 49955 style: { 49956 height: (0,external_wp_blockEditor_namespaceObject.getSpacingPresetCssVar)(finalHeight), 49957 width: (0,external_wp_blockEditor_namespaceObject.getSpacingPresetCssVar)(width) 49958 }, 49959 "aria-hidden": true 49960 }) 49961 } 49962 ); 49963 } 49964 49965 49966 ;// ./node_modules/@wordpress/block-library/build-module/spacer/index.js 49967 49968 49969 49970 49971 49972 49973 49974 const { name: spacer_name } = spacer_block_namespaceObject; 49975 const spacer_settings = { 49976 icon: resize_corner_n_e_default, 49977 transforms: spacer_transforms_transforms_default, 49978 edit: spacer_edit_edit_default, 49979 save: spacer_save_save, 49980 deprecated: spacer_deprecated_deprecated_default 49981 }; 49982 const spacer_init = () => initBlock({ name: spacer_name, metadata: spacer_block_namespaceObject, settings: spacer_settings }); 49983 49984 49985 ;// ./node_modules/@wordpress/icons/build-module/library/block-table.js 49986 49987 49988 var block_table_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z" }) }); 49989 49990 49991 ;// ./node_modules/@wordpress/block-library/build-module/table/deprecated.js 49992 49993 49994 49995 const oldColors = { 49996 "subtle-light-gray": "#f3f4f5", 49997 "subtle-pale-green": "#e9fbe5", 49998 "subtle-pale-blue": "#e7f5fe", 49999 "subtle-pale-pink": "#fcf0ef" 50000 }; 50001 const v4Query = { 50002 content: { 50003 type: "rich-text", 50004 source: "rich-text" 50005 }, 50006 tag: { 50007 type: "string", 50008 default: "td", 50009 source: "tag" 50010 }, 50011 scope: { 50012 type: "string", 50013 source: "attribute", 50014 attribute: "scope" 50015 }, 50016 align: { 50017 type: "string", 50018 source: "attribute", 50019 attribute: "data-align" 50020 }, 50021 colspan: { 50022 type: "string", 50023 source: "attribute", 50024 attribute: "colspan" 50025 }, 50026 rowspan: { 50027 type: "string", 50028 source: "attribute", 50029 attribute: "rowspan" 50030 } 50031 }; 50032 const table_deprecated_v4 = { 50033 attributes: { 50034 hasFixedLayout: { 50035 type: "boolean", 50036 default: false 50037 }, 50038 caption: { 50039 type: "rich-text", 50040 source: "rich-text", 50041 selector: "figcaption" 50042 }, 50043 head: { 50044 type: "array", 50045 default: [], 50046 source: "query", 50047 selector: "thead tr", 50048 query: { 50049 cells: { 50050 type: "array", 50051 default: [], 50052 source: "query", 50053 selector: "td,th", 50054 query: v4Query 50055 } 50056 } 50057 }, 50058 body: { 50059 type: "array", 50060 default: [], 50061 source: "query", 50062 selector: "tbody tr", 50063 query: { 50064 cells: { 50065 type: "array", 50066 default: [], 50067 source: "query", 50068 selector: "td,th", 50069 query: v4Query 50070 } 50071 } 50072 }, 50073 foot: { 50074 type: "array", 50075 default: [], 50076 source: "query", 50077 selector: "tfoot tr", 50078 query: { 50079 cells: { 50080 type: "array", 50081 default: [], 50082 source: "query", 50083 selector: "td,th", 50084 query: v4Query 50085 } 50086 } 50087 } 50088 }, 50089 supports: { 50090 anchor: true, 50091 align: true, 50092 color: { 50093 __experimentalSkipSerialization: true, 50094 gradients: true, 50095 __experimentalDefaultControls: { 50096 background: true, 50097 text: true 50098 } 50099 }, 50100 spacing: { 50101 margin: true, 50102 padding: true, 50103 __experimentalDefaultControls: { 50104 margin: false, 50105 padding: false 50106 } 50107 }, 50108 typography: { 50109 fontSize: true, 50110 lineHeight: true, 50111 __experimentalFontFamily: true, 50112 __experimentalFontStyle: true, 50113 __experimentalFontWeight: true, 50114 __experimentalLetterSpacing: true, 50115 __experimentalTextTransform: true, 50116 __experimentalTextDecoration: true, 50117 __experimentalDefaultControls: { 50118 fontSize: true 50119 } 50120 }, 50121 __experimentalBorder: { 50122 __experimentalSkipSerialization: true, 50123 color: true, 50124 style: true, 50125 width: true, 50126 __experimentalDefaultControls: { 50127 color: true, 50128 style: true, 50129 width: true 50130 } 50131 }, 50132 __experimentalSelector: ".wp-block-table > table", 50133 interactivity: { 50134 clientNavigation: true 50135 } 50136 }, 50137 save({ attributes }) { 50138 const { hasFixedLayout, head, body, foot, caption } = attributes; 50139 const isEmpty = !head.length && !body.length && !foot.length; 50140 if (isEmpty) { 50141 return null; 50142 } 50143 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 50144 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 50145 const classes = dist_clsx(colorProps.className, borderProps.className, { 50146 "has-fixed-layout": hasFixedLayout 50147 }); 50148 const hasCaption = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption); 50149 const Section = ({ type, rows }) => { 50150 if (!rows.length) { 50151 return null; 50152 } 50153 const Tag = `t$type}`; 50154 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { children: rows.map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 50155 ({ 50156 content, 50157 tag, 50158 scope, 50159 align, 50160 colspan, 50161 rowspan 50162 }, cellIndex) => { 50163 const cellClasses = dist_clsx({ 50164 [`has-text-align-$align}`]: align 50165 }); 50166 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 50167 external_wp_blockEditor_namespaceObject.RichText.Content, 50168 { 50169 className: cellClasses ? cellClasses : void 0, 50170 "data-align": align, 50171 tagName: tag, 50172 value: content, 50173 scope: tag === "th" ? scope : void 0, 50174 colSpan: colspan, 50175 rowSpan: rowspan 50176 }, 50177 cellIndex 50178 ); 50179 } 50180 ) }, rowIndex)) }); 50181 }; 50182 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 50183 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 50184 "table", 50185 { 50186 className: classes === "" ? void 0 : classes, 50187 style: { ...colorProps.style, ...borderProps.style }, 50188 children: [ 50189 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "head", rows: head }), 50190 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "body", rows: body }), 50191 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "foot", rows: foot }) 50192 ] 50193 } 50194 ), 50195 hasCaption && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 50196 external_wp_blockEditor_namespaceObject.RichText.Content, 50197 { 50198 tagName: "figcaption", 50199 value: caption, 50200 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)( 50201 "caption" 50202 ) 50203 } 50204 ) 50205 ] }); 50206 } 50207 }; 50208 const v3Query = { 50209 content: { 50210 type: "string", 50211 source: "html" 50212 }, 50213 tag: { 50214 type: "string", 50215 default: "td", 50216 source: "tag" 50217 }, 50218 scope: { 50219 type: "string", 50220 source: "attribute", 50221 attribute: "scope" 50222 }, 50223 align: { 50224 type: "string", 50225 source: "attribute", 50226 attribute: "data-align" 50227 } 50228 }; 50229 const table_deprecated_v3 = { 50230 attributes: { 50231 hasFixedLayout: { 50232 type: "boolean", 50233 default: false 50234 }, 50235 caption: { 50236 type: "string", 50237 source: "html", 50238 selector: "figcaption", 50239 default: "" 50240 }, 50241 head: { 50242 type: "array", 50243 default: [], 50244 source: "query", 50245 selector: "thead tr", 50246 query: { 50247 cells: { 50248 type: "array", 50249 default: [], 50250 source: "query", 50251 selector: "td,th", 50252 query: v3Query 50253 } 50254 } 50255 }, 50256 body: { 50257 type: "array", 50258 default: [], 50259 source: "query", 50260 selector: "tbody tr", 50261 query: { 50262 cells: { 50263 type: "array", 50264 default: [], 50265 source: "query", 50266 selector: "td,th", 50267 query: v3Query 50268 } 50269 } 50270 }, 50271 foot: { 50272 type: "array", 50273 default: [], 50274 source: "query", 50275 selector: "tfoot tr", 50276 query: { 50277 cells: { 50278 type: "array", 50279 default: [], 50280 source: "query", 50281 selector: "td,th", 50282 query: v3Query 50283 } 50284 } 50285 } 50286 }, 50287 supports: { 50288 anchor: true, 50289 align: true, 50290 color: { 50291 __experimentalSkipSerialization: true, 50292 gradients: true, 50293 __experimentalDefaultControls: { 50294 background: true, 50295 text: true 50296 } 50297 }, 50298 spacing: { 50299 margin: true, 50300 padding: true 50301 }, 50302 typography: { 50303 fontSize: true, 50304 lineHeight: true, 50305 __experimentalFontFamily: true, 50306 __experimentalFontStyle: true, 50307 __experimentalFontWeight: true, 50308 __experimentalLetterSpacing: true, 50309 __experimentalTextTransform: true, 50310 __experimentalTextDecoration: true, 50311 __experimentalDefaultControls: { 50312 fontSize: true 50313 } 50314 }, 50315 __experimentalBorder: { 50316 __experimentalSkipSerialization: true, 50317 color: true, 50318 style: true, 50319 width: true, 50320 __experimentalDefaultControls: { 50321 color: true, 50322 style: true, 50323 width: true 50324 } 50325 }, 50326 __experimentalSelector: ".wp-block-table > table" 50327 }, 50328 save({ attributes }) { 50329 const { hasFixedLayout, head, body, foot, caption } = attributes; 50330 const isEmpty = !head.length && !body.length && !foot.length; 50331 if (isEmpty) { 50332 return null; 50333 } 50334 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 50335 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 50336 const classes = dist_clsx(colorProps.className, borderProps.className, { 50337 "has-fixed-layout": hasFixedLayout 50338 }); 50339 const hasCaption = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption); 50340 const Section = ({ type, rows }) => { 50341 if (!rows.length) { 50342 return null; 50343 } 50344 const Tag = `t$type}`; 50345 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { children: rows.map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 50346 ({ content, tag, scope, align }, cellIndex) => { 50347 const cellClasses = dist_clsx({ 50348 [`has-text-align-$align}`]: align 50349 }); 50350 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 50351 external_wp_blockEditor_namespaceObject.RichText.Content, 50352 { 50353 className: cellClasses ? cellClasses : void 0, 50354 "data-align": align, 50355 tagName: tag, 50356 value: content, 50357 scope: tag === "th" ? scope : void 0 50358 }, 50359 cellIndex 50360 ); 50361 } 50362 ) }, rowIndex)) }); 50363 }; 50364 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 50365 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 50366 "table", 50367 { 50368 className: classes === "" ? void 0 : classes, 50369 style: { ...colorProps.style, ...borderProps.style }, 50370 children: [ 50371 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "head", rows: head }), 50372 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "body", rows: body }), 50373 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "foot", rows: foot }) 50374 ] 50375 } 50376 ), 50377 hasCaption && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 50378 ] }); 50379 } 50380 }; 50381 const v2Query = { 50382 content: { 50383 type: "string", 50384 source: "html" 50385 }, 50386 tag: { 50387 type: "string", 50388 default: "td", 50389 source: "tag" 50390 }, 50391 scope: { 50392 type: "string", 50393 source: "attribute", 50394 attribute: "scope" 50395 }, 50396 align: { 50397 type: "string", 50398 source: "attribute", 50399 attribute: "data-align" 50400 } 50401 }; 50402 const table_deprecated_v2 = { 50403 attributes: { 50404 hasFixedLayout: { 50405 type: "boolean", 50406 default: false 50407 }, 50408 backgroundColor: { 50409 type: "string" 50410 }, 50411 caption: { 50412 type: "string", 50413 source: "html", 50414 selector: "figcaption", 50415 default: "" 50416 }, 50417 head: { 50418 type: "array", 50419 default: [], 50420 source: "query", 50421 selector: "thead tr", 50422 query: { 50423 cells: { 50424 type: "array", 50425 default: [], 50426 source: "query", 50427 selector: "td,th", 50428 query: v2Query 50429 } 50430 } 50431 }, 50432 body: { 50433 type: "array", 50434 default: [], 50435 source: "query", 50436 selector: "tbody tr", 50437 query: { 50438 cells: { 50439 type: "array", 50440 default: [], 50441 source: "query", 50442 selector: "td,th", 50443 query: v2Query 50444 } 50445 } 50446 }, 50447 foot: { 50448 type: "array", 50449 default: [], 50450 source: "query", 50451 selector: "tfoot tr", 50452 query: { 50453 cells: { 50454 type: "array", 50455 default: [], 50456 source: "query", 50457 selector: "td,th", 50458 query: v2Query 50459 } 50460 } 50461 } 50462 }, 50463 supports: { 50464 anchor: true, 50465 align: true, 50466 __experimentalSelector: ".wp-block-table > table" 50467 }, 50468 save: ({ attributes }) => { 50469 const { hasFixedLayout, head, body, foot, backgroundColor, caption } = attributes; 50470 const isEmpty = !head.length && !body.length && !foot.length; 50471 if (isEmpty) { 50472 return null; 50473 } 50474 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 50475 "background-color", 50476 backgroundColor 50477 ); 50478 const classes = dist_clsx(backgroundClass, { 50479 "has-fixed-layout": hasFixedLayout, 50480 "has-background": !!backgroundClass 50481 }); 50482 const hasCaption = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption); 50483 const Section = ({ type, rows }) => { 50484 if (!rows.length) { 50485 return null; 50486 } 50487 const Tag = `t$type}`; 50488 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { children: rows.map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 50489 ({ content, tag, scope, align }, cellIndex) => { 50490 const cellClasses = dist_clsx({ 50491 [`has-text-align-$align}`]: align 50492 }); 50493 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 50494 external_wp_blockEditor_namespaceObject.RichText.Content, 50495 { 50496 className: cellClasses ? cellClasses : void 0, 50497 "data-align": align, 50498 tagName: tag, 50499 value: content, 50500 scope: tag === "th" ? scope : void 0 50501 }, 50502 cellIndex 50503 ); 50504 } 50505 ) }, rowIndex)) }); 50506 }; 50507 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 50508 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("table", { className: classes === "" ? void 0 : classes, children: [ 50509 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "head", rows: head }), 50510 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "body", rows: body }), 50511 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "foot", rows: foot }) 50512 ] }), 50513 hasCaption && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 50514 ] }); 50515 }, 50516 isEligible: (attributes) => { 50517 return attributes.backgroundColor && attributes.backgroundColor in oldColors && !attributes.style; 50518 }, 50519 // This version is the first to introduce the style attribute to the 50520 // table block. As a result, we'll explicitly override that. 50521 migrate: (attributes) => { 50522 return { 50523 ...attributes, 50524 backgroundColor: void 0, 50525 style: { 50526 color: { 50527 background: oldColors[attributes.backgroundColor] 50528 } 50529 } 50530 }; 50531 } 50532 }; 50533 const v1Query = { 50534 content: { 50535 type: "string", 50536 source: "html" 50537 }, 50538 tag: { 50539 type: "string", 50540 default: "td", 50541 source: "tag" 50542 }, 50543 scope: { 50544 type: "string", 50545 source: "attribute", 50546 attribute: "scope" 50547 } 50548 }; 50549 const table_deprecated_v1 = { 50550 attributes: { 50551 hasFixedLayout: { 50552 type: "boolean", 50553 default: false 50554 }, 50555 backgroundColor: { 50556 type: "string" 50557 }, 50558 head: { 50559 type: "array", 50560 default: [], 50561 source: "query", 50562 selector: "thead tr", 50563 query: { 50564 cells: { 50565 type: "array", 50566 default: [], 50567 source: "query", 50568 selector: "td,th", 50569 query: v1Query 50570 } 50571 } 50572 }, 50573 body: { 50574 type: "array", 50575 default: [], 50576 source: "query", 50577 selector: "tbody tr", 50578 query: { 50579 cells: { 50580 type: "array", 50581 default: [], 50582 source: "query", 50583 selector: "td,th", 50584 query: v1Query 50585 } 50586 } 50587 }, 50588 foot: { 50589 type: "array", 50590 default: [], 50591 source: "query", 50592 selector: "tfoot tr", 50593 query: { 50594 cells: { 50595 type: "array", 50596 default: [], 50597 source: "query", 50598 selector: "td,th", 50599 query: v1Query 50600 } 50601 } 50602 } 50603 }, 50604 supports: { 50605 align: true 50606 }, 50607 save({ attributes }) { 50608 const { hasFixedLayout, head, body, foot, backgroundColor } = attributes; 50609 const isEmpty = !head.length && !body.length && !foot.length; 50610 if (isEmpty) { 50611 return null; 50612 } 50613 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)( 50614 "background-color", 50615 backgroundColor 50616 ); 50617 const classes = dist_clsx(backgroundClass, { 50618 "has-fixed-layout": hasFixedLayout, 50619 "has-background": !!backgroundClass 50620 }); 50621 const Section = ({ type, rows }) => { 50622 if (!rows.length) { 50623 return null; 50624 } 50625 const Tag = `t$type}`; 50626 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { children: rows.map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 50627 ({ content, tag, scope }, cellIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 50628 external_wp_blockEditor_namespaceObject.RichText.Content, 50629 { 50630 tagName: tag, 50631 value: content, 50632 scope: tag === "th" ? scope : void 0 50633 }, 50634 cellIndex 50635 ) 50636 ) }, rowIndex)) }); 50637 }; 50638 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("table", { className: classes, children: [ 50639 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "head", rows: head }), 50640 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "body", rows: body }), 50641 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "foot", rows: foot }) 50642 ] }); 50643 } 50644 }; 50645 var table_deprecated_deprecated_default = [table_deprecated_v4, table_deprecated_v3, table_deprecated_v2, table_deprecated_v1]; 50646 50647 50648 ;// ./node_modules/@wordpress/icons/build-module/library/align-left.js 50649 50650 50651 var align_left_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 5.5H4V4h9v1.5Zm7 7H4V11h16v1.5Zm-7 7H4V18h9v1.5Z" }) }); 50652 50653 50654 ;// ./node_modules/@wordpress/icons/build-module/library/align-center.js 50655 50656 50657 var align_center_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M7.5 5.5h9V4h-9v1.5Zm-3.5 7h16V11H4v1.5Zm3.5 7h9V18h-9v1.5Z" }) }); 50658 50659 50660 ;// ./node_modules/@wordpress/icons/build-module/library/align-right.js 50661 50662 50663 var align_right_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M11.111 5.5H20V4h-8.889v1.5ZM4 12.5h16V11H4v1.5Zm7.111 7H20V18h-8.889v1.5Z" }) }); 50664 50665 50666 ;// ./node_modules/@wordpress/icons/build-module/library/table-row-before.js 50667 50668 50669 var table_row_before_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M21 5c0-1.1-.9-2-2-2H5c-1 0-1.9.8-2 1.8V19.2c.1.9.9 1.7 1.8 1.8H19c1.1 0 2-.9 2-2V5ZM4.5 14V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v9h-15Zm4 5.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm5.5 0h-4v-4h4v4Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19ZM11.2 10h-3V8.5h3v-3h1.5v3h3V10h-3v3h-1.5v-3Z" }) }); 50670 50671 50672 ;// ./node_modules/@wordpress/icons/build-module/library/table-row-after.js 50673 50674 50675 var table_row_after_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-9 1.5h4v4h-4v-4ZM4.5 5c0-.3.2-.5.5-.5h3.5v4h-4V5Zm15 14c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-8.3 10h1.5v-3h3V14h-3v-3h-1.5v3h-3v1.5h3v3Z" }) }); 50676 50677 50678 ;// ./node_modules/@wordpress/icons/build-module/library/table-row-delete.js 50679 50680 50681 var table_row_delete_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H4.8c-.9.1-1.7.9-1.8 1.8V19.2c.1 1 1 1.8 2 1.8h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-9h15v9Zm0-10.5h-15V5c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v3.5Zm-9.6 9.4 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1 2.1-2.1-1.1-1.1-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1Z" }) }); 50682 50683 50684 ;// ./node_modules/@wordpress/icons/build-module/library/table-column-before.js 50685 50686 50687 var table_column_before_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1 .8 1.9 1.8 2H19.2c.9-.1 1.7-.9 1.8-1.8V5c0-1.1-.9-2-2-2Zm-5 16.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h9v15Zm5.5-.5c0 .3-.2.5-.5.5h-3.5v-4h4V19Zm0-5h-4v-4h4v4Zm0-5.5h-4v-4H19c.3 0 .5.2.5.5v3.5Zm-11 7.3H10v-3h3v-1.5h-3v-3H8.5v3h-3v1.5h3v3Z" }) }); 50688 50689 50690 ;// ./node_modules/@wordpress/icons/build-module/library/table-column-after.js 50691 50692 50693 var table_column_after_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5v-3.5h4v4Zm0-5.5h-4v-4h4v4Zm0-5.5h-4V5c0-.3.2-.5.5-.5h3.5v4Zm11 10.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14Zm-4-10.8H14v3h-3v1.5h3v3h1.5v-3h3v-1.5h-3v-3Z" }) }); 50694 50695 50696 ;// ./node_modules/@wordpress/icons/build-module/library/table-column-delete.js 50697 50698 50699 var table_column_delete_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14.2c.1.9.9 1.7 1.8 1.8H19.2c1-.1 1.8-1 1.8-2V5c0-1.1-.9-2-2-2ZM8.5 19.5H5c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h3.5v15Zm11-.5c0 .3-.2.5-.5.5h-9v-15h9c.3 0 .5.2.5.5v14ZM16.9 8.8l-2.1 2.1-2.1-2.1-1.1 1.1 2.1 2.1-2.1 2.1 1.1 1.1 2.1-2.1 2.1 2.1 1.1-1.1-2.1-2.1L18 9.9l-1.1-1.1Z" }) }); 50700 50701 50702 ;// ./node_modules/@wordpress/icons/build-module/library/table.js 50703 50704 50705 var table_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm.5 2v6.2h-6.8V4.4h6.2c.3 0 .5.2.5.5ZM5 4.5h6.2v6.8H4.4V5.1c0-.3.2-.5.5-.5ZM4.5 19v-6.2h6.8v6.8H5.1c-.3 0-.5-.2-.5-.5Zm14.5.5h-6.2v-6.8h6.8v6.2c0 .3-.2.5-.5.5Z" }) }); 50706 50707 50708 ;// ./node_modules/@wordpress/block-library/build-module/table/state.js 50709 const INHERITED_COLUMN_ATTRIBUTES = ["align"]; 50710 function createTable({ rowCount, columnCount }) { 50711 return { 50712 body: Array.from({ length: rowCount }).map(() => ({ 50713 cells: Array.from({ length: columnCount }).map(() => ({ 50714 content: "", 50715 tag: "td" 50716 })) 50717 })) 50718 }; 50719 } 50720 function getFirstRow(state) { 50721 if (!isEmptyTableSection(state.head)) { 50722 return state.head[0]; 50723 } 50724 if (!isEmptyTableSection(state.body)) { 50725 return state.body[0]; 50726 } 50727 if (!isEmptyTableSection(state.foot)) { 50728 return state.foot[0]; 50729 } 50730 } 50731 function getCellAttribute(state, cellLocation, attributeName) { 50732 const { sectionName, rowIndex, columnIndex } = cellLocation; 50733 return state[sectionName]?.[rowIndex]?.cells?.[columnIndex]?.[attributeName]; 50734 } 50735 function updateSelectedCell(state, selection, updateCell) { 50736 if (!selection) { 50737 return state; 50738 } 50739 const tableSections = Object.fromEntries( 50740 Object.entries(state).filter( 50741 ([key]) => ["head", "body", "foot"].includes(key) 50742 ) 50743 ); 50744 const { sectionName: selectionSectionName, rowIndex: selectionRowIndex } = selection; 50745 return Object.fromEntries( 50746 Object.entries(tableSections).map(([sectionName, section]) => { 50747 if (selectionSectionName && selectionSectionName !== sectionName) { 50748 return [sectionName, section]; 50749 } 50750 return [ 50751 sectionName, 50752 section.map((row, rowIndex) => { 50753 if (selectionRowIndex && selectionRowIndex !== rowIndex) { 50754 return row; 50755 } 50756 return { 50757 cells: row.cells.map( 50758 (cellAttributes, columnIndex) => { 50759 const cellLocation = { 50760 sectionName, 50761 columnIndex, 50762 rowIndex 50763 }; 50764 if (!isCellSelected(cellLocation, selection)) { 50765 return cellAttributes; 50766 } 50767 return updateCell(cellAttributes); 50768 } 50769 ) 50770 }; 50771 }) 50772 ]; 50773 }) 50774 ); 50775 } 50776 function isCellSelected(cellLocation, selection) { 50777 if (!cellLocation || !selection) { 50778 return false; 50779 } 50780 switch (selection.type) { 50781 case "column": 50782 return selection.type === "column" && cellLocation.columnIndex === selection.columnIndex; 50783 case "cell": 50784 return selection.type === "cell" && cellLocation.sectionName === selection.sectionName && cellLocation.columnIndex === selection.columnIndex && cellLocation.rowIndex === selection.rowIndex; 50785 } 50786 } 50787 function insertRow(state, { sectionName, rowIndex, columnCount }) { 50788 const firstRow = getFirstRow(state); 50789 const cellCount = columnCount === void 0 ? firstRow?.cells?.length : columnCount; 50790 if (!cellCount) { 50791 return state; 50792 } 50793 return { 50794 [sectionName]: [ 50795 ...state[sectionName].slice(0, rowIndex), 50796 { 50797 cells: Array.from({ length: cellCount }).map( 50798 (_, index) => { 50799 const firstCellInColumn = firstRow?.cells?.[index] ?? {}; 50800 const inheritedAttributes = Object.fromEntries( 50801 Object.entries(firstCellInColumn).filter( 50802 ([key]) => INHERITED_COLUMN_ATTRIBUTES.includes(key) 50803 ) 50804 ); 50805 return { 50806 ...inheritedAttributes, 50807 content: "", 50808 tag: sectionName === "head" ? "th" : "td" 50809 }; 50810 } 50811 ) 50812 }, 50813 ...state[sectionName].slice(rowIndex) 50814 ] 50815 }; 50816 } 50817 function deleteRow(state, { sectionName, rowIndex }) { 50818 return { 50819 [sectionName]: state[sectionName].filter( 50820 (row, index) => index !== rowIndex 50821 ) 50822 }; 50823 } 50824 function insertColumn(state, { columnIndex }) { 50825 const tableSections = Object.fromEntries( 50826 Object.entries(state).filter( 50827 ([key]) => ["head", "body", "foot"].includes(key) 50828 ) 50829 ); 50830 return Object.fromEntries( 50831 Object.entries(tableSections).map(([sectionName, section]) => { 50832 if (isEmptyTableSection(section)) { 50833 return [sectionName, section]; 50834 } 50835 return [ 50836 sectionName, 50837 section.map((row) => { 50838 if (isEmptyRow(row) || row.cells.length < columnIndex) { 50839 return row; 50840 } 50841 return { 50842 cells: [ 50843 ...row.cells.slice(0, columnIndex), 50844 { 50845 content: "", 50846 tag: sectionName === "head" ? "th" : "td" 50847 }, 50848 ...row.cells.slice(columnIndex) 50849 ] 50850 }; 50851 }) 50852 ]; 50853 }) 50854 ); 50855 } 50856 function deleteColumn(state, { columnIndex }) { 50857 const tableSections = Object.fromEntries( 50858 Object.entries(state).filter( 50859 ([key]) => ["head", "body", "foot"].includes(key) 50860 ) 50861 ); 50862 return Object.fromEntries( 50863 Object.entries(tableSections).map(([sectionName, section]) => { 50864 if (isEmptyTableSection(section)) { 50865 return [sectionName, section]; 50866 } 50867 return [ 50868 sectionName, 50869 section.map((row) => ({ 50870 cells: row.cells.length >= columnIndex ? row.cells.filter( 50871 (cell, index) => index !== columnIndex 50872 ) : row.cells 50873 })).filter((row) => row.cells.length) 50874 ]; 50875 }) 50876 ); 50877 } 50878 function toggleSection(state, sectionName) { 50879 if (!isEmptyTableSection(state[sectionName])) { 50880 return { [sectionName]: [] }; 50881 } 50882 const columnCount = state.body?.[0]?.cells?.length ?? 1; 50883 return insertRow(state, { sectionName, rowIndex: 0, columnCount }); 50884 } 50885 function isEmptyTableSection(section) { 50886 return !section || !section.length || section.every(isEmptyRow); 50887 } 50888 function isEmptyRow(row) { 50889 return !(row.cells && row.cells.length); 50890 } 50891 50892 50893 ;// ./node_modules/@wordpress/block-library/build-module/table/edit.js 50894 50895 50896 50897 50898 50899 50900 50901 50902 50903 50904 const ALIGNMENT_CONTROLS = [ 50905 { 50906 icon: align_left_default, 50907 title: (0,external_wp_i18n_namespaceObject.__)("Align column left"), 50908 align: "left" 50909 }, 50910 { 50911 icon: align_center_default, 50912 title: (0,external_wp_i18n_namespaceObject.__)("Align column center"), 50913 align: "center" 50914 }, 50915 { 50916 icon: align_right_default, 50917 title: (0,external_wp_i18n_namespaceObject.__)("Align column right"), 50918 align: "right" 50919 } 50920 ]; 50921 const cellAriaLabel = { 50922 head: (0,external_wp_i18n_namespaceObject.__)("Header cell text"), 50923 body: (0,external_wp_i18n_namespaceObject.__)("Body cell text"), 50924 foot: (0,external_wp_i18n_namespaceObject.__)("Footer cell text") 50925 }; 50926 const placeholder = { 50927 head: (0,external_wp_i18n_namespaceObject.__)("Header label"), 50928 foot: (0,external_wp_i18n_namespaceObject.__)("Footer label") 50929 }; 50930 function TSection({ name, ...props }) { 50931 const TagName = `t$name}`; 50932 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...props }); 50933 } 50934 function TableEdit({ 50935 attributes, 50936 setAttributes, 50937 insertBlocksAfter, 50938 isSelected: isSingleSelected 50939 }) { 50940 const { hasFixedLayout, head, foot } = attributes; 50941 const [initialRowCount, setInitialRowCount] = (0,external_wp_element_namespaceObject.useState)(2); 50942 const [initialColumnCount, setInitialColumnCount] = (0,external_wp_element_namespaceObject.useState)(2); 50943 const [selectedCell, setSelectedCell] = (0,external_wp_element_namespaceObject.useState)(); 50944 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 50945 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 50946 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 50947 const tableRef = (0,external_wp_element_namespaceObject.useRef)(); 50948 const [hasTableCreated, setHasTableCreated] = (0,external_wp_element_namespaceObject.useState)(false); 50949 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 50950 function onChangeInitialColumnCount(count) { 50951 setInitialColumnCount(count); 50952 } 50953 function onChangeInitialRowCount(count) { 50954 setInitialRowCount(count); 50955 } 50956 function onCreateTable(event) { 50957 event.preventDefault(); 50958 setAttributes( 50959 createTable({ 50960 rowCount: parseInt(initialRowCount, 10) || 2, 50961 columnCount: parseInt(initialColumnCount, 10) || 2 50962 }) 50963 ); 50964 setHasTableCreated(true); 50965 } 50966 function onChangeFixedLayout() { 50967 setAttributes({ hasFixedLayout: !hasFixedLayout }); 50968 } 50969 function onChange(content) { 50970 if (!selectedCell) { 50971 return; 50972 } 50973 setAttributes( 50974 updateSelectedCell( 50975 attributes, 50976 selectedCell, 50977 (cellAttributes) => ({ 50978 ...cellAttributes, 50979 content 50980 }) 50981 ) 50982 ); 50983 } 50984 function onChangeColumnAlignment(align) { 50985 if (!selectedCell) { 50986 return; 50987 } 50988 const columnSelection = { 50989 type: "column", 50990 columnIndex: selectedCell.columnIndex 50991 }; 50992 const newAttributes = updateSelectedCell( 50993 attributes, 50994 columnSelection, 50995 (cellAttributes) => ({ 50996 ...cellAttributes, 50997 align 50998 }) 50999 ); 51000 setAttributes(newAttributes); 51001 } 51002 function getCellAlignment() { 51003 if (!selectedCell) { 51004 return; 51005 } 51006 return getCellAttribute(attributes, selectedCell, "align"); 51007 } 51008 function onToggleHeaderSection() { 51009 setAttributes(toggleSection(attributes, "head")); 51010 } 51011 function onToggleFooterSection() { 51012 setAttributes(toggleSection(attributes, "foot")); 51013 } 51014 function onInsertRow(delta) { 51015 if (!selectedCell) { 51016 return; 51017 } 51018 const { sectionName, rowIndex } = selectedCell; 51019 const newRowIndex = rowIndex + delta; 51020 setAttributes( 51021 insertRow(attributes, { 51022 sectionName, 51023 rowIndex: newRowIndex 51024 }) 51025 ); 51026 setSelectedCell({ 51027 sectionName, 51028 rowIndex: newRowIndex, 51029 columnIndex: 0, 51030 type: "cell" 51031 }); 51032 } 51033 function onInsertRowBefore() { 51034 onInsertRow(0); 51035 } 51036 function onInsertRowAfter() { 51037 onInsertRow(1); 51038 } 51039 function onDeleteRow() { 51040 if (!selectedCell) { 51041 return; 51042 } 51043 const { sectionName, rowIndex } = selectedCell; 51044 setSelectedCell(); 51045 setAttributes(deleteRow(attributes, { sectionName, rowIndex })); 51046 } 51047 function onInsertColumn(delta = 0) { 51048 if (!selectedCell) { 51049 return; 51050 } 51051 const { columnIndex } = selectedCell; 51052 const newColumnIndex = columnIndex + delta; 51053 setAttributes( 51054 insertColumn(attributes, { 51055 columnIndex: newColumnIndex 51056 }) 51057 ); 51058 setSelectedCell({ 51059 rowIndex: 0, 51060 columnIndex: newColumnIndex, 51061 type: "cell" 51062 }); 51063 } 51064 function onInsertColumnBefore() { 51065 onInsertColumn(0); 51066 } 51067 function onInsertColumnAfter() { 51068 onInsertColumn(1); 51069 } 51070 function onDeleteColumn() { 51071 if (!selectedCell) { 51072 return; 51073 } 51074 const { sectionName, columnIndex } = selectedCell; 51075 setSelectedCell(); 51076 setAttributes( 51077 deleteColumn(attributes, { sectionName, columnIndex }) 51078 ); 51079 } 51080 (0,external_wp_element_namespaceObject.useEffect)(() => { 51081 if (!isSingleSelected) { 51082 setSelectedCell(); 51083 } 51084 }, [isSingleSelected]); 51085 (0,external_wp_element_namespaceObject.useEffect)(() => { 51086 if (hasTableCreated) { 51087 tableRef?.current?.querySelector('td div[contentEditable="true"]')?.focus(); 51088 setHasTableCreated(false); 51089 } 51090 }, [hasTableCreated]); 51091 const sections = ["head", "body", "foot"].filter( 51092 (name) => !isEmptyTableSection(attributes[name]) 51093 ); 51094 const tableControls = [ 51095 { 51096 icon: table_row_before_default, 51097 title: (0,external_wp_i18n_namespaceObject.__)("Insert row before"), 51098 isDisabled: !selectedCell, 51099 onClick: onInsertRowBefore 51100 }, 51101 { 51102 icon: table_row_after_default, 51103 title: (0,external_wp_i18n_namespaceObject.__)("Insert row after"), 51104 isDisabled: !selectedCell, 51105 onClick: onInsertRowAfter 51106 }, 51107 { 51108 icon: table_row_delete_default, 51109 title: (0,external_wp_i18n_namespaceObject.__)("Delete row"), 51110 isDisabled: !selectedCell, 51111 onClick: onDeleteRow 51112 }, 51113 { 51114 icon: table_column_before_default, 51115 title: (0,external_wp_i18n_namespaceObject.__)("Insert column before"), 51116 isDisabled: !selectedCell, 51117 onClick: onInsertColumnBefore 51118 }, 51119 { 51120 icon: table_column_after_default, 51121 title: (0,external_wp_i18n_namespaceObject.__)("Insert column after"), 51122 isDisabled: !selectedCell, 51123 onClick: onInsertColumnAfter 51124 }, 51125 { 51126 icon: table_column_delete_default, 51127 title: (0,external_wp_i18n_namespaceObject.__)("Delete column"), 51128 isDisabled: !selectedCell, 51129 onClick: onDeleteColumn 51130 } 51131 ]; 51132 const renderedSections = sections.map((name) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TSection, { name, children: attributes[name].map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 51133 ({ 51134 content, 51135 tag: CellTag, 51136 scope, 51137 align, 51138 colspan, 51139 rowspan 51140 }, columnIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51141 CellTag, 51142 { 51143 scope: CellTag === "th" ? scope : void 0, 51144 colSpan: colspan, 51145 rowSpan: rowspan, 51146 className: dist_clsx( 51147 { 51148 [`has-text-align-$align}`]: align 51149 }, 51150 "wp-block-table__cell-content" 51151 ), 51152 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51153 external_wp_blockEditor_namespaceObject.RichText, 51154 { 51155 value: content, 51156 onChange, 51157 onFocus: () => { 51158 setSelectedCell({ 51159 sectionName: name, 51160 rowIndex, 51161 columnIndex, 51162 type: "cell" 51163 }); 51164 }, 51165 "aria-label": cellAriaLabel[name], 51166 placeholder: placeholder[name] 51167 } 51168 ) 51169 }, 51170 columnIndex 51171 ) 51172 ) }, rowIndex)) }, name)); 51173 const isEmpty = !sections.length; 51174 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ ref: tableRef }), children: [ 51175 !isEmpty && blockEditingMode === "default" && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 51176 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51177 external_wp_blockEditor_namespaceObject.AlignmentControl, 51178 { 51179 label: (0,external_wp_i18n_namespaceObject.__)("Change column alignment"), 51180 alignmentControls: ALIGNMENT_CONTROLS, 51181 value: getCellAlignment(), 51182 onChange: (nextAlign) => onChangeColumnAlignment(nextAlign) 51183 } 51184 ) }), 51185 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51186 external_wp_components_namespaceObject.ToolbarDropdownMenu, 51187 { 51188 icon: table_default, 51189 label: (0,external_wp_i18n_namespaceObject.__)("Edit table"), 51190 controls: tableControls 51191 } 51192 ) }) 51193 ] }), 51194 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 51195 external_wp_components_namespaceObject.__experimentalToolsPanel, 51196 { 51197 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 51198 resetAll: () => { 51199 setAttributes({ 51200 hasFixedLayout: true, 51201 head: [], 51202 foot: [] 51203 }); 51204 }, 51205 dropdownMenuProps, 51206 children: [ 51207 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51208 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 51209 { 51210 hasValue: () => hasFixedLayout !== true, 51211 label: (0,external_wp_i18n_namespaceObject.__)("Fixed width table cells"), 51212 onDeselect: () => setAttributes({ hasFixedLayout: true }), 51213 isShownByDefault: true, 51214 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51215 external_wp_components_namespaceObject.ToggleControl, 51216 { 51217 __nextHasNoMarginBottom: true, 51218 label: (0,external_wp_i18n_namespaceObject.__)("Fixed width table cells"), 51219 checked: !!hasFixedLayout, 51220 onChange: onChangeFixedLayout 51221 } 51222 ) 51223 } 51224 ), 51225 !isEmpty && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 51226 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51227 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 51228 { 51229 hasValue: () => head && head.length, 51230 label: (0,external_wp_i18n_namespaceObject.__)("Header section"), 51231 onDeselect: () => setAttributes({ head: [] }), 51232 isShownByDefault: true, 51233 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51234 external_wp_components_namespaceObject.ToggleControl, 51235 { 51236 __nextHasNoMarginBottom: true, 51237 label: (0,external_wp_i18n_namespaceObject.__)("Header section"), 51238 checked: !!(head && head.length), 51239 onChange: onToggleHeaderSection 51240 } 51241 ) 51242 } 51243 ), 51244 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51245 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 51246 { 51247 hasValue: () => foot && foot.length, 51248 label: (0,external_wp_i18n_namespaceObject.__)("Footer section"), 51249 onDeselect: () => setAttributes({ foot: [] }), 51250 isShownByDefault: true, 51251 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51252 external_wp_components_namespaceObject.ToggleControl, 51253 { 51254 __nextHasNoMarginBottom: true, 51255 label: (0,external_wp_i18n_namespaceObject.__)("Footer section"), 51256 checked: !!(foot && foot.length), 51257 onChange: onToggleFooterSection 51258 } 51259 ) 51260 } 51261 ) 51262 ] }) 51263 ] 51264 } 51265 ) }), 51266 !isEmpty && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51267 "table", 51268 { 51269 className: dist_clsx( 51270 colorProps.className, 51271 borderProps.className, 51272 { 51273 "has-fixed-layout": hasFixedLayout, 51274 // This is required in the editor only to overcome 51275 // the fact the editor rewrites individual border 51276 // widths into a shorthand format. 51277 "has-individual-borders": (0,external_wp_components_namespaceObject.__experimentalHasSplitBorders)( 51278 attributes?.style?.border 51279 ) 51280 } 51281 ), 51282 style: { ...colorProps.style, ...borderProps.style }, 51283 children: renderedSections 51284 } 51285 ), 51286 isEmpty ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51287 external_wp_components_namespaceObject.Placeholder, 51288 { 51289 label: (0,external_wp_i18n_namespaceObject.__)("Table"), 51290 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: block_table_default, showColors: true }), 51291 instructions: (0,external_wp_i18n_namespaceObject.__)("Insert a table for sharing data."), 51292 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 51293 "form", 51294 { 51295 className: "blocks-table__placeholder-form", 51296 onSubmit: onCreateTable, 51297 children: [ 51298 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51299 external_wp_components_namespaceObject.TextControl, 51300 { 51301 __nextHasNoMarginBottom: true, 51302 __next40pxDefaultSize: true, 51303 type: "number", 51304 label: (0,external_wp_i18n_namespaceObject.__)("Column count"), 51305 value: initialColumnCount, 51306 onChange: onChangeInitialColumnCount, 51307 min: "1", 51308 className: "blocks-table__placeholder-input" 51309 } 51310 ), 51311 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51312 external_wp_components_namespaceObject.TextControl, 51313 { 51314 __nextHasNoMarginBottom: true, 51315 __next40pxDefaultSize: true, 51316 type: "number", 51317 label: (0,external_wp_i18n_namespaceObject.__)("Row count"), 51318 value: initialRowCount, 51319 onChange: onChangeInitialRowCount, 51320 min: "1", 51321 className: "blocks-table__placeholder-input" 51322 } 51323 ), 51324 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51325 external_wp_components_namespaceObject.Button, 51326 { 51327 __next40pxDefaultSize: true, 51328 variant: "primary", 51329 type: "submit", 51330 children: (0,external_wp_i18n_namespaceObject.__)("Create Table") 51331 } 51332 ) 51333 ] 51334 } 51335 ) 51336 } 51337 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51338 Caption, 51339 { 51340 attributes, 51341 setAttributes, 51342 isSelected: isSingleSelected, 51343 insertBlocksAfter, 51344 label: (0,external_wp_i18n_namespaceObject.__)("Table caption text"), 51345 showToolbarButton: isSingleSelected && blockEditingMode === "default" 51346 } 51347 ) 51348 ] }); 51349 } 51350 var table_edit_edit_default = TableEdit; 51351 51352 51353 ;// ./node_modules/@wordpress/block-library/build-module/table/block.json 51354 const table_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/table","title":"Table","category":"text","description":"Create structured content in rows and columns to display information.","textdomain":"default","attributes":{"hasFixedLayout":{"type":"boolean","default":true},"caption":{"type":"rich-text","source":"rich-text","selector":"figcaption","role":"content"},"head":{"type":"array","default":[],"source":"query","selector":"thead tr","query":{"cells":{"type":"array","default":[],"source":"query","selector":"td,th","query":{"content":{"type":"rich-text","source":"rich-text","role":"content"},"tag":{"type":"string","default":"td","source":"tag"},"scope":{"type":"string","source":"attribute","attribute":"scope"},"align":{"type":"string","source":"attribute","attribute":"data-align"},"colspan":{"type":"string","source":"attribute","attribute":"colspan"},"rowspan":{"type":"string","source":"attribute","attribute":"rowspan"}}}}},"body":{"type":"array","default":[],"source":"query","selector":"tbody tr","query":{"cells":{"type":"array","default":[],"source":"query","selector":"td,th","query":{"content":{"type":"rich-text","source":"rich-text","role":"content"},"tag":{"type":"string","default":"td","source":"tag"},"scope":{"type":"string","source":"attribute","attribute":"scope"},"align":{"type":"string","source":"attribute","attribute":"data-align"},"colspan":{"type":"string","source":"attribute","attribute":"colspan"},"rowspan":{"type":"string","source":"attribute","attribute":"rowspan"}}}}},"foot":{"type":"array","default":[],"source":"query","selector":"tfoot tr","query":{"cells":{"type":"array","default":[],"source":"query","selector":"td,th","query":{"content":{"type":"rich-text","source":"rich-text","role":"content"},"tag":{"type":"string","default":"td","source":"tag"},"scope":{"type":"string","source":"attribute","attribute":"scope"},"align":{"type":"string","source":"attribute","attribute":"data-align"},"colspan":{"type":"string","source":"attribute","attribute":"colspan"},"rowspan":{"type":"string","source":"attribute","attribute":"rowspan"}}}}}},"supports":{"anchor":true,"align":true,"color":{"__experimentalSkipSerialization":true,"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalDefaultControls":{"fontSize":true}},"__experimentalBorder":{"__experimentalSkipSerialization":true,"color":true,"style":true,"width":true,"__experimentalDefaultControls":{"color":true,"style":true,"width":true}},"interactivity":{"clientNavigation":true}},"selectors":{"root":".wp-block-table > table","spacing":".wp-block-table"},"styles":[{"name":"regular","label":"Default","isDefault":true},{"name":"stripes","label":"Stripes"}],"editorStyle":"wp-block-table-editor","style":"wp-block-table"}'); 51355 ;// ./node_modules/@wordpress/block-library/build-module/table/save.js 51356 51357 51358 51359 function table_save_save({ attributes }) { 51360 const { hasFixedLayout, head, body, foot, caption } = attributes; 51361 const isEmpty = !head.length && !body.length && !foot.length; 51362 if (isEmpty) { 51363 return null; 51364 } 51365 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 51366 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 51367 const classes = dist_clsx(colorProps.className, borderProps.className, { 51368 "has-fixed-layout": hasFixedLayout 51369 }); 51370 const hasCaption = !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption); 51371 const Section = ({ type, rows }) => { 51372 if (!rows.length) { 51373 return null; 51374 } 51375 const Tag = `t$type}`; 51376 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { children: rows.map(({ cells }, rowIndex) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("tr", { children: cells.map( 51377 ({ 51378 content, 51379 tag, 51380 scope, 51381 align, 51382 colspan, 51383 rowspan 51384 }, cellIndex) => { 51385 const cellClasses = dist_clsx({ 51386 [`has-text-align-$align}`]: align 51387 }); 51388 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51389 external_wp_blockEditor_namespaceObject.RichText.Content, 51390 { 51391 className: cellClasses ? cellClasses : void 0, 51392 "data-align": align, 51393 tagName: tag, 51394 value: content, 51395 scope: tag === "th" ? scope : void 0, 51396 colSpan: colspan, 51397 rowSpan: rowspan 51398 }, 51399 cellIndex 51400 ); 51401 } 51402 ) }, rowIndex)) }); 51403 }; 51404 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 51405 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 51406 "table", 51407 { 51408 className: classes === "" ? void 0 : classes, 51409 style: { ...colorProps.style, ...borderProps.style }, 51410 children: [ 51411 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "head", rows: head }), 51412 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "body", rows: body }), 51413 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Section, { type: "foot", rows: foot }) 51414 ] 51415 } 51416 ), 51417 hasCaption && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51418 external_wp_blockEditor_namespaceObject.RichText.Content, 51419 { 51420 tagName: "figcaption", 51421 value: caption, 51422 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption") 51423 } 51424 ) 51425 ] }); 51426 } 51427 51428 51429 ;// ./node_modules/@wordpress/block-library/build-module/table/utils.js 51430 function normalizeRowColSpan(rowColSpan) { 51431 const parsedValue = parseInt(rowColSpan, 10); 51432 if (!Number.isInteger(parsedValue)) { 51433 return void 0; 51434 } 51435 return parsedValue < 0 || parsedValue === 1 ? void 0 : parsedValue.toString(); 51436 } 51437 51438 51439 ;// ./node_modules/@wordpress/block-library/build-module/table/transforms.js 51440 51441 51442 const tableContentPasteSchema = ({ phrasingContentSchema }) => ({ 51443 tr: { 51444 allowEmpty: true, 51445 children: { 51446 th: { 51447 allowEmpty: true, 51448 children: phrasingContentSchema, 51449 attributes: ["scope", "colspan", "rowspan", "style"] 51450 }, 51451 td: { 51452 allowEmpty: true, 51453 children: phrasingContentSchema, 51454 attributes: ["colspan", "rowspan", "style"] 51455 } 51456 } 51457 } 51458 }); 51459 const tablePasteSchema = (args) => ({ 51460 table: { 51461 children: { 51462 thead: { 51463 allowEmpty: true, 51464 children: tableContentPasteSchema(args) 51465 }, 51466 tfoot: { 51467 allowEmpty: true, 51468 children: tableContentPasteSchema(args) 51469 }, 51470 tbody: { 51471 allowEmpty: true, 51472 children: tableContentPasteSchema(args) 51473 } 51474 } 51475 } 51476 }); 51477 const table_transforms_transforms = { 51478 from: [ 51479 { 51480 type: "raw", 51481 selector: "table", 51482 schema: tablePasteSchema, 51483 transform: (node) => { 51484 const attributes = Array.from(node.children).reduce( 51485 (sectionAcc, section) => { 51486 if (!section.children.length) { 51487 return sectionAcc; 51488 } 51489 const sectionName = section.nodeName.toLowerCase().slice(1); 51490 const sectionAttributes = Array.from( 51491 section.children 51492 ).reduce((rowAcc, row) => { 51493 if (!row.children.length) { 51494 return rowAcc; 51495 } 51496 const rowAttributes = Array.from( 51497 row.children 51498 ).reduce((colAcc, col) => { 51499 const rowspan = normalizeRowColSpan( 51500 col.getAttribute("rowspan") 51501 ); 51502 const colspan = normalizeRowColSpan( 51503 col.getAttribute("colspan") 51504 ); 51505 const { textAlign } = col.style || {}; 51506 let align; 51507 if (textAlign === "left" || textAlign === "center" || textAlign === "right") { 51508 align = textAlign; 51509 } 51510 colAcc.push({ 51511 tag: col.nodeName.toLowerCase(), 51512 content: col.innerHTML, 51513 rowspan, 51514 colspan, 51515 align 51516 }); 51517 return colAcc; 51518 }, []); 51519 rowAcc.push({ 51520 cells: rowAttributes 51521 }); 51522 return rowAcc; 51523 }, []); 51524 sectionAcc[sectionName] = sectionAttributes; 51525 return sectionAcc; 51526 }, 51527 {} 51528 ); 51529 return (0,external_wp_blocks_namespaceObject.createBlock)("core/table", attributes); 51530 } 51531 } 51532 ] 51533 }; 51534 var table_transforms_transforms_default = table_transforms_transforms; 51535 51536 51537 ;// ./node_modules/@wordpress/block-library/build-module/table/index.js 51538 51539 51540 51541 51542 51543 51544 51545 51546 const { name: table_name } = table_block_namespaceObject; 51547 const table_settings = { 51548 icon: block_table_default, 51549 example: { 51550 attributes: { 51551 head: [ 51552 { 51553 cells: [ 51554 { 51555 content: (0,external_wp_i18n_namespaceObject.__)("Version"), 51556 tag: "th" 51557 }, 51558 { 51559 content: (0,external_wp_i18n_namespaceObject.__)("Jazz Musician"), 51560 tag: "th" 51561 }, 51562 { 51563 content: (0,external_wp_i18n_namespaceObject.__)("Release Date"), 51564 tag: "th" 51565 } 51566 ] 51567 } 51568 ], 51569 body: [ 51570 { 51571 cells: [ 51572 { 51573 content: "5.2", 51574 tag: "td" 51575 }, 51576 { 51577 content: (0,external_wp_i18n_namespaceObject.__)("Jaco Pastorius"), 51578 tag: "td" 51579 }, 51580 { 51581 content: (0,external_wp_i18n_namespaceObject.__)("May 7, 2019"), 51582 tag: "td" 51583 } 51584 ] 51585 }, 51586 { 51587 cells: [ 51588 { 51589 content: "5.1", 51590 tag: "td" 51591 }, 51592 { 51593 content: (0,external_wp_i18n_namespaceObject.__)("Betty Carter"), 51594 tag: "td" 51595 }, 51596 { 51597 content: (0,external_wp_i18n_namespaceObject.__)("February 21, 2019"), 51598 tag: "td" 51599 } 51600 ] 51601 }, 51602 { 51603 cells: [ 51604 { 51605 content: "5.0", 51606 tag: "td" 51607 }, 51608 { 51609 content: (0,external_wp_i18n_namespaceObject.__)("Bebo Vald\xE9s"), 51610 tag: "td" 51611 }, 51612 { 51613 content: (0,external_wp_i18n_namespaceObject.__)("December 6, 2018"), 51614 tag: "td" 51615 } 51616 ] 51617 } 51618 ] 51619 }, 51620 viewportWidth: 450 51621 }, 51622 transforms: table_transforms_transforms_default, 51623 edit: table_edit_edit_default, 51624 save: table_save_save, 51625 deprecated: table_deprecated_deprecated_default 51626 }; 51627 const table_init = () => initBlock({ name: table_name, metadata: table_block_namespaceObject, settings: table_settings }); 51628 51629 51630 ;// ./node_modules/@wordpress/icons/build-module/library/table-of-contents.js 51631 51632 51633 var table_of_contents_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 51634 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51635 external_wp_primitives_namespaceObject.Path, 51636 { 51637 fillRule: "evenodd", 51638 clipRule: "evenodd", 51639 d: "M20 9.484h-8.889v-1.5H20v1.5Zm0 7h-4.889v-1.5H20v1.5Zm-14 .032a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm0 1a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" 51640 } 51641 ), 51642 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M13 15.516a2 2 0 1 1-4 0 2 2 0 0 1 4 0ZM8 8.484a2 2 0 1 1-4 0 2 2 0 0 1 4 0Z" }) 51643 ] }); 51644 51645 51646 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/block.json 51647 const table_of_contents_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"__experimental":true,"name":"core/table-of-contents","title":"Table of Contents","category":"design","description":"Summarize your post with a list of headings. Add HTML anchors to Heading blocks to link them here.","keywords":["document outline","summary"],"textdomain":"default","attributes":{"headings":{"type":"array","items":{"type":"object"},"default":[]},"onlyIncludeCurrentPage":{"type":"boolean","default":false},"maxLevel":{"type":"number"},"ordered":{"type":"boolean","default":true}},"supports":{"ariaLabel":true,"html":false,"color":{"text":true,"background":true,"gradients":true,"link":true},"spacing":{"margin":true,"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"style":"wp-block-table-of-contents"}'); 51648 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/list.js 51649 51650 const ENTRY_CLASS_NAME = "wp-block-table-of-contents__entry"; 51651 function TableOfContentsList({ 51652 nestedHeadingList, 51653 disableLinkActivation, 51654 onClick, 51655 ordered = true 51656 }) { 51657 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: nestedHeadingList.map((node, index) => { 51658 const { content, link } = node.heading; 51659 const entry = link ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51660 "a", 51661 { 51662 className: ENTRY_CLASS_NAME, 51663 href: link, 51664 "aria-disabled": disableLinkActivation || void 0, 51665 onClick: disableLinkActivation && "function" === typeof onClick ? onClick : void 0, 51666 children: content 51667 } 51668 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: ENTRY_CLASS_NAME, children: content }); 51669 const NestedListTag = ordered ? "ol" : "ul"; 51670 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { children: [ 51671 entry, 51672 node.children ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(NestedListTag, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51673 TableOfContentsList, 51674 { 51675 nestedHeadingList: node.children, 51676 disableLinkActivation, 51677 onClick: disableLinkActivation && "function" === typeof onClick ? onClick : void 0, 51678 ordered 51679 } 51680 ) }) : null 51681 ] }, index); 51682 }) }); 51683 } 51684 51685 51686 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/utils.js 51687 function linearToNestedHeadingList(headingList) { 51688 const nestedHeadingList = []; 51689 headingList.forEach((heading, key) => { 51690 if (heading.content === "") { 51691 return; 51692 } 51693 if (heading.level === headingList[0].level) { 51694 if (headingList[key + 1]?.level > heading.level) { 51695 let endOfSlice = headingList.length; 51696 for (let i = key + 1; i < headingList.length; i++) { 51697 if (headingList[i].level === heading.level) { 51698 endOfSlice = i; 51699 break; 51700 } 51701 } 51702 nestedHeadingList.push({ 51703 heading, 51704 children: linearToNestedHeadingList( 51705 headingList.slice(key + 1, endOfSlice) 51706 ) 51707 }); 51708 } else { 51709 nestedHeadingList.push({ 51710 heading, 51711 children: null 51712 }); 51713 } 51714 } 51715 }); 51716 return nestedHeadingList; 51717 } 51718 51719 51720 // EXTERNAL MODULE: ./node_modules/fast-deep-equal/es6/index.js 51721 var es6 = __webpack_require__(7734); 51722 var es6_default = /*#__PURE__*/__webpack_require__.n(es6); 51723 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/hooks.js 51724 51725 51726 51727 51728 51729 51730 function getLatestHeadings(select, clientId) { 51731 const { 51732 getBlockAttributes, 51733 getBlockName, 51734 getBlocksByName, 51735 getClientIdsOfDescendants 51736 } = select(external_wp_blockEditor_namespaceObject.store); 51737 const permalink = select("core/editor").getPermalink() ?? null; 51738 const isPaginated = getBlocksByName("core/nextpage").length !== 0; 51739 const { onlyIncludeCurrentPage, maxLevel } = getBlockAttributes(clientId) ?? {}; 51740 const [postContentClientId = ""] = getBlocksByName("core/post-content"); 51741 const allBlockClientIds = getClientIdsOfDescendants(postContentClientId); 51742 let tocPage = 1; 51743 if (isPaginated && onlyIncludeCurrentPage) { 51744 const tocIndex = allBlockClientIds.indexOf(clientId); 51745 for (const [ 51746 blockIndex, 51747 blockClientId 51748 ] of allBlockClientIds.entries()) { 51749 if (blockIndex >= tocIndex) { 51750 break; 51751 } 51752 if (getBlockName(blockClientId) === "core/nextpage") { 51753 tocPage++; 51754 } 51755 } 51756 } 51757 const latestHeadings = []; 51758 let headingPage = 1; 51759 let headingPageLink = null; 51760 if (typeof permalink === "string") { 51761 headingPageLink = isPaginated ? (0,external_wp_url_namespaceObject.addQueryArgs)(permalink, { page: headingPage }) : permalink; 51762 } 51763 for (const blockClientId of allBlockClientIds) { 51764 const blockName = getBlockName(blockClientId); 51765 if (blockName === "core/nextpage") { 51766 headingPage++; 51767 if (onlyIncludeCurrentPage && headingPage > tocPage) { 51768 break; 51769 } 51770 if (typeof permalink === "string") { 51771 headingPageLink = (0,external_wp_url_namespaceObject.addQueryArgs)( 51772 (0,external_wp_url_namespaceObject.removeQueryArgs)(permalink, ["page"]), 51773 { page: headingPage } 51774 ); 51775 } 51776 } else if (!onlyIncludeCurrentPage || headingPage === tocPage) { 51777 if (blockName === "core/heading") { 51778 const headingAttributes = getBlockAttributes(blockClientId); 51779 if (maxLevel && headingAttributes.level > maxLevel) { 51780 continue; 51781 } 51782 const canBeLinked = typeof headingPageLink === "string" && typeof headingAttributes.anchor === "string" && headingAttributes.anchor !== ""; 51783 latestHeadings.push({ 51784 // Convert line breaks to spaces, and get rid of HTML tags in the headings. 51785 content: (0,external_wp_dom_namespaceObject.__unstableStripHTML)( 51786 headingAttributes.content.replace( 51787 /(<br *\/?>)+/g, 51788 " " 51789 ) 51790 ), 51791 level: headingAttributes.level, 51792 link: canBeLinked ? `$headingPageLink}#${headingAttributes.anchor}` : null 51793 }); 51794 } 51795 } 51796 } 51797 return latestHeadings; 51798 } 51799 function observeCallback(select, dispatch, clientId) { 51800 const { getBlockAttributes } = select(external_wp_blockEditor_namespaceObject.store); 51801 const { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } = dispatch(external_wp_blockEditor_namespaceObject.store); 51802 const attributes = getBlockAttributes(clientId); 51803 if (attributes === null) { 51804 return; 51805 } 51806 const headings = getLatestHeadings(select, clientId); 51807 if (!es6_default()(headings, attributes.headings)) { 51808 window.queueMicrotask(() => { 51809 __unstableMarkNextChangeAsNotPersistent(); 51810 updateBlockAttributes(clientId, { headings }); 51811 }); 51812 } 51813 } 51814 function useObserveHeadings(clientId) { 51815 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 51816 (0,external_wp_element_namespaceObject.useEffect)(() => { 51817 return registry.subscribe( 51818 () => observeCallback(registry.select, registry.dispatch, clientId) 51819 ); 51820 }, [registry, clientId]); 51821 } 51822 51823 51824 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/edit.js 51825 51826 51827 51828 51829 51830 51831 51832 51833 51834 51835 51836 51837 51838 51839 function TableOfContentsEdit({ 51840 attributes: { 51841 headings = [], 51842 onlyIncludeCurrentPage, 51843 maxLevel, 51844 ordered = true 51845 }, 51846 clientId, 51847 setAttributes 51848 }) { 51849 useObserveHeadings(clientId); 51850 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 51851 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)( 51852 TableOfContentsEdit, 51853 "table-of-contents" 51854 ); 51855 const { createWarningNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 51856 const showRedirectionPreventedNotice = (event) => { 51857 event.preventDefault(); 51858 createWarningNotice((0,external_wp_i18n_namespaceObject.__)("Links are disabled in the editor."), { 51859 id: `block-library/core/table-of-contents/redirection-prevented/$instanceId}`, 51860 type: "snackbar" 51861 }); 51862 }; 51863 const canInsertList = (0,external_wp_data_namespaceObject.useSelect)( 51864 (select) => { 51865 const { getBlockRootClientId, canInsertBlockType } = select(external_wp_blockEditor_namespaceObject.store); 51866 const rootClientId = getBlockRootClientId(clientId); 51867 return canInsertBlockType("core/list", rootClientId); 51868 }, 51869 [clientId] 51870 ); 51871 const { replaceBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 51872 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 51873 const headingTree = linearToNestedHeadingList(headings); 51874 const toolbarControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { children: [ 51875 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.ToolbarGroup, { children: [ 51876 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51877 external_wp_components_namespaceObject.ToolbarButton, 51878 { 51879 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_list_bullets_rtl_default : format_list_bullets_default, 51880 title: (0,external_wp_i18n_namespaceObject.__)("Unordered"), 51881 description: (0,external_wp_i18n_namespaceObject.__)("Convert to unordered list"), 51882 onClick: () => setAttributes({ ordered: false }), 51883 isActive: ordered === false 51884 } 51885 ), 51886 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51887 external_wp_components_namespaceObject.ToolbarButton, 51888 { 51889 icon: (0,external_wp_i18n_namespaceObject.isRTL)() ? format_list_numbered_rtl_default : format_list_numbered_default, 51890 title: (0,external_wp_i18n_namespaceObject.__)("Ordered"), 51891 description: (0,external_wp_i18n_namespaceObject.__)("Convert to ordered list"), 51892 onClick: () => setAttributes({ ordered: true }), 51893 isActive: ordered === true 51894 } 51895 ) 51896 ] }), 51897 canInsertList && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51898 external_wp_components_namespaceObject.ToolbarButton, 51899 { 51900 onClick: () => replaceBlocks( 51901 clientId, 51902 (0,external_wp_blocks_namespaceObject.createBlock)("core/list", { 51903 ordered, 51904 values: (0,external_wp_element_namespaceObject.renderToString)( 51905 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51906 TableOfContentsList, 51907 { 51908 nestedHeadingList: headingTree, 51909 ordered 51910 } 51911 ) 51912 ) 51913 }) 51914 ), 51915 children: (0,external_wp_i18n_namespaceObject.__)("Convert to static list") 51916 } 51917 ) }) 51918 ] }); 51919 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 51920 external_wp_components_namespaceObject.__experimentalToolsPanel, 51921 { 51922 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 51923 resetAll: () => { 51924 setAttributes({ 51925 onlyIncludeCurrentPage: false, 51926 maxLevel: void 0, 51927 ordered: true 51928 }); 51929 }, 51930 dropdownMenuProps, 51931 children: [ 51932 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51933 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 51934 { 51935 hasValue: () => !!onlyIncludeCurrentPage, 51936 label: (0,external_wp_i18n_namespaceObject.__)("Only include current page"), 51937 onDeselect: () => setAttributes({ onlyIncludeCurrentPage: false }), 51938 isShownByDefault: true, 51939 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51940 external_wp_components_namespaceObject.ToggleControl, 51941 { 51942 __nextHasNoMarginBottom: true, 51943 label: (0,external_wp_i18n_namespaceObject.__)("Only include current page"), 51944 checked: onlyIncludeCurrentPage, 51945 onChange: (value) => setAttributes({ onlyIncludeCurrentPage: value }), 51946 help: onlyIncludeCurrentPage ? (0,external_wp_i18n_namespaceObject.__)( 51947 "Only including headings from the current page (if the post is paginated)." 51948 ) : (0,external_wp_i18n_namespaceObject.__)( 51949 "Include headings from all pages (if the post is paginated)." 51950 ) 51951 } 51952 ) 51953 } 51954 ), 51955 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51956 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 51957 { 51958 hasValue: () => !!maxLevel, 51959 label: (0,external_wp_i18n_namespaceObject.__)("Limit heading levels"), 51960 onDeselect: () => setAttributes({ maxLevel: void 0 }), 51961 isShownByDefault: true, 51962 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51963 external_wp_components_namespaceObject.SelectControl, 51964 { 51965 __nextHasNoMarginBottom: true, 51966 __next40pxDefaultSize: true, 51967 label: (0,external_wp_i18n_namespaceObject.__)("Include headings down to level"), 51968 value: maxLevel || "", 51969 options: [ 51970 { value: "", label: (0,external_wp_i18n_namespaceObject.__)("All levels") }, 51971 { value: "1", label: (0,external_wp_i18n_namespaceObject.__)("Heading 1") }, 51972 { value: "2", label: (0,external_wp_i18n_namespaceObject.__)("Heading 2") }, 51973 { value: "3", label: (0,external_wp_i18n_namespaceObject.__)("Heading 3") }, 51974 { value: "4", label: (0,external_wp_i18n_namespaceObject.__)("Heading 4") }, 51975 { value: "5", label: (0,external_wp_i18n_namespaceObject.__)("Heading 5") }, 51976 { value: "6", label: (0,external_wp_i18n_namespaceObject.__)("Heading 6") } 51977 ], 51978 onChange: (value) => setAttributes({ 51979 maxLevel: value ? parseInt(value) : void 0 51980 }), 51981 help: !maxLevel ? (0,external_wp_i18n_namespaceObject.__)( 51982 "Including all heading levels in the table of contents." 51983 ) : (0,external_wp_i18n_namespaceObject.__)( 51984 "Only include headings up to and including this level." 51985 ) 51986 } 51987 ) 51988 } 51989 ) 51990 ] 51991 } 51992 ) }); 51993 if (headings.length === 0) { 51994 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 51995 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 51996 external_wp_components_namespaceObject.Placeholder, 51997 { 51998 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: table_of_contents_default }), 51999 label: (0,external_wp_i18n_namespaceObject.__)("Table of Contents"), 52000 instructions: (0,external_wp_i18n_namespaceObject.__)( 52001 "Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here." 52002 ) 52003 } 52004 ) }), 52005 inspectorControls 52006 ] }); 52007 } 52008 const ListTag = ordered ? "ol" : "ul"; 52009 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 52010 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("nav", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ListTag, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52011 TableOfContentsList, 52012 { 52013 nestedHeadingList: headingTree, 52014 disableLinkActivation: true, 52015 onClick: showRedirectionPreventedNotice, 52016 ordered 52017 } 52018 ) }) }), 52019 toolbarControls, 52020 inspectorControls 52021 ] }); 52022 } 52023 52024 52025 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/save.js 52026 52027 52028 52029 52030 function table_of_contents_save_save({ 52031 attributes: { headings = [], ordered = true } 52032 }) { 52033 if (headings.length === 0) { 52034 return null; 52035 } 52036 const ListTag = ordered ? "ol" : "ul"; 52037 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("nav", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(ListTag, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52038 TableOfContentsList, 52039 { 52040 nestedHeadingList: linearToNestedHeadingList(headings), 52041 ordered 52042 } 52043 ) }) }); 52044 } 52045 52046 52047 ;// ./node_modules/@wordpress/block-library/build-module/table-of-contents/index.js 52048 52049 52050 52051 52052 52053 52054 const { name: table_of_contents_name } = table_of_contents_block_namespaceObject; 52055 const table_of_contents_settings = { 52056 icon: table_of_contents_default, 52057 edit: TableOfContentsEdit, 52058 save: table_of_contents_save_save, 52059 example: { 52060 innerBlocks: [ 52061 { 52062 name: "core/heading", 52063 attributes: { 52064 level: 2, 52065 content: (0,external_wp_i18n_namespaceObject.__)("Heading") 52066 } 52067 }, 52068 { 52069 name: "core/heading", 52070 attributes: { 52071 level: 3, 52072 content: (0,external_wp_i18n_namespaceObject.__)("Subheading") 52073 } 52074 }, 52075 { 52076 name: "core/heading", 52077 attributes: { 52078 level: 2, 52079 content: (0,external_wp_i18n_namespaceObject.__)("Heading") 52080 } 52081 }, 52082 { 52083 name: "core/heading", 52084 attributes: { 52085 level: 3, 52086 content: (0,external_wp_i18n_namespaceObject.__)("Subheading") 52087 } 52088 } 52089 ], 52090 attributes: { 52091 headings: [ 52092 { 52093 content: (0,external_wp_i18n_namespaceObject.__)("Heading"), 52094 level: 2 52095 }, 52096 { 52097 content: (0,external_wp_i18n_namespaceObject.__)("Subheading"), 52098 level: 3 52099 }, 52100 { 52101 content: (0,external_wp_i18n_namespaceObject.__)("Heading"), 52102 level: 2 52103 }, 52104 { 52105 content: (0,external_wp_i18n_namespaceObject.__)("Subheading"), 52106 level: 3 52107 } 52108 ] 52109 } 52110 } 52111 }; 52112 const table_of_contents_init = () => initBlock({ name: table_of_contents_name, metadata: table_of_contents_block_namespaceObject, settings: table_of_contents_settings }); 52113 52114 52115 ;// ./node_modules/@wordpress/block-library/build-module/tag-cloud/transforms.js 52116 52117 const tag_cloud_transforms_transforms = { 52118 from: [ 52119 { 52120 type: "block", 52121 blocks: ["core/categories"], 52122 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/tag-cloud") 52123 } 52124 ], 52125 to: [ 52126 { 52127 type: "block", 52128 blocks: ["core/categories"], 52129 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)("core/categories") 52130 } 52131 ] 52132 }; 52133 var tag_cloud_transforms_transforms_default = tag_cloud_transforms_transforms; 52134 52135 52136 ;// ./node_modules/@wordpress/block-library/build-module/tag-cloud/block.json 52137 const tag_cloud_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/tag-cloud","title":"Tag Cloud","category":"widgets","description":"A cloud of popular keywords, each sized by how often it appears.","textdomain":"default","attributes":{"numberOfTags":{"type":"number","default":45,"minimum":1,"maximum":100},"taxonomy":{"type":"string","default":"post_tag"},"showTagCounts":{"type":"boolean","default":false},"smallestFontSize":{"type":"string","default":"8pt"},"largestFontSize":{"type":"string","default":"22pt"}},"styles":[{"name":"default","label":"Default","isDefault":true},{"name":"outline","label":"Outline"}],"supports":{"html":false,"align":true,"spacing":{"margin":true,"padding":true},"typography":{"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalLetterSpacing":true},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}},"editorStyle":"wp-block-tag-cloud-editor"}'); 52138 ;// ./node_modules/@wordpress/block-library/build-module/tag-cloud/edit.js 52139 52140 52141 52142 52143 52144 52145 52146 52147 const MIN_TAGS = 1; 52148 const MAX_TAGS = 100; 52149 const MIN_FONT_SIZE = 0.1; 52150 const MAX_FONT_SIZE = 100; 52151 function TagCloudEdit({ attributes, setAttributes }) { 52152 const { 52153 taxonomy, 52154 showTagCounts, 52155 numberOfTags, 52156 smallestFontSize, 52157 largestFontSize 52158 } = attributes; 52159 const [availableUnits] = (0,external_wp_blockEditor_namespaceObject.useSettings)("spacing.units"); 52160 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 52161 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 52162 availableUnits: availableUnits ? [...availableUnits, "pt"] : ["%", "px", "em", "rem", "pt"] 52163 }); 52164 const taxonomies = (0,external_wp_data_namespaceObject.useSelect)( 52165 (select) => select(external_wp_coreData_namespaceObject.store).getTaxonomies({ per_page: -1 }), 52166 [] 52167 ); 52168 const getTaxonomyOptions = () => { 52169 const selectOption = { 52170 label: (0,external_wp_i18n_namespaceObject.__)("- Select -"), 52171 value: "", 52172 disabled: true 52173 }; 52174 const taxonomyOptions = (taxonomies ?? []).filter((tax) => !!tax.show_cloud).map((item) => { 52175 return { 52176 value: item.slug, 52177 label: item.name 52178 }; 52179 }); 52180 return [selectOption, ...taxonomyOptions]; 52181 }; 52182 const onFontSizeChange = (fontSizeLabel, newValue) => { 52183 const [quantity, newUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(newValue); 52184 if (!Number.isFinite(quantity)) { 52185 return; 52186 } 52187 const updateObj = { [fontSizeLabel]: newValue }; 52188 Object.entries({ 52189 smallestFontSize, 52190 largestFontSize 52191 }).forEach(([attribute, currentValue]) => { 52192 const [currentQuantity, currentUnit] = (0,external_wp_components_namespaceObject.__experimentalParseQuantityAndUnitFromRawValue)(currentValue); 52193 if (attribute !== fontSizeLabel && currentUnit !== newUnit) { 52194 updateObj[attribute] = `$currentQuantity}$newUnit}`; 52195 } 52196 }); 52197 setAttributes(updateObj); 52198 }; 52199 const serverSideAttributes = { 52200 ...attributes, 52201 style: { 52202 ...attributes?.style, 52203 border: void 0 52204 } 52205 }; 52206 const inspectorControls = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 52207 external_wp_components_namespaceObject.__experimentalToolsPanel, 52208 { 52209 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 52210 resetAll: () => { 52211 setAttributes({ 52212 taxonomy: "post_tag", 52213 showTagCounts: false, 52214 numberOfTags: 45, 52215 smallestFontSize: "8pt", 52216 largestFontSize: "22pt" 52217 }); 52218 }, 52219 dropdownMenuProps, 52220 children: [ 52221 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52222 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 52223 { 52224 hasValue: () => taxonomy !== "post_tag", 52225 label: (0,external_wp_i18n_namespaceObject.__)("Taxonomy"), 52226 onDeselect: () => setAttributes({ taxonomy: "post_tag" }), 52227 isShownByDefault: true, 52228 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52229 external_wp_components_namespaceObject.SelectControl, 52230 { 52231 __nextHasNoMarginBottom: true, 52232 __next40pxDefaultSize: true, 52233 label: (0,external_wp_i18n_namespaceObject.__)("Taxonomy"), 52234 options: getTaxonomyOptions(), 52235 value: taxonomy, 52236 onChange: (selectedTaxonomy) => setAttributes({ taxonomy: selectedTaxonomy }) 52237 } 52238 ) 52239 } 52240 ), 52241 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52242 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 52243 { 52244 hasValue: () => smallestFontSize !== "8pt" || largestFontSize !== "22pt", 52245 label: (0,external_wp_i18n_namespaceObject.__)("Font size"), 52246 onDeselect: () => setAttributes({ 52247 smallestFontSize: "8pt", 52248 largestFontSize: "22pt" 52249 }), 52250 isShownByDefault: true, 52251 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.Flex, { gap: 4, children: [ 52252 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { isBlock: true, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52253 external_wp_components_namespaceObject.__experimentalUnitControl, 52254 { 52255 label: (0,external_wp_i18n_namespaceObject.__)("Smallest size"), 52256 value: smallestFontSize, 52257 onChange: (value) => { 52258 onFontSizeChange( 52259 "smallestFontSize", 52260 value 52261 ); 52262 }, 52263 units, 52264 min: MIN_FONT_SIZE, 52265 max: MAX_FONT_SIZE, 52266 size: "__unstable-large" 52267 } 52268 ) }), 52269 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { isBlock: true, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52270 external_wp_components_namespaceObject.__experimentalUnitControl, 52271 { 52272 label: (0,external_wp_i18n_namespaceObject.__)("Largest size"), 52273 value: largestFontSize, 52274 onChange: (value) => { 52275 onFontSizeChange( 52276 "largestFontSize", 52277 value 52278 ); 52279 }, 52280 units, 52281 min: MIN_FONT_SIZE, 52282 max: MAX_FONT_SIZE, 52283 size: "__unstable-large" 52284 } 52285 ) }) 52286 ] }) 52287 } 52288 ), 52289 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52290 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 52291 { 52292 hasValue: () => numberOfTags !== 45, 52293 label: (0,external_wp_i18n_namespaceObject.__)("Number of tags"), 52294 onDeselect: () => setAttributes({ numberOfTags: 45 }), 52295 isShownByDefault: true, 52296 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52297 external_wp_components_namespaceObject.RangeControl, 52298 { 52299 __nextHasNoMarginBottom: true, 52300 __next40pxDefaultSize: true, 52301 label: (0,external_wp_i18n_namespaceObject.__)("Number of tags"), 52302 value: numberOfTags, 52303 onChange: (value) => setAttributes({ numberOfTags: value }), 52304 min: MIN_TAGS, 52305 max: MAX_TAGS, 52306 required: true 52307 } 52308 ) 52309 } 52310 ), 52311 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52312 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 52313 { 52314 hasValue: () => showTagCounts !== false, 52315 label: (0,external_wp_i18n_namespaceObject.__)("Show tag counts"), 52316 onDeselect: () => setAttributes({ showTagCounts: false }), 52317 isShownByDefault: true, 52318 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52319 external_wp_components_namespaceObject.ToggleControl, 52320 { 52321 __nextHasNoMarginBottom: true, 52322 label: (0,external_wp_i18n_namespaceObject.__)("Show tag counts"), 52323 checked: showTagCounts, 52324 onChange: () => setAttributes({ showTagCounts: !showTagCounts }) 52325 } 52326 ) 52327 } 52328 ) 52329 ] 52330 } 52331 ) }); 52332 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 52333 inspectorControls, 52334 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52335 (external_wp_serverSideRender_default()), 52336 { 52337 skipBlockSupportAttributes: true, 52338 block: "core/tag-cloud", 52339 attributes: serverSideAttributes 52340 } 52341 ) }) }) 52342 ] }); 52343 } 52344 var tag_cloud_edit_edit_default = TagCloudEdit; 52345 52346 52347 ;// ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js 52348 52349 52350 52351 52352 52353 const { name: tag_cloud_name } = tag_cloud_block_namespaceObject; 52354 const tag_cloud_settings = { 52355 icon: tag_default, 52356 example: {}, 52357 edit: tag_cloud_edit_edit_default, 52358 transforms: tag_cloud_transforms_transforms_default 52359 }; 52360 const tag_cloud_init = () => initBlock({ name: tag_cloud_name, metadata: tag_cloud_block_namespaceObject, settings: tag_cloud_settings }); 52361 52362 52363 ;// ./node_modules/tslib/tslib.es6.mjs 52364 /****************************************************************************** 52365 Copyright (c) Microsoft Corporation. 52366 52367 Permission to use, copy, modify, and/or distribute this software for any 52368 purpose with or without fee is hereby granted. 52369 52370 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 52371 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 52372 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 52373 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 52374 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 52375 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 52376 PERFORMANCE OF THIS SOFTWARE. 52377 ***************************************************************************** */ 52378 /* global Reflect, Promise, SuppressedError, Symbol, Iterator */ 52379 52380 var extendStatics = function(d, b) { 52381 extendStatics = Object.setPrototypeOf || 52382 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 52383 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; 52384 return extendStatics(d, b); 52385 }; 52386 52387 function __extends(d, b) { 52388 if (typeof b !== "function" && b !== null) 52389 throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); 52390 extendStatics(d, b); 52391 function __() { this.constructor = d; } 52392 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 52393 } 52394 52395 var __assign = function() { 52396 __assign = Object.assign || function __assign(t) { 52397 for (var s, i = 1, n = arguments.length; i < n; i++) { 52398 s = arguments[i]; 52399 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 52400 } 52401 return t; 52402 } 52403 return __assign.apply(this, arguments); 52404 } 52405 52406 function __rest(s, e) { 52407 var t = {}; 52408 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 52409 t[p] = s[p]; 52410 if (s != null && typeof Object.getOwnPropertySymbols === "function") 52411 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 52412 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 52413 t[p[i]] = s[p[i]]; 52414 } 52415 return t; 52416 } 52417 52418 function __decorate(decorators, target, key, desc) { 52419 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 52420 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 52421 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 52422 return c > 3 && r && Object.defineProperty(target, key, r), r; 52423 } 52424 52425 function __param(paramIndex, decorator) { 52426 return function (target, key) { decorator(target, key, paramIndex); } 52427 } 52428 52429 function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) { 52430 function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; } 52431 var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value"; 52432 var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null; 52433 var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {}); 52434 var _, done = false; 52435 for (var i = decorators.length - 1; i >= 0; i--) { 52436 var context = {}; 52437 for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p]; 52438 for (var p in contextIn.access) context.access[p] = contextIn.access[p]; 52439 context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); }; 52440 var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context); 52441 if (kind === "accessor") { 52442 if (result === void 0) continue; 52443 if (result === null || typeof result !== "object") throw new TypeError("Object expected"); 52444 if (_ = accept(result.get)) descriptor.get = _; 52445 if (_ = accept(result.set)) descriptor.set = _; 52446 if (_ = accept(result.init)) initializers.unshift(_); 52447 } 52448 else if (_ = accept(result)) { 52449 if (kind === "field") initializers.unshift(_); 52450 else descriptor[key] = _; 52451 } 52452 } 52453 if (target) Object.defineProperty(target, contextIn.name, descriptor); 52454 done = true; 52455 }; 52456 52457 function __runInitializers(thisArg, initializers, value) { 52458 var useValue = arguments.length > 2; 52459 for (var i = 0; i < initializers.length; i++) { 52460 value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg); 52461 } 52462 return useValue ? value : void 0; 52463 }; 52464 52465 function __propKey(x) { 52466 return typeof x === "symbol" ? x : "".concat(x); 52467 }; 52468 52469 function __setFunctionName(f, name, prefix) { 52470 if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : ""; 52471 return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name }); 52472 }; 52473 52474 function __metadata(metadataKey, metadataValue) { 52475 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); 52476 } 52477 52478 function __awaiter(thisArg, _arguments, P, generator) { 52479 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 52480 return new (P || (P = Promise))(function (resolve, reject) { 52481 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 52482 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 52483 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 52484 step((generator = generator.apply(thisArg, _arguments || [])).next()); 52485 }); 52486 } 52487 52488 function __generator(thisArg, body) { 52489 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype); 52490 return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; 52491 function verb(n) { return function (v) { return step([n, v]); }; } 52492 function step(op) { 52493 if (f) throw new TypeError("Generator is already executing."); 52494 while (g && (g = 0, op[0] && (_ = 0)), _) try { 52495 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; 52496 if (y = 0, t) op = [op[0] & 2, t.value]; 52497 switch (op[0]) { 52498 case 0: case 1: t = op; break; 52499 case 4: _.label++; return { value: op[1], done: false }; 52500 case 5: _.label++; y = op[1]; op = [0]; continue; 52501 case 7: op = _.ops.pop(); _.trys.pop(); continue; 52502 default: 52503 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } 52504 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } 52505 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } 52506 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } 52507 if (t[2]) _.ops.pop(); 52508 _.trys.pop(); continue; 52509 } 52510 op = body.call(thisArg, _); 52511 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } 52512 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; 52513 } 52514 } 52515 52516 var __createBinding = Object.create ? (function(o, m, k, k2) { 52517 if (k2 === undefined) k2 = k; 52518 var desc = Object.getOwnPropertyDescriptor(m, k); 52519 if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { 52520 desc = { enumerable: true, get: function() { return m[k]; } }; 52521 } 52522 Object.defineProperty(o, k2, desc); 52523 }) : (function(o, m, k, k2) { 52524 if (k2 === undefined) k2 = k; 52525 o[k2] = m[k]; 52526 }); 52527 52528 function __exportStar(m, o) { 52529 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); 52530 } 52531 52532 function __values(o) { 52533 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; 52534 if (m) return m.call(o); 52535 if (o && typeof o.length === "number") return { 52536 next: function () { 52537 if (o && i >= o.length) o = void 0; 52538 return { value: o && o[i++], done: !o }; 52539 } 52540 }; 52541 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); 52542 } 52543 52544 function __read(o, n) { 52545 var m = typeof Symbol === "function" && o[Symbol.iterator]; 52546 if (!m) return o; 52547 var i = m.call(o), r, ar = [], e; 52548 try { 52549 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); 52550 } 52551 catch (error) { e = { error: error }; } 52552 finally { 52553 try { 52554 if (r && !r.done && (m = i["return"])) m.call(i); 52555 } 52556 finally { if (e) throw e.error; } 52557 } 52558 return ar; 52559 } 52560 52561 /** @deprecated */ 52562 function __spread() { 52563 for (var ar = [], i = 0; i < arguments.length; i++) 52564 ar = ar.concat(__read(arguments[i])); 52565 return ar; 52566 } 52567 52568 /** @deprecated */ 52569 function __spreadArrays() { 52570 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 52571 for (var r = Array(s), k = 0, i = 0; i < il; i++) 52572 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 52573 r[k] = a[j]; 52574 return r; 52575 } 52576 52577 function __spreadArray(to, from, pack) { 52578 if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { 52579 if (ar || !(i in from)) { 52580 if (!ar) ar = Array.prototype.slice.call(from, 0, i); 52581 ar[i] = from[i]; 52582 } 52583 } 52584 return to.concat(ar || Array.prototype.slice.call(from)); 52585 } 52586 52587 function __await(v) { 52588 return this instanceof __await ? (this.v = v, this) : new __await(v); 52589 } 52590 52591 function __asyncGenerator(thisArg, _arguments, generator) { 52592 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 52593 var g = generator.apply(thisArg, _arguments || []), i, q = []; 52594 return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i; 52595 function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; } 52596 function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } } 52597 function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } 52598 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } 52599 function fulfill(value) { resume("next", value); } 52600 function reject(value) { resume("throw", value); } 52601 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } 52602 } 52603 52604 function __asyncDelegator(o) { 52605 var i, p; 52606 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; 52607 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; } 52608 } 52609 52610 function __asyncValues(o) { 52611 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 52612 var m = o[Symbol.asyncIterator], i; 52613 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); 52614 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } 52615 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } 52616 } 52617 52618 function __makeTemplateObject(cooked, raw) { 52619 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 52620 return cooked; 52621 }; 52622 52623 var __setModuleDefault = Object.create ? (function(o, v) { 52624 Object.defineProperty(o, "default", { enumerable: true, value: v }); 52625 }) : function(o, v) { 52626 o["default"] = v; 52627 }; 52628 52629 var ownKeys = function(o) { 52630 ownKeys = Object.getOwnPropertyNames || function (o) { 52631 var ar = []; 52632 for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; 52633 return ar; 52634 }; 52635 return ownKeys(o); 52636 }; 52637 52638 function __importStar(mod) { 52639 if (mod && mod.__esModule) return mod; 52640 var result = {}; 52641 if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); 52642 __setModuleDefault(result, mod); 52643 return result; 52644 } 52645 52646 function __importDefault(mod) { 52647 return (mod && mod.__esModule) ? mod : { default: mod }; 52648 } 52649 52650 function __classPrivateFieldGet(receiver, state, kind, f) { 52651 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); 52652 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); 52653 return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); 52654 } 52655 52656 function __classPrivateFieldSet(receiver, state, value, kind, f) { 52657 if (kind === "m") throw new TypeError("Private method is not writable"); 52658 if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); 52659 if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); 52660 return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; 52661 } 52662 52663 function __classPrivateFieldIn(state, receiver) { 52664 if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object"); 52665 return typeof state === "function" ? receiver === state : state.has(receiver); 52666 } 52667 52668 function __addDisposableResource(env, value, async) { 52669 if (value !== null && value !== void 0) { 52670 if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); 52671 var dispose, inner; 52672 if (async) { 52673 if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); 52674 dispose = value[Symbol.asyncDispose]; 52675 } 52676 if (dispose === void 0) { 52677 if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); 52678 dispose = value[Symbol.dispose]; 52679 if (async) inner = dispose; 52680 } 52681 if (typeof dispose !== "function") throw new TypeError("Object not disposable."); 52682 if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; 52683 env.stack.push({ value: value, dispose: dispose, async: async }); 52684 } 52685 else if (async) { 52686 env.stack.push({ async: true }); 52687 } 52688 return value; 52689 } 52690 52691 var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { 52692 var e = new Error(message); 52693 return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; 52694 }; 52695 52696 function __disposeResources(env) { 52697 function fail(e) { 52698 env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; 52699 env.hasError = true; 52700 } 52701 var r, s = 0; 52702 function next() { 52703 while (r = env.stack.pop()) { 52704 try { 52705 if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); 52706 if (r.dispose) { 52707 var result = r.dispose.call(r.value); 52708 if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); 52709 } 52710 else s |= 1; 52711 } 52712 catch (e) { 52713 fail(e); 52714 } 52715 } 52716 if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); 52717 if (env.hasError) throw env.error; 52718 } 52719 return next(); 52720 } 52721 52722 function __rewriteRelativeImportExtension(path, preserveJsx) { 52723 if (typeof path === "string" && /^\.\.?\//.test(path)) { 52724 return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) { 52725 return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js"); 52726 }); 52727 } 52728 return path; 52729 } 52730 52731 /* harmony default export */ const tslib_es6 = ({ 52732 __extends, 52733 __assign, 52734 __rest, 52735 __decorate, 52736 __param, 52737 __esDecorate, 52738 __runInitializers, 52739 __propKey, 52740 __setFunctionName, 52741 __metadata, 52742 __awaiter, 52743 __generator, 52744 __createBinding, 52745 __exportStar, 52746 __values, 52747 __read, 52748 __spread, 52749 __spreadArrays, 52750 __spreadArray, 52751 __await, 52752 __asyncGenerator, 52753 __asyncDelegator, 52754 __asyncValues, 52755 __makeTemplateObject, 52756 __importStar, 52757 __importDefault, 52758 __classPrivateFieldGet, 52759 __classPrivateFieldSet, 52760 __classPrivateFieldIn, 52761 __addDisposableResource, 52762 __disposeResources, 52763 __rewriteRelativeImportExtension, 52764 }); 52765 52766 ;// ./node_modules/lower-case/dist.es2015/index.js 52767 /** 52768 * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt 52769 */ 52770 var SUPPORTED_LOCALE = { 52771 tr: { 52772 regexp: /\u0130|\u0049|\u0049\u0307/g, 52773 map: { 52774 İ: "\u0069", 52775 I: "\u0131", 52776 İ: "\u0069", 52777 }, 52778 }, 52779 az: { 52780 regexp: /\u0130/g, 52781 map: { 52782 İ: "\u0069", 52783 I: "\u0131", 52784 İ: "\u0069", 52785 }, 52786 }, 52787 lt: { 52788 regexp: /\u0049|\u004A|\u012E|\u00CC|\u00CD|\u0128/g, 52789 map: { 52790 I: "\u0069\u0307", 52791 J: "\u006A\u0307", 52792 Į: "\u012F\u0307", 52793 Ì: "\u0069\u0307\u0300", 52794 Í: "\u0069\u0307\u0301", 52795 Ĩ: "\u0069\u0307\u0303", 52796 }, 52797 }, 52798 }; 52799 /** 52800 * Localized lower case. 52801 */ 52802 function localeLowerCase(str, locale) { 52803 var lang = SUPPORTED_LOCALE[locale.toLowerCase()]; 52804 if (lang) 52805 return lowerCase(str.replace(lang.regexp, function (m) { return lang.map[m]; })); 52806 return lowerCase(str); 52807 } 52808 /** 52809 * Lower case as a function. 52810 */ 52811 function lowerCase(str) { 52812 return str.toLowerCase(); 52813 } 52814 52815 ;// ./node_modules/no-case/dist.es2015/index.js 52816 52817 // Support camel case ("camelCase" -> "camel Case" and "CAMELCase" -> "CAMEL Case"). 52818 var DEFAULT_SPLIT_REGEXP = [/([a-z0-9])([A-Z])/g, /([A-Z])([A-Z][a-z])/g]; 52819 // Remove all non-word characters. 52820 var DEFAULT_STRIP_REGEXP = /[^A-Z0-9]+/gi; 52821 /** 52822 * Normalize the string into something other libraries can manipulate easier. 52823 */ 52824 function noCase(input, options) { 52825 if (options === void 0) { options = {}; } 52826 var _a = options.splitRegexp, splitRegexp = _a === void 0 ? DEFAULT_SPLIT_REGEXP : _a, _b = options.stripRegexp, stripRegexp = _b === void 0 ? DEFAULT_STRIP_REGEXP : _b, _c = options.transform, transform = _c === void 0 ? lowerCase : _c, _d = options.delimiter, delimiter = _d === void 0 ? " " : _d; 52827 var result = replace(replace(input, splitRegexp, "$1\0$2"), stripRegexp, "\0"); 52828 var start = 0; 52829 var end = result.length; 52830 // Trim the delimiter from around the output string. 52831 while (result.charAt(start) === "\0") 52832 start++; 52833 while (result.charAt(end - 1) === "\0") 52834 end--; 52835 // Transform each token independently. 52836 return result.slice(start, end).split("\0").map(transform).join(delimiter); 52837 } 52838 /** 52839 * Replace `re` in the input string with the replacement value. 52840 */ 52841 function replace(input, re, value) { 52842 if (re instanceof RegExp) 52843 return input.replace(re, value); 52844 return re.reduce(function (input, re) { return input.replace(re, value); }, input); 52845 } 52846 52847 ;// ./node_modules/upper-case-first/dist.es2015/index.js 52848 /** 52849 * Upper case the first character of an input string. 52850 */ 52851 function upperCaseFirst(input) { 52852 return input.charAt(0).toUpperCase() + input.substr(1); 52853 } 52854 52855 ;// ./node_modules/capital-case/dist.es2015/index.js 52856 52857 52858 52859 function capitalCaseTransform(input) { 52860 return upperCaseFirst(input.toLowerCase()); 52861 } 52862 function capitalCase(input, options) { 52863 if (options === void 0) { options = {}; } 52864 return noCase(input, __assign({ delimiter: " ", transform: capitalCaseTransform }, options)); 52865 } 52866 52867 ;// ./node_modules/@wordpress/block-library/build-module/template-part/block.json 52868 const template_part_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/template-part","title":"Template Part","category":"theme","description":"Edit the different global regions of your site, like the header, footer, sidebar, or create your own.","textdomain":"default","attributes":{"slug":{"type":"string"},"theme":{"type":"string"},"tagName":{"type":"string"},"area":{"type":"string"}},"supports":{"align":true,"html":false,"reusable":false,"renaming":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-template-part-editor"}'); 52869 ;// ./node_modules/dot-case/dist.es2015/index.js 52870 52871 52872 function dotCase(input, options) { 52873 if (options === void 0) { options = {}; } 52874 return noCase(input, __assign({ delimiter: "." }, options)); 52875 } 52876 52877 ;// ./node_modules/param-case/dist.es2015/index.js 52878 52879 52880 function paramCase(input, options) { 52881 if (options === void 0) { options = {}; } 52882 return dotCase(input, __assign({ delimiter: "-" }, options)); 52883 } 52884 52885 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/utils/hooks.js 52886 52887 52888 52889 52890 52891 52892 52893 52894 function useAlternativeTemplateParts(area, excludedId) { 52895 const { templateParts, isResolving } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 52896 const { getEntityRecords, isResolving: _isResolving } = select(external_wp_coreData_namespaceObject.store); 52897 const query = { per_page: -1 }; 52898 return { 52899 templateParts: getEntityRecords( 52900 "postType", 52901 "wp_template_part", 52902 query 52903 ), 52904 isResolving: _isResolving("getEntityRecords", [ 52905 "postType", 52906 "wp_template_part", 52907 query 52908 ]) 52909 }; 52910 }, []); 52911 const filteredTemplateParts = (0,external_wp_element_namespaceObject.useMemo)(() => { 52912 if (!templateParts) { 52913 return []; 52914 } 52915 return templateParts.filter( 52916 (templatePart) => createTemplatePartId( 52917 templatePart.theme, 52918 templatePart.slug 52919 ) !== excludedId && (!area || "uncategorized" === area || templatePart.area === area) 52920 ) || []; 52921 }, [templateParts, area, excludedId]); 52922 return { 52923 templateParts: filteredTemplateParts, 52924 isResolving 52925 }; 52926 } 52927 function useAlternativeBlockPatterns(area, clientId) { 52928 return (0,external_wp_data_namespaceObject.useSelect)( 52929 (select) => { 52930 const blockNameWithArea = area ? `core/template-part/$area}` : "core/template-part"; 52931 const { getBlockRootClientId, getPatternsByBlockTypes } = select(external_wp_blockEditor_namespaceObject.store); 52932 const rootClientId = getBlockRootClientId(clientId); 52933 return getPatternsByBlockTypes(blockNameWithArea, rootClientId); 52934 }, 52935 [area, clientId] 52936 ); 52937 } 52938 function useCreateTemplatePartFromBlocks(area, setAttributes) { 52939 const { saveEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 52940 return async (blocks = [], title = (0,external_wp_i18n_namespaceObject.__)("Untitled Template Part")) => { 52941 const cleanSlug = paramCase(title).replace(/[^\w-]+/g, "") || "wp-custom-part"; 52942 const record = { 52943 title, 52944 slug: cleanSlug, 52945 content: (0,external_wp_blocks_namespaceObject.serialize)(blocks), 52946 // `area` is filterable on the server and defaults to `UNCATEGORIZED` 52947 // if provided value is not allowed. 52948 area 52949 }; 52950 const templatePart = await saveEntityRecord( 52951 "postType", 52952 "wp_template_part", 52953 record 52954 ); 52955 setAttributes({ 52956 slug: templatePart.slug, 52957 theme: templatePart.theme, 52958 area: void 0 52959 }); 52960 }; 52961 } 52962 function useTemplatePartArea(area) { 52963 return (0,external_wp_data_namespaceObject.useSelect)( 52964 (select) => { 52965 const definedAreas = select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.default_template_part_areas || []; 52966 const selectedArea = definedAreas.find( 52967 (definedArea) => definedArea.area === area 52968 ); 52969 const defaultArea = definedAreas.find( 52970 (definedArea) => definedArea.area === "uncategorized" 52971 ); 52972 return { 52973 icon: selectedArea?.icon || defaultArea?.icon, 52974 label: selectedArea?.label || (0,external_wp_i18n_namespaceObject.__)("Template Part"), 52975 tagName: selectedArea?.area_tag ?? "div" 52976 }; 52977 }, 52978 [area] 52979 ); 52980 } 52981 52982 52983 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/title-modal.js 52984 52985 52986 52987 52988 function TitleModal({ areaLabel, onClose, onSubmit }) { 52989 const [title, setTitle] = (0,external_wp_element_namespaceObject.useState)(""); 52990 const submitForCreation = (event) => { 52991 event.preventDefault(); 52992 onSubmit(title); 52993 }; 52994 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 52995 external_wp_components_namespaceObject.Modal, 52996 { 52997 title: (0,external_wp_i18n_namespaceObject.sprintf)( 52998 // Translators: %s as template part area title ("Header", "Footer", etc.). 52999 (0,external_wp_i18n_namespaceObject.__)("Create new %s"), 53000 areaLabel.toLowerCase() 53001 ), 53002 onRequestClose: onClose, 53003 focusOnMount: "firstContentElement", 53004 size: "small", 53005 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("form", { onSubmit: submitForCreation, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: "5", children: [ 53006 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53007 external_wp_components_namespaceObject.TextControl, 53008 { 53009 label: (0,external_wp_i18n_namespaceObject.__)("Name"), 53010 value: title, 53011 onChange: setTitle, 53012 placeholder: (0,external_wp_i18n_namespaceObject.__)("Custom Template Part"), 53013 __nextHasNoMarginBottom: true, 53014 __next40pxDefaultSize: true 53015 } 53016 ), 53017 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "right", children: [ 53018 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53019 external_wp_components_namespaceObject.Button, 53020 { 53021 __next40pxDefaultSize: true, 53022 variant: "tertiary", 53023 onClick: () => { 53024 onClose(); 53025 setTitle(""); 53026 }, 53027 children: (0,external_wp_i18n_namespaceObject.__)("Cancel") 53028 } 53029 ), 53030 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53031 external_wp_components_namespaceObject.Button, 53032 { 53033 variant: "primary", 53034 type: "submit", 53035 accessibleWhenDisabled: true, 53036 disabled: !title.length, 53037 __next40pxDefaultSize: true, 53038 children: (0,external_wp_i18n_namespaceObject.__)("Create") 53039 } 53040 ) 53041 ] }) 53042 ] }) }) 53043 } 53044 ); 53045 } 53046 53047 53048 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/placeholder.js 53049 53050 53051 53052 53053 53054 53055 53056 53057 53058 function TemplatePartPlaceholder({ 53059 area, 53060 clientId, 53061 templatePartId, 53062 onOpenSelectionModal, 53063 setAttributes 53064 }) { 53065 const { templateParts, isResolving } = useAlternativeTemplateParts( 53066 area, 53067 templatePartId 53068 ); 53069 const blockPatterns = useAlternativeBlockPatterns(area, clientId); 53070 const { isBlockBasedTheme, canCreateTemplatePart } = (0,external_wp_data_namespaceObject.useSelect)( 53071 (select) => { 53072 const { getCurrentTheme, canUser } = select(external_wp_coreData_namespaceObject.store); 53073 return { 53074 isBlockBasedTheme: getCurrentTheme()?.is_block_theme, 53075 canCreateTemplatePart: canUser("create", { 53076 kind: "postType", 53077 name: "wp_template_part" 53078 }) 53079 }; 53080 }, 53081 [] 53082 ); 53083 const [showTitleModal, setShowTitleModal] = (0,external_wp_element_namespaceObject.useState)(false); 53084 const areaObject = useTemplatePartArea(area); 53085 const createFromBlocks = useCreateTemplatePartFromBlocks( 53086 area, 53087 setAttributes 53088 ); 53089 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 53090 external_wp_components_namespaceObject.Placeholder, 53091 { 53092 icon: getTemplatePartIcon(areaObject.icon), 53093 label: areaObject.label, 53094 instructions: isBlockBasedTheme ? (0,external_wp_i18n_namespaceObject.sprintf)( 53095 // Translators: %s as template part area title ("Header", "Footer", etc.). 53096 (0,external_wp_i18n_namespaceObject.__)("Choose an existing %s or create a new one."), 53097 areaObject.label.toLowerCase() 53098 ) : (0,external_wp_i18n_namespaceObject.sprintf)( 53099 // Translators: %s as template part area title ("Header", "Footer", etc.). 53100 (0,external_wp_i18n_namespaceObject.__)("Choose an existing %s."), 53101 areaObject.label.toLowerCase() 53102 ), 53103 children: [ 53104 isResolving && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 53105 !isResolving && !!(templateParts.length || blockPatterns.length) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53106 external_wp_components_namespaceObject.Button, 53107 { 53108 __next40pxDefaultSize: true, 53109 variant: "primary", 53110 onClick: onOpenSelectionModal, 53111 children: (0,external_wp_i18n_namespaceObject.__)("Choose") 53112 } 53113 ), 53114 !isResolving && isBlockBasedTheme && canCreateTemplatePart && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53115 external_wp_components_namespaceObject.Button, 53116 { 53117 __next40pxDefaultSize: true, 53118 variant: "secondary", 53119 onClick: () => { 53120 setShowTitleModal(true); 53121 }, 53122 children: (0,external_wp_i18n_namespaceObject.__)("Start blank") 53123 } 53124 ), 53125 showTitleModal && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53126 TitleModal, 53127 { 53128 areaLabel: areaObject.label, 53129 onClose: () => setShowTitleModal(false), 53130 onSubmit: (title) => { 53131 createFromBlocks([], title); 53132 } 53133 } 53134 ) 53135 ] 53136 } 53137 ); 53138 } 53139 53140 53141 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js 53142 53143 53144 function mapTemplatePartToBlockPattern(templatePart) { 53145 return { 53146 name: createTemplatePartId(templatePart.theme, templatePart.slug), 53147 title: templatePart.title.rendered, 53148 blocks: (0,external_wp_blocks_namespaceObject.parse)(templatePart.content.raw), 53149 templatePart 53150 }; 53151 } 53152 53153 53154 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/selection-modal.js 53155 53156 53157 53158 53159 53160 53161 53162 53163 53164 53165 function TemplatePartSelectionModal({ 53166 setAttributes, 53167 onClose, 53168 templatePartId = null, 53169 area, 53170 clientId 53171 }) { 53172 const [searchValue, setSearchValue] = (0,external_wp_element_namespaceObject.useState)(""); 53173 const { templateParts } = useAlternativeTemplateParts( 53174 area, 53175 templatePartId 53176 ); 53177 const filteredTemplateParts = (0,external_wp_element_namespaceObject.useMemo)(() => { 53178 const partsAsPatterns = templateParts.map( 53179 (templatePart) => mapTemplatePartToBlockPattern(templatePart) 53180 ); 53181 return searchPatterns(partsAsPatterns, searchValue); 53182 }, [templateParts, searchValue]); 53183 const blockPatterns = useAlternativeBlockPatterns(area, clientId); 53184 const filteredBlockPatterns = (0,external_wp_element_namespaceObject.useMemo)(() => { 53185 return searchPatterns(blockPatterns, searchValue); 53186 }, [blockPatterns, searchValue]); 53187 const { createSuccessNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 53188 const onTemplatePartSelect = (templatePart) => { 53189 setAttributes({ 53190 slug: templatePart.slug, 53191 theme: templatePart.theme, 53192 area: void 0 53193 }); 53194 createSuccessNotice( 53195 (0,external_wp_i18n_namespaceObject.sprintf)( 53196 /* translators: %s: template part title. */ 53197 (0,external_wp_i18n_namespaceObject.__)('Template Part "%s" inserted.'), 53198 templatePart.title?.rendered || templatePart.slug 53199 ), 53200 { 53201 type: "snackbar" 53202 } 53203 ); 53204 onClose(); 53205 }; 53206 const hasTemplateParts = !!filteredTemplateParts.length; 53207 const hasBlockPatterns = !!filteredBlockPatterns.length; 53208 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "block-library-template-part__selection-content", children: [ 53209 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "block-library-template-part__selection-search", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53210 external_wp_components_namespaceObject.SearchControl, 53211 { 53212 __nextHasNoMarginBottom: true, 53213 onChange: setSearchValue, 53214 value: searchValue, 53215 label: (0,external_wp_i18n_namespaceObject.__)("Search"), 53216 placeholder: (0,external_wp_i18n_namespaceObject.__)("Search") 53217 } 53218 ) }), 53219 hasTemplateParts && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { children: [ 53220 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h2", { children: (0,external_wp_i18n_namespaceObject.__)("Existing template parts") }), 53221 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53222 external_wp_blockEditor_namespaceObject.__experimentalBlockPatternsList, 53223 { 53224 blockPatterns: filteredTemplateParts, 53225 onClickPattern: (pattern) => { 53226 onTemplatePartSelect(pattern.templatePart); 53227 } 53228 } 53229 ) 53230 ] }), 53231 !hasTemplateParts && !hasBlockPatterns && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalHStack, { alignment: "center", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { children: (0,external_wp_i18n_namespaceObject.__)("No results found.") }) }) 53232 ] }); 53233 } 53234 53235 53236 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/utils/transformers.js 53237 53238 function transformWidgetToBlock(widget) { 53239 if (widget.id_base !== "block") { 53240 let attributes; 53241 if (widget._embedded.about[0].is_multi) { 53242 attributes = { 53243 idBase: widget.id_base, 53244 instance: widget.instance 53245 }; 53246 } else { 53247 attributes = { 53248 id: widget.id 53249 }; 53250 } 53251 return switchLegacyWidgetType( 53252 (0,external_wp_blocks_namespaceObject.createBlock)("core/legacy-widget", attributes) 53253 ); 53254 } 53255 const parsedBlocks = (0,external_wp_blocks_namespaceObject.parse)(widget.instance.raw.content, { 53256 __unstableSkipAutop: true 53257 }); 53258 if (!parsedBlocks.length) { 53259 return void 0; 53260 } 53261 const block = parsedBlocks[0]; 53262 if (block.name === "core/widget-group") { 53263 return (0,external_wp_blocks_namespaceObject.createBlock)( 53264 (0,external_wp_blocks_namespaceObject.getGroupingBlockName)(), 53265 void 0, 53266 transformInnerBlocks(block.innerBlocks) 53267 ); 53268 } 53269 if (block.innerBlocks.length > 0) { 53270 return (0,external_wp_blocks_namespaceObject.cloneBlock)( 53271 block, 53272 void 0, 53273 transformInnerBlocks(block.innerBlocks) 53274 ); 53275 } 53276 return block; 53277 } 53278 function switchLegacyWidgetType(block) { 53279 const transforms = (0,external_wp_blocks_namespaceObject.getPossibleBlockTransformations)([block]).filter( 53280 (item) => { 53281 if (!item.transforms) { 53282 return true; 53283 } 53284 const hasWildCardFrom = item.transforms?.from?.find( 53285 (from) => from.blocks && from.blocks.includes("*") 53286 ); 53287 const hasWildCardTo = item.transforms?.to?.find( 53288 (to) => to.blocks && to.blocks.includes("*") 53289 ); 53290 return !hasWildCardFrom && !hasWildCardTo; 53291 } 53292 ); 53293 if (!transforms.length) { 53294 return void 0; 53295 } 53296 return (0,external_wp_blocks_namespaceObject.switchToBlockType)(block, transforms[0].name); 53297 } 53298 function transformInnerBlocks(innerBlocks = []) { 53299 return innerBlocks.flatMap((block) => { 53300 if (block.name === "core/legacy-widget") { 53301 return switchLegacyWidgetType(block); 53302 } 53303 return (0,external_wp_blocks_namespaceObject.createBlock)( 53304 block.name, 53305 block.attributes, 53306 transformInnerBlocks(block.innerBlocks) 53307 ); 53308 }).filter((block) => !!block); 53309 } 53310 53311 53312 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/import-controls.js 53313 53314 53315 53316 53317 53318 53319 53320 53321 53322 const SIDEBARS_QUERY = { 53323 per_page: -1, 53324 _fields: "id,name,description,status,widgets" 53325 }; 53326 function TemplatePartImportControls({ area, setAttributes }) { 53327 const [selectedSidebar, setSelectedSidebar] = (0,external_wp_element_namespaceObject.useState)(""); 53328 const [isBusy, setIsBusy] = (0,external_wp_element_namespaceObject.useState)(false); 53329 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 53330 const { sidebars, hasResolved } = (0,external_wp_data_namespaceObject.useSelect)((select) => { 53331 const { getSidebars, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 53332 return { 53333 sidebars: getSidebars(SIDEBARS_QUERY), 53334 hasResolved: hasFinishedResolution("getSidebars", [ 53335 SIDEBARS_QUERY 53336 ]) 53337 }; 53338 }, []); 53339 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 53340 const createFromBlocks = useCreateTemplatePartFromBlocks( 53341 area, 53342 setAttributes 53343 ); 53344 const options = (0,external_wp_element_namespaceObject.useMemo)(() => { 53345 const sidebarOptions = (sidebars ?? []).filter( 53346 (widgetArea) => widgetArea.id !== "wp_inactive_widgets" && widgetArea.widgets.length > 0 53347 ).map((widgetArea) => { 53348 return { 53349 value: widgetArea.id, 53350 label: widgetArea.name 53351 }; 53352 }); 53353 if (!sidebarOptions.length) { 53354 return []; 53355 } 53356 return [ 53357 { value: "", label: (0,external_wp_i18n_namespaceObject.__)("Select widget area") }, 53358 ...sidebarOptions 53359 ]; 53360 }, [sidebars]); 53361 if (!hasResolved) { 53362 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalSpacer, { marginBottom: "0" }); 53363 } 53364 if (hasResolved && !options.length) { 53365 return null; 53366 } 53367 async function createFromWidgets(event) { 53368 event.preventDefault(); 53369 if (isBusy || !selectedSidebar) { 53370 return; 53371 } 53372 setIsBusy(true); 53373 const sidebar = options.find( 53374 ({ value }) => value === selectedSidebar 53375 ); 53376 const { getWidgets } = registry.resolveSelect(external_wp_coreData_namespaceObject.store); 53377 const widgets = await getWidgets({ 53378 sidebar: sidebar.value, 53379 _embed: "about" 53380 }); 53381 const skippedWidgets = /* @__PURE__ */ new Set(); 53382 const blocks = widgets.flatMap((widget) => { 53383 const block = transformWidgetToBlock(widget); 53384 if (!block) { 53385 skippedWidgets.add(widget.id_base); 53386 return []; 53387 } 53388 return block; 53389 }); 53390 await createFromBlocks( 53391 blocks, 53392 /* translators: %s: name of the widget area */ 53393 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)("Widget area: %s"), sidebar.label) 53394 ); 53395 if (skippedWidgets.size) { 53396 createErrorNotice( 53397 (0,external_wp_i18n_namespaceObject.sprintf)( 53398 /* translators: %s: the list of widgets */ 53399 (0,external_wp_i18n_namespaceObject.__)("Unable to import the following widgets: %s."), 53400 Array.from(skippedWidgets).join(", ") 53401 ), 53402 { 53403 type: "snackbar" 53404 } 53405 ); 53406 } 53407 setIsBusy(false); 53408 } 53409 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalSpacer, { marginBottom: "4", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { as: "form", onSubmit: createFromWidgets, children: [ 53410 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexBlock, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53411 external_wp_components_namespaceObject.SelectControl, 53412 { 53413 label: (0,external_wp_i18n_namespaceObject.__)("Import widget area"), 53414 value: selectedSidebar, 53415 options, 53416 onChange: (value) => setSelectedSidebar(value), 53417 disabled: !options.length, 53418 __next40pxDefaultSize: true, 53419 __nextHasNoMarginBottom: true 53420 } 53421 ) }), 53422 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53423 external_wp_components_namespaceObject.FlexItem, 53424 { 53425 style: { 53426 marginBottom: "8px", 53427 marginTop: "auto" 53428 }, 53429 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53430 external_wp_components_namespaceObject.Button, 53431 { 53432 __next40pxDefaultSize: true, 53433 variant: "primary", 53434 type: "submit", 53435 isBusy, 53436 "aria-disabled": isBusy || !selectedSidebar, 53437 children: (0,external_wp_i18n_namespaceObject._x)("Import", "button label") 53438 } 53439 ) 53440 } 53441 ) 53442 ] }) }); 53443 } 53444 53445 53446 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/advanced-controls.js 53447 53448 53449 53450 53451 53452 53453 53454 53455 const { HTMLElementControl: advanced_controls_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 53456 function TemplatePartAdvancedControls({ 53457 tagName, 53458 setAttributes, 53459 isEntityAvailable, 53460 templatePartId, 53461 defaultWrapper, 53462 hasInnerBlocks, 53463 clientId 53464 }) { 53465 const [area, setArea] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 53466 "postType", 53467 "wp_template_part", 53468 "area", 53469 templatePartId 53470 ); 53471 const [title, setTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 53472 "postType", 53473 "wp_template_part", 53474 "title", 53475 templatePartId 53476 ); 53477 const defaultTemplatePartAreas = (0,external_wp_data_namespaceObject.useSelect)( 53478 (select) => select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.default_template_part_areas || [], 53479 [] 53480 ); 53481 const areaOptions = defaultTemplatePartAreas.map( 53482 ({ label, area: _area }) => ({ 53483 label, 53484 value: _area 53485 }) 53486 ); 53487 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 53488 isEntityAvailable && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 53489 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53490 external_wp_components_namespaceObject.TextControl, 53491 { 53492 __next40pxDefaultSize: true, 53493 __nextHasNoMarginBottom: true, 53494 label: (0,external_wp_i18n_namespaceObject.__)("Title"), 53495 value: title, 53496 onChange: (value) => { 53497 setTitle(value); 53498 }, 53499 onFocus: (event) => event.target.select() 53500 } 53501 ), 53502 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53503 external_wp_components_namespaceObject.SelectControl, 53504 { 53505 __next40pxDefaultSize: true, 53506 __nextHasNoMarginBottom: true, 53507 label: (0,external_wp_i18n_namespaceObject.__)("Area"), 53508 labelPosition: "top", 53509 options: areaOptions, 53510 value: area, 53511 onChange: setArea 53512 } 53513 ) 53514 ] }), 53515 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53516 advanced_controls_HTMLElementControl, 53517 { 53518 tagName: tagName || "", 53519 onChange: (value) => setAttributes({ tagName: value }), 53520 clientId, 53521 options: [ 53522 { 53523 label: (0,external_wp_i18n_namespaceObject.sprintf)( 53524 /* translators: %s: HTML tag based on area. */ 53525 (0,external_wp_i18n_namespaceObject.__)("Default based on area (%s)"), 53526 `<$defaultWrapper}>` 53527 ), 53528 value: "" 53529 }, 53530 { label: "<header>", value: "header" }, 53531 { label: "<main>", value: "main" }, 53532 { label: "<section>", value: "section" }, 53533 { label: "<article>", value: "article" }, 53534 { label: "<aside>", value: "aside" }, 53535 { label: "<footer>", value: "footer" }, 53536 { label: "<div>", value: "div" } 53537 ] 53538 } 53539 ), 53540 !hasInnerBlocks && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53541 TemplatePartImportControls, 53542 { 53543 area, 53544 setAttributes 53545 } 53546 ) 53547 ] }); 53548 } 53549 53550 53551 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/inner-blocks.js 53552 53553 53554 53555 53556 53557 53558 function useRenderAppender(hasInnerBlocks) { 53559 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 53560 if (blockEditingMode === "contentOnly") { 53561 return false; 53562 } 53563 if (!hasInnerBlocks) { 53564 return external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender; 53565 } 53566 } 53567 function useLayout(layout) { 53568 const themeSupportsLayout = (0,external_wp_data_namespaceObject.useSelect)((select) => { 53569 const { getSettings } = select(external_wp_blockEditor_namespaceObject.store); 53570 return getSettings()?.supportsLayout; 53571 }, []); 53572 const [defaultLayout] = (0,external_wp_blockEditor_namespaceObject.useSettings)("layout"); 53573 if (themeSupportsLayout) { 53574 return layout?.inherit ? defaultLayout || {} : layout; 53575 } 53576 } 53577 function NonEditableTemplatePartPreview({ 53578 postId: id, 53579 layout, 53580 tagName: TagName, 53581 blockProps 53582 }) { 53583 (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)("disabled"); 53584 const { content, editedBlocks } = (0,external_wp_data_namespaceObject.useSelect)( 53585 (select) => { 53586 if (!id) { 53587 return {}; 53588 } 53589 const { getEditedEntityRecord } = select(external_wp_coreData_namespaceObject.store); 53590 const editedRecord = getEditedEntityRecord( 53591 "postType", 53592 "wp_template_part", 53593 id, 53594 { context: "view" } 53595 ); 53596 return { 53597 editedBlocks: editedRecord.blocks, 53598 content: editedRecord.content 53599 }; 53600 }, 53601 [id] 53602 ); 53603 const blocks = (0,external_wp_element_namespaceObject.useMemo)(() => { 53604 if (!id) { 53605 return void 0; 53606 } 53607 if (editedBlocks) { 53608 return editedBlocks; 53609 } 53610 if (!content || typeof content !== "string") { 53611 return []; 53612 } 53613 return (0,external_wp_blocks_namespaceObject.parse)(content); 53614 }, [id, editedBlocks, content]); 53615 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 53616 value: blocks, 53617 onInput: () => { 53618 }, 53619 onChange: () => { 53620 }, 53621 renderAppender: false, 53622 layout: useLayout(layout) 53623 }); 53624 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps }); 53625 } 53626 function EditableTemplatePartInnerBlocks({ 53627 postId: id, 53628 hasInnerBlocks, 53629 layout, 53630 tagName: TagName, 53631 blockProps 53632 }) { 53633 const onNavigateToEntityRecord = (0,external_wp_data_namespaceObject.useSelect)( 53634 (select) => select(external_wp_blockEditor_namespaceObject.store).getSettings().onNavigateToEntityRecord, 53635 [] 53636 ); 53637 const [blocks, onInput, onChange] = (0,external_wp_coreData_namespaceObject.useEntityBlockEditor)( 53638 "postType", 53639 "wp_template_part", 53640 { id } 53641 ); 53642 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 53643 value: blocks, 53644 onInput, 53645 onChange, 53646 renderAppender: useRenderAppender(hasInnerBlocks), 53647 layout: useLayout(layout) 53648 }); 53649 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 53650 const customProps = blockEditingMode === "contentOnly" && onNavigateToEntityRecord ? { 53651 onDoubleClick: () => onNavigateToEntityRecord({ 53652 postId: id, 53653 postType: "wp_template_part" 53654 }) 53655 } : {}; 53656 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps, ...customProps }); 53657 } 53658 function TemplatePartInnerBlocks({ 53659 postId: id, 53660 hasInnerBlocks, 53661 layout, 53662 tagName: TagName, 53663 blockProps 53664 }) { 53665 const { canViewTemplatePart, canEditTemplatePart } = (0,external_wp_data_namespaceObject.useSelect)( 53666 (select) => { 53667 return { 53668 canViewTemplatePart: !!select(external_wp_coreData_namespaceObject.store).canUser("read", { 53669 kind: "postType", 53670 name: "wp_template_part", 53671 id 53672 }), 53673 canEditTemplatePart: !!select(external_wp_coreData_namespaceObject.store).canUser("update", { 53674 kind: "postType", 53675 name: "wp_template_part", 53676 id 53677 }) 53678 }; 53679 }, 53680 [id] 53681 ); 53682 if (!canViewTemplatePart) { 53683 return null; 53684 } 53685 const TemplatePartInnerBlocksComponent = canEditTemplatePart ? EditableTemplatePartInnerBlocks : NonEditableTemplatePartPreview; 53686 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53687 TemplatePartInnerBlocksComponent, 53688 { 53689 postId: id, 53690 hasInnerBlocks, 53691 layout, 53692 tagName: TagName, 53693 blockProps 53694 } 53695 ); 53696 } 53697 53698 53699 ;// ./node_modules/@wordpress/block-library/build-module/template-part/edit/index.js 53700 53701 53702 53703 53704 53705 53706 53707 53708 53709 53710 53711 53712 53713 53714 53715 function ReplaceButton({ 53716 isEntityAvailable, 53717 area, 53718 templatePartId, 53719 isTemplatePartSelectionOpen, 53720 setIsTemplatePartSelectionOpen 53721 }) { 53722 const { templateParts } = useAlternativeTemplateParts( 53723 area, 53724 templatePartId 53725 ); 53726 const hasReplacements = !!templateParts.length; 53727 const canReplace = isEntityAvailable && hasReplacements && (area === "header" || area === "footer"); 53728 if (!canReplace) { 53729 return null; 53730 } 53731 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53732 external_wp_components_namespaceObject.MenuItem, 53733 { 53734 onClick: () => { 53735 setIsTemplatePartSelectionOpen(true); 53736 }, 53737 "aria-expanded": isTemplatePartSelectionOpen, 53738 "aria-haspopup": "dialog", 53739 children: (0,external_wp_i18n_namespaceObject.__)("Replace") 53740 } 53741 ); 53742 } 53743 function TemplatesList({ area, clientId, isEntityAvailable, onSelect }) { 53744 const blockPatterns = useAlternativeBlockPatterns(area, clientId); 53745 const canReplace = isEntityAvailable && !!blockPatterns.length && (area === "header" || area === "footer"); 53746 if (!canReplace) { 53747 return null; 53748 } 53749 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { title: (0,external_wp_i18n_namespaceObject.__)("Design"), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53750 external_wp_blockEditor_namespaceObject.__experimentalBlockPatternsList, 53751 { 53752 label: (0,external_wp_i18n_namespaceObject.__)("Templates"), 53753 blockPatterns, 53754 onClickPattern: onSelect, 53755 showTitlesAsTooltip: true 53756 } 53757 ) }); 53758 } 53759 function TemplatePartEdit({ 53760 attributes, 53761 setAttributes, 53762 clientId 53763 }) { 53764 const { createSuccessNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 53765 const { editEntityRecord } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store); 53766 const currentTheme = (0,external_wp_data_namespaceObject.useSelect)( 53767 (select) => select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.stylesheet, 53768 [] 53769 ); 53770 const { slug, theme = currentTheme, tagName, layout = {} } = attributes; 53771 const templatePartId = createTemplatePartId(theme, slug); 53772 const hasAlreadyRendered = (0,external_wp_blockEditor_namespaceObject.useHasRecursion)(templatePartId); 53773 const [isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen] = (0,external_wp_element_namespaceObject.useState)(false); 53774 const { 53775 isResolved, 53776 hasInnerBlocks, 53777 isMissing, 53778 area, 53779 onNavigateToEntityRecord, 53780 title, 53781 canUserEdit 53782 } = (0,external_wp_data_namespaceObject.useSelect)( 53783 (select) => { 53784 const { getEditedEntityRecord, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 53785 const { getBlockCount, getSettings } = select(external_wp_blockEditor_namespaceObject.store); 53786 const getEntityArgs = [ 53787 "postType", 53788 "wp_template_part", 53789 templatePartId 53790 ]; 53791 const entityRecord = templatePartId ? getEditedEntityRecord(...getEntityArgs) : null; 53792 const _area = entityRecord?.area || attributes.area; 53793 const hasResolvedEntity = templatePartId ? hasFinishedResolution( 53794 "getEditedEntityRecord", 53795 getEntityArgs 53796 ) : false; 53797 const _canUserEdit = hasResolvedEntity ? select(external_wp_coreData_namespaceObject.store).canUser("update", { 53798 kind: "postType", 53799 name: "wp_template_part", 53800 id: templatePartId 53801 }) : false; 53802 return { 53803 hasInnerBlocks: getBlockCount(clientId) > 0, 53804 isResolved: hasResolvedEntity, 53805 isMissing: hasResolvedEntity && (!entityRecord || Object.keys(entityRecord).length === 0), 53806 area: _area, 53807 onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord, 53808 title: entityRecord?.title, 53809 canUserEdit: !!_canUserEdit 53810 }; 53811 }, 53812 [templatePartId, attributes.area, clientId] 53813 ); 53814 const areaObject = useTemplatePartArea(area); 53815 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 53816 const isPlaceholder = !slug; 53817 const isEntityAvailable = !isPlaceholder && !isMissing && isResolved; 53818 const TagName = tagName || areaObject.tagName; 53819 const onPatternSelect = async (pattern) => { 53820 await editEntityRecord( 53821 "postType", 53822 "wp_template_part", 53823 templatePartId, 53824 { 53825 blocks: pattern.blocks, 53826 content: (0,external_wp_blocks_namespaceObject.serialize)(pattern.blocks) 53827 } 53828 ); 53829 createSuccessNotice( 53830 (0,external_wp_i18n_namespaceObject.sprintf)( 53831 /* translators: %s: template part title. */ 53832 (0,external_wp_i18n_namespaceObject.__)('Template Part "%s" updated.'), 53833 title || slug 53834 ), 53835 { 53836 type: "snackbar" 53837 } 53838 ); 53839 }; 53840 if (!hasInnerBlocks && (slug && !theme || slug && isMissing)) { 53841 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.sprintf)( 53842 /* translators: %s: Template part slug. */ 53843 (0,external_wp_i18n_namespaceObject.__)( 53844 "Template part has been deleted or is unavailable: %s" 53845 ), 53846 slug 53847 ) }) }); 53848 } 53849 if (isEntityAvailable && hasAlreadyRendered) { 53850 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { children: (0,external_wp_i18n_namespaceObject.__)("Block cannot be rendered inside itself.") }) }); 53851 } 53852 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 53853 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.RecursionProvider, { uniqueId: templatePartId, children: [ 53854 isEntityAvailable && onNavigateToEntityRecord && canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53855 external_wp_components_namespaceObject.ToolbarButton, 53856 { 53857 onClick: () => onNavigateToEntityRecord({ 53858 postId: templatePartId, 53859 postType: "wp_template_part" 53860 }), 53861 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 53862 } 53863 ) }), 53864 canUserEdit && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53865 TemplatePartAdvancedControls, 53866 { 53867 tagName, 53868 setAttributes, 53869 isEntityAvailable, 53870 templatePartId, 53871 defaultWrapper: areaObject.tagName, 53872 hasInnerBlocks, 53873 clientId 53874 } 53875 ) }), 53876 isPlaceholder && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53877 TemplatePartPlaceholder, 53878 { 53879 area: attributes.area, 53880 templatePartId, 53881 clientId, 53882 setAttributes, 53883 onOpenSelectionModal: () => setIsTemplatePartSelectionOpen(true) 53884 } 53885 ) }), 53886 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockSettingsMenuControls, { children: ({ selectedClientIds }) => { 53887 if (!(selectedClientIds.length === 1 && clientId === selectedClientIds[0])) { 53888 return null; 53889 } 53890 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53891 ReplaceButton, 53892 { 53893 ...{ 53894 isEntityAvailable, 53895 area, 53896 clientId, 53897 templatePartId, 53898 isTemplatePartSelectionOpen, 53899 setIsTemplatePartSelectionOpen 53900 } 53901 } 53902 ); 53903 } }), 53904 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53905 TemplatesList, 53906 { 53907 area, 53908 clientId, 53909 isEntityAvailable, 53910 onSelect: (pattern) => onPatternSelect(pattern) 53911 } 53912 ) }), 53913 isEntityAvailable && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53914 TemplatePartInnerBlocks, 53915 { 53916 tagName: TagName, 53917 blockProps, 53918 postId: templatePartId, 53919 hasInnerBlocks, 53920 layout 53921 } 53922 ), 53923 !isPlaceholder && !isResolved && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) }) 53924 ] }), 53925 isTemplatePartSelectionOpen && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53926 external_wp_components_namespaceObject.Modal, 53927 { 53928 overlayClassName: "block-editor-template-part__selection-modal", 53929 title: (0,external_wp_i18n_namespaceObject.sprintf)( 53930 // Translators: %s as template part area title ("Header", "Footer", etc.). 53931 (0,external_wp_i18n_namespaceObject.__)("Choose a %s"), 53932 areaObject.label.toLowerCase() 53933 ), 53934 onRequestClose: () => setIsTemplatePartSelectionOpen(false), 53935 isFullScreen: true, 53936 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 53937 TemplatePartSelectionModal, 53938 { 53939 templatePartId, 53940 clientId, 53941 area, 53942 setAttributes, 53943 onClose: () => setIsTemplatePartSelectionOpen(false) 53944 } 53945 ) 53946 } 53947 ) 53948 ] }); 53949 } 53950 53951 53952 ;// ./node_modules/@wordpress/block-library/build-module/template-part/variations.js 53953 53954 53955 53956 function enhanceTemplatePartVariations(settings, name) { 53957 if (name !== "core/template-part") { 53958 return settings; 53959 } 53960 if (settings.variations) { 53961 const isActive = (blockAttributes, variationAttributes) => { 53962 const { area, theme, slug } = blockAttributes; 53963 if (area) { 53964 return area === variationAttributes.area; 53965 } 53966 if (!slug) { 53967 return false; 53968 } 53969 const { getCurrentTheme, getEntityRecord } = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store); 53970 const entity = getEntityRecord( 53971 "postType", 53972 "wp_template_part", 53973 `$theme || getCurrentTheme()?.stylesheet}//${slug}` 53974 ); 53975 if (entity?.slug) { 53976 return entity.slug === variationAttributes.slug; 53977 } 53978 return entity?.area === variationAttributes.area; 53979 }; 53980 const variations = settings.variations.map((variation) => { 53981 return { 53982 ...variation, 53983 ...!variation.isActive && { isActive }, 53984 ...typeof variation.icon === "string" && { 53985 icon: getTemplatePartIcon(variation.icon) 53986 } 53987 }; 53988 }); 53989 return { 53990 ...settings, 53991 variations 53992 }; 53993 } 53994 return settings; 53995 } 53996 53997 53998 ;// ./node_modules/@wordpress/block-library/build-module/template-part/index.js 53999 54000 54001 54002 54003 54004 54005 54006 54007 54008 54009 const { name: template_part_name } = template_part_block_namespaceObject; 54010 const template_part_settings = { 54011 icon: symbol_filled_default, 54012 __experimentalLabel: ({ slug, theme }) => { 54013 if (!slug) { 54014 return; 54015 } 54016 const { getCurrentTheme, getEditedEntityRecord } = (0,external_wp_data_namespaceObject.select)(external_wp_coreData_namespaceObject.store); 54017 const entity = getEditedEntityRecord( 54018 "postType", 54019 "wp_template_part", 54020 (theme || getCurrentTheme()?.stylesheet) + "//" + slug 54021 ); 54022 if (!entity) { 54023 return; 54024 } 54025 return (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(entity.title) || capitalCase(entity.slug || ""); 54026 }, 54027 edit: TemplatePartEdit 54028 }; 54029 const template_part_init = () => { 54030 (0,external_wp_hooks_namespaceObject.addFilter)( 54031 "blocks.registerBlockType", 54032 "core/template-part", 54033 enhanceTemplatePartVariations 54034 ); 54035 const DISALLOWED_PARENTS = ["core/post-template", "core/post-content"]; 54036 (0,external_wp_hooks_namespaceObject.addFilter)( 54037 "blockEditor.__unstableCanInsertBlockType", 54038 "core/block-library/removeTemplatePartsFromPostTemplates", 54039 (canInsert, blockType, rootClientId, { getBlock, getBlockParentsByBlockName }) => { 54040 if (blockType.name !== "core/template-part") { 54041 return canInsert; 54042 } 54043 for (const disallowedParentType of DISALLOWED_PARENTS) { 54044 const hasDisallowedParent = getBlock(rootClientId)?.name === disallowedParentType || getBlockParentsByBlockName( 54045 rootClientId, 54046 disallowedParentType 54047 ).length; 54048 if (hasDisallowedParent) { 54049 return false; 54050 } 54051 } 54052 return true; 54053 } 54054 ); 54055 return initBlock({ name: template_part_name, metadata: template_part_block_namespaceObject, settings: template_part_settings }); 54056 }; 54057 54058 54059 ;// ./node_modules/@wordpress/icons/build-module/library/term-count.js 54060 54061 54062 var term_count_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 54063 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M 12.841306,16.677917 12.001264,12.71529 Q 11.835801,11.930402 11.695793,11.417042 11.560029,10.89944 11.398809,10.568514 11.237588,10.237588 11,10 10.635133,9.6351329 10.219354,9.6351329 9.8078183,9.6308902 9.4387086,10 8.9932313,10.445477 8.8574668,11.022476 8.7259449,11.595233 8.7259449,12.155262 L 7.4955791,11.196425 Q 7.5719467,10.509117 7.8307477,9.9109045 8.0937915,9.3084495 8.6410921,8.7611489 9.1799075,8.2223335 9.7569066,8.086569 q 0.5812414,-0.1400071 1.1242994,0.046669 0.543058,0.1866762 0.975808,0.6194255 0.335168,0.3351686 0.581242,0.767918 0.24183,0.4285067 0.436992,1.0564174 0.195161,0.619426 0.381837,1.527351 l 0.364867,1.756453 1.883733,-1.883732 1.018234,1.018233 z" }), 54064 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.574 4a.75.75 0 0 1 .53.22l6.723 6.724a2.315 2.315 0 0 1 0 3.264l-.532-.528.531.53-5.61 5.611a2.31 2.31 0 0 1-3.276.001l-6.72-6.716a.75.75 0 0 1-.22-.53V4.75A.75.75 0 0 1 4.75 4h7.824ZM5.5 5.5v6.764l6.501 6.497a.817.817 0 0 0 .889.178.816.816 0 0 0 .264-.178l5.61-5.61a.816.816 0 0 0-.001-1.149l-6.5-6.502H5.5Z" }) 54065 ] }); 54066 54067 54068 ;// ./node_modules/@wordpress/block-library/build-module/term-count/block.json 54069 const term_count_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/term-count","title":"Term Count","category":"theme","description":"Displays the post count of a taxonomy term.","textdomain":"default","usesContext":["termId","taxonomy"],"attributes":{"bracketType":{"type":"string","enum":["none","round","square","curly","angle"],"default":"round"}},"supports":{"html":false,"color":{"gradients":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"color":true,"width":true,"style":true}}},"style":"wp-block-term-count"}'); 54070 ;// ./node_modules/@wordpress/block-library/build-module/term-count/icons.js 54071 54072 54073 const bareNumber = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 10 6 L 9.609375 9 L 7 9 L 7 10.5 L 9.4121094 10.5 L 9.0878906 13 L 7 13 L 7 14.5 L 8.890625 14.5 L 8.5 17.5 L 10 17.5 L 10.390625 14.5 L 12.890625 14.5 L 12.5 17.5 L 14 17.5 L 14.390625 14.5 L 17 14.5 L 17 13 L 14.587891 13 L 14.912109 10.5 L 17 10.5 L 17 9 L 15.109375 9 L 15.5 6 L 14 6 L 13.609375 9 L 11.109375 9 L 11.5 6 L 10 6 z M 10.912109 10.5 L 13.412109 10.5 L 13.087891 13 L 10.587891 13 L 10.912109 10.5 z" }) }); 54074 const numberInParenthesis = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 10,6 9.609375,9 H 7 v 1.5 H 9.4121094 L 9.0878906,13 H 7 v 1.5 H 8.890625 L 8.5,17.5 H 10 l 0.390625,-3 h 2.5 L 12.5,17.5 H 14 l 0.390625,-3 H 17 V 13 h -2.412109 l 0.324218,-2.5 H 17 V 9 H 15.109375 L 15.5,6 H 14 l -0.390625,3 h -2.5 L 11.5,6 Z m 0.912109,4.5 h 2.5 L 13.087891,13 h -2.5 z M 18.5,3 c 0,0 1.5,4.004036 1.5,9 0,4.995964 -1.5,9 -1.5,9 H 20 c 0,0 1.5,-4.004036 1.5,-9 C 21.5,7.004036 20,3 20,3 Z M 5.5,21 C 5.5,21 4,16.995964 4,12 4,7.0040356 5.5,3 5.5,3 H 4 c 0,0 -1.5,4.004036 -1.5,9 0,4.995964 1.5,9 1.5,9 z" }) }); 54075 const numberInSquareBrackets = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 21.5,21 V 3 H 18 v 1.5 h 2 v 15 H 18 V 21 Z M 2.5,3 V 21 H 6 V 19.5 H 4 V 4.5 H 6 V 3 Z M 10,6 9.609375,9 H 7 v 1.5 H 9.4121094 L 9.0878906,13 H 7 v 1.5 H 8.890625 L 8.5,17.5 H 10 l 0.390625,-3 h 2.5 L 12.5,17.5 H 14 l 0.390625,-3 H 17 V 13 h -2.412109 l 0.324218,-2.5 H 17 V 9 H 15.109375 L 15.5,6 H 14 l -0.390625,3 h -2.5 L 11.5,6 Z m 0.912109,4.5 h 2.5 L 13.087891,13 h -2.5 z" }) }); 54076 const numberInCurlyBrackets = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 10,6 9.609375,9 H 7 v 1.5 H 9.4121094 L 9.0878906,13 H 7 v 1.5 H 8.890625 L 8.5,17.5 H 10 l 0.390625,-3 h 2.5 L 12.5,17.5 H 14 l 0.390625,-3 H 17 V 13 h -2.412109 l 0.324218,-2.5 H 17 V 9 H 15.109375 L 15.5,6 H 14 l -0.390625,3 h -2.5 L 11.5,6 Z m 0.912109,4.5 h 2.5 L 13.087891,13 h -2.5 z M 18.5,21 c 1.104567,0 2,-0.895433 2,-2 v -4 c 0,-1.104567 0.895433,-2 2,-2 v -2 c -1.104567,0 -2,-0.895433 -2,-2 V 5 c 0,-1.104567 -0.895433,-2 -2,-2 H 17 v 1.5 h 1.5 A 0.5,0.5 0 0 1 19,5 v 5 c 0,1.104567 0.895433,2 2,2 -1.104567,0 -2,0.895433 -2,2 v 5 c 0,0.276142 -0.223858,0.5 -0.5,0.5 H 17 V 21 Z M 5.5,3 c -1.1045668,0 -2,0.8954327 -2,2 v 4 c 0,1.104567 -0.8954332,2 -2,2 v 2 c 1.1045668,0 2,0.895433 2,2 v 4 c 0,1.104567 0.8954332,2 2,2 H 7 V 19.5 H 5.5 A 0.5,0.5 0 0 1 5,19 V 14 C 5,12.895433 4.1045668,12 3,12 4.1045668,12 5,11.104567 5,10 V 5 C 5,4.7238579 5.2238579,4.5 5.5,4.5 H 7 V 3 Z" }) }); 54077 const numberInAngleBrackets = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 18.970703,16.53125 23.5,12 18.970703,7.46875 17.910156,8.53125 21.378906,12 17.910156,15.46875 Z M 5.0292969,7.46875 0.5,12 5.0292969,16.53125 6.0898438,15.46875 2.6210938,12 6.0898438,8.53125 Z M 10,6 9.609375,9 H 7 v 1.5 H 9.4121094 L 9.0878906,13 H 7 v 1.5 H 8.890625 L 8.5,17.5 H 10 l 0.390625,-3 h 2.5 L 12.5,17.5 H 14 l 0.390625,-3 H 17 V 13 h -2.412109 l 0.324218,-2.5 H 17 V 9 H 15.109375 L 15.5,6 H 14 l -0.390625,3 h -2.5 L 11.5,6 Z m 0.912109,4.5 h 2.5 L 13.087891,13 h -2.5 z" }) }); 54078 54079 54080 ;// ./node_modules/@wordpress/block-library/build-module/term-count/use-term-count.js 54081 54082 54083 function useTermCount(termId, taxonomy) { 54084 const [count] = (0,external_wp_coreData_namespaceObject.useEntityProp)("taxonomy", taxonomy, "count", termId); 54085 const templateBasedData = useTemplateBasedTermData(); 54086 const hasContext = Boolean(termId && taxonomy); 54087 return { 54088 hasContext, 54089 termCount: hasContext ? count || "" : templateBasedData 54090 }; 54091 } 54092 function useTemplateBasedTermData() { 54093 const templateSlug = (0,external_wp_data_namespaceObject.useSelect)((select) => { 54094 const { getCurrentPostId, getCurrentPostType, getCurrentTemplateId } = select("core/editor"); 54095 const currentPostType = getCurrentPostType(); 54096 const templateId = getCurrentTemplateId() || (currentPostType === "wp_template" ? getCurrentPostId() : null); 54097 return templateId ? select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 54098 "postType", 54099 "wp_template", 54100 templateId 54101 )?.slug : null; 54102 }, []); 54103 const taxonomyMatches = templateSlug?.match( 54104 /^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/ 54105 ); 54106 let taxonomy; 54107 let termSlug; 54108 if (taxonomyMatches) { 54109 if (taxonomyMatches[1]) { 54110 taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1]; 54111 } else if (taxonomyMatches[3]) { 54112 taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4]; 54113 termSlug = taxonomyMatches[7]; 54114 } 54115 taxonomy = taxonomy === "tag" ? "post_tag" : taxonomy; 54116 } 54117 return (0,external_wp_data_namespaceObject.useSelect)( 54118 (select) => { 54119 if (!taxonomy || !termSlug) { 54120 return ""; 54121 } 54122 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 54123 const termRecords = getEntityRecords("taxonomy", taxonomy, { 54124 slug: termSlug, 54125 per_page: 1 54126 }); 54127 if (termRecords && termRecords[0]) { 54128 return termRecords[0].count || ""; 54129 } 54130 return ""; 54131 }, 54132 [taxonomy, termSlug] 54133 ); 54134 } 54135 54136 54137 ;// ./node_modules/@wordpress/block-library/build-module/term-count/edit.js 54138 54139 54140 54141 54142 54143 54144 const BRACKET_TYPES = { 54145 none: { label: (0,external_wp_i18n_namespaceObject.__)("No brackets"), icon: bareNumber }, 54146 round: { 54147 label: (0,external_wp_i18n_namespaceObject.__)("Round brackets"), 54148 icon: numberInParenthesis, 54149 before: "(", 54150 after: ")" 54151 }, 54152 square: { 54153 label: (0,external_wp_i18n_namespaceObject.__)("Square brackets"), 54154 icon: numberInSquareBrackets, 54155 before: "[", 54156 after: "]" 54157 }, 54158 curly: { 54159 label: (0,external_wp_i18n_namespaceObject.__)("Curly brackets"), 54160 icon: numberInCurlyBrackets, 54161 before: "{", 54162 after: "}" 54163 }, 54164 angle: { 54165 label: (0,external_wp_i18n_namespaceObject.__)("Angle brackets"), 54166 icon: numberInAngleBrackets, 54167 before: "<", 54168 after: ">" 54169 } 54170 }; 54171 function TermCountEdit({ 54172 attributes, 54173 setAttributes, 54174 context: { termId, taxonomy } 54175 }) { 54176 const { bracketType } = attributes; 54177 const term = useTermCount(termId, taxonomy); 54178 const termCount = term?.termCount || 0; 54179 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 54180 const bracketTypeControls = Object.entries(BRACKET_TYPES).map( 54181 ([type, { label, icon }]) => ({ 54182 role: "menuitemradio", 54183 title: label, 54184 isActive: bracketType === type, 54185 icon, 54186 onClick: () => { 54187 setAttributes({ bracketType: type }); 54188 } 54189 }) 54190 ); 54191 const formatTermCount = (count, type) => { 54192 const { before = "", after = "" } = BRACKET_TYPES[type] || {}; 54193 return `$before}$count}$after}`; 54194 }; 54195 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 54196 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54197 external_wp_components_namespaceObject.ToolbarDropdownMenu, 54198 { 54199 icon: BRACKET_TYPES[bracketType]?.icon ?? bareNumber, 54200 label: (0,external_wp_i18n_namespaceObject.__)("Change bracket type"), 54201 controls: bracketTypeControls 54202 } 54203 ) }), 54204 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: formatTermCount(termCount, bracketType) }) 54205 ] }); 54206 } 54207 54208 54209 ;// ./node_modules/@wordpress/block-library/build-module/term-count/index.js 54210 54211 54212 54213 54214 const { name: term_count_name } = term_count_block_namespaceObject; 54215 const term_count_settings = { 54216 icon: term_count_default, 54217 edit: TermCountEdit 54218 }; 54219 const term_count_init = () => initBlock({ name: term_count_name, metadata: term_count_block_namespaceObject, settings: term_count_settings }); 54220 54221 54222 ;// ./node_modules/@wordpress/icons/build-module/library/term-description.js 54223 54224 54225 var term_description_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M6.08 10.103h2.914L9.657 12h1.417L8.23 4H6.846L4 12h1.417l.663-1.897Zm1.463-4.137.994 2.857h-2l1.006-2.857ZM11 16H4v-1.5h7V16Zm1 0h8v-1.5h-8V16Zm-4 4H4v-1.5h4V20Zm7-1.5V20H9v-1.5h6Z" }) }); 54226 54227 54228 ;// ./node_modules/@wordpress/block-library/build-module/term-description/block.json 54229 const term_description_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/term-description","title":"Term Description","category":"theme","description":"Display the description of categories, tags and custom taxonomies when viewing an archive.","textdomain":"default","usesContext":["termId","taxonomy"],"attributes":{"textAlign":{"type":"string"}},"supports":{"align":["wide","full"],"html":false,"color":{"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"spacing":{"padding":true,"margin":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":true,"color":true,"width":true,"style":true}}}}'); 54230 ;// ./node_modules/@wordpress/block-library/build-module/term-description/use-term-description.js 54231 54232 54233 function useTermDescription(termId, taxonomy) { 54234 const [description, setDescription, fullDescription] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 54235 "taxonomy", 54236 taxonomy, 54237 "description", 54238 termId 54239 ); 54240 const templateBasedData = use_term_description_useTemplateBasedTermData(); 54241 const hasContext = Boolean(termId && taxonomy); 54242 return { 54243 hasContext, 54244 setDescription, 54245 termDescription: hasContext ? fullDescription?.rendered || description || "" : templateBasedData 54246 }; 54247 } 54248 function use_term_description_useTemplateBasedTermData() { 54249 const templateSlug = (0,external_wp_data_namespaceObject.useSelect)((select) => { 54250 const { getCurrentPostId, getCurrentPostType, getCurrentTemplateId } = select("core/editor"); 54251 const currentPostType = getCurrentPostType(); 54252 const templateId = getCurrentTemplateId() || (currentPostType === "wp_template" ? getCurrentPostId() : null); 54253 return templateId ? select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 54254 "postType", 54255 "wp_template", 54256 templateId 54257 )?.slug : null; 54258 }, []); 54259 const taxonomyMatches = templateSlug?.match( 54260 /^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/ 54261 ); 54262 let taxonomy; 54263 let termSlug; 54264 if (taxonomyMatches) { 54265 if (taxonomyMatches[1]) { 54266 taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1]; 54267 } else if (taxonomyMatches[3]) { 54268 taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4]; 54269 termSlug = taxonomyMatches[7]; 54270 } 54271 taxonomy = taxonomy === "tag" ? "post_tag" : taxonomy; 54272 } 54273 return (0,external_wp_data_namespaceObject.useSelect)( 54274 (select) => { 54275 if (!taxonomy || !termSlug) { 54276 return ""; 54277 } 54278 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 54279 const termRecords = getEntityRecords("taxonomy", taxonomy, { 54280 slug: termSlug, 54281 per_page: 1 54282 }); 54283 if (termRecords && termRecords[0]) { 54284 return termRecords[0].description || ""; 54285 } 54286 return ""; 54287 }, 54288 [taxonomy, termSlug] 54289 ); 54290 } 54291 54292 54293 ;// ./node_modules/@wordpress/block-library/build-module/term-description/edit.js 54294 54295 54296 54297 54298 54299 function TermDescriptionEdit({ 54300 attributes, 54301 setAttributes, 54302 mergedStyle, 54303 context: { termId, taxonomy } 54304 }) { 54305 const { textAlign } = attributes; 54306 const { termDescription } = useTermDescription(termId, taxonomy); 54307 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 54308 className: dist_clsx({ 54309 [`has-text-align-$textAlign}`]: textAlign 54310 }), 54311 style: mergedStyle 54312 }); 54313 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 54314 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54315 external_wp_blockEditor_namespaceObject.AlignmentControl, 54316 { 54317 value: textAlign, 54318 onChange: (nextAlign) => { 54319 setAttributes({ textAlign: nextAlign }); 54320 } 54321 } 54322 ) }), 54323 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: termDescription ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54324 "div", 54325 { 54326 dangerouslySetInnerHTML: { __html: termDescription } 54327 } 54328 ) : /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-term-description__placeholder", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: (0,external_wp_i18n_namespaceObject.__)("Term Description") }) }) }) 54329 ] }); 54330 } 54331 54332 54333 ;// ./node_modules/@wordpress/block-library/build-module/term-description/index.js 54334 54335 54336 54337 54338 const { name: term_description_name } = term_description_block_namespaceObject; 54339 const term_description_settings = { 54340 icon: term_description_default, 54341 edit: TermDescriptionEdit, 54342 example: {} 54343 }; 54344 const term_description_init = () => initBlock({ name: term_description_name, metadata: term_description_block_namespaceObject, settings: term_description_settings }); 54345 54346 54347 ;// ./node_modules/@wordpress/icons/build-module/library/term-name.js 54348 54349 54350 var term_name_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: [ 54351 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "m14.95 13.889-1.061 1.061-5.552-5.553 1.06-1.06 5.552 5.552Z" }), 54352 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M12.574 4a.75.75 0 0 1 .53.22l6.723 6.724a2.315 2.315 0 0 1 0 3.264l-.532-.528.531.53-5.61 5.611a2.31 2.31 0 0 1-3.276.001l-6.72-6.716a.75.75 0 0 1-.22-.53V4.75A.75.75 0 0 1 4.75 4h7.824ZM5.5 5.5v6.764l6.501 6.497a.817.817 0 0 0 .889.178.816.816 0 0 0 .264-.178l5.61-5.61a.816.816 0 0 0-.001-1.149l-6.5-6.502H5.5Z" }) 54353 ] }); 54354 54355 54356 ;// ./node_modules/@wordpress/block-library/build-module/term-name/block.json 54357 const term_name_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/term-name","title":"Term Name","category":"theme","description":"Displays the name of a taxonomy term.","keywords":["term title"],"textdomain":"default","usesContext":["termId","taxonomy"],"attributes":{"textAlign":{"type":"string"},"level":{"type":"number","default":0},"isLink":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"html":false,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true,"link":true}},"spacing":{"padding":true},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"color":true,"width":true,"style":true}}},"style":"wp-block-term-name"}'); 54358 ;// ./node_modules/@wordpress/block-library/build-module/term-name/use-term-name.js 54359 54360 54361 function useTermName(termId, taxonomy) { 54362 const contextBasedTerm = (0,external_wp_data_namespaceObject.useSelect)( 54363 (select) => { 54364 if (!termId || !taxonomy) { 54365 return null; 54366 } 54367 return select(external_wp_coreData_namespaceObject.store).getEntityRecord( 54368 "taxonomy", 54369 taxonomy, 54370 termId 54371 ); 54372 }, 54373 [termId, taxonomy] 54374 ); 54375 const templateBasedTerm = use_term_name_useTemplateBasedTermData(); 54376 const hasContext = Boolean(termId && taxonomy); 54377 return { 54378 hasContext, 54379 term: hasContext ? contextBasedTerm : templateBasedTerm 54380 }; 54381 } 54382 function use_term_name_useTemplateBasedTermData() { 54383 const templateSlug = (0,external_wp_data_namespaceObject.useSelect)((select) => { 54384 const { getCurrentPostId, getCurrentPostType, getCurrentTemplateId } = select("core/editor"); 54385 const currentPostType = getCurrentPostType(); 54386 const templateId = getCurrentTemplateId() || (currentPostType === "wp_template" ? getCurrentPostId() : null); 54387 return templateId ? select(external_wp_coreData_namespaceObject.store).getEditedEntityRecord( 54388 "postType", 54389 "wp_template", 54390 templateId 54391 )?.slug : null; 54392 }, []); 54393 const taxonomyMatches = templateSlug?.match( 54394 /^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/ 54395 ); 54396 let taxonomy; 54397 let termSlug; 54398 if (taxonomyMatches) { 54399 if (taxonomyMatches[3]) { 54400 taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4]; 54401 termSlug = taxonomyMatches[7]; 54402 } 54403 taxonomy = taxonomy === "tag" ? "post_tag" : taxonomy; 54404 } 54405 return (0,external_wp_data_namespaceObject.useSelect)( 54406 (select) => { 54407 if (!taxonomy || !termSlug) { 54408 return null; 54409 } 54410 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 54411 const termRecords = getEntityRecords("taxonomy", taxonomy, { 54412 slug: termSlug, 54413 per_page: 1 54414 }); 54415 if (termRecords && termRecords[0]) { 54416 return termRecords[0]; 54417 } 54418 return null; 54419 }, 54420 [taxonomy, termSlug] 54421 ); 54422 } 54423 54424 54425 ;// ./node_modules/@wordpress/block-library/build-module/term-name/edit.js 54426 54427 54428 54429 54430 54431 54432 54433 54434 function TermNameEdit({ 54435 attributes, 54436 setAttributes, 54437 context: { termId, taxonomy } 54438 }) { 54439 const { textAlign, level = 0, isLink } = attributes; 54440 const { term } = useTermName(termId, taxonomy); 54441 const termName = term?.name ? (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(term.name) : (0,external_wp_i18n_namespaceObject.__)("Term Name"); 54442 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 54443 className: dist_clsx({ 54444 [`has-text-align-$textAlign}`]: textAlign 54445 }) 54446 }); 54447 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 54448 const TagName = level === 0 ? "p" : `h$level}`; 54449 let termNameDisplay = termName; 54450 if (isLink) { 54451 termNameDisplay = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54452 "a", 54453 { 54454 href: "#term-name-pseudo-link", 54455 onClick: (e) => e.preventDefault(), 54456 children: termName 54457 } 54458 ); 54459 } 54460 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 54461 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "block", children: [ 54462 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54463 external_wp_blockEditor_namespaceObject.HeadingLevelDropdown, 54464 { 54465 value: level, 54466 options: [0, 1, 2, 3, 4, 5, 6], 54467 onChange: (newLevel) => { 54468 setAttributes({ level: newLevel }); 54469 } 54470 } 54471 ), 54472 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54473 external_wp_blockEditor_namespaceObject.AlignmentControl, 54474 { 54475 value: textAlign, 54476 onChange: (nextAlign) => { 54477 setAttributes({ textAlign: nextAlign }); 54478 } 54479 } 54480 ) 54481 ] }), 54482 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54483 external_wp_components_namespaceObject.__experimentalToolsPanel, 54484 { 54485 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 54486 resetAll: () => { 54487 setAttributes({ 54488 isLink: false 54489 }); 54490 }, 54491 dropdownMenuProps, 54492 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54493 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 54494 { 54495 hasValue: () => !!isLink, 54496 label: (0,external_wp_i18n_namespaceObject.__)("Make term name a link"), 54497 onDeselect: () => setAttributes({ isLink: false }), 54498 isShownByDefault: true, 54499 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54500 external_wp_components_namespaceObject.ToggleControl, 54501 { 54502 __nextHasNoMarginBottom: true, 54503 label: (0,external_wp_i18n_namespaceObject.__)("Make term name a link"), 54504 onChange: () => setAttributes({ isLink: !isLink }), 54505 checked: isLink 54506 } 54507 ) 54508 } 54509 ) 54510 } 54511 ) }), 54512 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...blockProps, children: termNameDisplay }) 54513 ] }); 54514 } 54515 54516 54517 ;// ./node_modules/@wordpress/block-library/build-module/term-name/index.js 54518 54519 54520 54521 54522 const { name: term_name_name } = term_name_block_namespaceObject; 54523 const term_name_settings = { 54524 icon: term_name_default, 54525 edit: TermNameEdit 54526 }; 54527 const term_name_init = () => initBlock({ name: term_name_name, metadata: term_name_block_namespaceObject, settings: term_name_settings }); 54528 54529 54530 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/block.json 54531 const terms_query_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/terms-query","title":"Terms Query","category":"theme","description":"An advanced block that allows displaying taxonomy terms based on different query parameters and visual configurations.","keywords":["terms","taxonomy","categories","tags","list"],"textdomain":"default","attributes":{"termQuery":{"type":"object","default":{"perPage":10,"taxonomy":"category","order":"asc","orderBy":"name","include":[],"hideEmpty":true,"showNested":false,"inherit":false}},"tagName":{"type":"string","default":"div"}},"usesContext":["templateSlug"],"providesContext":{"termQuery":"termQuery"},"supports":{"align":["wide","full"],"html":false,"layout":true,"interactivity":true}}'); 54532 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/utils.js 54533 54534 54535 54536 function usePublicTaxonomies() { 54537 const taxonomies = (0,external_wp_data_namespaceObject.useSelect)( 54538 (select) => select(external_wp_coreData_namespaceObject.store).getTaxonomies({ per_page: -1 }), 54539 [] 54540 ); 54541 return (0,external_wp_element_namespaceObject.useMemo)(() => { 54542 return taxonomies?.filter( 54543 ({ visibility }) => visibility?.publicly_queryable 54544 ) || []; 54545 }, [taxonomies]); 54546 } 54547 54548 54549 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/taxonomy-control.js 54550 54551 54552 54553 function TaxonomyControl({ value, onChange, ...props }) { 54554 const taxonomies = usePublicTaxonomies(); 54555 const taxonomyOptions = taxonomies.map((taxonomy) => ({ 54556 label: taxonomy.name, 54557 value: taxonomy.slug 54558 })); 54559 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54560 external_wp_components_namespaceObject.SelectControl, 54561 { 54562 __nextHasNoMarginBottom: true, 54563 __next40pxDefaultSize: true, 54564 options: taxonomyOptions, 54565 value, 54566 onChange, 54567 ...props 54568 } 54569 ); 54570 } 54571 54572 54573 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/order-control.js 54574 54575 54576 54577 function order_control_OrderControl({ orderBy, order, onChange, ...props }) { 54578 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54579 external_wp_components_namespaceObject.SelectControl, 54580 { 54581 __nextHasNoMarginBottom: true, 54582 __next40pxDefaultSize: true, 54583 options: [ 54584 { 54585 label: (0,external_wp_i18n_namespaceObject.__)("Name: A \u2192 Z"), 54586 value: "name/asc" 54587 }, 54588 { 54589 label: (0,external_wp_i18n_namespaceObject.__)("Name: Z \u2192 A"), 54590 value: "name/desc" 54591 }, 54592 { 54593 label: (0,external_wp_i18n_namespaceObject.__)("Count, high to low"), 54594 value: "count/desc" 54595 }, 54596 { 54597 label: (0,external_wp_i18n_namespaceObject.__)("Count, low to high"), 54598 value: "count/asc" 54599 } 54600 ], 54601 value: orderBy + "/" + order, 54602 onChange: (value) => { 54603 const [newOrderBy, newOrder] = value.split("/"); 54604 onChange(newOrderBy, newOrder); 54605 }, 54606 ...props 54607 } 54608 ); 54609 } 54610 54611 54612 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/empty-terms-control.js 54613 54614 54615 function EmptyTermsControl({ value, onChange, ...props }) { 54616 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54617 external_wp_components_namespaceObject.ToggleControl, 54618 { 54619 __nextHasNoMarginBottom: true, 54620 checked: !value, 54621 onChange: (showEmpty) => onChange(!showEmpty), 54622 ...props 54623 } 54624 ); 54625 } 54626 54627 54628 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/nested-terms-control.js 54629 54630 54631 function NestedTermsControl({ value, onChange, ...props }) { 54632 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54633 external_wp_components_namespaceObject.ToggleControl, 54634 { 54635 __nextHasNoMarginBottom: true, 54636 checked: value, 54637 onChange, 54638 ...props 54639 } 54640 ); 54641 } 54642 54643 54644 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/inherit-control.js 54645 54646 54647 54648 function InheritControl({ value, onChange, label }) { 54649 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 54650 external_wp_components_namespaceObject.__experimentalToggleGroupControl, 54651 { 54652 __next40pxDefaultSize: true, 54653 __nextHasNoMarginBottom: true, 54654 label, 54655 isBlock: true, 54656 onChange: (newValue) => { 54657 onChange({ 54658 inherit: newValue === "default", 54659 // When enabling inherit, hierarchical is not supported. 54660 ...newValue === "default" ? { showNested: false } : {} 54661 }); 54662 }, 54663 help: value ? (0,external_wp_i18n_namespaceObject.__)( 54664 "Display terms based on the current taxonomy archive. For hierarchical taxonomies, shows direct children of the current term. For non-hierarchical taxonomies, shows all terms." 54665 ) : (0,external_wp_i18n_namespaceObject.__)("Display terms based on specific criteria."), 54666 value: value ? "default" : "custom", 54667 children: [ 54668 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54669 external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, 54670 { 54671 value: "default", 54672 label: (0,external_wp_i18n_namespaceObject.__)("Default") 54673 } 54674 ), 54675 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOption, { value: "custom", label: (0,external_wp_i18n_namespaceObject.__)("Custom") }) 54676 ] 54677 } 54678 ); 54679 } 54680 54681 54682 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/max-terms-control.js 54683 54684 54685 54686 function MaxTermsControl({ value, onChange, ...props }) { 54687 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54688 external_wp_components_namespaceObject.RangeControl, 54689 { 54690 __nextHasNoMarginBottom: true, 54691 __next40pxDefaultSize: true, 54692 value, 54693 min: 0, 54694 max: 100, 54695 onChange, 54696 help: (0,external_wp_i18n_namespaceObject.__)( 54697 "Limit the number of terms you want to show. To show all terms, use 0 (zero)." 54698 ), 54699 ...props 54700 } 54701 ); 54702 } 54703 54704 54705 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/advanced-controls.js 54706 54707 54708 54709 54710 const { HTMLElementControl: inspector_controls_advanced_controls_HTMLElementControl } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 54711 function AdvancedControls({ 54712 TagName, 54713 setAttributes, 54714 clientId 54715 }) { 54716 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { group: "advanced", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54717 inspector_controls_advanced_controls_HTMLElementControl, 54718 { 54719 tagName: TagName, 54720 onChange: (value) => setAttributes({ tagName: value }), 54721 clientId, 54722 options: [ 54723 { label: (0,external_wp_i18n_namespaceObject.__)("Default (<div>)"), value: "div" }, 54724 { label: "<main>", value: "main" }, 54725 { label: "<section>", value: "section" }, 54726 { label: "<aside>", value: "aside" } 54727 ] 54728 } 54729 ) }); 54730 } 54731 54732 54733 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/include-control.js 54734 54735 54736 54737 54738 54739 54740 54741 const include_control_EMPTY_ARRAY = []; 54742 const include_control_BASE_QUERY = { 54743 order: "asc", 54744 _fields: "id,name", 54745 context: "view" 54746 }; 54747 function IncludeControl({ 54748 value: include, 54749 taxonomy, 54750 onChange, 54751 ...props 54752 }) { 54753 const [search, setSearch] = (0,external_wp_element_namespaceObject.useState)(""); 54754 const [value, setValue] = (0,external_wp_element_namespaceObject.useState)(include_control_EMPTY_ARRAY); 54755 const [suggestions, setSuggestions] = (0,external_wp_element_namespaceObject.useState)(include_control_EMPTY_ARRAY); 54756 const debouncedSearch = (0,external_wp_compose_namespaceObject.useDebounce)(setSearch, 250); 54757 const { searchResults, searchHasResolved } = (0,external_wp_data_namespaceObject.useSelect)( 54758 (select) => { 54759 if (!search) { 54760 return { searchResults: include_control_EMPTY_ARRAY, searchHasResolved: true }; 54761 } 54762 const { getEntityRecords, hasFinishedResolution } = select(external_wp_coreData_namespaceObject.store); 54763 const selectorArgs = [ 54764 "taxonomy", 54765 taxonomy, 54766 { 54767 ...include_control_BASE_QUERY, 54768 search, 54769 orderby: "name", 54770 exclude: include, 54771 per_page: 20 54772 } 54773 ]; 54774 return { 54775 searchResults: getEntityRecords(...selectorArgs), 54776 searchHasResolved: hasFinishedResolution( 54777 "getEntityRecords", 54778 selectorArgs 54779 ) 54780 }; 54781 }, 54782 [search, taxonomy, include] 54783 ); 54784 const currentTerms = (0,external_wp_data_namespaceObject.useSelect)( 54785 (select) => { 54786 if (!include?.length) { 54787 return include_control_EMPTY_ARRAY; 54788 } 54789 const { getEntityRecords } = select(external_wp_coreData_namespaceObject.store); 54790 return getEntityRecords("taxonomy", taxonomy, { 54791 ...include_control_BASE_QUERY, 54792 include, 54793 per_page: include.length 54794 }); 54795 }, 54796 [include, taxonomy] 54797 ); 54798 (0,external_wp_element_namespaceObject.useEffect)(() => { 54799 if (!include?.length) { 54800 setValue(include_control_EMPTY_ARRAY); 54801 } 54802 if (!currentTerms?.length) { 54803 return; 54804 } 54805 const sanitizedValue = include.reduce((accumulator, id) => { 54806 const entity = currentTerms.find((term) => term.id === id); 54807 if (entity) { 54808 accumulator.push({ 54809 id, 54810 value: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(entity.name) 54811 }); 54812 } 54813 return accumulator; 54814 }, []); 54815 setValue(sanitizedValue); 54816 }, [include, currentTerms]); 54817 const entitiesInfo = (0,external_wp_element_namespaceObject.useMemo)(() => { 54818 if (!searchResults?.length) { 54819 return { names: include_control_EMPTY_ARRAY, mapByName: {} }; 54820 } 54821 const names = []; 54822 const mapByName = {}; 54823 searchResults.forEach((result) => { 54824 const decodedName = (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(result.name); 54825 names.push(decodedName); 54826 mapByName[decodedName] = result; 54827 }); 54828 return { names, mapByName }; 54829 }, [searchResults]); 54830 (0,external_wp_element_namespaceObject.useEffect)(() => { 54831 if (!searchHasResolved) { 54832 return; 54833 } 54834 setSuggestions(entitiesInfo.names); 54835 }, [entitiesInfo.names, searchHasResolved]); 54836 const getIdByValue = (entitiesMappedByName, entity) => entity?.id || entitiesMappedByName?.[entity]?.id; 54837 const onTermChange = (newValue) => { 54838 const ids = Array.from( 54839 newValue.reduce((accumulator, entity) => { 54840 const id = getIdByValue(entitiesInfo.mapByName, entity); 54841 if (id) { 54842 accumulator.add(id); 54843 } 54844 return accumulator; 54845 }, /* @__PURE__ */ new Set()) 54846 ); 54847 setSuggestions(include_control_EMPTY_ARRAY); 54848 onChange(ids); 54849 }; 54850 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54851 external_wp_components_namespaceObject.FormTokenField, 54852 { 54853 __next40pxDefaultSize: true, 54854 value, 54855 onInputChange: debouncedSearch, 54856 suggestions, 54857 onChange: onTermChange, 54858 __experimentalShowHowTo: false, 54859 __nextHasNoMarginBottom: true, 54860 ...props 54861 } 54862 ); 54863 } 54864 54865 54866 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/inspector-controls/index.js 54867 54868 54869 54870 54871 54872 54873 54874 54875 54876 54877 54878 54879 54880 54881 function TermsQueryInspectorControls({ 54882 attributes, 54883 setQuery, 54884 setAttributes, 54885 clientId, 54886 templateSlug 54887 }) { 54888 const { termQuery, tagName: TagName } = attributes; 54889 const { 54890 taxonomy, 54891 orderBy, 54892 order, 54893 hideEmpty, 54894 inherit, 54895 showNested, 54896 perPage, 54897 include 54898 } = termQuery; 54899 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 54900 const taxonomies = usePublicTaxonomies(); 54901 const isTaxonomyHierarchical = taxonomies.find( 54902 (_taxonomy) => _taxonomy.slug === taxonomy 54903 )?.hierarchical; 54904 const inheritQuery = !!inherit; 54905 const displayInheritControl = ["taxonomy", "category", "tag", "archive"].includes(templateSlug) || templateSlug?.startsWith("taxonomy-") || templateSlug?.startsWith("category-") || templateSlug?.startsWith("tag-"); 54906 const displayShowNestedControl = isTaxonomyHierarchical && !inheritQuery; 54907 const hasIncludeFilter = !!include?.length; 54908 const queryTypeControlLabel = (0,external_wp_i18n_namespaceObject.__)("Query type"); 54909 const taxonomyControlLabel = (0,external_wp_i18n_namespaceObject.__)("Taxonomy"); 54910 const orderByControlLabel = (0,external_wp_i18n_namespaceObject.__)("Order by"); 54911 const emptyTermsControlLabel = (0,external_wp_i18n_namespaceObject.__)("Show empty terms"); 54912 const nestedTermsControlLabel = (0,external_wp_i18n_namespaceObject.__)("Show nested terms"); 54913 const maxTermsControlLabel = (0,external_wp_i18n_namespaceObject.__)("Max terms"); 54914 const includeControlLabel = (0,external_wp_i18n_namespaceObject.__)("Selected terms"); 54915 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 54916 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 54917 external_wp_components_namespaceObject.__experimentalToolsPanel, 54918 { 54919 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 54920 resetAll: () => { 54921 setAttributes({ 54922 termQuery: { 54923 taxonomy: "category", 54924 order: "asc", 54925 orderBy: "name", 54926 include: [], 54927 hideEmpty: true, 54928 showNested: false, 54929 inherit: false, 54930 perPage: 10 54931 } 54932 }); 54933 }, 54934 dropdownMenuProps, 54935 children: [ 54936 displayInheritControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54937 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 54938 { 54939 hasValue: () => inherit !== false, 54940 label: queryTypeControlLabel, 54941 onDeselect: () => setQuery({ inherit: false }), 54942 isShownByDefault: true, 54943 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54944 InheritControl, 54945 { 54946 label: queryTypeControlLabel, 54947 value: inherit, 54948 onChange: setQuery 54949 } 54950 ) 54951 } 54952 ), 54953 !inheritQuery && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54954 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 54955 { 54956 hasValue: () => taxonomy !== "category", 54957 label: taxonomyControlLabel, 54958 onDeselect: () => { 54959 setQuery({ taxonomy: "category" }); 54960 }, 54961 isShownByDefault: true, 54962 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54963 TaxonomyControl, 54964 { 54965 label: taxonomyControlLabel, 54966 value: taxonomy, 54967 onChange: (value) => ( 54968 // We also need to reset the include filter when changing taxonomy. 54969 setQuery({ taxonomy: value, include: [] }) 54970 ) 54971 } 54972 ) 54973 } 54974 ), 54975 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54976 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 54977 { 54978 hasValue: () => orderBy !== "name" || order !== "asc", 54979 label: orderByControlLabel, 54980 onDeselect: () => setQuery({ orderBy: "name", order: "asc" }), 54981 isShownByDefault: true, 54982 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 54983 order_control_OrderControl, 54984 { 54985 label: orderByControlLabel, 54986 ...{ orderBy, order }, 54987 onChange: (newOrderBy, newOrder) => { 54988 setQuery({ 54989 orderBy: newOrderBy, 54990 order: newOrder 54991 }); 54992 }, 54993 disabled: hasIncludeFilter, 54994 help: hasIncludeFilter ? (0,external_wp_i18n_namespaceObject.__)( 54995 "When specific terms are selected, the order is based on their selection order." 54996 ) : void 0 54997 } 54998 ) 54999 } 55000 ), 55001 !inheritQuery && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55002 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55003 { 55004 hasValue: () => !!include?.length, 55005 label: includeControlLabel, 55006 onDeselect: () => setQuery({ 55007 include: [], 55008 orderBy: "name", 55009 order: "asc" 55010 }), 55011 isShownByDefault: true, 55012 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55013 IncludeControl, 55014 { 55015 label: includeControlLabel, 55016 taxonomy, 55017 value: include, 55018 onChange: (value) => setQuery({ include: value }) 55019 } 55020 ) 55021 } 55022 ), 55023 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55024 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55025 { 55026 hasValue: () => hideEmpty !== true, 55027 label: emptyTermsControlLabel, 55028 onDeselect: () => setQuery({ hideEmpty: true }), 55029 isShownByDefault: true, 55030 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55031 EmptyTermsControl, 55032 { 55033 label: emptyTermsControlLabel, 55034 value: hideEmpty, 55035 onChange: (value) => setQuery({ hideEmpty: value }) 55036 } 55037 ) 55038 } 55039 ), 55040 displayShowNestedControl && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55041 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55042 { 55043 hasValue: () => showNested !== false, 55044 label: nestedTermsControlLabel, 55045 onDeselect: () => setQuery({ showNested: false }), 55046 isShownByDefault: true, 55047 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55048 NestedTermsControl, 55049 { 55050 label: nestedTermsControlLabel, 55051 value: showNested, 55052 onChange: (value) => setQuery({ showNested: value }), 55053 disabled: hasIncludeFilter, 55054 help: hasIncludeFilter ? (0,external_wp_i18n_namespaceObject.__)( 55055 "When specific terms are selected, only those are displayed." 55056 ) : void 0 55057 } 55058 ) 55059 } 55060 ), 55061 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55062 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55063 { 55064 hasValue: () => perPage !== 10, 55065 label: maxTermsControlLabel, 55066 onDeselect: () => setQuery({ perPage: 10 }), 55067 isShownByDefault: true, 55068 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55069 MaxTermsControl, 55070 { 55071 label: maxTermsControlLabel, 55072 value: perPage, 55073 onChange: (value) => setQuery({ perPage: value }) 55074 } 55075 ) 55076 } 55077 ) 55078 ] 55079 } 55080 ) }), 55081 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55082 AdvancedControls, 55083 { 55084 TagName, 55085 setAttributes, 55086 clientId 55087 } 55088 ) 55089 ] }); 55090 } 55091 55092 55093 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/terms-query-content.js 55094 55095 55096 55097 55098 const terms_query_content_TEMPLATE = [["core/term-template"]]; 55099 function TermsQueryContent({ 55100 attributes, 55101 setAttributes, 55102 clientId, 55103 context 55104 }) { 55105 const { tagName: TagName } = attributes; 55106 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 55107 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 55108 template: terms_query_content_TEMPLATE 55109 }); 55110 const setQuery = (0,external_wp_element_namespaceObject.useCallback)( 55111 (newQuery) => setAttributes((prevAttributes) => ({ 55112 termQuery: { ...prevAttributes.termQuery, ...newQuery } 55113 })), 55114 [setAttributes] 55115 ); 55116 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 55117 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55118 TermsQueryInspectorControls, 55119 { 55120 attributes, 55121 setQuery, 55122 setAttributes, 55123 clientId, 55124 templateSlug: context?.templateSlug 55125 } 55126 ), 55127 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { ...innerBlocksProps }) 55128 ] }); 55129 } 55130 55131 55132 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/terms-query-placeholder.js 55133 55134 55135 55136 55137 function TermsQueryPlaceholder({ 55138 attributes, 55139 clientId, 55140 name 55141 }) { 55142 const { blockType, activeBlockVariation, scopeVariations } = (0,external_wp_data_namespaceObject.useSelect)( 55143 (select) => { 55144 const { 55145 getActiveBlockVariation, 55146 getBlockType, 55147 getBlockVariations 55148 } = select(external_wp_blocks_namespaceObject.store); 55149 return { 55150 blockType: getBlockType(name), 55151 activeBlockVariation: getActiveBlockVariation( 55152 name, 55153 attributes 55154 ), 55155 scopeVariations: getBlockVariations(name, "block") 55156 }; 55157 }, 55158 [name, attributes] 55159 ); 55160 const icon = activeBlockVariation?.icon?.src || activeBlockVariation?.icon || blockType?.icon?.src; 55161 const label = activeBlockVariation?.title || blockType?.title; 55162 const { replaceInnerBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 55163 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 55164 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55165 external_wp_blockEditor_namespaceObject.__experimentalBlockVariationPicker, 55166 { 55167 icon, 55168 label, 55169 variations: scopeVariations, 55170 onSelect: (variation) => { 55171 if (variation.innerBlocks) { 55172 replaceInnerBlocks( 55173 clientId, 55174 (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)( 55175 variation.innerBlocks 55176 ), 55177 false 55178 ); 55179 } 55180 } 55181 } 55182 ) }); 55183 } 55184 55185 55186 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/edit/index.js 55187 55188 55189 55190 55191 55192 const TermsQueryEdit = (props) => { 55193 const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)( 55194 (select) => !!select(external_wp_blockEditor_namespaceObject.store).getBlocks(props.clientId).length, 55195 [props.clientId] 55196 ); 55197 const Component = hasInnerBlocks ? TermsQueryContent : TermsQueryPlaceholder; 55198 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Component, { ...props }); 55199 }; 55200 var terms_query_edit_edit_default = TermsQueryEdit; 55201 55202 55203 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/save.js 55204 55205 55206 function terms_query_save_save({ attributes: { tagName: Tag = "div" } }) { 55207 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 55208 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 55209 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { ...innerBlocksProps }); 55210 } 55211 55212 55213 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/variations.js 55214 55215 55216 55217 const variations_titleDate = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "M 41,9 H 7 v 3 h 34 z m 0,9 H 7 v 3 h 34 z m 0,18 H 7 v 3 h 34 z m 0,-9 H 7 v 3 h 34 z" }) }); 55218 const variations_titleExcerpt = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 48 48", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { d: "m 36,36 h 5 v 3 h -5 z m 0,-9 h 5 v 3 h -5 z m 0,-9 h 5 v 3 h -5 z m 0,-9 h 5 v 3 H 36 Z M 31,9 H 7 v 3 h 24 z m 0,9 H 7 v 3 h 24 z m 0,18 H 7 v 3 h 24 z m 0,-9 H 7 v 3 h 24 z" }) }); 55219 const termName = [ 55220 "core/term-name", 55221 { 55222 isLink: true 55223 } 55224 ]; 55225 const terms_query_variations_variations = [ 55226 { 55227 name: "name", 55228 title: (0,external_wp_i18n_namespaceObject.__)("Name"), 55229 description: (0,external_wp_i18n_namespaceObject.__)("Display the terms' names."), 55230 attributes: {}, 55231 icon: variations_titleDate, 55232 scope: ["block"], 55233 innerBlocks: [["core/term-template", {}, [termName]]] 55234 }, 55235 { 55236 name: "name-count", 55237 title: (0,external_wp_i18n_namespaceObject.__)("Name & Count"), 55238 description: (0,external_wp_i18n_namespaceObject.__)( 55239 "Display the terms' names and number of posts assigned to each term." 55240 ), 55241 attributes: {}, 55242 icon: variations_titleExcerpt, 55243 scope: ["block"], 55244 innerBlocks: [ 55245 [ 55246 "core/term-template", 55247 {}, 55248 [ 55249 [ 55250 "core/group", 55251 { layout: { type: "flex", flexWrap: "nowrap" } }, 55252 [termName, ["core/term-count"]] 55253 ] 55254 ] 55255 ] 55256 ] 55257 } 55258 ]; 55259 var terms_query_variations_variations_default = terms_query_variations_variations; 55260 55261 55262 ;// ./node_modules/@wordpress/block-library/build-module/terms-query/index.js 55263 55264 55265 55266 55267 55268 55269 const { name: terms_query_name } = terms_query_block_namespaceObject; 55270 const terms_query_settings = { 55271 icon: loop_default, 55272 edit: terms_query_edit_edit_default, 55273 save: terms_query_save_save, 55274 example: {}, 55275 variations: terms_query_variations_variations_default 55276 }; 55277 const terms_query_init = () => initBlock({ name: terms_query_name, metadata: terms_query_block_namespaceObject, settings: terms_query_settings }); 55278 55279 55280 ;// ./node_modules/@wordpress/block-library/build-module/term-template/block.json 55281 const term_template_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/term-template","title":"Term Template","category":"theme","ancestor":["core/terms-query"],"description":"Contains the block elements used to render a taxonomy term, like the name, description, and more.","textdomain":"default","usesContext":["termQuery"],"supports":{"reusable":false,"html":false,"align":["wide","full"],"layout":true,"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalFontWeight":true,"__experimentalFontStyle":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalLetterSpacing":true,"__experimentalDefaultControls":{"fontSize":true}},"spacing":{"margin":true,"padding":true,"blockGap":{"__experimentalDefault":"1.25em"},"__experimentalDefaultControls":{"blockGap":true,"padding":false,"margin":false}},"interactivity":{"clientNavigation":true},"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true}},"style":"wp-block-term-template","editorStyle":"wp-block-term-template-editor"}'); 55282 ;// ./node_modules/@wordpress/block-library/build-module/term-template/edit.js 55283 55284 55285 55286 55287 55288 55289 55290 55291 55292 const term_template_edit_TEMPLATE = [["core/term-name"]]; 55293 function TermTemplateInnerBlocks({ classList }) { 55294 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)( 55295 { className: dist_clsx("wp-block-term", classList) }, 55296 { template: term_template_edit_TEMPLATE, __unstableDisableLayoutClassNames: true } 55297 ); 55298 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { ...innerBlocksProps }); 55299 } 55300 function TermTemplateBlockPreview({ 55301 blocks, 55302 blockContextId, 55303 classList, 55304 isHidden, 55305 setActiveBlockContextId 55306 }) { 55307 const blockPreviewProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBlockPreview)({ 55308 blocks, 55309 props: { 55310 className: dist_clsx("wp-block-term", classList) 55311 } 55312 }); 55313 const handleOnClick = () => { 55314 setActiveBlockContextId(blockContextId); 55315 }; 55316 const style = { 55317 display: isHidden ? "none" : void 0 55318 }; 55319 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55320 "li", 55321 { 55322 ...blockPreviewProps, 55323 tabIndex: 0, 55324 role: "button", 55325 onClick: handleOnClick, 55326 onKeyPress: handleOnClick, 55327 style 55328 } 55329 ); 55330 } 55331 const MemoizedTermTemplateBlockPreview = (0,external_wp_element_namespaceObject.memo)(TermTemplateBlockPreview); 55332 function TermTemplateEdit({ 55333 clientId, 55334 attributes: { layout }, 55335 setAttributes, 55336 context: { 55337 termQuery: { 55338 taxonomy, 55339 order, 55340 orderBy, 55341 hideEmpty, 55342 showNested = false, 55343 perPage, 55344 include 55345 } = {} 55346 }, 55347 __unstableLayoutClassNames 55348 }) { 55349 const { type: layoutType, columnCount = 3 } = layout || {}; 55350 const [activeBlockContextId, setActiveBlockContextId] = (0,external_wp_element_namespaceObject.useState)(); 55351 const queryArgs = { 55352 hide_empty: hideEmpty, 55353 order, 55354 orderby: orderBy, 55355 // There is a mismatch between `WP_Term_Query` and the REST API parameter default 55356 // values to fetch all items. In `WP_Term_Query`, the default is `''|0` and in 55357 // the REST API is `-1`. 55358 per_page: perPage || -1 55359 }; 55360 if (!showNested && !include?.length) { 55361 queryArgs.parent = 0; 55362 } 55363 if (include?.length) { 55364 queryArgs.include = include; 55365 queryArgs.orderby = "include"; 55366 queryArgs.order = "asc"; 55367 } 55368 const { records: terms } = (0,external_wp_coreData_namespaceObject.useEntityRecords)( 55369 "taxonomy", 55370 taxonomy, 55371 queryArgs 55372 ); 55373 const blocks = (0,external_wp_data_namespaceObject.useSelect)( 55374 (select) => select(external_wp_blockEditor_namespaceObject.store).getBlocks(clientId), 55375 [clientId] 55376 ); 55377 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 55378 className: __unstableLayoutClassNames 55379 }); 55380 const blockContexts = (0,external_wp_element_namespaceObject.useMemo)( 55381 () => terms?.map((term) => ({ 55382 taxonomy, 55383 termId: term.id, 55384 classList: `term-$term.id}`, 55385 termData: term 55386 })), 55387 [terms, taxonomy] 55388 ); 55389 if (!terms) { 55390 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { className: "wp-block-term term-loading", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "term-loading-placeholder" }) }) }); 55391 } 55392 if (!terms.length) { 55393 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { ...blockProps, children: [ 55394 " ", 55395 (0,external_wp_i18n_namespaceObject.__)("No terms found.") 55396 ] }); 55397 } 55398 const setDisplayLayout = (newDisplayLayout) => setAttributes((prevAttributes) => ({ 55399 layout: { ...prevAttributes.layout, ...newDisplayLayout } 55400 })); 55401 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 55402 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55403 external_wp_components_namespaceObject.ToolbarGroup, 55404 { 55405 controls: [ 55406 { 55407 icon: list_default, 55408 title: (0,external_wp_i18n_namespaceObject._x)( 55409 "List view", 55410 "Term template block display setting" 55411 ), 55412 onClick: () => setDisplayLayout({ type: "default" }), 55413 isActive: layoutType === "default" || layoutType === "constrained" 55414 }, 55415 { 55416 icon: grid_default, 55417 title: (0,external_wp_i18n_namespaceObject._x)( 55418 "Grid view", 55419 "Term template block display setting" 55420 ), 55421 onClick: () => setDisplayLayout({ 55422 type: "grid", 55423 columnCount 55424 }), 55425 isActive: layoutType === "grid" 55426 } 55427 ] 55428 } 55429 ) }), 55430 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { ...blockProps, children: blockContexts?.map((blockContext) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 55431 external_wp_blockEditor_namespaceObject.BlockContextProvider, 55432 { 55433 value: blockContext, 55434 children: [ 55435 blockContext.termId === (activeBlockContextId || blockContexts[0]?.termId) ? /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55436 TermTemplateInnerBlocks, 55437 { 55438 classList: blockContext.classList 55439 } 55440 ) : null, 55441 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55442 MemoizedTermTemplateBlockPreview, 55443 { 55444 blocks, 55445 blockContextId: blockContext.termId, 55446 classList: blockContext.classList, 55447 setActiveBlockContextId, 55448 isHidden: blockContext.termId === (activeBlockContextId || blockContexts[0]?.termId) 55449 } 55450 ) 55451 ] 55452 }, 55453 blockContext.termId 55454 )) }) 55455 ] }); 55456 } 55457 55458 55459 ;// ./node_modules/@wordpress/block-library/build-module/term-template/save.js 55460 55461 55462 function TermTemplateSave() { 55463 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}); 55464 } 55465 55466 55467 ;// ./node_modules/@wordpress/block-library/build-module/term-template/index.js 55468 55469 55470 55471 55472 55473 const { name: term_template_name } = term_template_block_namespaceObject; 55474 const term_template_settings = { 55475 icon: layout_default, 55476 edit: TermTemplateEdit, 55477 save: TermTemplateSave, 55478 example: {} 55479 }; 55480 const term_template_init = () => initBlock({ name: term_template_name, metadata: term_template_block_namespaceObject, settings: term_template_settings }); 55481 55482 55483 ;// ./node_modules/@wordpress/block-library/build-module/text-columns/edit.js 55484 55485 55486 55487 55488 55489 function TextColumnsEdit({ attributes, setAttributes }) { 55490 const { width, content, columns } = attributes; 55491 external_wp_deprecated_default()("The Text Columns block", { 55492 since: "5.3", 55493 alternative: "the Columns block" 55494 }); 55495 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 55496 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55497 external_wp_blockEditor_namespaceObject.BlockAlignmentToolbar, 55498 { 55499 value: width, 55500 onChange: (nextWidth) => setAttributes({ width: nextWidth }), 55501 controls: ["center", "wide", "full"] 55502 } 55503 ) }), 55504 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55505 external_wp_components_namespaceObject.RangeControl, 55506 { 55507 __nextHasNoMarginBottom: true, 55508 __next40pxDefaultSize: true, 55509 label: (0,external_wp_i18n_namespaceObject.__)("Columns"), 55510 value: columns, 55511 onChange: (value) => setAttributes({ columns: value }), 55512 min: 2, 55513 max: 4, 55514 required: true 55515 } 55516 ) }) }), 55517 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55518 "div", 55519 { 55520 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 55521 className: `align$width} columns-$columns}` 55522 }), 55523 children: Array.from({ length: columns }).map((_, index) => { 55524 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55525 "div", 55526 { 55527 className: "wp-block-column", 55528 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55529 external_wp_blockEditor_namespaceObject.RichText, 55530 { 55531 tagName: "p", 55532 value: content?.[index]?.children, 55533 onChange: (nextContent) => { 55534 setAttributes({ 55535 content: [ 55536 ...content.slice(0, index), 55537 { children: nextContent }, 55538 ...content.slice(index + 1) 55539 ] 55540 }); 55541 }, 55542 "aria-label": (0,external_wp_i18n_namespaceObject.sprintf)( 55543 // translators: %d: column index (starting with 1) 55544 (0,external_wp_i18n_namespaceObject.__)("Column %d text"), 55545 index + 1 55546 ), 55547 placeholder: (0,external_wp_i18n_namespaceObject.__)("New Column") 55548 } 55549 ) 55550 }, 55551 `column-$index}` 55552 ); 55553 }) 55554 } 55555 ) 55556 ] }); 55557 } 55558 55559 55560 ;// ./node_modules/@wordpress/block-library/build-module/text-columns/block.json 55561 const text_columns_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/text-columns","title":"Text Columns (deprecated)","icon":"columns","category":"design","description":"This block is deprecated. Please use the Columns block instead.","textdomain":"default","attributes":{"content":{"type":"array","source":"query","selector":"p","query":{"children":{"type":"string","source":"html"}},"default":[{},{}]},"columns":{"type":"number","default":2},"width":{"type":"string"}},"supports":{"inserter":false,"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-text-columns-editor","style":"wp-block-text-columns"}'); 55562 ;// ./node_modules/@wordpress/block-library/build-module/text-columns/save.js 55563 55564 55565 function text_columns_save_save({ attributes }) { 55566 const { width, content, columns } = attributes; 55567 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55568 "div", 55569 { 55570 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 55571 className: `align$width} columns-$columns}` 55572 }), 55573 children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { className: "wp-block-column", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55574 external_wp_blockEditor_namespaceObject.RichText.Content, 55575 { 55576 tagName: "p", 55577 value: content?.[index]?.children 55578 } 55579 ) }, `column-$index}`)) 55580 } 55581 ); 55582 } 55583 55584 55585 ;// ./node_modules/@wordpress/block-library/build-module/text-columns/transforms.js 55586 55587 const text_columns_transforms_transforms = { 55588 to: [ 55589 { 55590 type: "block", 55591 blocks: ["core/columns"], 55592 transform: ({ className, columns, content, width }) => (0,external_wp_blocks_namespaceObject.createBlock)( 55593 "core/columns", 55594 { 55595 align: "wide" === width || "full" === width ? width : void 0, 55596 className, 55597 columns 55598 }, 55599 content.map( 55600 ({ children }) => (0,external_wp_blocks_namespaceObject.createBlock)("core/column", {}, [ 55601 (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", { 55602 content: children 55603 }) 55604 ]) 55605 ) 55606 ) 55607 } 55608 ] 55609 }; 55610 var text_columns_transforms_transforms_default = text_columns_transforms_transforms; 55611 55612 55613 ;// ./node_modules/@wordpress/block-library/build-module/text-columns/index.js 55614 55615 55616 55617 55618 55619 const { name: text_columns_name } = text_columns_block_namespaceObject; 55620 const text_columns_settings = { 55621 transforms: text_columns_transforms_transforms_default, 55622 getEditWrapperProps(attributes) { 55623 const { width } = attributes; 55624 if ("wide" === width || "full" === width) { 55625 return { "data-align": width }; 55626 } 55627 }, 55628 edit: TextColumnsEdit, 55629 save: text_columns_save_save 55630 }; 55631 const text_columns_init = () => initBlock({ name: text_columns_name, metadata: text_columns_block_namespaceObject, settings: text_columns_settings }); 55632 55633 55634 ;// ./node_modules/@wordpress/block-library/build-module/verse/deprecated.js 55635 55636 55637 55638 55639 const verse_deprecated_v1 = { 55640 attributes: { 55641 content: { 55642 type: "string", 55643 source: "html", 55644 selector: "pre", 55645 default: "" 55646 }, 55647 textAlign: { 55648 type: "string" 55649 } 55650 }, 55651 save({ attributes }) { 55652 const { textAlign, content } = attributes; 55653 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55654 external_wp_blockEditor_namespaceObject.RichText.Content, 55655 { 55656 tagName: "pre", 55657 style: { textAlign }, 55658 value: content 55659 } 55660 ); 55661 } 55662 }; 55663 const verse_deprecated_v2 = { 55664 attributes: { 55665 content: { 55666 type: "string", 55667 source: "html", 55668 selector: "pre", 55669 default: "", 55670 __unstablePreserveWhiteSpace: true, 55671 role: "content" 55672 }, 55673 textAlign: { 55674 type: "string" 55675 } 55676 }, 55677 supports: { 55678 anchor: true, 55679 color: { 55680 gradients: true, 55681 link: true 55682 }, 55683 typography: { 55684 fontSize: true, 55685 __experimentalFontFamily: true 55686 }, 55687 spacing: { 55688 padding: true 55689 } 55690 }, 55691 save({ attributes }) { 55692 const { textAlign, content } = attributes; 55693 const className = dist_clsx({ 55694 [`has-text-align-$textAlign}`]: textAlign 55695 }); 55696 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 55697 }, 55698 migrate: migrate_font_family_default, 55699 isEligible({ style }) { 55700 return style?.typography?.fontFamily; 55701 } 55702 }; 55703 var verse_deprecated_deprecated_default = [verse_deprecated_v2, verse_deprecated_v1]; 55704 55705 55706 ;// ./node_modules/@wordpress/block-library/build-module/verse/edit.js 55707 55708 55709 55710 55711 55712 function VerseEdit({ 55713 attributes, 55714 setAttributes, 55715 mergeBlocks, 55716 onRemove, 55717 insertBlocksAfter, 55718 style 55719 }) { 55720 const { textAlign, content } = attributes; 55721 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 55722 className: dist_clsx({ 55723 [`has-text-align-$textAlign}`]: textAlign 55724 }), 55725 style 55726 }); 55727 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 55728 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55729 external_wp_blockEditor_namespaceObject.AlignmentToolbar, 55730 { 55731 value: textAlign, 55732 onChange: (nextAlign) => { 55733 setAttributes({ textAlign: nextAlign }); 55734 } 55735 } 55736 ) }), 55737 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55738 external_wp_blockEditor_namespaceObject.RichText, 55739 { 55740 tagName: "pre", 55741 identifier: "content", 55742 preserveWhiteSpace: true, 55743 value: content, 55744 onChange: (nextContent) => { 55745 setAttributes({ 55746 content: nextContent 55747 }); 55748 }, 55749 "aria-label": (0,external_wp_i18n_namespaceObject.__)("Verse text"), 55750 placeholder: (0,external_wp_i18n_namespaceObject.__)("Write verse\u2026"), 55751 onRemove, 55752 onMerge: mergeBlocks, 55753 textAlign, 55754 ...blockProps, 55755 __unstablePastePlainText: true, 55756 __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())) 55757 } 55758 ) 55759 ] }); 55760 } 55761 55762 55763 ;// ./node_modules/@wordpress/block-library/build-module/verse/block.json 55764 const verse_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/verse","title":"Verse","category":"text","description":"Insert poetry. Use special spacing formats. Or quote song lyrics.","keywords":["poetry","poem"],"textdomain":"default","attributes":{"content":{"type":"rich-text","source":"rich-text","selector":"pre","__unstablePreserveWhiteSpace":true,"role":"content"},"textAlign":{"type":"string"}},"supports":{"anchor":true,"background":{"backgroundImage":true,"backgroundSize":true,"__experimentalDefaultControls":{"backgroundImage":true}},"color":{"gradients":true,"link":true,"__experimentalDefaultControls":{"background":true,"text":true}},"dimensions":{"minHeight":true,"__experimentalDefaultControls":{"minHeight":false}},"typography":{"fontSize":true,"__experimentalFontFamily":true,"lineHeight":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalTextDecoration":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"__experimentalBorder":{"radius":true,"width":true,"color":true,"style":true},"interactivity":{"clientNavigation":true}},"style":"wp-block-verse","editorStyle":"wp-block-verse-editor"}'); 55765 ;// ./node_modules/@wordpress/block-library/build-module/verse/save.js 55766 55767 55768 55769 function verse_save_save({ attributes }) { 55770 const { textAlign, content } = attributes; 55771 const className = dist_clsx({ 55772 [`has-text-align-$textAlign}`]: textAlign 55773 }); 55774 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ className }), children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { value: content }) }); 55775 } 55776 55777 55778 ;// ./node_modules/@wordpress/block-library/build-module/verse/transforms.js 55779 55780 const verse_transforms_transforms = { 55781 from: [ 55782 { 55783 type: "block", 55784 blocks: ["core/paragraph"], 55785 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/verse", attributes) 55786 } 55787 ], 55788 to: [ 55789 { 55790 type: "block", 55791 blocks: ["core/paragraph"], 55792 transform: (attributes) => (0,external_wp_blocks_namespaceObject.createBlock)("core/paragraph", attributes) 55793 } 55794 ] 55795 }; 55796 var verse_transforms_transforms_default = verse_transforms_transforms; 55797 55798 55799 ;// ./node_modules/@wordpress/block-library/build-module/verse/index.js 55800 55801 55802 55803 55804 55805 55806 55807 55808 const { name: verse_name } = verse_block_namespaceObject; 55809 const verse_settings = { 55810 icon: verse_default, 55811 example: { 55812 attributes: { 55813 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 55814 // translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work. 55815 content: (0,external_wp_i18n_namespaceObject.__)( 55816 "WHAT was he doing, the great god Pan,\n Down in the reeds by the river?\nSpreading ruin and scattering ban,\nSplashing and paddling with hoofs of a goat,\nAnd breaking the golden lilies afloat\n With the dragon-fly on the river." 55817 ) 55818 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 55819 } 55820 }, 55821 transforms: verse_transforms_transforms_default, 55822 deprecated: verse_deprecated_deprecated_default, 55823 merge(attributes, attributesToMerge) { 55824 return { 55825 content: attributes.content + "\n\n" + attributesToMerge.content 55826 }; 55827 }, 55828 edit: VerseEdit, 55829 save: verse_save_save 55830 }; 55831 const verse_init = () => initBlock({ name: verse_name, metadata: verse_block_namespaceObject, settings: verse_settings }); 55832 55833 55834 ;// ./node_modules/@wordpress/icons/build-module/library/video.js 55835 55836 55837 var video_default = /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z" }) }); 55838 55839 55840 ;// ./node_modules/@wordpress/block-library/build-module/video/block.json 55841 const video_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/video","title":"Video","category":"media","description":"Embed a video from your media library or upload a new one.","keywords":["movie"],"textdomain":"default","attributes":{"autoplay":{"type":"boolean","source":"attribute","selector":"video","attribute":"autoplay"},"caption":{"type":"rich-text","source":"rich-text","selector":"figcaption","role":"content"},"controls":{"type":"boolean","source":"attribute","selector":"video","attribute":"controls","default":true},"id":{"type":"number","role":"content"},"loop":{"type":"boolean","source":"attribute","selector":"video","attribute":"loop"},"muted":{"type":"boolean","source":"attribute","selector":"video","attribute":"muted"},"poster":{"type":"string","source":"attribute","selector":"video","attribute":"poster"},"preload":{"type":"string","source":"attribute","selector":"video","attribute":"preload","default":"metadata"},"blob":{"type":"string","role":"local"},"src":{"type":"string","source":"attribute","selector":"video","attribute":"src","role":"content"},"playsInline":{"type":"boolean","source":"attribute","selector":"video","attribute":"playsinline"},"tracks":{"role":"content","type":"array","items":{"type":"object"},"default":[]}},"supports":{"anchor":true,"align":true,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"interactivity":{"clientNavigation":true}},"editorStyle":"wp-block-video-editor","style":"wp-block-video"}'); 55842 ;// ./node_modules/@wordpress/block-library/build-module/video/tracks.js 55843 55844 function Tracks({ tracks = [] }) { 55845 return tracks.map((track) => { 55846 const { id, ...trackAttrs } = track; 55847 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("track", { ...trackAttrs }, id ?? trackAttrs.src); 55848 }); 55849 } 55850 55851 55852 ;// ./node_modules/@wordpress/block-library/build-module/video/deprecated.js 55853 55854 55855 55856 55857 const { attributes: video_deprecated_blockAttributes } = video_block_namespaceObject; 55858 const video_deprecated_v1 = { 55859 attributes: video_deprecated_blockAttributes, 55860 save({ attributes }) { 55861 const { 55862 autoplay, 55863 caption, 55864 controls, 55865 loop, 55866 muted, 55867 poster, 55868 preload, 55869 src, 55870 playsInline, 55871 tracks 55872 } = attributes; 55873 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 55874 src && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55875 "video", 55876 { 55877 autoPlay: autoplay, 55878 controls, 55879 loop, 55880 muted, 55881 poster, 55882 preload: preload !== "metadata" ? preload : void 0, 55883 src, 55884 playsInline, 55885 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tracks, { tracks }) 55886 } 55887 ), 55888 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { tagName: "figcaption", value: caption }) 55889 ] }); 55890 } 55891 }; 55892 const video_deprecated_deprecated = [video_deprecated_v1]; 55893 var video_deprecated_deprecated_default = video_deprecated_deprecated; 55894 55895 55896 ;// ./node_modules/@wordpress/block-library/build-module/video/edit-common-settings.js 55897 55898 55899 55900 55901 const options = [ 55902 { value: "auto", label: (0,external_wp_i18n_namespaceObject.__)("Auto") }, 55903 { value: "metadata", label: (0,external_wp_i18n_namespaceObject.__)("Metadata") }, 55904 { value: "none", label: (0,external_wp_i18n_namespaceObject._x)("None", "Preload value") } 55905 ]; 55906 const VideoSettings = ({ setAttributes, attributes }) => { 55907 const { autoplay, controls, loop, muted, playsInline, preload } = attributes; 55908 const autoPlayHelpText = (0,external_wp_i18n_namespaceObject.__)( 55909 "Autoplay may cause usability issues for some users." 55910 ); 55911 const getAutoplayHelp = external_wp_element_namespaceObject.Platform.select({ 55912 web: (0,external_wp_element_namespaceObject.useCallback)((checked) => { 55913 return checked ? autoPlayHelpText : null; 55914 }, []), 55915 native: autoPlayHelpText 55916 }); 55917 const toggleFactory = (0,external_wp_element_namespaceObject.useMemo)(() => { 55918 const toggleAttribute = (attribute) => { 55919 return (newValue) => { 55920 setAttributes({ 55921 [attribute]: newValue, 55922 // Set muted and playsInLine when autoplay changes 55923 // playsInline is set to true when autoplay is true to support iOS devices 55924 ...attribute === "autoplay" && { 55925 muted: newValue, 55926 playsInline: newValue 55927 } 55928 }); 55929 }; 55930 }; 55931 return { 55932 autoplay: toggleAttribute("autoplay"), 55933 loop: toggleAttribute("loop"), 55934 muted: toggleAttribute("muted"), 55935 controls: toggleAttribute("controls"), 55936 playsInline: toggleAttribute("playsInline") 55937 }; 55938 }, []); 55939 const onChangePreload = (0,external_wp_element_namespaceObject.useCallback)((value) => { 55940 setAttributes({ preload: value }); 55941 }, []); 55942 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 55943 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55944 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55945 { 55946 label: (0,external_wp_i18n_namespaceObject.__)("Autoplay"), 55947 isShownByDefault: true, 55948 hasValue: () => !!autoplay, 55949 onDeselect: () => { 55950 setAttributes({ autoplay: false, muted: false }); 55951 }, 55952 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55953 external_wp_components_namespaceObject.ToggleControl, 55954 { 55955 __nextHasNoMarginBottom: true, 55956 label: (0,external_wp_i18n_namespaceObject.__)("Autoplay"), 55957 onChange: toggleFactory.autoplay, 55958 checked: !!autoplay, 55959 help: getAutoplayHelp 55960 } 55961 ) 55962 } 55963 ), 55964 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55965 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55966 { 55967 label: (0,external_wp_i18n_namespaceObject.__)("Loop"), 55968 isShownByDefault: true, 55969 hasValue: () => !!loop, 55970 onDeselect: () => { 55971 setAttributes({ loop: false }); 55972 }, 55973 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55974 external_wp_components_namespaceObject.ToggleControl, 55975 { 55976 __nextHasNoMarginBottom: true, 55977 label: (0,external_wp_i18n_namespaceObject.__)("Loop"), 55978 onChange: toggleFactory.loop, 55979 checked: !!loop 55980 } 55981 ) 55982 } 55983 ), 55984 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55985 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 55986 { 55987 label: (0,external_wp_i18n_namespaceObject.__)("Muted"), 55988 isShownByDefault: true, 55989 hasValue: () => !!muted, 55990 onDeselect: () => { 55991 setAttributes({ muted: false }); 55992 }, 55993 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 55994 external_wp_components_namespaceObject.ToggleControl, 55995 { 55996 __nextHasNoMarginBottom: true, 55997 label: (0,external_wp_i18n_namespaceObject.__)("Muted"), 55998 onChange: toggleFactory.muted, 55999 checked: !!muted, 56000 disabled: autoplay, 56001 help: autoplay ? (0,external_wp_i18n_namespaceObject.__)("Muted because of Autoplay.") : null 56002 } 56003 ) 56004 } 56005 ), 56006 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56007 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 56008 { 56009 label: (0,external_wp_i18n_namespaceObject.__)("Playback controls"), 56010 isShownByDefault: true, 56011 hasValue: () => !controls, 56012 onDeselect: () => { 56013 setAttributes({ controls: true }); 56014 }, 56015 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56016 external_wp_components_namespaceObject.ToggleControl, 56017 { 56018 __nextHasNoMarginBottom: true, 56019 label: (0,external_wp_i18n_namespaceObject.__)("Playback controls"), 56020 onChange: toggleFactory.controls, 56021 checked: !!controls 56022 } 56023 ) 56024 } 56025 ), 56026 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56027 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 56028 { 56029 label: (0,external_wp_i18n_namespaceObject.__)("Play inline"), 56030 isShownByDefault: true, 56031 hasValue: () => !!playsInline, 56032 onDeselect: () => { 56033 setAttributes({ playsInline: false }); 56034 }, 56035 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56036 external_wp_components_namespaceObject.ToggleControl, 56037 { 56038 __nextHasNoMarginBottom: true, 56039 label: (0,external_wp_i18n_namespaceObject.__)("Play inline"), 56040 onChange: toggleFactory.playsInline, 56041 checked: !!playsInline, 56042 disabled: autoplay, 56043 help: autoplay ? (0,external_wp_i18n_namespaceObject.__)("Play inline enabled because of Autoplay.") : (0,external_wp_i18n_namespaceObject.__)( 56044 "When enabled, videos will play directly within the webpage on mobile browsers, instead of opening in a fullscreen player." 56045 ) 56046 } 56047 ) 56048 } 56049 ), 56050 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56051 external_wp_components_namespaceObject.__experimentalToolsPanelItem, 56052 { 56053 label: (0,external_wp_i18n_namespaceObject.__)("Preload"), 56054 isShownByDefault: true, 56055 hasValue: () => preload !== "metadata", 56056 onDeselect: () => { 56057 setAttributes({ preload: "metadata" }); 56058 }, 56059 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56060 external_wp_components_namespaceObject.SelectControl, 56061 { 56062 __next40pxDefaultSize: true, 56063 __nextHasNoMarginBottom: true, 56064 label: (0,external_wp_i18n_namespaceObject.__)("Preload"), 56065 value: preload, 56066 onChange: onChangePreload, 56067 options, 56068 hideCancelButton: true 56069 } 56070 ) 56071 } 56072 ) 56073 ] }); 56074 }; 56075 var edit_common_settings_default = VideoSettings; 56076 56077 56078 ;// ./node_modules/@wordpress/block-library/build-module/video/tracks-editor.js 56079 56080 56081 56082 56083 56084 56085 56086 56087 56088 const { Badge: tracks_editor_Badge } = unlock(external_wp_components_namespaceObject.privateApis); 56089 const ALLOWED_TYPES = ["text/vtt"]; 56090 const DEFAULT_KIND = "subtitles"; 56091 const KIND_OPTIONS = [ 56092 { label: (0,external_wp_i18n_namespaceObject.__)("Subtitles"), value: "subtitles" }, 56093 { label: (0,external_wp_i18n_namespaceObject.__)("Captions"), value: "captions" }, 56094 { label: (0,external_wp_i18n_namespaceObject.__)("Descriptions"), value: "descriptions" }, 56095 { label: (0,external_wp_i18n_namespaceObject.__)("Chapters"), value: "chapters" }, 56096 { label: (0,external_wp_i18n_namespaceObject.__)("Metadata"), value: "metadata" } 56097 ]; 56098 const DEFAULT_TRACK = { 56099 src: "", 56100 label: "", 56101 srcLang: "en", 56102 kind: DEFAULT_KIND, 56103 default: false 56104 }; 56105 function TrackList({ tracks, onEditPress }) { 56106 const content = tracks.map((track, index) => { 56107 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 56108 external_wp_components_namespaceObject.__experimentalHStack, 56109 { 56110 className: "block-library-video-tracks-editor__track-list-track", 56111 children: [ 56112 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { children: track.label }), 56113 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { justify: "flex-end", children: [ 56114 track.default && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(tracks_editor_Badge, { children: (0,external_wp_i18n_namespaceObject.__)("Default") }), 56115 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56116 external_wp_components_namespaceObject.Button, 56117 { 56118 __next40pxDefaultSize: true, 56119 variant: "tertiary", 56120 onClick: () => onEditPress(index), 56121 "aria-label": (0,external_wp_i18n_namespaceObject.sprintf)( 56122 /* translators: %s: Label of the video text track e.g: "French subtitles". */ 56123 (0,external_wp_i18n_namespaceObject._x)("Edit %s", "text tracks"), 56124 track.label 56125 ), 56126 children: (0,external_wp_i18n_namespaceObject.__)("Edit") 56127 } 56128 ) 56129 ] }) 56130 ] 56131 }, 56132 track.id ?? track.src 56133 ); 56134 }); 56135 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56136 external_wp_components_namespaceObject.MenuGroup, 56137 { 56138 label: (0,external_wp_i18n_namespaceObject.__)("Text tracks"), 56139 className: "block-library-video-tracks-editor__track-list", 56140 children: content 56141 } 56142 ); 56143 } 56144 function SingleTrackEditor({ 56145 track, 56146 onChange, 56147 onClose, 56148 onRemove, 56149 allowSettingDefault 56150 }) { 56151 const [trackState, setTrackState] = (0,external_wp_element_namespaceObject.useState)({ 56152 ...DEFAULT_TRACK, 56153 ...track 56154 }); 56155 const { src, label, srcLang, kind, default: isDefaultTrack } = trackState; 56156 const fileName = src.startsWith("blob:") ? "" : (0,external_wp_url_namespaceObject.getFilename)(src) || ""; 56157 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 56158 external_wp_components_namespaceObject.__experimentalVStack, 56159 { 56160 className: "block-library-video-tracks-editor__single-track-editor", 56161 spacing: "4", 56162 children: [ 56163 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { className: "block-library-video-tracks-editor__single-track-editor-edit-track-label", children: (0,external_wp_i18n_namespaceObject.__)("Edit track") }), 56164 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("span", { children: [ 56165 (0,external_wp_i18n_namespaceObject.__)("File"), 56166 ": ", 56167 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("b", { children: fileName }) 56168 ] }), 56169 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalGrid, { columns: 2, gap: 4, children: [ 56170 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56171 external_wp_components_namespaceObject.TextControl, 56172 { 56173 __next40pxDefaultSize: true, 56174 __nextHasNoMarginBottom: true, 56175 onChange: (newLabel) => setTrackState((prevTrackState) => ({ 56176 ...prevTrackState, 56177 label: newLabel 56178 })), 56179 label: (0,external_wp_i18n_namespaceObject.__)("Label"), 56180 value: label, 56181 help: (0,external_wp_i18n_namespaceObject.__)("Title of track") 56182 } 56183 ), 56184 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56185 external_wp_components_namespaceObject.TextControl, 56186 { 56187 __next40pxDefaultSize: true, 56188 __nextHasNoMarginBottom: true, 56189 onChange: (newSrcLang) => setTrackState((prevTrackState) => ({ 56190 ...prevTrackState, 56191 srcLang: newSrcLang 56192 })), 56193 label: (0,external_wp_i18n_namespaceObject.__)("Source language"), 56194 value: srcLang, 56195 help: (0,external_wp_i18n_namespaceObject.__)("Language tag (en, fr, etc.)") 56196 } 56197 ) 56198 ] }), 56199 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalVStack, { spacing: "4", children: [ 56200 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56201 external_wp_components_namespaceObject.SelectControl, 56202 { 56203 __next40pxDefaultSize: true, 56204 __nextHasNoMarginBottom: true, 56205 className: "block-library-video-tracks-editor__single-track-editor-kind-select", 56206 options: KIND_OPTIONS, 56207 value: kind, 56208 label: (0,external_wp_i18n_namespaceObject.__)("Kind"), 56209 onChange: (newKind) => setTrackState((prevTrackState) => ({ 56210 ...prevTrackState, 56211 kind: newKind 56212 })) 56213 } 56214 ), 56215 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56216 external_wp_components_namespaceObject.ToggleControl, 56217 { 56218 __next40pxDefaultSize: true, 56219 __nextHasNoMarginBottom: true, 56220 label: (0,external_wp_i18n_namespaceObject.__)("Set as default track"), 56221 checked: isDefaultTrack, 56222 disabled: !allowSettingDefault, 56223 onChange: (defaultTrack) => setTrackState((prevTrackState) => ({ 56224 ...prevTrackState, 56225 default: defaultTrack 56226 })) 56227 } 56228 ), 56229 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.__experimentalHStack, { className: "block-library-video-tracks-editor__single-track-editor-buttons-container", children: [ 56230 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56231 external_wp_components_namespaceObject.Button, 56232 { 56233 __next40pxDefaultSize: true, 56234 isDestructive: true, 56235 variant: "link", 56236 onClick: onRemove, 56237 children: (0,external_wp_i18n_namespaceObject.__)("Remove track") 56238 } 56239 ), 56240 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56241 external_wp_components_namespaceObject.Button, 56242 { 56243 __next40pxDefaultSize: true, 56244 variant: "primary", 56245 onClick: () => { 56246 onChange(trackState); 56247 onClose(); 56248 }, 56249 children: (0,external_wp_i18n_namespaceObject.__)("Apply") 56250 } 56251 ) 56252 ] }) 56253 ] }) 56254 ] 56255 } 56256 ); 56257 } 56258 function TracksEditor({ tracks = [], onChange }) { 56259 const mediaUpload = (0,external_wp_data_namespaceObject.useSelect)((select) => { 56260 return select(external_wp_blockEditor_namespaceObject.store).getSettings().mediaUpload; 56261 }, []); 56262 const [trackBeingEdited, setTrackBeingEdited] = (0,external_wp_element_namespaceObject.useState)(null); 56263 const dropdownPopoverRef = (0,external_wp_element_namespaceObject.useRef)(); 56264 const handleTrackSelect = (selectedTracks = [], appendTracks = false) => { 56265 const existingTracksMap = new Map( 56266 tracks.map((track) => [track.id, track]) 56267 ); 56268 const tracksToAdd = selectedTracks.map(({ id, title, url }) => { 56269 if (existingTracksMap.has(id)) { 56270 return existingTracksMap.get(id); 56271 } 56272 return { 56273 ...DEFAULT_TRACK, 56274 id, 56275 label: title || "", 56276 src: url 56277 }; 56278 }); 56279 if (tracksToAdd.length === 0) { 56280 return; 56281 } 56282 onChange([...appendTracks ? tracks : [], ...tracksToAdd]); 56283 }; 56284 function uploadFiles(event) { 56285 const files = event.target.files; 56286 mediaUpload({ 56287 allowedTypes: ALLOWED_TYPES, 56288 filesList: files, 56289 onFileChange: (selectedTracks) => { 56290 if (!Array.isArray(selectedTracks)) { 56291 return; 56292 } 56293 const uploadedTracks = selectedTracks.filter( 56294 (track) => !!track?.id 56295 ); 56296 if (!uploadedTracks.length) { 56297 return; 56298 } 56299 handleTrackSelect(uploadedTracks, true); 56300 } 56301 }); 56302 } 56303 (0,external_wp_element_namespaceObject.useEffect)(() => { 56304 dropdownPopoverRef.current?.focus(); 56305 }, [trackBeingEdited]); 56306 if (!mediaUpload) { 56307 return null; 56308 } 56309 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56310 external_wp_components_namespaceObject.Dropdown, 56311 { 56312 contentClassName: "block-library-video-tracks-editor", 56313 focusOnMount: true, 56314 popoverProps: { 56315 ref: dropdownPopoverRef 56316 }, 56317 renderToggle: ({ isOpen, onToggle }) => { 56318 const handleOnToggle = () => { 56319 if (!isOpen) { 56320 setTrackBeingEdited(null); 56321 } 56322 onToggle(); 56323 }; 56324 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56325 external_wp_components_namespaceObject.ToolbarButton, 56326 { 56327 "aria-expanded": isOpen, 56328 "aria-haspopup": "true", 56329 onClick: handleOnToggle, 56330 children: (0,external_wp_i18n_namespaceObject.__)("Text tracks") 56331 } 56332 ) }); 56333 }, 56334 renderContent: () => { 56335 if (trackBeingEdited !== null) { 56336 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56337 SingleTrackEditor, 56338 { 56339 track: tracks[trackBeingEdited], 56340 onChange: (newTrack) => { 56341 const newTracks = [...tracks]; 56342 newTracks[trackBeingEdited] = newTrack; 56343 onChange(newTracks); 56344 }, 56345 onClose: () => setTrackBeingEdited(null), 56346 onRemove: () => { 56347 onChange( 56348 tracks.filter( 56349 (_track, index) => index !== trackBeingEdited 56350 ) 56351 ); 56352 setTrackBeingEdited(null); 56353 }, 56354 allowSettingDefault: !tracks.some((track) => track.default) || tracks[trackBeingEdited].default 56355 } 56356 ); 56357 } 56358 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 56359 tracks.length === 0 && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { className: "block-library-video-tracks-editor__tracks-informative-message", children: [ 56360 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("h2", { className: "block-library-video-tracks-editor__tracks-informative-message-title", children: (0,external_wp_i18n_namespaceObject.__)("Text tracks") }), 56361 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { className: "block-library-video-tracks-editor__tracks-informative-message-description", children: (0,external_wp_i18n_namespaceObject.__)( 56362 "Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users." 56363 ) }) 56364 ] }), 56365 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.NavigableMenu, { children: [ 56366 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56367 TrackList, 56368 { 56369 tracks, 56370 onEditPress: setTrackBeingEdited 56371 } 56372 ), 56373 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56374 external_wp_components_namespaceObject.MenuGroup, 56375 { 56376 className: "block-library-video-tracks-editor__add-tracks-container", 56377 label: (0,external_wp_i18n_namespaceObject.__)("Add tracks"), 56378 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.MediaUploadCheck, { children: [ 56379 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56380 external_wp_blockEditor_namespaceObject.MediaUpload, 56381 { 56382 onSelect: handleTrackSelect, 56383 allowedTypes: ALLOWED_TYPES, 56384 value: tracks.map(({ id }) => id), 56385 multiple: true, 56386 render: ({ open }) => /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56387 external_wp_components_namespaceObject.MenuItem, 56388 { 56389 icon: media_default, 56390 onClick: open, 56391 children: (0,external_wp_i18n_namespaceObject.__)("Open Media Library") 56392 } 56393 ) 56394 } 56395 ), 56396 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56397 external_wp_components_namespaceObject.FormFileUpload, 56398 { 56399 onChange: uploadFiles, 56400 accept: ".vtt,text/vtt", 56401 multiple: true, 56402 render: ({ openFileDialog }) => { 56403 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56404 external_wp_components_namespaceObject.MenuItem, 56405 { 56406 icon: upload_default, 56407 onClick: openFileDialog, 56408 children: (0,external_wp_i18n_namespaceObject._x)("Upload", "verb") 56409 } 56410 ); 56411 } 56412 } 56413 ) 56414 ] }) 56415 } 56416 ) 56417 ] }) 56418 ] }); 56419 } 56420 } 56421 ); 56422 } 56423 56424 56425 ;// ./node_modules/@wordpress/block-library/build-module/video/edit.js 56426 56427 56428 56429 56430 56431 56432 56433 56434 56435 56436 56437 56438 56439 56440 56441 56442 56443 const video_edit_ALLOWED_MEDIA_TYPES = ["video"]; 56444 function VideoEdit({ 56445 isSelected: isSingleSelected, 56446 attributes, 56447 className, 56448 setAttributes, 56449 insertBlocksAfter, 56450 onReplace 56451 }) { 56452 const videoPlayer = (0,external_wp_element_namespaceObject.useRef)(); 56453 const { id, controls, poster, src, tracks } = attributes; 56454 const [temporaryURL, setTemporaryURL] = (0,external_wp_element_namespaceObject.useState)(attributes.blob); 56455 const dropdownMenuProps = useToolsPanelDropdownMenuProps(); 56456 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 56457 const hasNonContentControls = blockEditingMode === "default"; 56458 useUploadMediaFromBlobURL({ 56459 url: temporaryURL, 56460 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES, 56461 onChange: onSelectVideo, 56462 onError: onUploadError 56463 }); 56464 (0,external_wp_element_namespaceObject.useEffect)(() => { 56465 if (videoPlayer.current) { 56466 videoPlayer.current.load(); 56467 } 56468 }, [poster]); 56469 function onSelectVideo(media) { 56470 if (!media || !media.url) { 56471 setAttributes({ 56472 src: void 0, 56473 id: void 0, 56474 poster: void 0, 56475 caption: void 0, 56476 blob: void 0 56477 }); 56478 setTemporaryURL(); 56479 return; 56480 } 56481 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media.url)) { 56482 setTemporaryURL(media.url); 56483 return; 56484 } 56485 setAttributes({ 56486 blob: void 0, 56487 src: media.url, 56488 id: media.id, 56489 poster: media.image?.src !== media.icon ? media.image?.src : void 0, 56490 caption: media.caption 56491 }); 56492 setTemporaryURL(); 56493 } 56494 function onSelectURL(newSrc) { 56495 if (newSrc !== src) { 56496 const embedBlock = createUpgradedEmbedBlock({ 56497 attributes: { url: newSrc } 56498 }); 56499 if (void 0 !== embedBlock && onReplace) { 56500 onReplace(embedBlock); 56501 return; 56502 } 56503 setAttributes({ 56504 blob: void 0, 56505 src: newSrc, 56506 id: void 0, 56507 poster: void 0 56508 }); 56509 setTemporaryURL(); 56510 } 56511 } 56512 const { createErrorNotice } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 56513 function onUploadError(message) { 56514 createErrorNotice(message, { type: "snackbar" }); 56515 } 56516 const placeholder = (content) => { 56517 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56518 external_wp_components_namespaceObject.Placeholder, 56519 { 56520 className: "block-editor-media-placeholder", 56521 withIllustration: !isSingleSelected, 56522 icon: video_default, 56523 label: (0,external_wp_i18n_namespaceObject.__)("Video"), 56524 instructions: (0,external_wp_i18n_namespaceObject.__)( 56525 "Drag and drop a video, upload, or choose from your library." 56526 ), 56527 children: content 56528 } 56529 ); 56530 }; 56531 const classes = dist_clsx(className, { 56532 "is-transient": !!temporaryURL 56533 }); 56534 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 56535 className: classes 56536 }); 56537 if (!src && !temporaryURL) { 56538 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56539 external_wp_blockEditor_namespaceObject.MediaPlaceholder, 56540 { 56541 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: video_default }), 56542 onSelect: onSelectVideo, 56543 onSelectURL, 56544 accept: "video/*", 56545 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES, 56546 value: attributes, 56547 onError: onUploadError, 56548 placeholder 56549 } 56550 ) }); 56551 } 56552 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 56553 isSingleSelected && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { children: [ 56554 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56555 TracksEditor, 56556 { 56557 tracks, 56558 onChange: (newTracks) => { 56559 setAttributes({ tracks: newTracks }); 56560 } 56561 } 56562 ) }), 56563 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { group: "other", children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56564 external_wp_blockEditor_namespaceObject.MediaReplaceFlow, 56565 { 56566 mediaId: id, 56567 mediaURL: src, 56568 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES, 56569 accept: "video/*", 56570 onSelect: onSelectVideo, 56571 onSelectURL, 56572 onError: onUploadError, 56573 onReset: () => onSelectVideo(void 0) 56574 } 56575 ) }) 56576 ] }), 56577 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 56578 external_wp_components_namespaceObject.__experimentalToolsPanel, 56579 { 56580 label: (0,external_wp_i18n_namespaceObject.__)("Settings"), 56581 resetAll: () => { 56582 setAttributes({ 56583 autoplay: false, 56584 controls: true, 56585 loop: false, 56586 muted: false, 56587 playsInline: false, 56588 preload: "metadata", 56589 poster: void 0 56590 }); 56591 }, 56592 dropdownMenuProps, 56593 children: [ 56594 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56595 edit_common_settings_default, 56596 { 56597 setAttributes, 56598 attributes 56599 } 56600 ), 56601 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56602 poster_image_default, 56603 { 56604 poster, 56605 onChange: (posterImage) => setAttributes({ 56606 poster: posterImage?.url 56607 }) 56608 } 56609 ) 56610 ] 56611 } 56612 ) }), 56613 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...blockProps, children: [ 56614 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { isDisabled: !isSingleSelected, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56615 "video", 56616 { 56617 controls, 56618 poster, 56619 src: src || temporaryURL, 56620 ref: videoPlayer, 56621 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tracks, { tracks }) 56622 } 56623 ) }), 56624 !!temporaryURL && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), 56625 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56626 Caption, 56627 { 56628 attributes, 56629 setAttributes, 56630 isSelected: isSingleSelected, 56631 insertBlocksAfter, 56632 label: (0,external_wp_i18n_namespaceObject.__)("Video caption text"), 56633 showToolbarButton: isSingleSelected && hasNonContentControls 56634 } 56635 ) 56636 ] }) 56637 ] }); 56638 } 56639 var video_edit_edit_default = VideoEdit; 56640 56641 56642 ;// ./node_modules/@wordpress/block-library/build-module/video/save.js 56643 56644 56645 56646 function video_save_save({ attributes }) { 56647 const { 56648 autoplay, 56649 caption, 56650 controls, 56651 loop, 56652 muted, 56653 poster, 56654 preload, 56655 src, 56656 playsInline, 56657 tracks 56658 } = attributes; 56659 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), children: [ 56660 src && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56661 "video", 56662 { 56663 autoPlay: autoplay, 56664 controls, 56665 loop, 56666 muted, 56667 poster, 56668 preload: preload !== "metadata" ? preload : void 0, 56669 src, 56670 playsInline, 56671 children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(Tracks, { tracks }) 56672 } 56673 ), 56674 !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56675 external_wp_blockEditor_namespaceObject.RichText.Content, 56676 { 56677 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)("caption"), 56678 tagName: "figcaption", 56679 value: caption 56680 } 56681 ) 56682 ] }); 56683 } 56684 56685 56686 ;// ./node_modules/@wordpress/block-library/build-module/video/transforms.js 56687 56688 56689 const video_transforms_transforms = { 56690 from: [ 56691 { 56692 type: "files", 56693 isMatch(files) { 56694 return files.length === 1 && files[0].type.indexOf("video/") === 0; 56695 }, 56696 transform(files) { 56697 const file = files[0]; 56698 const block = (0,external_wp_blocks_namespaceObject.createBlock)("core/video", { 56699 blob: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 56700 }); 56701 return block; 56702 } 56703 }, 56704 { 56705 type: "shortcode", 56706 tag: "video", 56707 attributes: { 56708 src: { 56709 type: "string", 56710 shortcode: ({ 56711 named: { src, mp4, m4v, webm, ogv, flv } 56712 }) => { 56713 return src || mp4 || m4v || webm || ogv || flv; 56714 } 56715 }, 56716 poster: { 56717 type: "string", 56718 shortcode: ({ named: { poster } }) => { 56719 return poster; 56720 } 56721 }, 56722 loop: { 56723 type: "string", 56724 shortcode: ({ named: { loop } }) => { 56725 return loop; 56726 } 56727 }, 56728 autoplay: { 56729 type: "string", 56730 shortcode: ({ named: { autoplay } }) => { 56731 return autoplay; 56732 } 56733 }, 56734 preload: { 56735 type: "string", 56736 shortcode: ({ named: { preload } }) => { 56737 return preload; 56738 } 56739 } 56740 } 56741 }, 56742 { 56743 type: "raw", 56744 isMatch: (node) => node.nodeName === "P" && node.children.length === 1 && node.firstChild.nodeName === "VIDEO", 56745 transform: (node) => { 56746 const videoElement = node.firstChild; 56747 const attributes = { 56748 autoplay: videoElement.hasAttribute("autoplay") ? true : void 0, 56749 controls: videoElement.hasAttribute("controls") ? void 0 : false, 56750 loop: videoElement.hasAttribute("loop") ? true : void 0, 56751 muted: videoElement.hasAttribute("muted") ? true : void 0, 56752 preload: videoElement.getAttribute("preload") || void 0, 56753 playsInline: videoElement.hasAttribute("playsinline") ? true : void 0, 56754 poster: videoElement.getAttribute("poster") || void 0, 56755 src: videoElement.getAttribute("src") || void 0 56756 }; 56757 if ((0,external_wp_blob_namespaceObject.isBlobURL)(attributes.src)) { 56758 attributes.blob = attributes.src; 56759 delete attributes.src; 56760 } 56761 return (0,external_wp_blocks_namespaceObject.createBlock)("core/video", attributes); 56762 } 56763 } 56764 ] 56765 }; 56766 var video_transforms_transforms_default = video_transforms_transforms; 56767 56768 56769 ;// ./node_modules/@wordpress/block-library/build-module/video/index.js 56770 56771 56772 56773 56774 56775 56776 56777 56778 const { name: video_name } = video_block_namespaceObject; 56779 const video_settings = { 56780 icon: video_default, 56781 example: { 56782 attributes: { 56783 src: "https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm", 56784 // translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block. 56785 caption: (0,external_wp_i18n_namespaceObject.__)("Wood thrush singing in Central Park, NYC.") 56786 } 56787 }, 56788 transforms: video_transforms_transforms_default, 56789 deprecated: video_deprecated_deprecated_default, 56790 edit: video_edit_edit_default, 56791 save: video_save_save 56792 }; 56793 const video_init = () => initBlock({ name: video_name, metadata: video_block_namespaceObject, settings: video_settings }); 56794 56795 56796 ;// ./node_modules/@wordpress/block-library/build-module/footnotes/edit.js 56797 56798 56799 56800 56801 56802 56803 function FootnotesEdit({ context: { postType, postId } }) { 56804 const [meta, updateMeta] = (0,external_wp_coreData_namespaceObject.useEntityProp)( 56805 "postType", 56806 postType, 56807 "meta", 56808 postId 56809 ); 56810 const footnotesSupported = "string" === typeof meta?.footnotes; 56811 const footnotes = meta?.footnotes ? JSON.parse(meta.footnotes) : []; 56812 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 56813 if (!footnotesSupported) { 56814 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56815 external_wp_components_namespaceObject.Placeholder, 56816 { 56817 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: format_list_numbered_default }), 56818 label: (0,external_wp_i18n_namespaceObject.__)("Footnotes"), 56819 instructions: (0,external_wp_i18n_namespaceObject.__)( 56820 "Footnotes are not supported here. Add this block to post or page content." 56821 ) 56822 } 56823 ) }); 56824 } 56825 if (!footnotes.length) { 56826 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56827 external_wp_components_namespaceObject.Placeholder, 56828 { 56829 icon: /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { icon: format_list_numbered_default }), 56830 label: (0,external_wp_i18n_namespaceObject.__)("Footnotes"), 56831 instructions: (0,external_wp_i18n_namespaceObject.__)( 56832 "Footnotes found in blocks within this document will be displayed here." 56833 ) 56834 } 56835 ) }); 56836 } 56837 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("ol", { ...blockProps, children: footnotes.map(({ id, content }) => ( 56838 /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ 56839 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsxs)( 56840 "li", 56841 { 56842 onMouseDown: (event) => { 56843 if (event.target === event.currentTarget) { 56844 event.target.firstElementChild.focus(); 56845 event.preventDefault(); 56846 } 56847 }, 56848 children: [ 56849 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 56850 external_wp_blockEditor_namespaceObject.RichText, 56851 { 56852 id, 56853 tagName: "span", 56854 value: content, 56855 identifier: id, 56856 onFocus: (event) => { 56857 if (!event.target.textContent.trim()) { 56858 event.target.scrollIntoView(); 56859 } 56860 }, 56861 onChange: (nextFootnote) => { 56862 updateMeta({ 56863 ...meta, 56864 footnotes: JSON.stringify( 56865 footnotes.map((footnote) => { 56866 return footnote.id === id ? { 56867 content: nextFootnote, 56868 id 56869 } : footnote; 56870 }) 56871 ) 56872 }); 56873 } 56874 } 56875 ), 56876 " ", 56877 /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { href: `#$id}-link`, children: "\u21A9\uFE0E" }) 56878 ] 56879 }, 56880 id 56881 ) 56882 )) }); 56883 } 56884 56885 56886 ;// ./node_modules/@wordpress/block-library/build-module/footnotes/block.json 56887 const footnotes_block_namespaceObject = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"core/footnotes","title":"Footnotes","category":"text","description":"Display footnotes added to the page.","keywords":["references"],"textdomain":"default","usesContext":["postId","postType"],"supports":{"__experimentalBorder":{"radius":true,"color":true,"width":true,"style":true,"__experimentalDefaultControls":{"radius":false,"color":false,"width":false,"style":false}},"color":{"background":true,"link":true,"text":true,"__experimentalDefaultControls":{"link":true,"text":true}},"html":false,"multiple":false,"reusable":false,"inserter":false,"spacing":{"margin":true,"padding":true,"__experimentalDefaultControls":{"margin":false,"padding":false}},"typography":{"fontSize":true,"lineHeight":true,"__experimentalFontFamily":true,"__experimentalTextDecoration":true,"__experimentalFontStyle":true,"__experimentalFontWeight":true,"__experimentalLetterSpacing":true,"__experimentalTextTransform":true,"__experimentalWritingMode":true,"__experimentalDefaultControls":{"fontSize":true}},"interactivity":{"clientNavigation":true}},"style":"wp-block-footnotes"}'); 56888 ;// ./node_modules/@wordpress/block-library/node_modules/uuid/dist/esm-browser/native.js 56889 const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto); 56890 /* harmony default export */ const esm_browser_native = ({ 56891 randomUUID 56892 }); 56893 ;// ./node_modules/@wordpress/block-library/node_modules/uuid/dist/esm-browser/rng.js 56894 // Unique ID creation requires a high quality random # generator. In the browser we therefore 56895 // require the crypto API and do not support built-in fallback to lower quality random number 56896 // generators (like Math.random()). 56897 let getRandomValues; 56898 const rnds8 = new Uint8Array(16); 56899 function rng() { 56900 // lazy load so that environments that need to polyfill have a chance to do so 56901 if (!getRandomValues) { 56902 // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. 56903 getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto); 56904 56905 if (!getRandomValues) { 56906 throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported'); 56907 } 56908 } 56909 56910 return getRandomValues(rnds8); 56911 } 56912 ;// ./node_modules/@wordpress/block-library/node_modules/uuid/dist/esm-browser/stringify.js 56913 56914 /** 56915 * Convert array of 16 byte values to UUID string format of the form: 56916 * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 56917 */ 56918 56919 const byteToHex = []; 56920 56921 for (let i = 0; i < 256; ++i) { 56922 byteToHex.push((i + 0x100).toString(16).slice(1)); 56923 } 56924 56925 function unsafeStringify(arr, offset = 0) { 56926 // Note: Be careful editing this code! It's been tuned for performance 56927 // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434 56928 return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]; 56929 } 56930 56931 function stringify(arr, offset = 0) { 56932 const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one 56933 // of the following: 56934 // - One or more input array values don't map to a hex octet (leading to 56935 // "undefined" in the uuid) 56936 // - Invalid input values for the RFC `version` or `variant` fields 56937 56938 if (!validate(uuid)) { 56939 throw TypeError('Stringified UUID is invalid'); 56940 } 56941 56942 return uuid; 56943 } 56944 56945 /* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify))); 56946 ;// ./node_modules/@wordpress/block-library/node_modules/uuid/dist/esm-browser/v4.js 56947 56948 56949 56950 56951 function v4_v4(options, buf, offset) { 56952 if (esm_browser_native.randomUUID && !buf && !options) { 56953 return esm_browser_native.randomUUID(); 56954 } 56955 56956 options = options || {}; 56957 const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved` 56958 56959 rnds[6] = rnds[6] & 0x0f | 0x40; 56960 rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided 56961 56962 if (buf) { 56963 offset = offset || 0; 56964 56965 for (let i = 0; i < 16; ++i) { 56966 buf[offset + i] = rnds[i]; 56967 } 56968 56969 return buf; 56970 } 56971 56972 return unsafeStringify(rnds); 56973 } 56974 56975 /* harmony default export */ const esm_browser_v4 = (v4_v4); 56976 ;// ./node_modules/@wordpress/block-library/build-module/footnotes/format.js 56977 56978 56979 56980 56981 56982 56983 56984 56985 56986 56987 const { usesContextKey } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 56988 const formatName = "core/footnote"; 56989 const POST_CONTENT_BLOCK_NAME = "core/post-content"; 56990 const SYNCED_PATTERN_BLOCK_NAME = "core/block"; 56991 const format = { 56992 title: (0,external_wp_i18n_namespaceObject.__)("Footnote"), 56993 tagName: "sup", 56994 className: "fn", 56995 attributes: { 56996 "data-fn": "data-fn" 56997 }, 56998 interactive: true, 56999 contentEditable: false, 57000 [usesContextKey]: ["postType", "postId"], 57001 edit: function Edit({ 57002 value, 57003 onChange, 57004 isObjectActive, 57005 context: { postType, postId } 57006 }) { 57007 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 57008 const { 57009 getSelectedBlockClientId, 57010 getBlocks, 57011 getBlockRootClientId, 57012 getBlockName, 57013 getBlockParentsByBlockName 57014 } = registry.select(external_wp_blockEditor_namespaceObject.store); 57015 const isFootnotesSupported = (0,external_wp_data_namespaceObject.useSelect)( 57016 (select) => { 57017 if (!select(external_wp_blocks_namespaceObject.store).getBlockType("core/footnotes")) { 57018 return false; 57019 } 57020 const allowedBlocks = select(external_wp_blockEditor_namespaceObject.store).getSettings().allowedBlockTypes; 57021 if (allowedBlocks === false || Array.isArray(allowedBlocks) && !allowedBlocks.includes("core/footnotes")) { 57022 return false; 57023 } 57024 const entityRecord = select(external_wp_coreData_namespaceObject.store).getEntityRecord( 57025 "postType", 57026 postType, 57027 postId 57028 ); 57029 if ("string" !== typeof entityRecord?.meta?.footnotes) { 57030 return false; 57031 } 57032 const { 57033 getBlockParentsByBlockName: _getBlockParentsByBlockName, 57034 getSelectedBlockClientId: _getSelectedBlockClientId 57035 } = select(external_wp_blockEditor_namespaceObject.store); 57036 const parentCoreBlocks = _getBlockParentsByBlockName( 57037 _getSelectedBlockClientId(), 57038 SYNCED_PATTERN_BLOCK_NAME 57039 ); 57040 return !parentCoreBlocks || parentCoreBlocks.length === 0; 57041 }, 57042 [postType, postId] 57043 ); 57044 const { selectionChange, insertBlock } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 57045 if (!isFootnotesSupported) { 57046 return null; 57047 } 57048 function onClick() { 57049 registry.batch(() => { 57050 let id; 57051 if (isObjectActive) { 57052 const object = value.replacements[value.start]; 57053 id = object?.attributes?.["data-fn"]; 57054 } else { 57055 id = esm_browser_v4(); 57056 const newValue = (0,external_wp_richText_namespaceObject.insertObject)( 57057 value, 57058 { 57059 type: formatName, 57060 attributes: { 57061 "data-fn": id 57062 }, 57063 innerHTML: `<a href="#$id}" id="$id}-link">*</a>` 57064 }, 57065 value.end, 57066 value.end 57067 ); 57068 newValue.start = newValue.end - 1; 57069 onChange(newValue); 57070 } 57071 const selectedClientId = getSelectedBlockClientId(); 57072 const parentPostContent = getBlockParentsByBlockName( 57073 selectedClientId, 57074 POST_CONTENT_BLOCK_NAME 57075 ); 57076 const blocks = parentPostContent.length ? getBlocks(parentPostContent[0]) : getBlocks(); 57077 let fnBlock = null; 57078 { 57079 const queue = [...blocks]; 57080 while (queue.length) { 57081 const block = queue.shift(); 57082 if (block.name === "core/footnotes") { 57083 fnBlock = block; 57084 break; 57085 } 57086 queue.push(...block.innerBlocks); 57087 } 57088 } 57089 if (!fnBlock) { 57090 let rootClientId = getBlockRootClientId(selectedClientId); 57091 while (rootClientId && getBlockName(rootClientId) !== POST_CONTENT_BLOCK_NAME) { 57092 rootClientId = getBlockRootClientId(rootClientId); 57093 } 57094 fnBlock = (0,external_wp_blocks_namespaceObject.createBlock)("core/footnotes"); 57095 insertBlock(fnBlock, void 0, rootClientId); 57096 } 57097 selectionChange(fnBlock.clientId, id, 0, 0); 57098 }); 57099 } 57100 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 57101 external_wp_blockEditor_namespaceObject.RichTextToolbarButton, 57102 { 57103 icon: format_list_numbered_default, 57104 title: (0,external_wp_i18n_namespaceObject.__)("Footnote"), 57105 onClick, 57106 isActive: isObjectActive 57107 } 57108 ); 57109 } 57110 }; 57111 57112 57113 ;// ./node_modules/@wordpress/block-library/build-module/footnotes/index.js 57114 57115 57116 57117 57118 57119 57120 const { name: footnotes_name } = footnotes_block_namespaceObject; 57121 const footnotes_settings = { 57122 icon: format_list_numbered_default, 57123 edit: FootnotesEdit 57124 }; 57125 const footnotes_init = () => { 57126 (0,external_wp_richText_namespaceObject.registerFormatType)(formatName, format); 57127 initBlock({ name: footnotes_name, metadata: footnotes_block_namespaceObject, settings: footnotes_settings }); 57128 }; 57129 57130 57131 ;// ./node_modules/@wordpress/block-library/build-module/utils/is-block-metadata-experimental.js 57132 var __getOwnPropNames = Object.getOwnPropertyNames; 57133 var __commonJS = (cb, mod) => function __require() { 57134 return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; 57135 }; 57136 var require_is_block_metadata_experimental = __commonJS({ 57137 "packages/block-library/src/utils/is-block-metadata-experimental.js"(exports, module) { 57138 module.exports = function isBlockMetadataExperimental(metadata) { 57139 return metadata && "__experimental" in metadata && metadata.__experimental !== false; 57140 }; 57141 } 57142 }); 57143 /* harmony default export */ const is_block_metadata_experimental = (require_is_block_metadata_experimental()); 57144 57145 ;// external ["wp","keyboardShortcuts"] 57146 const external_wp_keyboardShortcuts_namespaceObject = window["wp"]["keyboardShortcuts"]; 57147 ;// ./node_modules/@wordpress/block-library/build-module/block-keyboard-shortcuts/index.js 57148 57149 57150 57151 57152 57153 57154 function BlockKeyboardShortcuts() { 57155 const { registerShortcut } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_keyboardShortcuts_namespaceObject.store); 57156 const { replaceBlocks } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 57157 const { getBlockName, getSelectedBlockClientId, getBlockAttributes } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 57158 const handleTransformHeadingAndParagraph = (event, level) => { 57159 event.preventDefault(); 57160 const currentClientId = getSelectedBlockClientId(); 57161 if (currentClientId === null) { 57162 return; 57163 } 57164 const blockName = getBlockName(currentClientId); 57165 const isParagraph = blockName === "core/paragraph"; 57166 const isHeading = blockName === "core/heading"; 57167 if (!isParagraph && !isHeading) { 57168 return; 57169 } 57170 const destinationBlockName = level === 0 ? "core/paragraph" : "core/heading"; 57171 const attributes = getBlockAttributes(currentClientId); 57172 if (isParagraph && level === 0 || isHeading && attributes.level === level) { 57173 return; 57174 } 57175 const textAlign = blockName === "core/paragraph" ? "align" : "textAlign"; 57176 const destinationTextAlign = destinationBlockName === "core/paragraph" ? "align" : "textAlign"; 57177 replaceBlocks( 57178 currentClientId, 57179 (0,external_wp_blocks_namespaceObject.createBlock)(destinationBlockName, { 57180 level, 57181 content: attributes.content, 57182 ...{ [destinationTextAlign]: attributes[textAlign] } 57183 }) 57184 ); 57185 }; 57186 (0,external_wp_element_namespaceObject.useEffect)(() => { 57187 registerShortcut({ 57188 name: "core/block-editor/transform-heading-to-paragraph", 57189 category: "block-library", 57190 description: (0,external_wp_i18n_namespaceObject.__)("Transform heading to paragraph."), 57191 keyCombination: { 57192 modifier: "access", 57193 character: "0" 57194 }, 57195 aliases: [ 57196 { 57197 modifier: "access", 57198 character: "7" 57199 } 57200 ] 57201 }); 57202 [1, 2, 3, 4, 5, 6].forEach((level) => { 57203 registerShortcut({ 57204 name: `core/block-editor/transform-paragraph-to-heading-$level}`, 57205 category: "block-library", 57206 description: (0,external_wp_i18n_namespaceObject.__)("Transform paragraph to heading."), 57207 keyCombination: { 57208 modifier: "access", 57209 character: `$level}` 57210 } 57211 }); 57212 }); 57213 }, [registerShortcut]); 57214 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57215 "core/block-editor/transform-heading-to-paragraph", 57216 (event) => handleTransformHeadingAndParagraph(event, 0) 57217 ); 57218 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57219 "core/block-editor/transform-paragraph-to-heading-1", 57220 (event) => handleTransformHeadingAndParagraph(event, 1) 57221 ); 57222 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57223 "core/block-editor/transform-paragraph-to-heading-2", 57224 (event) => handleTransformHeadingAndParagraph(event, 2) 57225 ); 57226 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57227 "core/block-editor/transform-paragraph-to-heading-3", 57228 (event) => handleTransformHeadingAndParagraph(event, 3) 57229 ); 57230 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57231 "core/block-editor/transform-paragraph-to-heading-4", 57232 (event) => handleTransformHeadingAndParagraph(event, 4) 57233 ); 57234 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57235 "core/block-editor/transform-paragraph-to-heading-5", 57236 (event) => handleTransformHeadingAndParagraph(event, 5) 57237 ); 57238 (0,external_wp_keyboardShortcuts_namespaceObject.useShortcut)( 57239 "core/block-editor/transform-paragraph-to-heading-6", 57240 (event) => handleTransformHeadingAndParagraph(event, 6) 57241 ); 57242 return null; 57243 } 57244 var block_keyboard_shortcuts_default = BlockKeyboardShortcuts; 57245 57246 57247 ;// ./node_modules/@wordpress/block-library/build-module/private-apis.js 57248 57249 57250 const privateApis = {}; 57251 lock(privateApis, { 57252 BlockKeyboardShortcuts: block_keyboard_shortcuts_default 57253 }); 57254 57255 57256 ;// ./node_modules/@wordpress/block-library/build-module/index.js 57257 57258 57259 57260 57261 57262 57263 57264 57265 57266 57267 57268 57269 57270 57271 57272 57273 57274 57275 57276 57277 57278 57279 57280 57281 57282 57283 57284 57285 57286 57287 57288 57289 57290 57291 57292 57293 57294 57295 57296 57297 57298 57299 57300 57301 57302 57303 57304 57305 57306 57307 57308 57309 57310 57311 57312 57313 57314 57315 57316 57317 57318 57319 57320 57321 57322 57323 57324 57325 57326 57327 57328 57329 57330 57331 57332 57333 57334 57335 57336 57337 57338 57339 57340 57341 57342 57343 57344 57345 57346 57347 57348 57349 57350 57351 57352 57353 57354 57355 57356 57357 57358 57359 57360 57361 57362 57363 57364 57365 57366 57367 57368 57369 57370 57371 57372 57373 57374 57375 57376 57377 const getAllBlocks = () => { 57378 const blocks = [ 57379 // Common blocks are grouped at the top to prioritize their display 57380 // in various contexts — like the inserter and auto-complete components. 57381 build_module_paragraph_namespaceObject, 57382 build_module_image_namespaceObject, 57383 build_module_heading_namespaceObject, 57384 build_module_gallery_namespaceObject, 57385 build_module_list_namespaceObject, 57386 build_module_list_item_namespaceObject, 57387 build_module_quote_namespaceObject, 57388 // Register all remaining core blocks. 57389 accordion_namespaceObject, 57390 accordion_item_namespaceObject, 57391 accordion_heading_namespaceObject, 57392 accordion_panel_namespaceObject, 57393 archives_namespaceObject, 57394 build_module_audio_namespaceObject, 57395 build_module_button_namespaceObject, 57396 build_module_buttons_namespaceObject, 57397 build_module_calendar_namespaceObject, 57398 categories_namespaceObject, 57399 build_module_code_namespaceObject, 57400 build_module_column_namespaceObject, 57401 build_module_columns_namespaceObject, 57402 build_module_comment_author_avatar_namespaceObject, 57403 build_module_cover_namespaceObject, 57404 build_module_details_namespaceObject, 57405 embed_namespaceObject, 57406 build_module_file_namespaceObject, 57407 build_module_group_namespaceObject, 57408 build_module_html_namespaceObject, 57409 build_module_math_namespaceObject, 57410 latest_comments_namespaceObject, 57411 latest_posts_namespaceObject, 57412 media_text_namespaceObject, 57413 missing_namespaceObject, 57414 build_module_more_namespaceObject, 57415 nextpage_namespaceObject, 57416 page_list_namespaceObject, 57417 page_list_item_namespaceObject, 57418 pattern_namespaceObject, 57419 build_module_preformatted_namespaceObject, 57420 build_module_pullquote_namespaceObject, 57421 build_module_block_namespaceObject, 57422 build_module_rss_namespaceObject, 57423 build_module_search_namespaceObject, 57424 build_module_separator_namespaceObject, 57425 build_module_shortcode_namespaceObject, 57426 social_link_namespaceObject, 57427 social_links_namespaceObject, 57428 spacer_namespaceObject, 57429 build_module_table_namespaceObject, 57430 tag_cloud_namespaceObject, 57431 text_columns_namespaceObject, 57432 build_module_verse_namespaceObject, 57433 build_module_video_namespaceObject, 57434 footnotes_namespaceObject, 57435 // theme blocks 57436 build_module_navigation_namespaceObject, 57437 navigation_link_namespaceObject, 57438 navigation_submenu_namespaceObject, 57439 build_module_site_logo_namespaceObject, 57440 site_title_namespaceObject, 57441 site_tagline_namespaceObject, 57442 query_namespaceObject, 57443 template_part_namespaceObject, 57444 avatar_namespaceObject, 57445 post_title_namespaceObject, 57446 build_module_post_excerpt_namespaceObject, 57447 build_module_post_featured_image_namespaceObject, 57448 build_module_post_content_namespaceObject, 57449 build_module_post_author_namespaceObject, 57450 post_author_name_namespaceObject, 57451 post_comment_namespaceObject, 57452 build_module_post_comments_count_namespaceObject, 57453 post_comments_link_namespaceObject, 57454 build_module_post_date_namespaceObject, 57455 build_module_post_terms_namespaceObject, 57456 post_navigation_link_namespaceObject, 57457 post_template_namespaceObject, 57458 post_time_to_read_namespaceObject, 57459 build_module_query_pagination_namespaceObject, 57460 build_module_query_pagination_next_namespaceObject, 57461 build_module_query_pagination_numbers_namespaceObject, 57462 build_module_query_pagination_previous_namespaceObject, 57463 query_no_results_namespaceObject, 57464 query_total_namespaceObject, 57465 read_more_namespaceObject, 57466 comments_namespaceObject, 57467 build_module_comment_author_name_namespaceObject, 57468 build_module_comment_content_namespaceObject, 57469 comment_date_namespaceObject, 57470 build_module_comment_edit_link_namespaceObject, 57471 build_module_comment_reply_link_namespaceObject, 57472 comment_template_namespaceObject, 57473 comments_title_namespaceObject, 57474 comments_pagination_namespaceObject, 57475 comments_pagination_next_namespaceObject, 57476 comments_pagination_numbers_namespaceObject, 57477 comments_pagination_previous_namespaceObject, 57478 build_module_post_comments_form_namespaceObject, 57479 build_module_table_of_contents_namespaceObject, 57480 home_link_namespaceObject, 57481 loginout_namespaceObject, 57482 build_module_term_count_namespaceObject, 57483 build_module_term_description_namespaceObject, 57484 build_module_term_name_namespaceObject, 57485 terms_query_namespaceObject, 57486 term_template_namespaceObject, 57487 query_title_namespaceObject, 57488 post_author_biography_namespaceObject 57489 ]; 57490 if (window?.__experimentalEnableBlockExperiments) { 57491 blocks.push(build_module_breadcrumbs_namespaceObject); 57492 } 57493 if (window?.__experimentalEnableFormBlocks) { 57494 blocks.push(build_module_form_namespaceObject); 57495 blocks.push(form_input_namespaceObject); 57496 blocks.push(form_submit_button_namespaceObject); 57497 blocks.push(form_submission_notification_namespaceObject); 57498 } 57499 if (window?.wp?.oldEditor && (window?.wp?.needsClassicBlock || !window?.__experimentalDisableTinymce || !!new URLSearchParams(window?.location?.search).get( 57500 "requiresTinymce" 57501 ))) { 57502 blocks.push(freeform_namespaceObject); 57503 } 57504 return blocks.filter(Boolean); 57505 }; 57506 const __experimentalGetCoreBlocks = () => getAllBlocks().filter( 57507 ({ metadata }) => !is_block_metadata_experimental(metadata) 57508 ); 57509 const registerCoreBlocks = (blocks = __experimentalGetCoreBlocks()) => { 57510 blocks.forEach(({ init }) => init()); 57511 if (window.__unstableAutoRegisterBlocks) { 57512 window.__unstableAutoRegisterBlocks.forEach((blockName) => { 57513 const bootstrappedBlockType = unlock( 57514 (0,external_wp_data_namespaceObject.select)(external_wp_blocks_namespaceObject.store) 57515 ).getBootstrappedBlockType(blockName); 57516 const bootstrappedApiVersion = bootstrappedBlockType.apiVersion; 57517 (0,external_wp_blocks_namespaceObject.registerBlockType)(blockName, { 57518 title: blockName, 57519 ...bootstrappedApiVersion < 3 && { apiVersion: 3 }, 57520 edit: function Edit({ attributes }) { 57521 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 57522 const { content, status, error } = (0,external_wp_serverSideRender_namespaceObject.useServerSideRender)({ 57523 block: blockName, 57524 attributes 57525 }); 57526 if (status === "loading") { 57527 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: (0,external_wp_i18n_namespaceObject.__)("Loading\u2026") }); 57528 } 57529 if (status === "error") { 57530 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...blockProps, children: (0,external_wp_i18n_namespaceObject.sprintf)( 57531 /* translators: %s: error message describing the problem */ 57532 (0,external_wp_i18n_namespaceObject.__)("Error loading block: %s"), 57533 error 57534 ) }); 57535 } 57536 return /* @__PURE__ */ (0,external_ReactJSXRuntime_namespaceObject.jsx)( 57537 "div", 57538 { 57539 ...blockProps, 57540 dangerouslySetInnerHTML: { 57541 __html: content || "" 57542 } 57543 } 57544 ); 57545 }, 57546 save: () => null 57547 }); 57548 }); 57549 } 57550 (0,external_wp_blocks_namespaceObject.setDefaultBlockName)(paragraph_name); 57551 if (window.wp && window.wp.oldEditor && blocks.some(({ name }) => name === freeform_name)) { 57552 (0,external_wp_blocks_namespaceObject.setFreeformContentHandlerName)(freeform_name); 57553 } 57554 (0,external_wp_blocks_namespaceObject.setUnregisteredTypeHandlerName)(missing_name); 57555 (0,external_wp_blocks_namespaceObject.setGroupingBlockName)(group_name); 57556 }; 57557 const __experimentalRegisterExperimentalCoreBlocks = false ? 0 : void 0; 57558 57559 57560 57561 })(); 57562 57563 (window.wp = window.wp || {}).blockLibrary = __webpack_exports__; 57564 /******/ })() 57565 ;
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated : Wed Oct 22 08:20:04 2025 | Cross-referenced by PHPXref |