[ Index ] |
PHP Cross Reference of WordPress Trunk (Updated Daily) |
[Summary view] [Print] [Text view]
1 /******/ (() => { // webpackBootstrap 2 /******/ var __webpack_modules__ = ({ 3 4 /***/ 2321: 5 /***/ ((module) => { 6 7 /** 8 * Checks if the block is experimental based on the metadata loaded 9 * from block.json. 10 * 11 * This function is in a separate file and uses the older JS syntax so 12 * that it can be imported in both: 13 * – block-library/src/index.js 14 * – block-library/src/babel-plugin.js 15 * 16 * @param {Object} metadata Parsed block.json metadata. 17 * @return {boolean} Is the block experimental? 18 */ 19 module.exports = function isBlockMetadataExperimental(metadata) { 20 return metadata && '__experimental' in metadata && metadata.__experimental !== false; 21 }; 22 23 24 /***/ }), 25 26 /***/ 7734: 27 /***/ ((module) => { 28 29 "use strict"; 30 31 32 // do not edit .js files directly - edit src/index.jst 33 34 35 var envHasBigInt64Array = typeof BigInt64Array !== 'undefined'; 36 37 38 module.exports = function equal(a, b) { 39 if (a === b) return true; 40 41 if (a && b && typeof a == 'object' && typeof b == 'object') { 42 if (a.constructor !== b.constructor) return false; 43 44 var length, i, keys; 45 if (Array.isArray(a)) { 46 length = a.length; 47 if (length != b.length) return false; 48 for (i = length; i-- !== 0;) 49 if (!equal(a[i], b[i])) return false; 50 return true; 51 } 52 53 54 if ((a instanceof Map) && (b instanceof Map)) { 55 if (a.size !== b.size) return false; 56 for (i of a.entries()) 57 if (!b.has(i[0])) return false; 58 for (i of a.entries()) 59 if (!equal(i[1], b.get(i[0]))) return false; 60 return true; 61 } 62 63 if ((a instanceof Set) && (b instanceof Set)) { 64 if (a.size !== b.size) return false; 65 for (i of a.entries()) 66 if (!b.has(i[0])) return false; 67 return true; 68 } 69 70 if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { 71 length = a.length; 72 if (length != b.length) return false; 73 for (i = length; i-- !== 0;) 74 if (a[i] !== b[i]) return false; 75 return true; 76 } 77 78 79 if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; 80 if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf(); 81 if (a.toString !== Object.prototype.toString) return a.toString() === b.toString(); 82 83 keys = Object.keys(a); 84 length = keys.length; 85 if (length !== Object.keys(b).length) return false; 86 87 for (i = length; i-- !== 0;) 88 if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; 89 90 for (i = length; i-- !== 0;) { 91 var key = keys[i]; 92 93 if (!equal(a[key], b[key])) return false; 94 } 95 96 return true; 97 } 98 99 // true if both NaN, false otherwise 100 return a!==a && b!==b; 101 }; 102 103 104 /***/ }), 105 106 /***/ 9681: 107 /***/ ((module) => { 108 109 var characterMap = { 110 "À": "A", 111 "Á": "A", 112 "Â": "A", 113 "Ã": "A", 114 "Ä": "A", 115 "Å": "A", 116 "Ấ": "A", 117 "Ắ": "A", 118 "Ẳ": "A", 119 "Ẵ": "A", 120 "Ặ": "A", 121 "Æ": "AE", 122 "Ầ": "A", 123 "Ằ": "A", 124 "Ȃ": "A", 125 "Ả": "A", 126 "Ạ": "A", 127 "Ẩ": "A", 128 "Ẫ": "A", 129 "Ậ": "A", 130 "Ç": "C", 131 "Ḉ": "C", 132 "È": "E", 133 "É": "E", 134 "Ê": "E", 135 "Ë": "E", 136 "Ế": "E", 137 "Ḗ": "E", 138 "Ề": "E", 139 "Ḕ": "E", 140 "Ḝ": "E", 141 "Ȇ": "E", 142 "Ẻ": "E", 143 "Ẽ": "E", 144 "Ẹ": "E", 145 "Ể": "E", 146 "Ễ": "E", 147 "Ệ": "E", 148 "Ì": "I", 149 "Í": "I", 150 "Î": "I", 151 "Ï": "I", 152 "Ḯ": "I", 153 "Ȋ": "I", 154 "Ỉ": "I", 155 "Ị": "I", 156 "Ð": "D", 157 "Ñ": "N", 158 "Ò": "O", 159 "Ó": "O", 160 "Ô": "O", 161 "Õ": "O", 162 "Ö": "O", 163 "Ø": "O", 164 "Ố": "O", 165 "Ṍ": "O", 166 "Ṓ": "O", 167 "Ȏ": "O", 168 "Ỏ": "O", 169 "Ọ": "O", 170 "Ổ": "O", 171 "Ỗ": "O", 172 "Ộ": "O", 173 "Ờ": "O", 174 "Ở": "O", 175 "Ỡ": "O", 176 "Ớ": "O", 177 "Ợ": "O", 178 "Ù": "U", 179 "Ú": "U", 180 "Û": "U", 181 "Ü": "U", 182 "Ủ": "U", 183 "Ụ": "U", 184 "Ử": "U", 185 "Ữ": "U", 186 "Ự": "U", 187 "Ý": "Y", 188 "à": "a", 189 "á": "a", 190 "â": "a", 191 "ã": "a", 192 "ä": "a", 193 "å": "a", 194 "ấ": "a", 195 "ắ": "a", 196 "ẳ": "a", 197 "ẵ": "a", 198 "ặ": "a", 199 "æ": "ae", 200 "ầ": "a", 201 "ằ": "a", 202 "ȃ": "a", 203 "ả": "a", 204 "ạ": "a", 205 "ẩ": "a", 206 "ẫ": "a", 207 "ậ": "a", 208 "ç": "c", 209 "ḉ": "c", 210 "è": "e", 211 "é": "e", 212 "ê": "e", 213 "ë": "e", 214 "ế": "e", 215 "ḗ": "e", 216 "ề": "e", 217 "ḕ": "e", 218 "ḝ": "e", 219 "ȇ": "e", 220 "ẻ": "e", 221 "ẽ": "e", 222 "ẹ": "e", 223 "ể": "e", 224 "ễ": "e", 225 "ệ": "e", 226 "ì": "i", 227 "í": "i", 228 "î": "i", 229 "ï": "i", 230 "ḯ": "i", 231 "ȋ": "i", 232 "ỉ": "i", 233 "ị": "i", 234 "ð": "d", 235 "ñ": "n", 236 "ò": "o", 237 "ó": "o", 238 "ô": "o", 239 "õ": "o", 240 "ö": "o", 241 "ø": "o", 242 "ố": "o", 243 "ṍ": "o", 244 "ṓ": "o", 245 "ȏ": "o", 246 "ỏ": "o", 247 "ọ": "o", 248 "ổ": "o", 249 "ỗ": "o", 250 "ộ": "o", 251 "ờ": "o", 252 "ở": "o", 253 "ỡ": "o", 254 "ớ": "o", 255 "ợ": "o", 256 "ù": "u", 257 "ú": "u", 258 "û": "u", 259 "ü": "u", 260 "ủ": "u", 261 "ụ": "u", 262 "ử": "u", 263 "ữ": "u", 264 "ự": "u", 265 "ý": "y", 266 "ÿ": "y", 267 "Ā": "A", 268 "ā": "a", 269 "Ă": "A", 270 "ă": "a", 271 "Ą": "A", 272 "ą": "a", 273 "Ć": "C", 274 "ć": "c", 275 "Ĉ": "C", 276 "ĉ": "c", 277 "Ċ": "C", 278 "ċ": "c", 279 "Č": "C", 280 "č": "c", 281 "C̆": "C", 282 "c̆": "c", 283 "Ď": "D", 284 "ď": "d", 285 "Đ": "D", 286 "đ": "d", 287 "Ē": "E", 288 "ē": "e", 289 "Ĕ": "E", 290 "ĕ": "e", 291 "Ė": "E", 292 "ė": "e", 293 "Ę": "E", 294 "ę": "e", 295 "Ě": "E", 296 "ě": "e", 297 "Ĝ": "G", 298 "Ǵ": "G", 299 "ĝ": "g", 300 "ǵ": "g", 301 "Ğ": "G", 302 "ğ": "g", 303 "Ġ": "G", 304 "ġ": "g", 305 "Ģ": "G", 306 "ģ": "g", 307 "Ĥ": "H", 308 "ĥ": "h", 309 "Ħ": "H", 310 "ħ": "h", 311 "Ḫ": "H", 312 "ḫ": "h", 313 "Ĩ": "I", 314 "ĩ": "i", 315 "Ī": "I", 316 "ī": "i", 317 "Ĭ": "I", 318 "ĭ": "i", 319 "Į": "I", 320 "į": "i", 321 "İ": "I", 322 "ı": "i", 323 "IJ": "IJ", 324 "ij": "ij", 325 "Ĵ": "J", 326 "ĵ": "j", 327 "Ķ": "K", 328 "ķ": "k", 329 "Ḱ": "K", 330 "ḱ": "k", 331 "K̆": "K", 332 "k̆": "k", 333 "Ĺ": "L", 334 "ĺ": "l", 335 "Ļ": "L", 336 "ļ": "l", 337 "Ľ": "L", 338 "ľ": "l", 339 "Ŀ": "L", 340 "ŀ": "l", 341 "Ł": "l", 342 "ł": "l", 343 "Ḿ": "M", 344 "ḿ": "m", 345 "M̆": "M", 346 "m̆": "m", 347 "Ń": "N", 348 "ń": "n", 349 "Ņ": "N", 350 "ņ": "n", 351 "Ň": "N", 352 "ň": "n", 353 "ʼn": "n", 354 "N̆": "N", 355 "n̆": "n", 356 "Ō": "O", 357 "ō": "o", 358 "Ŏ": "O", 359 "ŏ": "o", 360 "Ő": "O", 361 "ő": "o", 362 "Œ": "OE", 363 "œ": "oe", 364 "P̆": "P", 365 "p̆": "p", 366 "Ŕ": "R", 367 "ŕ": "r", 368 "Ŗ": "R", 369 "ŗ": "r", 370 "Ř": "R", 371 "ř": "r", 372 "R̆": "R", 373 "r̆": "r", 374 "Ȓ": "R", 375 "ȓ": "r", 376 "Ś": "S", 377 "ś": "s", 378 "Ŝ": "S", 379 "ŝ": "s", 380 "Ş": "S", 381 "Ș": "S", 382 "ș": "s", 383 "ş": "s", 384 "Š": "S", 385 "š": "s", 386 "Ţ": "T", 387 "ţ": "t", 388 "ț": "t", 389 "Ț": "T", 390 "Ť": "T", 391 "ť": "t", 392 "Ŧ": "T", 393 "ŧ": "t", 394 "T̆": "T", 395 "t̆": "t", 396 "Ũ": "U", 397 "ũ": "u", 398 "Ū": "U", 399 "ū": "u", 400 "Ŭ": "U", 401 "ŭ": "u", 402 "Ů": "U", 403 "ů": "u", 404 "Ű": "U", 405 "ű": "u", 406 "Ų": "U", 407 "ų": "u", 408 "Ȗ": "U", 409 "ȗ": "u", 410 "V̆": "V", 411 "v̆": "v", 412 "Ŵ": "W", 413 "ŵ": "w", 414 "Ẃ": "W", 415 "ẃ": "w", 416 "X̆": "X", 417 "x̆": "x", 418 "Ŷ": "Y", 419 "ŷ": "y", 420 "Ÿ": "Y", 421 "Y̆": "Y", 422 "y̆": "y", 423 "Ź": "Z", 424 "ź": "z", 425 "Ż": "Z", 426 "ż": "z", 427 "Ž": "Z", 428 "ž": "z", 429 "ſ": "s", 430 "ƒ": "f", 431 "Ơ": "O", 432 "ơ": "o", 433 "Ư": "U", 434 "ư": "u", 435 "Ǎ": "A", 436 "ǎ": "a", 437 "Ǐ": "I", 438 "ǐ": "i", 439 "Ǒ": "O", 440 "ǒ": "o", 441 "Ǔ": "U", 442 "ǔ": "u", 443 "Ǖ": "U", 444 "ǖ": "u", 445 "Ǘ": "U", 446 "ǘ": "u", 447 "Ǚ": "U", 448 "ǚ": "u", 449 "Ǜ": "U", 450 "ǜ": "u", 451 "Ứ": "U", 452 "ứ": "u", 453 "Ṹ": "U", 454 "ṹ": "u", 455 "Ǻ": "A", 456 "ǻ": "a", 457 "Ǽ": "AE", 458 "ǽ": "ae", 459 "Ǿ": "O", 460 "ǿ": "o", 461 "Þ": "TH", 462 "þ": "th", 463 "Ṕ": "P", 464 "ṕ": "p", 465 "Ṥ": "S", 466 "ṥ": "s", 467 "X́": "X", 468 "x́": "x", 469 "Ѓ": "Г", 470 "ѓ": "г", 471 "Ќ": "К", 472 "ќ": "к", 473 "A̋": "A", 474 "a̋": "a", 475 "E̋": "E", 476 "e̋": "e", 477 "I̋": "I", 478 "i̋": "i", 479 "Ǹ": "N", 480 "ǹ": "n", 481 "Ồ": "O", 482 "ồ": "o", 483 "Ṑ": "O", 484 "ṑ": "o", 485 "Ừ": "U", 486 "ừ": "u", 487 "Ẁ": "W", 488 "ẁ": "w", 489 "Ỳ": "Y", 490 "ỳ": "y", 491 "Ȁ": "A", 492 "ȁ": "a", 493 "Ȅ": "E", 494 "ȅ": "e", 495 "Ȉ": "I", 496 "ȉ": "i", 497 "Ȍ": "O", 498 "ȍ": "o", 499 "Ȑ": "R", 500 "ȑ": "r", 501 "Ȕ": "U", 502 "ȕ": "u", 503 "B̌": "B", 504 "b̌": "b", 505 "Č̣": "C", 506 "č̣": "c", 507 "Ê̌": "E", 508 "ê̌": "e", 509 "F̌": "F", 510 "f̌": "f", 511 "Ǧ": "G", 512 "ǧ": "g", 513 "Ȟ": "H", 514 "ȟ": "h", 515 "J̌": "J", 516 "ǰ": "j", 517 "Ǩ": "K", 518 "ǩ": "k", 519 "M̌": "M", 520 "m̌": "m", 521 "P̌": "P", 522 "p̌": "p", 523 "Q̌": "Q", 524 "q̌": "q", 525 "Ř̩": "R", 526 "ř̩": "r", 527 "Ṧ": "S", 528 "ṧ": "s", 529 "V̌": "V", 530 "v̌": "v", 531 "W̌": "W", 532 "w̌": "w", 533 "X̌": "X", 534 "x̌": "x", 535 "Y̌": "Y", 536 "y̌": "y", 537 "A̧": "A", 538 "a̧": "a", 539 "B̧": "B", 540 "b̧": "b", 541 "Ḑ": "D", 542 "ḑ": "d", 543 "Ȩ": "E", 544 "ȩ": "e", 545 "Ɛ̧": "E", 546 "ɛ̧": "e", 547 "Ḩ": "H", 548 "ḩ": "h", 549 "I̧": "I", 550 "i̧": "i", 551 "Ɨ̧": "I", 552 "ɨ̧": "i", 553 "M̧": "M", 554 "m̧": "m", 555 "O̧": "O", 556 "o̧": "o", 557 "Q̧": "Q", 558 "q̧": "q", 559 "U̧": "U", 560 "u̧": "u", 561 "X̧": "X", 562 "x̧": "x", 563 "Z̧": "Z", 564 "z̧": "z", 565 "й":"и", 566 "Й":"И", 567 "ё":"е", 568 "Ё":"Е", 569 }; 570 571 var chars = Object.keys(characterMap).join('|'); 572 var allAccents = new RegExp(chars, 'g'); 573 var firstAccent = new RegExp(chars, ''); 574 575 function matcher(match) { 576 return characterMap[match]; 577 } 578 579 var removeAccents = function(string) { 580 return string.replace(allAccents, matcher); 581 }; 582 583 var hasAccents = function(string) { 584 return !!string.match(firstAccent); 585 }; 586 587 module.exports = removeAccents; 588 module.exports.has = hasAccents; 589 module.exports.remove = removeAccents; 590 591 592 /***/ }) 593 594 /******/ }); 595 /************************************************************************/ 596 /******/ // The module cache 597 /******/ var __webpack_module_cache__ = {}; 598 /******/ 599 /******/ // The require function 600 /******/ function __webpack_require__(moduleId) { 601 /******/ // Check if module is in cache 602 /******/ var cachedModule = __webpack_module_cache__[moduleId]; 603 /******/ if (cachedModule !== undefined) { 604 /******/ return cachedModule.exports; 605 /******/ } 606 /******/ // Create a new module (and put it into the cache) 607 /******/ var module = __webpack_module_cache__[moduleId] = { 608 /******/ // no module.id needed 609 /******/ // no module.loaded needed 610 /******/ exports: {} 611 /******/ }; 612 /******/ 613 /******/ // Execute the module function 614 /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 615 /******/ 616 /******/ // Return the exports of the module 617 /******/ return module.exports; 618 /******/ } 619 /******/ 620 /************************************************************************/ 621 /******/ /* webpack/runtime/compat get default export */ 622 /******/ (() => { 623 /******/ // getDefaultExport function for compatibility with non-harmony modules 624 /******/ __webpack_require__.n = (module) => { 625 /******/ var getter = module && module.__esModule ? 626 /******/ () => (module['default']) : 627 /******/ () => (module); 628 /******/ __webpack_require__.d(getter, { a: getter }); 629 /******/ return getter; 630 /******/ }; 631 /******/ })(); 632 /******/ 633 /******/ /* webpack/runtime/define property getters */ 634 /******/ (() => { 635 /******/ // define getter functions for harmony exports 636 /******/ __webpack_require__.d = (exports, definition) => { 637 /******/ for(var key in definition) { 638 /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 639 /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 640 /******/ } 641 /******/ } 642 /******/ }; 643 /******/ })(); 644 /******/ 645 /******/ /* webpack/runtime/hasOwnProperty shorthand */ 646 /******/ (() => { 647 /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) 648 /******/ })(); 649 /******/ 650 /******/ /* webpack/runtime/make namespace object */ 651 /******/ (() => { 652 /******/ // define __esModule on exports 653 /******/ __webpack_require__.r = (exports) => { 654 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 655 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 656 /******/ } 657 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 658 /******/ }; 659 /******/ })(); 660 /******/ 661 /************************************************************************/ 662 var __webpack_exports__ = {}; 663 // This entry need to be wrapped in an IIFE because it need to be in strict mode. 664 (() => { 665 "use strict"; 666 // ESM COMPAT FLAG 667 __webpack_require__.r(__webpack_exports__); 668 669 // EXPORTS 670 __webpack_require__.d(__webpack_exports__, { 671 __experimentalGetCoreBlocks: () => (/* binding */ __experimentalGetCoreBlocks), 672 __experimentalRegisterExperimentalCoreBlocks: () => (/* binding */ __experimentalRegisterExperimentalCoreBlocks), 673 privateApis: () => (/* reexport */ privateApis), 674 registerCoreBlocks: () => (/* binding */ registerCoreBlocks) 675 }); 676 677 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/archives/index.js 678 var archives_namespaceObject = {}; 679 __webpack_require__.r(archives_namespaceObject); 680 __webpack_require__.d(archives_namespaceObject, { 681 init: () => (init), 682 metadata: () => (metadata), 683 name: () => (archives_name), 684 settings: () => (settings) 685 }); 686 687 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/avatar/index.js 688 var avatar_namespaceObject = {}; 689 __webpack_require__.r(avatar_namespaceObject); 690 __webpack_require__.d(avatar_namespaceObject, { 691 init: () => (avatar_init), 692 metadata: () => (avatar_metadata), 693 name: () => (avatar_name), 694 settings: () => (avatar_settings) 695 }); 696 697 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/audio/index.js 698 var build_module_audio_namespaceObject = {}; 699 __webpack_require__.r(build_module_audio_namespaceObject); 700 __webpack_require__.d(build_module_audio_namespaceObject, { 701 init: () => (audio_init), 702 metadata: () => (audio_metadata), 703 name: () => (audio_name), 704 settings: () => (audio_settings) 705 }); 706 707 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/button/index.js 708 var build_module_button_namespaceObject = {}; 709 __webpack_require__.r(build_module_button_namespaceObject); 710 __webpack_require__.d(build_module_button_namespaceObject, { 711 init: () => (button_init), 712 metadata: () => (button_metadata), 713 name: () => (button_name), 714 settings: () => (button_settings) 715 }); 716 717 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/buttons/index.js 718 var build_module_buttons_namespaceObject = {}; 719 __webpack_require__.r(build_module_buttons_namespaceObject); 720 __webpack_require__.d(build_module_buttons_namespaceObject, { 721 init: () => (buttons_init), 722 metadata: () => (buttons_metadata), 723 name: () => (buttons_name), 724 settings: () => (buttons_settings) 725 }); 726 727 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/calendar/index.js 728 var build_module_calendar_namespaceObject = {}; 729 __webpack_require__.r(build_module_calendar_namespaceObject); 730 __webpack_require__.d(build_module_calendar_namespaceObject, { 731 init: () => (calendar_init), 732 metadata: () => (calendar_metadata), 733 name: () => (calendar_name), 734 settings: () => (calendar_settings) 735 }); 736 737 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/categories/index.js 738 var categories_namespaceObject = {}; 739 __webpack_require__.r(categories_namespaceObject); 740 __webpack_require__.d(categories_namespaceObject, { 741 init: () => (categories_init), 742 metadata: () => (categories_metadata), 743 name: () => (categories_name), 744 settings: () => (categories_settings) 745 }); 746 747 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js 748 var freeform_namespaceObject = {}; 749 __webpack_require__.r(freeform_namespaceObject); 750 __webpack_require__.d(freeform_namespaceObject, { 751 init: () => (freeform_init), 752 metadata: () => (freeform_metadata), 753 name: () => (freeform_name), 754 settings: () => (freeform_settings) 755 }); 756 757 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js 758 var build_module_code_namespaceObject = {}; 759 __webpack_require__.r(build_module_code_namespaceObject); 760 __webpack_require__.d(build_module_code_namespaceObject, { 761 init: () => (code_init), 762 metadata: () => (code_metadata), 763 name: () => (code_name), 764 settings: () => (code_settings) 765 }); 766 767 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/column/index.js 768 var build_module_column_namespaceObject = {}; 769 __webpack_require__.r(build_module_column_namespaceObject); 770 __webpack_require__.d(build_module_column_namespaceObject, { 771 init: () => (column_init), 772 metadata: () => (column_metadata), 773 name: () => (column_name), 774 settings: () => (column_settings) 775 }); 776 777 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js 778 var build_module_columns_namespaceObject = {}; 779 __webpack_require__.r(build_module_columns_namespaceObject); 780 __webpack_require__.d(build_module_columns_namespaceObject, { 781 init: () => (columns_init), 782 metadata: () => (columns_metadata), 783 name: () => (columns_name), 784 settings: () => (columns_settings) 785 }); 786 787 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments/index.js 788 var comments_namespaceObject = {}; 789 __webpack_require__.r(comments_namespaceObject); 790 __webpack_require__.d(comments_namespaceObject, { 791 init: () => (comments_init), 792 metadata: () => (comments_metadata), 793 name: () => (comments_name), 794 settings: () => (comments_settings) 795 }); 796 797 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/index.js 798 var build_module_comment_author_avatar_namespaceObject = {}; 799 __webpack_require__.r(build_module_comment_author_avatar_namespaceObject); 800 __webpack_require__.d(build_module_comment_author_avatar_namespaceObject, { 801 init: () => (comment_author_avatar_init), 802 metadata: () => (comment_author_avatar_metadata), 803 name: () => (comment_author_avatar_name), 804 settings: () => (comment_author_avatar_settings) 805 }); 806 807 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js 808 var build_module_comment_author_name_namespaceObject = {}; 809 __webpack_require__.r(build_module_comment_author_name_namespaceObject); 810 __webpack_require__.d(build_module_comment_author_name_namespaceObject, { 811 init: () => (comment_author_name_init), 812 metadata: () => (comment_author_name_metadata), 813 name: () => (comment_author_name_name), 814 settings: () => (comment_author_name_settings) 815 }); 816 817 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-content/index.js 818 var build_module_comment_content_namespaceObject = {}; 819 __webpack_require__.r(build_module_comment_content_namespaceObject); 820 __webpack_require__.d(build_module_comment_content_namespaceObject, { 821 init: () => (comment_content_init), 822 metadata: () => (comment_content_metadata), 823 name: () => (comment_content_name), 824 settings: () => (comment_content_settings) 825 }); 826 827 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-date/index.js 828 var comment_date_namespaceObject = {}; 829 __webpack_require__.r(comment_date_namespaceObject); 830 __webpack_require__.d(comment_date_namespaceObject, { 831 init: () => (comment_date_init), 832 metadata: () => (comment_date_metadata), 833 name: () => (comment_date_name), 834 settings: () => (comment_date_settings) 835 }); 836 837 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/index.js 838 var build_module_comment_edit_link_namespaceObject = {}; 839 __webpack_require__.r(build_module_comment_edit_link_namespaceObject); 840 __webpack_require__.d(build_module_comment_edit_link_namespaceObject, { 841 init: () => (comment_edit_link_init), 842 metadata: () => (comment_edit_link_metadata), 843 name: () => (comment_edit_link_name), 844 settings: () => (comment_edit_link_settings) 845 }); 846 847 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-reply-link/index.js 848 var build_module_comment_reply_link_namespaceObject = {}; 849 __webpack_require__.r(build_module_comment_reply_link_namespaceObject); 850 __webpack_require__.d(build_module_comment_reply_link_namespaceObject, { 851 init: () => (comment_reply_link_init), 852 metadata: () => (comment_reply_link_metadata), 853 name: () => (comment_reply_link_name), 854 settings: () => (comment_reply_link_settings) 855 }); 856 857 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comment-template/index.js 858 var comment_template_namespaceObject = {}; 859 __webpack_require__.r(comment_template_namespaceObject); 860 __webpack_require__.d(comment_template_namespaceObject, { 861 init: () => (comment_template_init), 862 metadata: () => (comment_template_metadata), 863 name: () => (comment_template_name), 864 settings: () => (comment_template_settings) 865 }); 866 867 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-previous/index.js 868 var comments_pagination_previous_namespaceObject = {}; 869 __webpack_require__.r(comments_pagination_previous_namespaceObject); 870 __webpack_require__.d(comments_pagination_previous_namespaceObject, { 871 init: () => (comments_pagination_previous_init), 872 metadata: () => (comments_pagination_previous_metadata), 873 name: () => (comments_pagination_previous_name), 874 settings: () => (comments_pagination_previous_settings) 875 }); 876 877 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination/index.js 878 var comments_pagination_namespaceObject = {}; 879 __webpack_require__.r(comments_pagination_namespaceObject); 880 __webpack_require__.d(comments_pagination_namespaceObject, { 881 init: () => (comments_pagination_init), 882 metadata: () => (comments_pagination_metadata), 883 name: () => (comments_pagination_name), 884 settings: () => (comments_pagination_settings) 885 }); 886 887 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-next/index.js 888 var comments_pagination_next_namespaceObject = {}; 889 __webpack_require__.r(comments_pagination_next_namespaceObject); 890 __webpack_require__.d(comments_pagination_next_namespaceObject, { 891 init: () => (comments_pagination_next_init), 892 metadata: () => (comments_pagination_next_metadata), 893 name: () => (comments_pagination_next_name), 894 settings: () => (comments_pagination_next_settings) 895 }); 896 897 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-pagination-numbers/index.js 898 var comments_pagination_numbers_namespaceObject = {}; 899 __webpack_require__.r(comments_pagination_numbers_namespaceObject); 900 __webpack_require__.d(comments_pagination_numbers_namespaceObject, { 901 init: () => (comments_pagination_numbers_init), 902 metadata: () => (comments_pagination_numbers_metadata), 903 name: () => (comments_pagination_numbers_name), 904 settings: () => (comments_pagination_numbers_settings) 905 }); 906 907 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/comments-title/index.js 908 var comments_title_namespaceObject = {}; 909 __webpack_require__.r(comments_title_namespaceObject); 910 __webpack_require__.d(comments_title_namespaceObject, { 911 init: () => (comments_title_init), 912 metadata: () => (comments_title_metadata), 913 name: () => (comments_title_name), 914 settings: () => (comments_title_settings) 915 }); 916 917 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/cover/index.js 918 var build_module_cover_namespaceObject = {}; 919 __webpack_require__.r(build_module_cover_namespaceObject); 920 __webpack_require__.d(build_module_cover_namespaceObject, { 921 init: () => (cover_init), 922 metadata: () => (cover_metadata), 923 name: () => (cover_name), 924 settings: () => (cover_settings) 925 }); 926 927 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/details/index.js 928 var build_module_details_namespaceObject = {}; 929 __webpack_require__.r(build_module_details_namespaceObject); 930 __webpack_require__.d(build_module_details_namespaceObject, { 931 init: () => (details_init), 932 metadata: () => (details_metadata), 933 name: () => (details_name), 934 settings: () => (details_settings) 935 }); 936 937 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/embed/index.js 938 var embed_namespaceObject = {}; 939 __webpack_require__.r(embed_namespaceObject); 940 __webpack_require__.d(embed_namespaceObject, { 941 init: () => (embed_init), 942 metadata: () => (embed_metadata), 943 name: () => (embed_name), 944 settings: () => (embed_settings) 945 }); 946 947 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/file/index.js 948 var build_module_file_namespaceObject = {}; 949 __webpack_require__.r(build_module_file_namespaceObject); 950 __webpack_require__.d(build_module_file_namespaceObject, { 951 init: () => (file_init), 952 metadata: () => (file_metadata), 953 name: () => (file_name), 954 settings: () => (file_settings) 955 }); 956 957 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form/index.js 958 var build_module_form_namespaceObject = {}; 959 __webpack_require__.r(build_module_form_namespaceObject); 960 __webpack_require__.d(build_module_form_namespaceObject, { 961 init: () => (form_init), 962 metadata: () => (form_metadata), 963 name: () => (form_name), 964 settings: () => (form_settings) 965 }); 966 967 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-input/index.js 968 var form_input_namespaceObject = {}; 969 __webpack_require__.r(form_input_namespaceObject); 970 __webpack_require__.d(form_input_namespaceObject, { 971 init: () => (form_input_init), 972 metadata: () => (form_input_metadata), 973 name: () => (form_input_name), 974 settings: () => (form_input_settings) 975 }); 976 977 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-submit-button/index.js 978 var form_submit_button_namespaceObject = {}; 979 __webpack_require__.r(form_submit_button_namespaceObject); 980 __webpack_require__.d(form_submit_button_namespaceObject, { 981 init: () => (form_submit_button_init), 982 metadata: () => (form_submit_button_metadata), 983 name: () => (form_submit_button_name), 984 settings: () => (form_submit_button_settings) 985 }); 986 987 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/form-submission-notification/index.js 988 var form_submission_notification_namespaceObject = {}; 989 __webpack_require__.r(form_submission_notification_namespaceObject); 990 __webpack_require__.d(form_submission_notification_namespaceObject, { 991 init: () => (form_submission_notification_init), 992 metadata: () => (form_submission_notification_metadata), 993 name: () => (form_submission_notification_name), 994 settings: () => (form_submission_notification_settings) 995 }); 996 997 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js 998 var build_module_gallery_namespaceObject = {}; 999 __webpack_require__.r(build_module_gallery_namespaceObject); 1000 __webpack_require__.d(build_module_gallery_namespaceObject, { 1001 init: () => (gallery_init), 1002 metadata: () => (gallery_metadata), 1003 name: () => (gallery_name), 1004 settings: () => (gallery_settings) 1005 }); 1006 1007 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js 1008 var build_module_group_namespaceObject = {}; 1009 __webpack_require__.r(build_module_group_namespaceObject); 1010 __webpack_require__.d(build_module_group_namespaceObject, { 1011 init: () => (group_init), 1012 metadata: () => (group_metadata), 1013 name: () => (group_name), 1014 settings: () => (group_settings) 1015 }); 1016 1017 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js 1018 var build_module_heading_namespaceObject = {}; 1019 __webpack_require__.r(build_module_heading_namespaceObject); 1020 __webpack_require__.d(build_module_heading_namespaceObject, { 1021 init: () => (heading_init), 1022 metadata: () => (heading_metadata), 1023 name: () => (heading_name), 1024 settings: () => (heading_settings) 1025 }); 1026 1027 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/home-link/index.js 1028 var home_link_namespaceObject = {}; 1029 __webpack_require__.r(home_link_namespaceObject); 1030 __webpack_require__.d(home_link_namespaceObject, { 1031 init: () => (home_link_init), 1032 metadata: () => (home_link_metadata), 1033 name: () => (home_link_name), 1034 settings: () => (home_link_settings) 1035 }); 1036 1037 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/html/index.js 1038 var build_module_html_namespaceObject = {}; 1039 __webpack_require__.r(build_module_html_namespaceObject); 1040 __webpack_require__.d(build_module_html_namespaceObject, { 1041 init: () => (html_init), 1042 metadata: () => (html_metadata), 1043 name: () => (html_name), 1044 settings: () => (html_settings) 1045 }); 1046 1047 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js 1048 var build_module_image_namespaceObject = {}; 1049 __webpack_require__.r(build_module_image_namespaceObject); 1050 __webpack_require__.d(build_module_image_namespaceObject, { 1051 init: () => (image_init), 1052 metadata: () => (image_metadata), 1053 name: () => (image_name), 1054 settings: () => (image_settings) 1055 }); 1056 1057 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js 1058 var latest_comments_namespaceObject = {}; 1059 __webpack_require__.r(latest_comments_namespaceObject); 1060 __webpack_require__.d(latest_comments_namespaceObject, { 1061 init: () => (latest_comments_init), 1062 metadata: () => (latest_comments_metadata), 1063 name: () => (latest_comments_name), 1064 settings: () => (latest_comments_settings) 1065 }); 1066 1067 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js 1068 var latest_posts_namespaceObject = {}; 1069 __webpack_require__.r(latest_posts_namespaceObject); 1070 __webpack_require__.d(latest_posts_namespaceObject, { 1071 init: () => (latest_posts_init), 1072 metadata: () => (latest_posts_metadata), 1073 name: () => (latest_posts_name), 1074 settings: () => (latest_posts_settings) 1075 }); 1076 1077 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js 1078 var build_module_list_namespaceObject = {}; 1079 __webpack_require__.r(build_module_list_namespaceObject); 1080 __webpack_require__.d(build_module_list_namespaceObject, { 1081 init: () => (list_init), 1082 metadata: () => (list_metadata), 1083 name: () => (list_name), 1084 settings: () => (list_settings) 1085 }); 1086 1087 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list-item/index.js 1088 var build_module_list_item_namespaceObject = {}; 1089 __webpack_require__.r(build_module_list_item_namespaceObject); 1090 __webpack_require__.d(build_module_list_item_namespaceObject, { 1091 init: () => (list_item_init), 1092 metadata: () => (list_item_metadata), 1093 name: () => (list_item_name), 1094 settings: () => (list_item_settings) 1095 }); 1096 1097 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/loginout/index.js 1098 var loginout_namespaceObject = {}; 1099 __webpack_require__.r(loginout_namespaceObject); 1100 __webpack_require__.d(loginout_namespaceObject, { 1101 init: () => (loginout_init), 1102 metadata: () => (loginout_metadata), 1103 name: () => (loginout_name), 1104 settings: () => (loginout_settings) 1105 }); 1106 1107 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js 1108 var media_text_namespaceObject = {}; 1109 __webpack_require__.r(media_text_namespaceObject); 1110 __webpack_require__.d(media_text_namespaceObject, { 1111 init: () => (media_text_init), 1112 metadata: () => (media_text_metadata), 1113 name: () => (media_text_name), 1114 settings: () => (media_text_settings) 1115 }); 1116 1117 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/missing/index.js 1118 var missing_namespaceObject = {}; 1119 __webpack_require__.r(missing_namespaceObject); 1120 __webpack_require__.d(missing_namespaceObject, { 1121 init: () => (missing_init), 1122 metadata: () => (missing_metadata), 1123 name: () => (missing_name), 1124 settings: () => (missing_settings) 1125 }); 1126 1127 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/more/index.js 1128 var build_module_more_namespaceObject = {}; 1129 __webpack_require__.r(build_module_more_namespaceObject); 1130 __webpack_require__.d(build_module_more_namespaceObject, { 1131 init: () => (more_init), 1132 metadata: () => (more_metadata), 1133 name: () => (more_name), 1134 settings: () => (more_settings) 1135 }); 1136 1137 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation/index.js 1138 var build_module_navigation_namespaceObject = {}; 1139 __webpack_require__.r(build_module_navigation_namespaceObject); 1140 __webpack_require__.d(build_module_navigation_namespaceObject, { 1141 init: () => (navigation_init), 1142 metadata: () => (navigation_metadata), 1143 name: () => (navigation_name), 1144 settings: () => (navigation_settings) 1145 }); 1146 1147 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-link/index.js 1148 var navigation_link_namespaceObject = {}; 1149 __webpack_require__.r(navigation_link_namespaceObject); 1150 __webpack_require__.d(navigation_link_namespaceObject, { 1151 init: () => (navigation_link_init), 1152 metadata: () => (navigation_link_metadata), 1153 name: () => (navigation_link_name), 1154 settings: () => (navigation_link_settings) 1155 }); 1156 1157 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/navigation-submenu/index.js 1158 var navigation_submenu_namespaceObject = {}; 1159 __webpack_require__.r(navigation_submenu_namespaceObject); 1160 __webpack_require__.d(navigation_submenu_namespaceObject, { 1161 init: () => (navigation_submenu_init), 1162 metadata: () => (navigation_submenu_metadata), 1163 name: () => (navigation_submenu_name), 1164 settings: () => (navigation_submenu_settings) 1165 }); 1166 1167 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js 1168 var nextpage_namespaceObject = {}; 1169 __webpack_require__.r(nextpage_namespaceObject); 1170 __webpack_require__.d(nextpage_namespaceObject, { 1171 init: () => (nextpage_init), 1172 metadata: () => (nextpage_metadata), 1173 name: () => (nextpage_name), 1174 settings: () => (nextpage_settings) 1175 }); 1176 1177 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pattern/index.js 1178 var pattern_namespaceObject = {}; 1179 __webpack_require__.r(pattern_namespaceObject); 1180 __webpack_require__.d(pattern_namespaceObject, { 1181 init: () => (pattern_init), 1182 metadata: () => (pattern_metadata), 1183 name: () => (pattern_name), 1184 settings: () => (pattern_settings) 1185 }); 1186 1187 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list/index.js 1188 var page_list_namespaceObject = {}; 1189 __webpack_require__.r(page_list_namespaceObject); 1190 __webpack_require__.d(page_list_namespaceObject, { 1191 init: () => (page_list_init), 1192 metadata: () => (page_list_metadata), 1193 name: () => (page_list_name), 1194 settings: () => (page_list_settings) 1195 }); 1196 1197 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list-item/index.js 1198 var page_list_item_namespaceObject = {}; 1199 __webpack_require__.r(page_list_item_namespaceObject); 1200 __webpack_require__.d(page_list_item_namespaceObject, { 1201 init: () => (page_list_item_init), 1202 metadata: () => (page_list_item_metadata), 1203 name: () => (page_list_item_name), 1204 settings: () => (page_list_item_settings) 1205 }); 1206 1207 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js 1208 var build_module_paragraph_namespaceObject = {}; 1209 __webpack_require__.r(build_module_paragraph_namespaceObject); 1210 __webpack_require__.d(build_module_paragraph_namespaceObject, { 1211 init: () => (paragraph_init), 1212 metadata: () => (paragraph_metadata), 1213 name: () => (paragraph_name), 1214 settings: () => (paragraph_settings) 1215 }); 1216 1217 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author/index.js 1218 var build_module_post_author_namespaceObject = {}; 1219 __webpack_require__.r(build_module_post_author_namespaceObject); 1220 __webpack_require__.d(build_module_post_author_namespaceObject, { 1221 init: () => (post_author_init), 1222 metadata: () => (post_author_metadata), 1223 name: () => (post_author_name), 1224 settings: () => (post_author_settings) 1225 }); 1226 1227 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author-name/index.js 1228 var post_author_name_namespaceObject = {}; 1229 __webpack_require__.r(post_author_name_namespaceObject); 1230 __webpack_require__.d(post_author_name_namespaceObject, { 1231 init: () => (post_author_name_init), 1232 metadata: () => (post_author_name_metadata), 1233 name: () => (post_author_name_name), 1234 settings: () => (post_author_name_settings) 1235 }); 1236 1237 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-author-biography/index.js 1238 var post_author_biography_namespaceObject = {}; 1239 __webpack_require__.r(post_author_biography_namespaceObject); 1240 __webpack_require__.d(post_author_biography_namespaceObject, { 1241 init: () => (post_author_biography_init), 1242 metadata: () => (post_author_biography_metadata), 1243 name: () => (post_author_biography_name), 1244 settings: () => (post_author_biography_settings) 1245 }); 1246 1247 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comment/index.js 1248 var post_comment_namespaceObject = {}; 1249 __webpack_require__.r(post_comment_namespaceObject); 1250 __webpack_require__.d(post_comment_namespaceObject, { 1251 init: () => (post_comment_init), 1252 metadata: () => (post_comment_metadata), 1253 name: () => (post_comment_name), 1254 settings: () => (post_comment_settings) 1255 }); 1256 1257 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-count/index.js 1258 var build_module_post_comments_count_namespaceObject = {}; 1259 __webpack_require__.r(build_module_post_comments_count_namespaceObject); 1260 __webpack_require__.d(build_module_post_comments_count_namespaceObject, { 1261 init: () => (post_comments_count_init), 1262 metadata: () => (post_comments_count_metadata), 1263 name: () => (post_comments_count_name), 1264 settings: () => (post_comments_count_settings) 1265 }); 1266 1267 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-form/index.js 1268 var build_module_post_comments_form_namespaceObject = {}; 1269 __webpack_require__.r(build_module_post_comments_form_namespaceObject); 1270 __webpack_require__.d(build_module_post_comments_form_namespaceObject, { 1271 init: () => (post_comments_form_init), 1272 metadata: () => (post_comments_form_metadata), 1273 name: () => (post_comments_form_name), 1274 settings: () => (post_comments_form_settings) 1275 }); 1276 1277 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-comments-link/index.js 1278 var post_comments_link_namespaceObject = {}; 1279 __webpack_require__.r(post_comments_link_namespaceObject); 1280 __webpack_require__.d(post_comments_link_namespaceObject, { 1281 init: () => (post_comments_link_init), 1282 metadata: () => (post_comments_link_metadata), 1283 name: () => (post_comments_link_name), 1284 settings: () => (post_comments_link_settings) 1285 }); 1286 1287 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-content/index.js 1288 var build_module_post_content_namespaceObject = {}; 1289 __webpack_require__.r(build_module_post_content_namespaceObject); 1290 __webpack_require__.d(build_module_post_content_namespaceObject, { 1291 init: () => (post_content_init), 1292 metadata: () => (post_content_metadata), 1293 name: () => (post_content_name), 1294 settings: () => (post_content_settings) 1295 }); 1296 1297 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-date/index.js 1298 var build_module_post_date_namespaceObject = {}; 1299 __webpack_require__.r(build_module_post_date_namespaceObject); 1300 __webpack_require__.d(build_module_post_date_namespaceObject, { 1301 init: () => (post_date_init), 1302 metadata: () => (post_date_metadata), 1303 name: () => (post_date_name), 1304 settings: () => (post_date_settings) 1305 }); 1306 1307 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js 1308 var build_module_post_excerpt_namespaceObject = {}; 1309 __webpack_require__.r(build_module_post_excerpt_namespaceObject); 1310 __webpack_require__.d(build_module_post_excerpt_namespaceObject, { 1311 init: () => (post_excerpt_init), 1312 metadata: () => (post_excerpt_metadata), 1313 name: () => (post_excerpt_name), 1314 settings: () => (post_excerpt_settings) 1315 }); 1316 1317 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js 1318 var build_module_post_featured_image_namespaceObject = {}; 1319 __webpack_require__.r(build_module_post_featured_image_namespaceObject); 1320 __webpack_require__.d(build_module_post_featured_image_namespaceObject, { 1321 init: () => (post_featured_image_init), 1322 metadata: () => (post_featured_image_metadata), 1323 name: () => (post_featured_image_name), 1324 settings: () => (post_featured_image_settings) 1325 }); 1326 1327 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-navigation-link/index.js 1328 var post_navigation_link_namespaceObject = {}; 1329 __webpack_require__.r(post_navigation_link_namespaceObject); 1330 __webpack_require__.d(post_navigation_link_namespaceObject, { 1331 init: () => (post_navigation_link_init), 1332 metadata: () => (post_navigation_link_metadata), 1333 name: () => (post_navigation_link_name), 1334 settings: () => (post_navigation_link_settings) 1335 }); 1336 1337 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js 1338 var post_template_namespaceObject = {}; 1339 __webpack_require__.r(post_template_namespaceObject); 1340 __webpack_require__.d(post_template_namespaceObject, { 1341 init: () => (post_template_init), 1342 metadata: () => (post_template_metadata), 1343 name: () => (post_template_name), 1344 settings: () => (post_template_settings) 1345 }); 1346 1347 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js 1348 var build_module_post_terms_namespaceObject = {}; 1349 __webpack_require__.r(build_module_post_terms_namespaceObject); 1350 __webpack_require__.d(build_module_post_terms_namespaceObject, { 1351 init: () => (post_terms_init), 1352 metadata: () => (post_terms_metadata), 1353 name: () => (post_terms_name), 1354 settings: () => (post_terms_settings) 1355 }); 1356 1357 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-time-to-read/index.js 1358 var post_time_to_read_namespaceObject = {}; 1359 __webpack_require__.r(post_time_to_read_namespaceObject); 1360 __webpack_require__.d(post_time_to_read_namespaceObject, { 1361 init: () => (post_time_to_read_init), 1362 metadata: () => (post_time_to_read_metadata), 1363 name: () => (post_time_to_read_name), 1364 settings: () => (post_time_to_read_settings) 1365 }); 1366 1367 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js 1368 var post_title_namespaceObject = {}; 1369 __webpack_require__.r(post_title_namespaceObject); 1370 __webpack_require__.d(post_title_namespaceObject, { 1371 init: () => (post_title_init), 1372 metadata: () => (post_title_metadata), 1373 name: () => (post_title_name), 1374 settings: () => (post_title_settings) 1375 }); 1376 1377 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js 1378 var build_module_preformatted_namespaceObject = {}; 1379 __webpack_require__.r(build_module_preformatted_namespaceObject); 1380 __webpack_require__.d(build_module_preformatted_namespaceObject, { 1381 init: () => (preformatted_init), 1382 metadata: () => (preformatted_metadata), 1383 name: () => (preformatted_name), 1384 settings: () => (preformatted_settings) 1385 }); 1386 1387 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js 1388 var build_module_pullquote_namespaceObject = {}; 1389 __webpack_require__.r(build_module_pullquote_namespaceObject); 1390 __webpack_require__.d(build_module_pullquote_namespaceObject, { 1391 init: () => (pullquote_init), 1392 metadata: () => (pullquote_metadata), 1393 name: () => (pullquote_name), 1394 settings: () => (pullquote_settings) 1395 }); 1396 1397 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js 1398 var query_namespaceObject = {}; 1399 __webpack_require__.r(query_namespaceObject); 1400 __webpack_require__.d(query_namespaceObject, { 1401 init: () => (query_init), 1402 metadata: () => (query_metadata), 1403 name: () => (query_name), 1404 settings: () => (query_settings) 1405 }); 1406 1407 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-no-results/index.js 1408 var query_no_results_namespaceObject = {}; 1409 __webpack_require__.r(query_no_results_namespaceObject); 1410 __webpack_require__.d(query_no_results_namespaceObject, { 1411 init: () => (query_no_results_init), 1412 metadata: () => (query_no_results_metadata), 1413 name: () => (query_no_results_name), 1414 settings: () => (query_no_results_settings) 1415 }); 1416 1417 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js 1418 var build_module_query_pagination_namespaceObject = {}; 1419 __webpack_require__.r(build_module_query_pagination_namespaceObject); 1420 __webpack_require__.d(build_module_query_pagination_namespaceObject, { 1421 init: () => (query_pagination_init), 1422 metadata: () => (query_pagination_metadata), 1423 name: () => (query_pagination_name), 1424 settings: () => (query_pagination_settings) 1425 }); 1426 1427 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js 1428 var build_module_query_pagination_next_namespaceObject = {}; 1429 __webpack_require__.r(build_module_query_pagination_next_namespaceObject); 1430 __webpack_require__.d(build_module_query_pagination_next_namespaceObject, { 1431 init: () => (query_pagination_next_init), 1432 metadata: () => (query_pagination_next_metadata), 1433 name: () => (query_pagination_next_name), 1434 settings: () => (query_pagination_next_settings) 1435 }); 1436 1437 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js 1438 var build_module_query_pagination_numbers_namespaceObject = {}; 1439 __webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); 1440 __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, { 1441 init: () => (query_pagination_numbers_init), 1442 metadata: () => (query_pagination_numbers_metadata), 1443 name: () => (query_pagination_numbers_name), 1444 settings: () => (query_pagination_numbers_settings) 1445 }); 1446 1447 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js 1448 var build_module_query_pagination_previous_namespaceObject = {}; 1449 __webpack_require__.r(build_module_query_pagination_previous_namespaceObject); 1450 __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, { 1451 init: () => (query_pagination_previous_init), 1452 metadata: () => (query_pagination_previous_metadata), 1453 name: () => (query_pagination_previous_name), 1454 settings: () => (query_pagination_previous_settings) 1455 }); 1456 1457 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js 1458 var query_title_namespaceObject = {}; 1459 __webpack_require__.r(query_title_namespaceObject); 1460 __webpack_require__.d(query_title_namespaceObject, { 1461 init: () => (query_title_init), 1462 metadata: () => (query_title_metadata), 1463 name: () => (query_title_name), 1464 settings: () => (query_title_settings) 1465 }); 1466 1467 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js 1468 var build_module_quote_namespaceObject = {}; 1469 __webpack_require__.r(build_module_quote_namespaceObject); 1470 __webpack_require__.d(build_module_quote_namespaceObject, { 1471 init: () => (quote_init), 1472 metadata: () => (quote_metadata), 1473 name: () => (quote_name), 1474 settings: () => (quote_settings) 1475 }); 1476 1477 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js 1478 var block_namespaceObject = {}; 1479 __webpack_require__.r(block_namespaceObject); 1480 __webpack_require__.d(block_namespaceObject, { 1481 init: () => (block_init), 1482 metadata: () => (block_metadata), 1483 name: () => (block_name), 1484 settings: () => (block_settings) 1485 }); 1486 1487 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/read-more/index.js 1488 var read_more_namespaceObject = {}; 1489 __webpack_require__.r(read_more_namespaceObject); 1490 __webpack_require__.d(read_more_namespaceObject, { 1491 init: () => (read_more_init), 1492 metadata: () => (read_more_metadata), 1493 name: () => (read_more_name), 1494 settings: () => (read_more_settings) 1495 }); 1496 1497 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js 1498 var build_module_rss_namespaceObject = {}; 1499 __webpack_require__.r(build_module_rss_namespaceObject); 1500 __webpack_require__.d(build_module_rss_namespaceObject, { 1501 init: () => (rss_init), 1502 metadata: () => (rss_metadata), 1503 name: () => (rss_name), 1504 settings: () => (rss_settings) 1505 }); 1506 1507 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js 1508 var build_module_search_namespaceObject = {}; 1509 __webpack_require__.r(build_module_search_namespaceObject); 1510 __webpack_require__.d(build_module_search_namespaceObject, { 1511 init: () => (search_init), 1512 metadata: () => (search_metadata), 1513 name: () => (search_name), 1514 settings: () => (search_settings) 1515 }); 1516 1517 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js 1518 var build_module_separator_namespaceObject = {}; 1519 __webpack_require__.r(build_module_separator_namespaceObject); 1520 __webpack_require__.d(build_module_separator_namespaceObject, { 1521 init: () => (separator_init), 1522 metadata: () => (separator_metadata), 1523 name: () => (separator_name), 1524 settings: () => (separator_settings) 1525 }); 1526 1527 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js 1528 var build_module_shortcode_namespaceObject = {}; 1529 __webpack_require__.r(build_module_shortcode_namespaceObject); 1530 __webpack_require__.d(build_module_shortcode_namespaceObject, { 1531 init: () => (shortcode_init), 1532 metadata: () => (shortcode_metadata), 1533 name: () => (shortcode_name), 1534 settings: () => (shortcode_settings) 1535 }); 1536 1537 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js 1538 var build_module_site_logo_namespaceObject = {}; 1539 __webpack_require__.r(build_module_site_logo_namespaceObject); 1540 __webpack_require__.d(build_module_site_logo_namespaceObject, { 1541 init: () => (site_logo_init), 1542 metadata: () => (site_logo_metadata), 1543 name: () => (site_logo_name), 1544 settings: () => (site_logo_settings) 1545 }); 1546 1547 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js 1548 var site_tagline_namespaceObject = {}; 1549 __webpack_require__.r(site_tagline_namespaceObject); 1550 __webpack_require__.d(site_tagline_namespaceObject, { 1551 init: () => (site_tagline_init), 1552 metadata: () => (site_tagline_metadata), 1553 name: () => (site_tagline_name), 1554 settings: () => (site_tagline_settings) 1555 }); 1556 1557 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js 1558 var site_title_namespaceObject = {}; 1559 __webpack_require__.r(site_title_namespaceObject); 1560 __webpack_require__.d(site_title_namespaceObject, { 1561 init: () => (site_title_init), 1562 metadata: () => (site_title_metadata), 1563 name: () => (site_title_name), 1564 settings: () => (site_title_settings) 1565 }); 1566 1567 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js 1568 var social_link_namespaceObject = {}; 1569 __webpack_require__.r(social_link_namespaceObject); 1570 __webpack_require__.d(social_link_namespaceObject, { 1571 init: () => (social_link_init), 1572 metadata: () => (social_link_metadata), 1573 name: () => (social_link_name), 1574 settings: () => (social_link_settings) 1575 }); 1576 1577 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js 1578 var social_links_namespaceObject = {}; 1579 __webpack_require__.r(social_links_namespaceObject); 1580 __webpack_require__.d(social_links_namespaceObject, { 1581 init: () => (social_links_init), 1582 metadata: () => (social_links_metadata), 1583 name: () => (social_links_name), 1584 settings: () => (social_links_settings) 1585 }); 1586 1587 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js 1588 var spacer_namespaceObject = {}; 1589 __webpack_require__.r(spacer_namespaceObject); 1590 __webpack_require__.d(spacer_namespaceObject, { 1591 init: () => (spacer_init), 1592 metadata: () => (spacer_metadata), 1593 name: () => (spacer_name), 1594 settings: () => (spacer_settings) 1595 }); 1596 1597 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js 1598 var build_module_table_namespaceObject = {}; 1599 __webpack_require__.r(build_module_table_namespaceObject); 1600 __webpack_require__.d(build_module_table_namespaceObject, { 1601 init: () => (table_init), 1602 metadata: () => (table_metadata), 1603 name: () => (table_name), 1604 settings: () => (table_settings) 1605 }); 1606 1607 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table-of-contents/index.js 1608 var build_module_table_of_contents_namespaceObject = {}; 1609 __webpack_require__.r(build_module_table_of_contents_namespaceObject); 1610 __webpack_require__.d(build_module_table_of_contents_namespaceObject, { 1611 init: () => (table_of_contents_init), 1612 metadata: () => (table_of_contents_metadata), 1613 name: () => (table_of_contents_name), 1614 settings: () => (table_of_contents_settings) 1615 }); 1616 1617 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js 1618 var tag_cloud_namespaceObject = {}; 1619 __webpack_require__.r(tag_cloud_namespaceObject); 1620 __webpack_require__.d(tag_cloud_namespaceObject, { 1621 init: () => (tag_cloud_init), 1622 metadata: () => (tag_cloud_metadata), 1623 name: () => (tag_cloud_name), 1624 settings: () => (tag_cloud_settings) 1625 }); 1626 1627 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/template-part/index.js 1628 var template_part_namespaceObject = {}; 1629 __webpack_require__.r(template_part_namespaceObject); 1630 __webpack_require__.d(template_part_namespaceObject, { 1631 init: () => (template_part_init), 1632 metadata: () => (template_part_metadata), 1633 name: () => (template_part_name), 1634 settings: () => (template_part_settings) 1635 }); 1636 1637 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/term-description/index.js 1638 var build_module_term_description_namespaceObject = {}; 1639 __webpack_require__.r(build_module_term_description_namespaceObject); 1640 __webpack_require__.d(build_module_term_description_namespaceObject, { 1641 init: () => (term_description_init), 1642 metadata: () => (term_description_metadata), 1643 name: () => (term_description_name), 1644 settings: () => (term_description_settings) 1645 }); 1646 1647 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js 1648 var text_columns_namespaceObject = {}; 1649 __webpack_require__.r(text_columns_namespaceObject); 1650 __webpack_require__.d(text_columns_namespaceObject, { 1651 init: () => (text_columns_init), 1652 metadata: () => (text_columns_metadata), 1653 name: () => (text_columns_name), 1654 settings: () => (text_columns_settings) 1655 }); 1656 1657 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js 1658 var build_module_verse_namespaceObject = {}; 1659 __webpack_require__.r(build_module_verse_namespaceObject); 1660 __webpack_require__.d(build_module_verse_namespaceObject, { 1661 init: () => (verse_init), 1662 metadata: () => (verse_metadata), 1663 name: () => (verse_name), 1664 settings: () => (verse_settings) 1665 }); 1666 1667 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js 1668 var build_module_video_namespaceObject = {}; 1669 __webpack_require__.r(build_module_video_namespaceObject); 1670 __webpack_require__.d(build_module_video_namespaceObject, { 1671 init: () => (video_init), 1672 metadata: () => (video_metadata), 1673 name: () => (video_name), 1674 settings: () => (video_settings) 1675 }); 1676 1677 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/footnotes/index.js 1678 var footnotes_namespaceObject = {}; 1679 __webpack_require__.r(footnotes_namespaceObject); 1680 __webpack_require__.d(footnotes_namespaceObject, { 1681 init: () => (footnotes_init), 1682 metadata: () => (footnotes_metadata), 1683 name: () => (footnotes_name), 1684 settings: () => (footnotes_settings) 1685 }); 1686 1687 ;// CONCATENATED MODULE: external ["wp","blocks"] 1688 const external_wp_blocks_namespaceObject = window["wp"]["blocks"]; 1689 ;// CONCATENATED MODULE: external ["wp","primitives"] 1690 const external_wp_primitives_namespaceObject = window["wp"]["primitives"]; 1691 ;// CONCATENATED MODULE: external "ReactJSXRuntime" 1692 const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; 1693 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js 1694 /** 1695 * WordPress dependencies 1696 */ 1697 1698 1699 const archive = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 1700 viewBox: "0 0 24 24", 1701 xmlns: "http://www.w3.org/2000/svg", 1702 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 1703 fillRule: "evenodd", 1704 clipRule: "evenodd", 1705 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" 1706 }) 1707 }); 1708 /* harmony default export */ const library_archive = (archive); 1709 1710 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/init-block.js 1711 /** 1712 * WordPress dependencies 1713 */ 1714 1715 1716 /** 1717 * Function to register an individual block. 1718 * 1719 * @param {Object} block The block to be registered. 1720 * 1721 * @return {WPBlockType | undefined} The block, if it has been successfully registered; 1722 * otherwise `undefined`. 1723 */ 1724 function initBlock(block) { 1725 if (!block) { 1726 return; 1727 } 1728 const { 1729 metadata, 1730 settings, 1731 name 1732 } = block; 1733 return (0,external_wp_blocks_namespaceObject.registerBlockType)({ 1734 name, 1735 ...metadata 1736 }, settings); 1737 } 1738 1739 ;// CONCATENATED MODULE: external ["wp","components"] 1740 const external_wp_components_namespaceObject = window["wp"]["components"]; 1741 ;// CONCATENATED MODULE: external ["wp","i18n"] 1742 const external_wp_i18n_namespaceObject = window["wp"]["i18n"]; 1743 ;// CONCATENATED MODULE: external ["wp","blockEditor"] 1744 const external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; 1745 ;// CONCATENATED MODULE: external ["wp","serverSideRender"] 1746 const external_wp_serverSideRender_namespaceObject = window["wp"]["serverSideRender"]; 1747 var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_namespaceObject); 1748 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js 1749 /** 1750 * WordPress dependencies 1751 */ 1752 1753 1754 1755 1756 1757 1758 1759 function ArchivesEdit({ 1760 attributes, 1761 setAttributes 1762 }) { 1763 const { 1764 showLabel, 1765 showPostCounts, 1766 displayAsDropdown, 1767 type 1768 } = attributes; 1769 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 1770 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 1771 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 1772 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 1773 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 1774 __nextHasNoMarginBottom: true, 1775 label: (0,external_wp_i18n_namespaceObject.__)('Display as dropdown'), 1776 checked: displayAsDropdown, 1777 onChange: () => setAttributes({ 1778 displayAsDropdown: !displayAsDropdown 1779 }) 1780 }), displayAsDropdown && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 1781 __nextHasNoMarginBottom: true, 1782 label: (0,external_wp_i18n_namespaceObject.__)('Show label'), 1783 checked: showLabel, 1784 onChange: () => setAttributes({ 1785 showLabel: !showLabel 1786 }) 1787 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 1788 __nextHasNoMarginBottom: true, 1789 label: (0,external_wp_i18n_namespaceObject.__)('Show post counts'), 1790 checked: showPostCounts, 1791 onChange: () => setAttributes({ 1792 showPostCounts: !showPostCounts 1793 }) 1794 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SelectControl, { 1795 __nextHasNoMarginBottom: true, 1796 label: (0,external_wp_i18n_namespaceObject.__)('Group by:'), 1797 options: [{ 1798 label: (0,external_wp_i18n_namespaceObject.__)('Year'), 1799 value: 'yearly' 1800 }, { 1801 label: (0,external_wp_i18n_namespaceObject.__)('Month'), 1802 value: 'monthly' 1803 }, { 1804 label: (0,external_wp_i18n_namespaceObject.__)('Week'), 1805 value: 'weekly' 1806 }, { 1807 label: (0,external_wp_i18n_namespaceObject.__)('Day'), 1808 value: 'daily' 1809 }], 1810 value: type, 1811 onChange: value => setAttributes({ 1812 type: value 1813 }) 1814 })] 1815 }) 1816 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 1817 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)(), 1818 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { 1819 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)((external_wp_serverSideRender_default()), { 1820 block: "core/archives", 1821 skipBlockSupportAttributes: true, 1822 attributes: attributes 1823 }) 1824 }) 1825 })] 1826 }); 1827 } 1828 1829 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js 1830 /** 1831 * WordPress dependencies 1832 */ 1833 1834 1835 /** 1836 * Internal dependencies 1837 */ 1838 1839 const metadata = { 1840 $schema: "https://schemas.wp.org/trunk/block.json", 1841 apiVersion: 3, 1842 name: "core/archives", 1843 title: "Archives", 1844 category: "widgets", 1845 description: "Display a date archive of your posts.", 1846 textdomain: "default", 1847 attributes: { 1848 displayAsDropdown: { 1849 type: "boolean", 1850 "default": false 1851 }, 1852 showLabel: { 1853 type: "boolean", 1854 "default": true 1855 }, 1856 showPostCounts: { 1857 type: "boolean", 1858 "default": false 1859 }, 1860 type: { 1861 type: "string", 1862 "default": "monthly" 1863 } 1864 }, 1865 supports: { 1866 align: true, 1867 html: false, 1868 spacing: { 1869 margin: true, 1870 padding: true, 1871 __experimentalDefaultControls: { 1872 margin: false, 1873 padding: false 1874 } 1875 }, 1876 typography: { 1877 fontSize: true, 1878 lineHeight: true, 1879 __experimentalFontFamily: true, 1880 __experimentalFontWeight: true, 1881 __experimentalFontStyle: true, 1882 __experimentalTextTransform: true, 1883 __experimentalTextDecoration: true, 1884 __experimentalLetterSpacing: true, 1885 __experimentalDefaultControls: { 1886 fontSize: true 1887 } 1888 }, 1889 interactivity: { 1890 clientNavigation: true 1891 } 1892 }, 1893 editorStyle: "wp-block-archives-editor" 1894 }; 1895 1896 const { 1897 name: archives_name 1898 } = metadata; 1899 1900 const settings = { 1901 icon: library_archive, 1902 example: {}, 1903 edit: ArchivesEdit 1904 }; 1905 const init = () => initBlock({ 1906 name: archives_name, 1907 metadata, 1908 settings 1909 }); 1910 1911 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-author-avatar.js 1912 /** 1913 * WordPress dependencies 1914 */ 1915 1916 1917 const commentAuthorAvatar = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 1918 xmlns: "http://www.w3.org/2000/svg", 1919 viewBox: "0 0 24 24", 1920 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 1921 fillRule: "evenodd", 1922 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", 1923 clipRule: "evenodd" 1924 }) 1925 }); 1926 /* harmony default export */ const comment_author_avatar = (commentAuthorAvatar); 1927 1928 ;// CONCATENATED MODULE: ./node_modules/clsx/dist/clsx.mjs 1929 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); 1930 ;// CONCATENATED MODULE: external ["wp","url"] 1931 const external_wp_url_namespaceObject = window["wp"]["url"]; 1932 ;// CONCATENATED MODULE: external ["wp","coreData"] 1933 const external_wp_coreData_namespaceObject = window["wp"]["coreData"]; 1934 ;// CONCATENATED MODULE: external ["wp","data"] 1935 const external_wp_data_namespaceObject = window["wp"]["data"]; 1936 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/hooks.js 1937 /** 1938 * WordPress dependencies 1939 */ 1940 1941 1942 1943 1944 function getAvatarSizes(sizes) { 1945 const minSize = sizes ? sizes[0] : 24; 1946 const maxSize = sizes ? sizes[sizes.length - 1] : 96; 1947 const maxSizeBuffer = Math.floor(maxSize * 2.5); 1948 return { 1949 minSize, 1950 maxSize: maxSizeBuffer 1951 }; 1952 } 1953 function useDefaultAvatar() { 1954 const { 1955 avatarURL: defaultAvatarUrl 1956 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 1957 const { 1958 getSettings 1959 } = select(external_wp_blockEditor_namespaceObject.store); 1960 const { 1961 __experimentalDiscussionSettings 1962 } = getSettings(); 1963 return __experimentalDiscussionSettings; 1964 }); 1965 return defaultAvatarUrl; 1966 } 1967 function useCommentAvatar({ 1968 commentId 1969 }) { 1970 const [avatars] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_avatar_urls', commentId); 1971 const [authorName] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_name', commentId); 1972 const avatarUrls = avatars ? Object.values(avatars) : null; 1973 const sizes = avatars ? Object.keys(avatars) : null; 1974 const { 1975 minSize, 1976 maxSize 1977 } = getAvatarSizes(sizes); 1978 const defaultAvatar = useDefaultAvatar(); 1979 return { 1980 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, 1981 minSize, 1982 maxSize, 1983 // translators: %s is the Author name. 1984 alt: authorName ? 1985 // translators: %s is the Author name. 1986 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('%s Avatar'), authorName) : (0,external_wp_i18n_namespaceObject.__)('Default Avatar') 1987 }; 1988 } 1989 function useUserAvatar({ 1990 userId, 1991 postId, 1992 postType 1993 }) { 1994 const { 1995 authorDetails 1996 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 1997 const { 1998 getEditedEntityRecord, 1999 getUser 2000 } = select(external_wp_coreData_namespaceObject.store); 2001 if (userId) { 2002 return { 2003 authorDetails: getUser(userId) 2004 }; 2005 } 2006 const _authorId = getEditedEntityRecord('postType', postType, postId)?.author; 2007 return { 2008 authorDetails: _authorId ? getUser(_authorId) : null 2009 }; 2010 }, [postType, postId, userId]); 2011 const avatarUrls = authorDetails?.avatar_urls ? Object.values(authorDetails.avatar_urls) : null; 2012 const sizes = authorDetails?.avatar_urls ? Object.keys(authorDetails.avatar_urls) : null; 2013 const { 2014 minSize, 2015 maxSize 2016 } = getAvatarSizes(sizes); 2017 const defaultAvatar = useDefaultAvatar(); 2018 return { 2019 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : defaultAvatar, 2020 minSize, 2021 maxSize, 2022 alt: authorDetails ? 2023 // translators: %s is the Author name. 2024 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('%s Avatar'), authorDetails?.name) : (0,external_wp_i18n_namespaceObject.__)('Default Avatar') 2025 }; 2026 } 2027 2028 ;// CONCATENATED MODULE: external ["wp","element"] 2029 const external_wp_element_namespaceObject = window["wp"]["element"]; 2030 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/user-control.js 2031 /** 2032 * WordPress dependencies 2033 */ 2034 2035 2036 2037 2038 2039 2040 const AUTHORS_QUERY = { 2041 who: 'authors', 2042 per_page: -1, 2043 _fields: 'id,name', 2044 context: 'view' 2045 }; 2046 function UserControl({ 2047 value, 2048 onChange 2049 }) { 2050 const [filteredAuthorsList, setFilteredAuthorsList] = (0,external_wp_element_namespaceObject.useState)(); 2051 const authorsList = (0,external_wp_data_namespaceObject.useSelect)(select => { 2052 const { 2053 getUsers 2054 } = select(external_wp_coreData_namespaceObject.store); 2055 return getUsers(AUTHORS_QUERY); 2056 }, []); 2057 if (!authorsList) { 2058 return null; 2059 } 2060 const options = authorsList.map(author => { 2061 return { 2062 label: author.name, 2063 value: author.id 2064 }; 2065 }); 2066 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ComboboxControl, { 2067 __nextHasNoMarginBottom: true, 2068 label: (0,external_wp_i18n_namespaceObject.__)('User'), 2069 help: (0,external_wp_i18n_namespaceObject.__)('Select the avatar user to display, if it is blank it will use the post/page author.'), 2070 value: value, 2071 onChange: onChange, 2072 options: filteredAuthorsList || options, 2073 onFilterValueChange: inputValue => setFilteredAuthorsList(options.filter(option => option.label.toLowerCase().startsWith(inputValue.toLowerCase()))) 2074 }); 2075 } 2076 /* harmony default export */ const user_control = (UserControl); 2077 2078 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/edit.js 2079 /** 2080 * External dependencies 2081 */ 2082 2083 2084 /** 2085 * WordPress dependencies 2086 */ 2087 2088 2089 2090 2091 2092 /** 2093 * Internal dependencies 2094 */ 2095 2096 2097 2098 2099 2100 const AvatarInspectorControls = ({ 2101 setAttributes, 2102 avatar, 2103 attributes, 2104 selectUser 2105 }) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 2106 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 2107 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 2108 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.RangeControl, { 2109 __nextHasNoMarginBottom: true, 2110 __next40pxDefaultSize: true, 2111 label: (0,external_wp_i18n_namespaceObject.__)('Image size'), 2112 onChange: newSize => setAttributes({ 2113 size: newSize 2114 }), 2115 min: avatar.minSize, 2116 max: avatar.maxSize, 2117 initialPosition: attributes?.size, 2118 value: attributes?.size 2119 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 2120 __nextHasNoMarginBottom: true, 2121 label: (0,external_wp_i18n_namespaceObject.__)('Link to user profile'), 2122 onChange: () => setAttributes({ 2123 isLink: !attributes.isLink 2124 }), 2125 checked: attributes.isLink 2126 }), attributes.isLink && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 2127 label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), 2128 onChange: value => setAttributes({ 2129 linkTarget: value ? '_blank' : '_self' 2130 }), 2131 checked: attributes.linkTarget === '_blank' 2132 }), selectUser && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(user_control, { 2133 value: attributes?.userId, 2134 onChange: value => { 2135 setAttributes({ 2136 userId: value 2137 }); 2138 } 2139 })] 2140 }) 2141 }); 2142 const ResizableAvatar = ({ 2143 setAttributes, 2144 attributes, 2145 avatar, 2146 blockProps, 2147 isSelected 2148 }) => { 2149 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 2150 const doubledSizedSrc = (0,external_wp_url_namespaceObject.addQueryArgs)((0,external_wp_url_namespaceObject.removeQueryArgs)(avatar?.src, ['s']), { 2151 s: attributes?.size * 2 2152 }); 2153 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 2154 ...blockProps, 2155 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ResizableBox, { 2156 size: { 2157 width: attributes.size, 2158 height: attributes.size 2159 }, 2160 showHandle: isSelected, 2161 onResizeStop: (event, direction, elt, delta) => { 2162 setAttributes({ 2163 size: parseInt(attributes.size + (delta.height || delta.width), 10) 2164 }); 2165 }, 2166 lockAspectRatio: true, 2167 enable: { 2168 top: false, 2169 right: !(0,external_wp_i18n_namespaceObject.isRTL)(), 2170 bottom: true, 2171 left: (0,external_wp_i18n_namespaceObject.isRTL)() 2172 }, 2173 minWidth: avatar.minSize, 2174 maxWidth: avatar.maxSize, 2175 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { 2176 src: doubledSizedSrc, 2177 alt: avatar.alt, 2178 className: dist_clsx('avatar', 'avatar-' + attributes.size, 'photo', 'wp-block-avatar__image', borderProps.className), 2179 style: borderProps.style 2180 }) 2181 }) 2182 }); 2183 }; 2184 const CommentEdit = ({ 2185 attributes, 2186 context, 2187 setAttributes, 2188 isSelected 2189 }) => { 2190 const { 2191 commentId 2192 } = context; 2193 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 2194 const avatar = useCommentAvatar({ 2195 commentId 2196 }); 2197 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 2198 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(AvatarInspectorControls, { 2199 avatar: avatar, 2200 setAttributes: setAttributes, 2201 attributes: attributes, 2202 selectUser: false 2203 }), attributes.isLink ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 2204 href: "#avatar-pseudo-link", 2205 className: "wp-block-avatar__link", 2206 onClick: event => event.preventDefault(), 2207 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableAvatar, { 2208 attributes: attributes, 2209 avatar: avatar, 2210 blockProps: blockProps, 2211 isSelected: isSelected, 2212 setAttributes: setAttributes 2213 }) 2214 }) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableAvatar, { 2215 attributes: attributes, 2216 avatar: avatar, 2217 blockProps: blockProps, 2218 isSelected: isSelected, 2219 setAttributes: setAttributes 2220 })] 2221 }); 2222 }; 2223 const UserEdit = ({ 2224 attributes, 2225 context, 2226 setAttributes, 2227 isSelected 2228 }) => { 2229 const { 2230 postId, 2231 postType 2232 } = context; 2233 const avatar = useUserAvatar({ 2234 userId: attributes?.userId, 2235 postId, 2236 postType 2237 }); 2238 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 2239 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 2240 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(AvatarInspectorControls, { 2241 selectUser: true, 2242 attributes: attributes, 2243 avatar: avatar, 2244 setAttributes: setAttributes 2245 }), attributes.isLink ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 2246 href: "#avatar-pseudo-link", 2247 className: "wp-block-avatar__link", 2248 onClick: event => event.preventDefault(), 2249 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableAvatar, { 2250 attributes: attributes, 2251 avatar: avatar, 2252 blockProps: blockProps, 2253 isSelected: isSelected, 2254 setAttributes: setAttributes 2255 }) 2256 }) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ResizableAvatar, { 2257 attributes: attributes, 2258 avatar: avatar, 2259 blockProps: blockProps, 2260 isSelected: isSelected, 2261 setAttributes: setAttributes 2262 })] 2263 }); 2264 }; 2265 function Edit(props) { 2266 // Don't show the Comment Edit controls if we have a comment ID set, or if we're in the Site Editor (where it is `null`). 2267 if (props?.context?.commentId || props?.context?.commentId === null) { 2268 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentEdit, { 2269 ...props 2270 }); 2271 } 2272 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(UserEdit, { 2273 ...props 2274 }); 2275 } 2276 2277 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/avatar/index.js 2278 /** 2279 * WordPress dependencies 2280 */ 2281 2282 2283 /** 2284 * Internal dependencies 2285 */ 2286 2287 const avatar_metadata = { 2288 $schema: "https://schemas.wp.org/trunk/block.json", 2289 apiVersion: 3, 2290 name: "core/avatar", 2291 title: "Avatar", 2292 category: "theme", 2293 description: "Add a user\u2019s avatar.", 2294 textdomain: "default", 2295 attributes: { 2296 userId: { 2297 type: "number" 2298 }, 2299 size: { 2300 type: "number", 2301 "default": 96 2302 }, 2303 isLink: { 2304 type: "boolean", 2305 "default": false 2306 }, 2307 linkTarget: { 2308 type: "string", 2309 "default": "_self" 2310 } 2311 }, 2312 usesContext: ["postType", "postId", "commentId"], 2313 supports: { 2314 html: false, 2315 align: true, 2316 alignWide: false, 2317 spacing: { 2318 margin: true, 2319 padding: true, 2320 __experimentalDefaultControls: { 2321 margin: false, 2322 padding: false 2323 } 2324 }, 2325 __experimentalBorder: { 2326 __experimentalSkipSerialization: true, 2327 radius: true, 2328 width: true, 2329 color: true, 2330 style: true, 2331 __experimentalDefaultControls: { 2332 radius: true 2333 } 2334 }, 2335 color: { 2336 text: false, 2337 background: false, 2338 __experimentalDuotone: "img" 2339 }, 2340 interactivity: { 2341 clientNavigation: true 2342 } 2343 }, 2344 selectors: { 2345 border: ".wp-block-avatar img" 2346 }, 2347 editorStyle: "wp-block-avatar-editor", 2348 style: "wp-block-avatar" 2349 }; 2350 2351 const { 2352 name: avatar_name 2353 } = avatar_metadata; 2354 2355 const avatar_settings = { 2356 icon: comment_author_avatar, 2357 edit: Edit 2358 }; 2359 const avatar_init = () => initBlock({ 2360 name: avatar_name, 2361 metadata: avatar_metadata, 2362 settings: avatar_settings 2363 }); 2364 2365 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js 2366 /** 2367 * WordPress dependencies 2368 */ 2369 2370 2371 const audio = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 2372 viewBox: "0 0 24 24", 2373 xmlns: "http://www.w3.org/2000/svg", 2374 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 2375 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" 2376 }) 2377 }); 2378 /* harmony default export */ const library_audio = (audio); 2379 2380 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js 2381 /** 2382 * WordPress dependencies 2383 */ 2384 2385 2386 2387 /* harmony default export */ const deprecated = ([{ 2388 attributes: { 2389 src: { 2390 type: 'string', 2391 source: 'attribute', 2392 selector: 'audio', 2393 attribute: 'src' 2394 }, 2395 caption: { 2396 type: 'string', 2397 source: 'html', 2398 selector: 'figcaption' 2399 }, 2400 id: { 2401 type: 'number' 2402 }, 2403 autoplay: { 2404 type: 'boolean', 2405 source: 'attribute', 2406 selector: 'audio', 2407 attribute: 'autoplay' 2408 }, 2409 loop: { 2410 type: 'boolean', 2411 source: 'attribute', 2412 selector: 'audio', 2413 attribute: 'loop' 2414 }, 2415 preload: { 2416 type: 'string', 2417 source: 'attribute', 2418 selector: 'audio', 2419 attribute: 'preload' 2420 } 2421 }, 2422 supports: { 2423 align: true 2424 }, 2425 save({ 2426 attributes 2427 }) { 2428 const { 2429 autoplay, 2430 caption, 2431 loop, 2432 preload, 2433 src 2434 } = attributes; 2435 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { 2436 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("audio", { 2437 controls: "controls", 2438 src: src, 2439 autoPlay: autoplay, 2440 loop: loop, 2441 preload: preload 2442 }), !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 2443 tagName: "figcaption", 2444 value: caption 2445 })] 2446 }); 2447 } 2448 }]); 2449 2450 ;// CONCATENATED MODULE: external ["wp","blob"] 2451 const external_wp_blob_namespaceObject = window["wp"]["blob"]; 2452 ;// CONCATENATED MODULE: external ["wp","notices"] 2453 const external_wp_notices_namespaceObject = window["wp"]["notices"]; 2454 ;// CONCATENATED MODULE: ./node_modules/memize/dist/index.js 2455 /** 2456 * Memize options object. 2457 * 2458 * @typedef MemizeOptions 2459 * 2460 * @property {number} [maxSize] Maximum size of the cache. 2461 */ 2462 2463 /** 2464 * Internal cache entry. 2465 * 2466 * @typedef MemizeCacheNode 2467 * 2468 * @property {?MemizeCacheNode|undefined} [prev] Previous node. 2469 * @property {?MemizeCacheNode|undefined} [next] Next node. 2470 * @property {Array<*>} args Function arguments for cache 2471 * entry. 2472 * @property {*} val Function result. 2473 */ 2474 2475 /** 2476 * Properties of the enhanced function for controlling cache. 2477 * 2478 * @typedef MemizeMemoizedFunction 2479 * 2480 * @property {()=>void} clear Clear the cache. 2481 */ 2482 2483 /** 2484 * Accepts a function to be memoized, and returns a new memoized function, with 2485 * optional options. 2486 * 2487 * @template {(...args: any[]) => any} F 2488 * 2489 * @param {F} fn Function to memoize. 2490 * @param {MemizeOptions} [options] Options object. 2491 * 2492 * @return {((...args: Parameters<F>) => ReturnType<F>) & MemizeMemoizedFunction} Memoized function. 2493 */ 2494 function memize(fn, options) { 2495 var size = 0; 2496 2497 /** @type {?MemizeCacheNode|undefined} */ 2498 var head; 2499 2500 /** @type {?MemizeCacheNode|undefined} */ 2501 var tail; 2502 2503 options = options || {}; 2504 2505 function memoized(/* ...args */) { 2506 var node = head, 2507 len = arguments.length, 2508 args, 2509 i; 2510 2511 searchCache: while (node) { 2512 // Perform a shallow equality test to confirm that whether the node 2513 // under test is a candidate for the arguments passed. Two arrays 2514 // are shallowly equal if their length matches and each entry is 2515 // strictly equal between the two sets. Avoid abstracting to a 2516 // function which could incur an arguments leaking deoptimization. 2517 2518 // Check whether node arguments match arguments length 2519 if (node.args.length !== arguments.length) { 2520 node = node.next; 2521 continue; 2522 } 2523 2524 // Check whether node arguments match arguments values 2525 for (i = 0; i < len; i++) { 2526 if (node.args[i] !== arguments[i]) { 2527 node = node.next; 2528 continue searchCache; 2529 } 2530 } 2531 2532 // At this point we can assume we've found a match 2533 2534 // Surface matched node to head if not already 2535 if (node !== head) { 2536 // As tail, shift to previous. Must only shift if not also 2537 // head, since if both head and tail, there is no previous. 2538 if (node === tail) { 2539 tail = node.prev; 2540 } 2541 2542 // Adjust siblings to point to each other. If node was tail, 2543 // this also handles new tail's empty `next` assignment. 2544 /** @type {MemizeCacheNode} */ (node.prev).next = node.next; 2545 if (node.next) { 2546 node.next.prev = node.prev; 2547 } 2548 2549 node.next = head; 2550 node.prev = null; 2551 /** @type {MemizeCacheNode} */ (head).prev = node; 2552 head = node; 2553 } 2554 2555 // Return immediately 2556 return node.val; 2557 } 2558 2559 // No cached value found. Continue to insertion phase: 2560 2561 // Create a copy of arguments (avoid leaking deoptimization) 2562 args = new Array(len); 2563 for (i = 0; i < len; i++) { 2564 args[i] = arguments[i]; 2565 } 2566 2567 node = { 2568 args: args, 2569 2570 // Generate the result from original function 2571 val: fn.apply(null, args), 2572 }; 2573 2574 // Don't need to check whether node is already head, since it would 2575 // have been returned above already if it was 2576 2577 // Shift existing head down list 2578 if (head) { 2579 head.prev = node; 2580 node.next = head; 2581 } else { 2582 // If no head, follows that there's no tail (at initial or reset) 2583 tail = node; 2584 } 2585 2586 // Trim tail if we're reached max size and are pending cache insertion 2587 if (size === /** @type {MemizeOptions} */ (options).maxSize) { 2588 tail = /** @type {MemizeCacheNode} */ (tail).prev; 2589 /** @type {MemizeCacheNode} */ (tail).next = null; 2590 } else { 2591 size++; 2592 } 2593 2594 head = node; 2595 2596 return node.val; 2597 } 2598 2599 memoized.clear = function () { 2600 head = null; 2601 tail = null; 2602 size = 0; 2603 }; 2604 2605 // Ignore reason: There's not a clear solution to create an intersection of 2606 // the function with additional properties, where the goal is to retain the 2607 // function signature of the incoming argument and add control properties 2608 // on the return value. 2609 2610 // @ts-ignore 2611 return memoized; 2612 } 2613 2614 2615 2616 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js 2617 const ASPECT_RATIOS = [ 2618 // Common video resolutions. 2619 { 2620 ratio: '2.33', 2621 className: 'wp-embed-aspect-21-9' 2622 }, { 2623 ratio: '2.00', 2624 className: 'wp-embed-aspect-18-9' 2625 }, { 2626 ratio: '1.78', 2627 className: 'wp-embed-aspect-16-9' 2628 }, { 2629 ratio: '1.33', 2630 className: 'wp-embed-aspect-4-3' 2631 }, 2632 // Vertical video and instagram square video support. 2633 { 2634 ratio: '1.00', 2635 className: 'wp-embed-aspect-1-1' 2636 }, { 2637 ratio: '0.56', 2638 className: 'wp-embed-aspect-9-16' 2639 }, { 2640 ratio: '0.50', 2641 className: 'wp-embed-aspect-1-2' 2642 }]; 2643 const WP_EMBED_TYPE = 'wp-embed'; 2644 2645 ;// CONCATENATED MODULE: external ["wp","privateApis"] 2646 const external_wp_privateApis_namespaceObject = window["wp"]["privateApis"]; 2647 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/lock-unlock.js 2648 /** 2649 * WordPress dependencies 2650 */ 2651 2652 const { 2653 lock, 2654 unlock 2655 } = (0,external_wp_privateApis_namespaceObject.__dangerousOptInToUnstableAPIsOnlyForCoreModules)('I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.', '@wordpress/block-library'); 2656 2657 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/util.js 2658 /** 2659 * External dependencies 2660 */ 2661 2662 2663 2664 /** 2665 * WordPress dependencies 2666 */ 2667 2668 2669 2670 2671 /** 2672 * Internal dependencies 2673 */ 2674 const util_metadata = { 2675 $schema: "https://schemas.wp.org/trunk/block.json", 2676 apiVersion: 3, 2677 name: "core/embed", 2678 title: "Embed", 2679 category: "embed", 2680 description: "Add a block that displays content pulled from other sites, like Twitter or YouTube.", 2681 textdomain: "default", 2682 attributes: { 2683 url: { 2684 type: "string", 2685 __experimentalRole: "content" 2686 }, 2687 caption: { 2688 type: "rich-text", 2689 source: "rich-text", 2690 selector: "figcaption", 2691 __experimentalRole: "content" 2692 }, 2693 type: { 2694 type: "string", 2695 __experimentalRole: "content" 2696 }, 2697 providerNameSlug: { 2698 type: "string", 2699 __experimentalRole: "content" 2700 }, 2701 allowResponsive: { 2702 type: "boolean", 2703 "default": true 2704 }, 2705 responsive: { 2706 type: "boolean", 2707 "default": false, 2708 __experimentalRole: "content" 2709 }, 2710 previewable: { 2711 type: "boolean", 2712 "default": true, 2713 __experimentalRole: "content" 2714 } 2715 }, 2716 supports: { 2717 align: true, 2718 spacing: { 2719 margin: true 2720 }, 2721 interactivity: { 2722 clientNavigation: true 2723 } 2724 }, 2725 editorStyle: "wp-block-embed-editor", 2726 style: "wp-block-embed" 2727 }; 2728 2729 2730 2731 const { 2732 name: DEFAULT_EMBED_BLOCK 2733 } = util_metadata; 2734 const { 2735 kebabCase 2736 } = unlock(external_wp_components_namespaceObject.privateApis); 2737 2738 /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ 2739 2740 /** 2741 * Returns the embed block's information by matching the provided service provider 2742 * 2743 * @param {string} provider The embed block's provider 2744 * @return {WPBlockVariation} The embed block's information 2745 */ 2746 const getEmbedInfoByProvider = provider => (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(({ 2747 name 2748 }) => name === provider); 2749 2750 /** 2751 * Returns true if any of the regular expressions match the URL. 2752 * 2753 * @param {string} url The URL to test. 2754 * @param {Array} patterns The list of regular expressions to test agains. 2755 * @return {boolean} True if any of the regular expressions match the URL. 2756 */ 2757 const matchesPatterns = (url, patterns = []) => patterns.some(pattern => url.match(pattern)); 2758 2759 /** 2760 * Finds the block variation that should be used for the URL, 2761 * based on the provided URL and the variation's patterns. 2762 * 2763 * @param {string} url The URL to test. 2764 * @return {WPBlockVariation} The block variation that should be used for this URL 2765 */ 2766 const findMoreSuitableBlock = url => (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(({ 2767 patterns 2768 }) => matchesPatterns(url, patterns)); 2769 const isFromWordPress = html => html && html.includes('class="wp-embedded-content"'); 2770 const getPhotoHtml = photo => { 2771 // If full image url not found use thumbnail. 2772 const imageUrl = photo.url || photo.thumbnail_url; 2773 2774 // 100% width for the preview so it fits nicely into the document, some "thumbnails" are 2775 // actually the full size photo. 2776 const photoPreview = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { 2777 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { 2778 src: imageUrl, 2779 alt: photo.title, 2780 width: "100%" 2781 }) 2782 }); 2783 return (0,external_wp_element_namespaceObject.renderToString)(photoPreview); 2784 }; 2785 2786 /** 2787 * Creates a more suitable embed block based on the passed in props 2788 * and attributes generated from an embed block's preview. 2789 * 2790 * We require `attributesFromPreview` to be generated from the latest attributes 2791 * and preview, and because of the way the react lifecycle operates, we can't 2792 * guarantee that the attributes contained in the block's props are the latest 2793 * versions, so we require that these are generated separately. 2794 * See `getAttributesFromPreview` in the generated embed edit component. 2795 * 2796 * @param {Object} props The block's props. 2797 * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview. 2798 * @return {Object|undefined} A more suitable embed block if one exists. 2799 */ 2800 const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { 2801 const { 2802 preview, 2803 attributes = {} 2804 } = props; 2805 const { 2806 url, 2807 providerNameSlug, 2808 type, 2809 ...restAttributes 2810 } = attributes; 2811 if (!url || !(0,external_wp_blocks_namespaceObject.getBlockType)(DEFAULT_EMBED_BLOCK)) { 2812 return; 2813 } 2814 const matchedBlock = findMoreSuitableBlock(url); 2815 2816 // WordPress blocks can work on multiple sites, and so don't have patterns, 2817 // so if we're in a WordPress block, assume the user has chosen it for a WordPress URL. 2818 const isCurrentBlockWP = providerNameSlug === 'wordpress' || type === WP_EMBED_TYPE; 2819 // If current block is not WordPress and a more suitable block found 2820 // that is different from the current one, create the new matched block. 2821 const shouldCreateNewBlock = !isCurrentBlockWP && matchedBlock && (matchedBlock.attributes.providerNameSlug !== providerNameSlug || !providerNameSlug); 2822 if (shouldCreateNewBlock) { 2823 return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { 2824 url, 2825 ...restAttributes, 2826 ...matchedBlock.attributes 2827 }); 2828 } 2829 const wpVariation = (0,external_wp_blocks_namespaceObject.getBlockVariations)(DEFAULT_EMBED_BLOCK)?.find(({ 2830 name 2831 }) => name === 'wordpress'); 2832 2833 // We can't match the URL for WordPress embeds, we have to check the HTML instead. 2834 if (!wpVariation || !preview || !isFromWordPress(preview.html) || isCurrentBlockWP) { 2835 return; 2836 } 2837 2838 // This is not the WordPress embed block so transform it into one. 2839 return (0,external_wp_blocks_namespaceObject.createBlock)(DEFAULT_EMBED_BLOCK, { 2840 url, 2841 ...wpVariation.attributes, 2842 // By now we have the preview, but when the new block first renders, it 2843 // won't have had all the attributes set, and so won't get the correct 2844 // type and it won't render correctly. So, we pass through the current attributes 2845 // here so that the initial render works when we switch to the WordPress 2846 // block. This only affects the WordPress block because it can't be 2847 // rendered in the usual Sandbox (it has a sandbox of its own) and it 2848 // relies on the preview to set the correct render type. 2849 ...attributesFromPreview 2850 }); 2851 }; 2852 2853 /** 2854 * Determine if the block already has an aspect ratio class applied. 2855 * 2856 * @param {string} existingClassNames Existing block classes. 2857 * @return {boolean} True or false if the classnames contain an aspect ratio class. 2858 */ 2859 const hasAspectRatioClass = existingClassNames => { 2860 if (!existingClassNames) { 2861 return false; 2862 } 2863 return ASPECT_RATIOS.some(({ 2864 className 2865 }) => existingClassNames.includes(className)); 2866 }; 2867 2868 /** 2869 * Removes all previously set aspect ratio related classes and return the rest 2870 * existing class names. 2871 * 2872 * @param {string} existingClassNames Any existing class names. 2873 * @return {string} The class names without any aspect ratio related class. 2874 */ 2875 const removeAspectRatioClasses = existingClassNames => { 2876 if (!existingClassNames) { 2877 // Avoids extraneous work and also, by returning the same value as 2878 // received, ensures the post is not dirtied by a change of the block 2879 // attribute from `undefined` to an empty string. 2880 return existingClassNames; 2881 } 2882 const aspectRatioClassNames = ASPECT_RATIOS.reduce((accumulator, { 2883 className 2884 }) => { 2885 accumulator.push(className); 2886 return accumulator; 2887 }, ['wp-has-aspect-ratio']); 2888 let outputClassNames = existingClassNames; 2889 for (const className of aspectRatioClassNames) { 2890 outputClassNames = outputClassNames.replace(className, ''); 2891 } 2892 return outputClassNames.trim(); 2893 }; 2894 2895 /** 2896 * Returns class names with any relevant responsive aspect ratio names. 2897 * 2898 * @param {string} html The preview HTML that possibly contains an iframe with width and height set. 2899 * @param {string} existingClassNames Any existing class names. 2900 * @param {boolean} allowResponsive If the responsive class names should be added, or removed. 2901 * @return {string} Deduped class names. 2902 */ 2903 function getClassNames(html, existingClassNames, allowResponsive = true) { 2904 if (!allowResponsive) { 2905 return removeAspectRatioClasses(existingClassNames); 2906 } 2907 const previewDocument = document.implementation.createHTMLDocument(''); 2908 previewDocument.body.innerHTML = html; 2909 const iframe = previewDocument.body.querySelector('iframe'); 2910 2911 // If we have a fixed aspect iframe, and it's a responsive embed block. 2912 if (iframe && iframe.height && iframe.width) { 2913 const aspectRatio = (iframe.width / iframe.height).toFixed(2); 2914 // Given the actual aspect ratio, find the widest ratio to support it. 2915 for (let ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) { 2916 const potentialRatio = ASPECT_RATIOS[ratioIndex]; 2917 if (aspectRatio >= potentialRatio.ratio) { 2918 // Evaluate the difference between actual aspect ratio and closest match. 2919 // If the difference is too big, do not scale the embed according to aspect ratio. 2920 const ratioDiff = aspectRatio - potentialRatio.ratio; 2921 if (ratioDiff > 0.1) { 2922 // No close aspect ratio match found. 2923 return removeAspectRatioClasses(existingClassNames); 2924 } 2925 // Close aspect ratio match found. 2926 return dist_clsx(removeAspectRatioClasses(existingClassNames), potentialRatio.className, 'wp-has-aspect-ratio'); 2927 } 2928 } 2929 } 2930 return existingClassNames; 2931 } 2932 2933 /** 2934 * Fallback behaviour for unembeddable URLs. 2935 * Creates a paragraph block containing a link to the URL, and calls `onReplace`. 2936 * 2937 * @param {string} url The URL that could not be embedded. 2938 * @param {Function} onReplace Function to call with the created fallback block. 2939 */ 2940 function fallback(url, onReplace) { 2941 const link = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 2942 href: url, 2943 children: url 2944 }); 2945 onReplace((0,external_wp_blocks_namespaceObject.createBlock)('core/paragraph', { 2946 content: (0,external_wp_element_namespaceObject.renderToString)(link) 2947 })); 2948 } 2949 2950 /*** 2951 * Gets block attributes based on the preview and responsive state. 2952 * 2953 * @param {Object} preview The preview data. 2954 * @param {string} title The block's title, e.g. Twitter. 2955 * @param {Object} currentClassNames The block's current class names. 2956 * @param {boolean} isResponsive Boolean indicating if the block supports responsive content. 2957 * @param {boolean} allowResponsive Apply responsive classes to fixed size content. 2958 * @return {Object} Attributes and values. 2959 */ 2960 const getAttributesFromPreview = memize((preview, title, currentClassNames, isResponsive, allowResponsive = true) => { 2961 if (!preview) { 2962 return {}; 2963 } 2964 const attributes = {}; 2965 // Some plugins only return HTML with no type info, so default this to 'rich'. 2966 let { 2967 type = 'rich' 2968 } = preview; 2969 // If we got a provider name from the API, use it for the slug, otherwise we use the title, 2970 // because not all embed code gives us a provider name. 2971 const { 2972 html, 2973 provider_name: providerName 2974 } = preview; 2975 const providerNameSlug = kebabCase((providerName || title).toLowerCase()); 2976 if (isFromWordPress(html)) { 2977 type = WP_EMBED_TYPE; 2978 } 2979 if (html || 'photo' === type) { 2980 attributes.type = type; 2981 attributes.providerNameSlug = providerNameSlug; 2982 } 2983 2984 // Aspect ratio classes are removed when the embed URL is updated. 2985 // If the embed already has an aspect ratio class, that means the URL has not changed. 2986 // Which also means no need to regenerate it with getClassNames. 2987 if (hasAspectRatioClass(currentClassNames)) { 2988 return attributes; 2989 } 2990 attributes.className = getClassNames(html, currentClassNames, isResponsive && allowResponsive); 2991 return attributes; 2992 }); 2993 2994 /** 2995 * Returns the attributes derived from the preview, merged with the current attributes. 2996 * 2997 * @param {Object} currentAttributes The current attributes of the block. 2998 * @param {Object} preview The preview data. 2999 * @param {string} title The block's title, e.g. Twitter. 3000 * @param {boolean} isResponsive Boolean indicating if the block supports responsive content. 3001 * @return {Object} Merged attributes. 3002 */ 3003 const getMergedAttributesWithPreview = (currentAttributes, preview, title, isResponsive) => { 3004 const { 3005 allowResponsive, 3006 className 3007 } = currentAttributes; 3008 return { 3009 ...currentAttributes, 3010 ...getAttributesFromPreview(preview, title, className, isResponsive, allowResponsive) 3011 }; 3012 }; 3013 3014 ;// CONCATENATED MODULE: external ["wp","compose"] 3015 const external_wp_compose_namespaceObject = window["wp"]["compose"]; 3016 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/hooks.js 3017 /** 3018 * WordPress dependencies 3019 */ 3020 3021 3022 3023 3024 3025 3026 3027 /** 3028 * Returns whether the current user can edit the given entity. 3029 * 3030 * @param {string} kind Entity kind. 3031 * @param {string} name Entity name. 3032 * @param {string} recordId Record's id. 3033 */ 3034 function useCanEditEntity(kind, name, recordId) { 3035 return (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_coreData_namespaceObject.store).canUserEditEntityRecord(kind, name, recordId), [kind, name, recordId]); 3036 } 3037 3038 /** 3039 * Handles uploading a media file from a blob URL on mount. 3040 * 3041 * @param {Object} args Upload media arguments. 3042 * @param {string} args.url Blob URL. 3043 * @param {?Array} args.allowedTypes Array of allowed media types. 3044 * @param {Function} args.onChange Function called when the media is uploaded. 3045 * @param {Function} args.onError Function called when an error happens. 3046 */ 3047 function useUploadMediaFromBlobURL(args = {}) { 3048 const latestArgs = (0,external_wp_element_namespaceObject.useRef)(args); 3049 const hasUploadStarted = (0,external_wp_element_namespaceObject.useRef)(false); 3050 const { 3051 getSettings 3052 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 3053 (0,external_wp_element_namespaceObject.useLayoutEffect)(() => { 3054 latestArgs.current = args; 3055 }); 3056 (0,external_wp_element_namespaceObject.useEffect)(() => { 3057 // Uploading is a special effect that can't be canceled via the cleanup method. 3058 // The extra check avoids duplicate uploads in development mode (React.StrictMode). 3059 if (hasUploadStarted.current) { 3060 return; 3061 } 3062 if (!latestArgs.current.url || !(0,external_wp_blob_namespaceObject.isBlobURL)(latestArgs.current.url)) { 3063 return; 3064 } 3065 const file = (0,external_wp_blob_namespaceObject.getBlobByURL)(latestArgs.current.url); 3066 if (!file) { 3067 return; 3068 } 3069 const { 3070 url, 3071 allowedTypes, 3072 onChange, 3073 onError 3074 } = latestArgs.current; 3075 const { 3076 mediaUpload 3077 } = getSettings(); 3078 hasUploadStarted.current = true; 3079 mediaUpload({ 3080 filesList: [file], 3081 allowedTypes, 3082 onFileChange: ([media]) => { 3083 if ((0,external_wp_blob_namespaceObject.isBlobURL)(media?.url)) { 3084 return; 3085 } 3086 (0,external_wp_blob_namespaceObject.revokeBlobURL)(url); 3087 onChange(media); 3088 hasUploadStarted.current = false; 3089 }, 3090 onError: message => { 3091 (0,external_wp_blob_namespaceObject.revokeBlobURL)(url); 3092 onError(message); 3093 hasUploadStarted.current = false; 3094 } 3095 }); 3096 }, [getSettings]); 3097 } 3098 function useToolsPanelDropdownMenuProps() { 3099 const isMobile = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<'); 3100 return !isMobile ? { 3101 popoverProps: { 3102 placement: 'left-start', 3103 // For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px) 3104 offset: 259 3105 } 3106 } : {}; 3107 } 3108 3109 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/caption.js 3110 /** 3111 * WordPress dependencies 3112 */ 3113 3114 3115 const caption = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 3116 viewBox: "0 0 24 24", 3117 xmlns: "http://www.w3.org/2000/svg", 3118 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 3119 fillRule: "evenodd", 3120 clipRule: "evenodd", 3121 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" 3122 }) 3123 }); 3124 /* harmony default export */ const library_caption = (caption); 3125 3126 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/caption.js 3127 /** 3128 * External dependencies 3129 */ 3130 3131 3132 /** 3133 * WordPress dependencies 3134 */ 3135 3136 3137 3138 3139 3140 3141 3142 3143 /** 3144 * Internal dependencies 3145 */ 3146 3147 3148 3149 3150 function Caption({ 3151 attributeKey = 'caption', 3152 attributes, 3153 setAttributes, 3154 isSelected, 3155 insertBlocksAfter, 3156 placeholder = (0,external_wp_i18n_namespaceObject.__)('Add caption'), 3157 label = (0,external_wp_i18n_namespaceObject.__)('Caption text'), 3158 showToolbarButton = true, 3159 excludeElementClassName, 3160 className, 3161 readOnly, 3162 tagName = 'figcaption', 3163 addLabel = (0,external_wp_i18n_namespaceObject.__)('Add caption'), 3164 removeLabel = (0,external_wp_i18n_namespaceObject.__)('Remove caption'), 3165 icon = library_caption, 3166 ...props 3167 }) { 3168 const caption = attributes[attributeKey]; 3169 const prevCaption = (0,external_wp_compose_namespaceObject.usePrevious)(caption); 3170 const { 3171 PrivateRichText: RichText 3172 } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 3173 const isCaptionEmpty = RichText.isEmpty(caption); 3174 const isPrevCaptionEmpty = RichText.isEmpty(prevCaption); 3175 const [showCaption, setShowCaption] = (0,external_wp_element_namespaceObject.useState)(!isCaptionEmpty); 3176 3177 // We need to show the caption when changes come from 3178 // history navigation(undo/redo). 3179 (0,external_wp_element_namespaceObject.useEffect)(() => { 3180 if (!isCaptionEmpty && isPrevCaptionEmpty) { 3181 setShowCaption(true); 3182 } 3183 }, [isCaptionEmpty, isPrevCaptionEmpty]); 3184 (0,external_wp_element_namespaceObject.useEffect)(() => { 3185 if (!isSelected && isCaptionEmpty) { 3186 setShowCaption(false); 3187 } 3188 }, [isSelected, isCaptionEmpty]); 3189 3190 // Focus the caption when we click to add one. 3191 const ref = (0,external_wp_element_namespaceObject.useCallback)(node => { 3192 if (node && isCaptionEmpty) { 3193 node.focus(); 3194 } 3195 }, [isCaptionEmpty]); 3196 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 3197 children: [showToolbarButton && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 3198 group: "block", 3199 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { 3200 onClick: () => { 3201 setShowCaption(!showCaption); 3202 if (showCaption && caption) { 3203 setAttributes({ 3204 [attributeKey]: undefined 3205 }); 3206 } 3207 }, 3208 icon: icon, 3209 isPressed: showCaption, 3210 label: showCaption ? removeLabel : addLabel 3211 }) 3212 }), showCaption && (!RichText.isEmpty(caption) || isSelected) && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(RichText, { 3213 identifier: attributeKey, 3214 tagName: tagName, 3215 className: dist_clsx(className, excludeElementClassName ? '' : (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)('caption')), 3216 ref: ref, 3217 "aria-label": label, 3218 placeholder: placeholder, 3219 value: caption, 3220 onChange: value => setAttributes({ 3221 [attributeKey]: value 3222 }), 3223 inlineToolbar: true, 3224 __unstableOnSplitAtEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())), 3225 readOnly: readOnly, 3226 ...props 3227 })] 3228 }); 3229 } 3230 3231 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js 3232 /** 3233 * External dependencies 3234 */ 3235 3236 3237 /** 3238 * WordPress dependencies 3239 */ 3240 3241 3242 3243 3244 3245 3246 3247 3248 /** 3249 * Internal dependencies 3250 */ 3251 3252 3253 3254 3255 3256 3257 const ALLOWED_MEDIA_TYPES = ['audio']; 3258 function AudioEdit({ 3259 attributes, 3260 className, 3261 setAttributes, 3262 onReplace, 3263 isSelected: isSingleSelected, 3264 insertBlocksAfter 3265 }) { 3266 const { 3267 id, 3268 autoplay, 3269 loop, 3270 preload, 3271 src 3272 } = attributes; 3273 const isTemporaryAudio = !id && (0,external_wp_blob_namespaceObject.isBlobURL)(src); 3274 useUploadMediaFromBlobURL({ 3275 url: src, 3276 allowedTypes: ALLOWED_MEDIA_TYPES, 3277 onChange: onSelectAudio, 3278 onError: onUploadError 3279 }); 3280 function toggleAttribute(attribute) { 3281 return newValue => { 3282 setAttributes({ 3283 [attribute]: newValue 3284 }); 3285 }; 3286 } 3287 function onSelectURL(newSrc) { 3288 // Set the block's src from the edit component's state, and switch off 3289 // the editing UI. 3290 if (newSrc !== src) { 3291 // Check if there's an embed block that handles this URL. 3292 const embedBlock = createUpgradedEmbedBlock({ 3293 attributes: { 3294 url: newSrc 3295 } 3296 }); 3297 if (undefined !== embedBlock && onReplace) { 3298 onReplace(embedBlock); 3299 return; 3300 } 3301 setAttributes({ 3302 src: newSrc, 3303 id: undefined 3304 }); 3305 } 3306 } 3307 const { 3308 createErrorNotice 3309 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store); 3310 function onUploadError(message) { 3311 createErrorNotice(message, { 3312 type: 'snackbar' 3313 }); 3314 } 3315 function getAutoplayHelp(checked) { 3316 return checked ? (0,external_wp_i18n_namespaceObject.__)('Autoplay may cause usability issues for some users.') : null; 3317 } 3318 function onSelectAudio(media) { 3319 if (!media || !media.url) { 3320 // In this case there was an error and we should continue in the editing state 3321 // previous attributes should be removed because they may be temporary blob urls. 3322 setAttributes({ 3323 src: undefined, 3324 id: undefined, 3325 caption: undefined 3326 }); 3327 return; 3328 } 3329 // Sets the block's attribute and updates the edit component from the 3330 // selected media, then switches off the editing UI. 3331 setAttributes({ 3332 src: media.url, 3333 id: media.id, 3334 caption: media.caption 3335 }); 3336 } 3337 const classes = dist_clsx(className, { 3338 'is-transient': isTemporaryAudio 3339 }); 3340 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 3341 className: classes 3342 }); 3343 if (!src) { 3344 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 3345 ...blockProps, 3346 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.MediaPlaceholder, { 3347 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockIcon, { 3348 icon: library_audio 3349 }), 3350 onSelect: onSelectAudio, 3351 onSelectURL: onSelectURL, 3352 accept: "audio/*", 3353 allowedTypes: ALLOWED_MEDIA_TYPES, 3354 value: attributes, 3355 onError: onUploadError 3356 }) 3357 }); 3358 } 3359 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 3360 children: [isSingleSelected && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 3361 group: "other", 3362 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.MediaReplaceFlow, { 3363 mediaId: id, 3364 mediaURL: src, 3365 allowedTypes: ALLOWED_MEDIA_TYPES, 3366 accept: "audio/*", 3367 onSelect: onSelectAudio, 3368 onSelectURL: onSelectURL, 3369 onError: onUploadError 3370 }) 3371 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 3372 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 3373 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 3374 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 3375 __nextHasNoMarginBottom: true, 3376 label: (0,external_wp_i18n_namespaceObject.__)('Autoplay'), 3377 onChange: toggleAttribute('autoplay'), 3378 checked: autoplay, 3379 help: getAutoplayHelp 3380 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 3381 __nextHasNoMarginBottom: true, 3382 label: (0,external_wp_i18n_namespaceObject.__)('Loop'), 3383 onChange: toggleAttribute('loop'), 3384 checked: loop 3385 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SelectControl, { 3386 __nextHasNoMarginBottom: true, 3387 label: (0,external_wp_i18n_namespaceObject._x)('Preload', 'noun; Audio block parameter'), 3388 value: preload || '' 3389 // `undefined` is required for the preload attribute to be unset. 3390 , 3391 onChange: value => setAttributes({ 3392 preload: value || undefined 3393 }), 3394 options: [{ 3395 value: '', 3396 label: (0,external_wp_i18n_namespaceObject.__)('Browser default') 3397 }, { 3398 value: 'auto', 3399 label: (0,external_wp_i18n_namespaceObject.__)('Auto') 3400 }, { 3401 value: 'metadata', 3402 label: (0,external_wp_i18n_namespaceObject.__)('Metadata') 3403 }, { 3404 value: 'none', 3405 label: (0,external_wp_i18n_namespaceObject._x)('None', 'Preload value') 3406 }] 3407 })] 3408 }) 3409 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { 3410 ...blockProps, 3411 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { 3412 isDisabled: !isSingleSelected, 3413 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("audio", { 3414 controls: "controls", 3415 src: src 3416 }) 3417 }), isTemporaryAudio && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Caption, { 3418 attributes: attributes, 3419 setAttributes: setAttributes, 3420 isSelected: isSingleSelected, 3421 insertBlocksAfter: insertBlocksAfter, 3422 label: (0,external_wp_i18n_namespaceObject.__)('Audio caption text'), 3423 showToolbarButton: isSingleSelected 3424 })] 3425 })] 3426 }); 3427 } 3428 /* harmony default export */ const edit = (AudioEdit); 3429 3430 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js 3431 /** 3432 * WordPress dependencies 3433 */ 3434 3435 3436 3437 function save({ 3438 attributes 3439 }) { 3440 const { 3441 autoplay, 3442 caption, 3443 loop, 3444 preload, 3445 src 3446 } = attributes; 3447 return src && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("figure", { 3448 ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), 3449 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("audio", { 3450 controls: "controls", 3451 src: src, 3452 autoPlay: autoplay, 3453 loop: loop, 3454 preload: preload 3455 }), !external_wp_blockEditor_namespaceObject.RichText.isEmpty(caption) && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 3456 tagName: "figcaption", 3457 value: caption, 3458 className: (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)('caption') 3459 })] 3460 }); 3461 } 3462 3463 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js 3464 /** 3465 * WordPress dependencies 3466 */ 3467 3468 3469 const transforms = { 3470 from: [{ 3471 type: 'files', 3472 isMatch(files) { 3473 return files.length === 1 && files[0].type.indexOf('audio/') === 0; 3474 }, 3475 transform(files) { 3476 const file = files[0]; 3477 // We don't need to upload the media directly here 3478 // It's already done as part of the `componentDidMount` 3479 // in the audio block. 3480 const block = (0,external_wp_blocks_namespaceObject.createBlock)('core/audio', { 3481 src: (0,external_wp_blob_namespaceObject.createBlobURL)(file) 3482 }); 3483 return block; 3484 } 3485 }, { 3486 type: 'shortcode', 3487 tag: 'audio', 3488 attributes: { 3489 src: { 3490 type: 'string', 3491 shortcode: ({ 3492 named: { 3493 src, 3494 mp3, 3495 m4a, 3496 ogg, 3497 wav, 3498 wma 3499 } 3500 }) => { 3501 return src || mp3 || m4a || ogg || wav || wma; 3502 } 3503 }, 3504 loop: { 3505 type: 'string', 3506 shortcode: ({ 3507 named: { 3508 loop 3509 } 3510 }) => { 3511 return loop; 3512 } 3513 }, 3514 autoplay: { 3515 type: 'string', 3516 shortcode: ({ 3517 named: { 3518 autoplay 3519 } 3520 }) => { 3521 return autoplay; 3522 } 3523 }, 3524 preload: { 3525 type: 'string', 3526 shortcode: ({ 3527 named: { 3528 preload 3529 } 3530 }) => { 3531 return preload; 3532 } 3533 } 3534 } 3535 }] 3536 }; 3537 /* harmony default export */ const audio_transforms = (transforms); 3538 3539 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js 3540 /** 3541 * WordPress dependencies 3542 */ 3543 3544 3545 /** 3546 * Internal dependencies 3547 */ 3548 3549 3550 3551 const audio_metadata = { 3552 $schema: "https://schemas.wp.org/trunk/block.json", 3553 apiVersion: 3, 3554 name: "core/audio", 3555 title: "Audio", 3556 category: "media", 3557 description: "Embed a simple audio player.", 3558 keywords: ["music", "sound", "podcast", "recording"], 3559 textdomain: "default", 3560 attributes: { 3561 src: { 3562 type: "string", 3563 source: "attribute", 3564 selector: "audio", 3565 attribute: "src", 3566 __experimentalRole: "content" 3567 }, 3568 caption: { 3569 type: "rich-text", 3570 source: "rich-text", 3571 selector: "figcaption", 3572 __experimentalRole: "content" 3573 }, 3574 id: { 3575 type: "number", 3576 __experimentalRole: "content" 3577 }, 3578 autoplay: { 3579 type: "boolean", 3580 source: "attribute", 3581 selector: "audio", 3582 attribute: "autoplay" 3583 }, 3584 loop: { 3585 type: "boolean", 3586 source: "attribute", 3587 selector: "audio", 3588 attribute: "loop" 3589 }, 3590 preload: { 3591 type: "string", 3592 source: "attribute", 3593 selector: "audio", 3594 attribute: "preload" 3595 } 3596 }, 3597 supports: { 3598 anchor: true, 3599 align: true, 3600 spacing: { 3601 margin: true, 3602 padding: true, 3603 __experimentalDefaultControls: { 3604 margin: false, 3605 padding: false 3606 } 3607 }, 3608 interactivity: { 3609 clientNavigation: true 3610 } 3611 }, 3612 editorStyle: "wp-block-audio-editor", 3613 style: "wp-block-audio" 3614 }; 3615 3616 3617 const { 3618 name: audio_name 3619 } = audio_metadata; 3620 3621 const audio_settings = { 3622 icon: library_audio, 3623 example: { 3624 attributes: { 3625 src: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg' 3626 }, 3627 viewportWidth: 350 3628 }, 3629 transforms: audio_transforms, 3630 deprecated: deprecated, 3631 edit: edit, 3632 save: save 3633 }; 3634 const audio_init = () => initBlock({ 3635 name: audio_name, 3636 metadata: audio_metadata, 3637 settings: audio_settings 3638 }); 3639 3640 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js 3641 /** 3642 * WordPress dependencies 3643 */ 3644 3645 3646 const button_button = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 3647 viewBox: "0 0 24 24", 3648 xmlns: "http://www.w3.org/2000/svg", 3649 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 3650 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" 3651 }) 3652 }); 3653 /* harmony default export */ const library_button = (button_button); 3654 3655 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/migrate-font-family.js 3656 /** 3657 * WordPress dependencies 3658 */ 3659 3660 3661 /** 3662 * Internal dependencies 3663 */ 3664 3665 const { 3666 cleanEmptyObject 3667 } = unlock(external_wp_blockEditor_namespaceObject.privateApis); 3668 3669 /** 3670 * Migrates the current style.typography.fontFamily attribute, 3671 * whose value was "var:preset|font-family|helvetica-arial", 3672 * to the style.fontFamily attribute, whose value will be "helvetica-arial". 3673 * 3674 * @param {Object} attributes The current attributes 3675 * @return {Object} The updated attributes. 3676 */ 3677 /* harmony default export */ function migrate_font_family(attributes) { 3678 if (!attributes?.style?.typography?.fontFamily) { 3679 return attributes; 3680 } 3681 const { 3682 fontFamily, 3683 ...typography 3684 } = attributes.style.typography; 3685 return { 3686 ...attributes, 3687 style: cleanEmptyObject({ 3688 ...attributes.style, 3689 typography 3690 }), 3691 fontFamily: fontFamily.split('|').pop() 3692 }; 3693 } 3694 3695 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js 3696 /** 3697 * External dependencies 3698 */ 3699 3700 3701 /** 3702 * WordPress dependencies 3703 */ 3704 3705 3706 3707 /** 3708 * Internal dependencies 3709 */ 3710 3711 3712 const migrateBorderRadius = attributes => { 3713 const { 3714 borderRadius, 3715 ...newAttributes 3716 } = attributes; 3717 // We have to check old property `borderRadius` and if 3718 // `styles.border.radius` is a `number` 3719 const oldBorderRadius = [borderRadius, newAttributes.style?.border?.radius].find(possibleBorderRadius => { 3720 return typeof possibleBorderRadius === 'number' && possibleBorderRadius !== 0; 3721 }); 3722 if (!oldBorderRadius) { 3723 return newAttributes; 3724 } 3725 return { 3726 ...newAttributes, 3727 style: { 3728 ...newAttributes.style, 3729 border: { 3730 ...newAttributes.style?.border, 3731 radius: `$oldBorderRadius}px` 3732 } 3733 } 3734 }; 3735 }; 3736 function migrateAlign(attributes) { 3737 if (!attributes.align) { 3738 return attributes; 3739 } 3740 const { 3741 align, 3742 ...otherAttributes 3743 } = attributes; 3744 return { 3745 ...otherAttributes, 3746 className: dist_clsx(otherAttributes.className, `align$attributes.align}`) 3747 }; 3748 } 3749 const migrateCustomColorsAndGradients = attributes => { 3750 if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { 3751 return attributes; 3752 } 3753 const style = { 3754 color: {} 3755 }; 3756 if (attributes.customTextColor) { 3757 style.color.text = attributes.customTextColor; 3758 } 3759 if (attributes.customBackgroundColor) { 3760 style.color.background = attributes.customBackgroundColor; 3761 } 3762 if (attributes.customGradient) { 3763 style.color.gradient = attributes.customGradient; 3764 } 3765 const { 3766 customTextColor, 3767 customBackgroundColor, 3768 customGradient, 3769 ...restAttributes 3770 } = attributes; 3771 return { 3772 ...restAttributes, 3773 style 3774 }; 3775 }; 3776 const oldColorsMigration = attributes => { 3777 const { 3778 color, 3779 textColor, 3780 ...restAttributes 3781 } = { 3782 ...attributes, 3783 customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, 3784 customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined 3785 }; 3786 return migrateCustomColorsAndGradients(restAttributes); 3787 }; 3788 const blockAttributes = { 3789 url: { 3790 type: 'string', 3791 source: 'attribute', 3792 selector: 'a', 3793 attribute: 'href' 3794 }, 3795 title: { 3796 type: 'string', 3797 source: 'attribute', 3798 selector: 'a', 3799 attribute: 'title' 3800 }, 3801 text: { 3802 type: 'string', 3803 source: 'html', 3804 selector: 'a' 3805 } 3806 }; 3807 const v11 = { 3808 attributes: { 3809 url: { 3810 type: 'string', 3811 source: 'attribute', 3812 selector: 'a', 3813 attribute: 'href' 3814 }, 3815 title: { 3816 type: 'string', 3817 source: 'attribute', 3818 selector: 'a', 3819 attribute: 'title' 3820 }, 3821 text: { 3822 type: 'string', 3823 source: 'html', 3824 selector: 'a' 3825 }, 3826 linkTarget: { 3827 type: 'string', 3828 source: 'attribute', 3829 selector: 'a', 3830 attribute: 'target' 3831 }, 3832 rel: { 3833 type: 'string', 3834 source: 'attribute', 3835 selector: 'a', 3836 attribute: 'rel' 3837 }, 3838 placeholder: { 3839 type: 'string' 3840 }, 3841 backgroundColor: { 3842 type: 'string' 3843 }, 3844 textColor: { 3845 type: 'string' 3846 }, 3847 gradient: { 3848 type: 'string' 3849 }, 3850 width: { 3851 type: 'number' 3852 } 3853 }, 3854 supports: { 3855 anchor: true, 3856 align: true, 3857 alignWide: false, 3858 color: { 3859 __experimentalSkipSerialization: true, 3860 gradients: true, 3861 __experimentalDefaultControls: { 3862 background: true, 3863 text: true 3864 } 3865 }, 3866 typography: { 3867 fontSize: true, 3868 __experimentalFontFamily: true, 3869 __experimentalDefaultControls: { 3870 fontSize: true 3871 } 3872 }, 3873 reusable: false, 3874 spacing: { 3875 __experimentalSkipSerialization: true, 3876 padding: ['horizontal', 'vertical'], 3877 __experimentalDefaultControls: { 3878 padding: true 3879 } 3880 }, 3881 __experimentalBorder: { 3882 radius: true, 3883 __experimentalSkipSerialization: true, 3884 __experimentalDefaultControls: { 3885 radius: true 3886 } 3887 }, 3888 __experimentalSelector: '.wp-block-button__link' 3889 }, 3890 save({ 3891 attributes, 3892 className 3893 }) { 3894 const { 3895 fontSize, 3896 linkTarget, 3897 rel, 3898 style, 3899 text, 3900 title, 3901 url, 3902 width 3903 } = attributes; 3904 if (!text) { 3905 return null; 3906 } 3907 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 3908 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 3909 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 3910 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, borderProps.className, { 3911 // For backwards compatibility add style that isn't provided via 3912 // block support. 3913 'no-border-radius': style?.border?.radius === 0 3914 }); 3915 const buttonStyle = { 3916 ...borderProps.style, 3917 ...colorProps.style, 3918 ...spacingProps.style 3919 }; 3920 3921 // The use of a `title` attribute here is soft-deprecated, but still applied 3922 // if it had already been assigned, for the sake of backward-compatibility. 3923 // A title will no longer be assigned for new or updated button block links. 3924 3925 const wrapperClasses = dist_clsx(className, { 3926 [`has-custom-width wp-block-button__width-$width}`]: width, 3927 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 3928 }); 3929 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 3930 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 3931 className: wrapperClasses 3932 }), 3933 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 3934 tagName: "a", 3935 className: buttonClasses, 3936 href: url, 3937 title: title, 3938 style: buttonStyle, 3939 value: text, 3940 target: linkTarget, 3941 rel: rel 3942 }) 3943 }); 3944 } 3945 }; 3946 const v10 = { 3947 attributes: { 3948 url: { 3949 type: 'string', 3950 source: 'attribute', 3951 selector: 'a', 3952 attribute: 'href' 3953 }, 3954 title: { 3955 type: 'string', 3956 source: 'attribute', 3957 selector: 'a', 3958 attribute: 'title' 3959 }, 3960 text: { 3961 type: 'string', 3962 source: 'html', 3963 selector: 'a' 3964 }, 3965 linkTarget: { 3966 type: 'string', 3967 source: 'attribute', 3968 selector: 'a', 3969 attribute: 'target' 3970 }, 3971 rel: { 3972 type: 'string', 3973 source: 'attribute', 3974 selector: 'a', 3975 attribute: 'rel' 3976 }, 3977 placeholder: { 3978 type: 'string' 3979 }, 3980 backgroundColor: { 3981 type: 'string' 3982 }, 3983 textColor: { 3984 type: 'string' 3985 }, 3986 gradient: { 3987 type: 'string' 3988 }, 3989 width: { 3990 type: 'number' 3991 } 3992 }, 3993 supports: { 3994 anchor: true, 3995 align: true, 3996 alignWide: false, 3997 color: { 3998 __experimentalSkipSerialization: true, 3999 gradients: true 4000 }, 4001 typography: { 4002 fontSize: true, 4003 __experimentalFontFamily: true 4004 }, 4005 reusable: false, 4006 spacing: { 4007 __experimentalSkipSerialization: true, 4008 padding: ['horizontal', 'vertical'], 4009 __experimentalDefaultControls: { 4010 padding: true 4011 } 4012 }, 4013 __experimentalBorder: { 4014 radius: true, 4015 __experimentalSkipSerialization: true 4016 }, 4017 __experimentalSelector: '.wp-block-button__link' 4018 }, 4019 save({ 4020 attributes, 4021 className 4022 }) { 4023 const { 4024 fontSize, 4025 linkTarget, 4026 rel, 4027 style, 4028 text, 4029 title, 4030 url, 4031 width 4032 } = attributes; 4033 if (!text) { 4034 return null; 4035 } 4036 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 4037 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4038 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 4039 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, borderProps.className, { 4040 // For backwards compatibility add style that isn't provided via 4041 // block support. 4042 'no-border-radius': style?.border?.radius === 0 4043 }); 4044 const buttonStyle = { 4045 ...borderProps.style, 4046 ...colorProps.style, 4047 ...spacingProps.style 4048 }; 4049 4050 // The use of a `title` attribute here is soft-deprecated, but still applied 4051 // if it had already been assigned, for the sake of backward-compatibility. 4052 // A title will no longer be assigned for new or updated button block links. 4053 4054 const wrapperClasses = dist_clsx(className, { 4055 [`has-custom-width wp-block-button__width-$width}`]: width, 4056 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 4057 }); 4058 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4059 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 4060 className: wrapperClasses 4061 }), 4062 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4063 tagName: "a", 4064 className: buttonClasses, 4065 href: url, 4066 title: title, 4067 style: buttonStyle, 4068 value: text, 4069 target: linkTarget, 4070 rel: rel 4071 }) 4072 }); 4073 }, 4074 migrate: migrate_font_family, 4075 isEligible({ 4076 style 4077 }) { 4078 return style?.typography?.fontFamily; 4079 } 4080 }; 4081 const deprecated_deprecated = [v11, v10, { 4082 supports: { 4083 anchor: true, 4084 align: true, 4085 alignWide: false, 4086 color: { 4087 __experimentalSkipSerialization: true, 4088 gradients: true 4089 }, 4090 typography: { 4091 fontSize: true, 4092 __experimentalFontFamily: true 4093 }, 4094 reusable: false, 4095 __experimentalSelector: '.wp-block-button__link' 4096 }, 4097 attributes: { 4098 ...blockAttributes, 4099 linkTarget: { 4100 type: 'string', 4101 source: 'attribute', 4102 selector: 'a', 4103 attribute: 'target' 4104 }, 4105 rel: { 4106 type: 'string', 4107 source: 'attribute', 4108 selector: 'a', 4109 attribute: 'rel' 4110 }, 4111 placeholder: { 4112 type: 'string' 4113 }, 4114 backgroundColor: { 4115 type: 'string' 4116 }, 4117 textColor: { 4118 type: 'string' 4119 }, 4120 gradient: { 4121 type: 'string' 4122 }, 4123 width: { 4124 type: 'number' 4125 } 4126 }, 4127 isEligible({ 4128 style 4129 }) { 4130 return typeof style?.border?.radius === 'number'; 4131 }, 4132 save({ 4133 attributes, 4134 className 4135 }) { 4136 const { 4137 fontSize, 4138 linkTarget, 4139 rel, 4140 style, 4141 text, 4142 title, 4143 url, 4144 width 4145 } = attributes; 4146 if (!text) { 4147 return null; 4148 } 4149 const borderRadius = style?.border?.radius; 4150 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4151 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, { 4152 'no-border-radius': style?.border?.radius === 0 4153 }); 4154 const buttonStyle = { 4155 borderRadius: borderRadius ? borderRadius : undefined, 4156 ...colorProps.style 4157 }; 4158 4159 // The use of a `title` attribute here is soft-deprecated, but still applied 4160 // if it had already been assigned, for the sake of backward-compatibility. 4161 // A title will no longer be assigned for new or updated button block links. 4162 4163 const wrapperClasses = dist_clsx(className, { 4164 [`has-custom-width wp-block-button__width-$width}`]: width, 4165 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 4166 }); 4167 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4168 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 4169 className: wrapperClasses 4170 }), 4171 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4172 tagName: "a", 4173 className: buttonClasses, 4174 href: url, 4175 title: title, 4176 style: buttonStyle, 4177 value: text, 4178 target: linkTarget, 4179 rel: rel 4180 }) 4181 }); 4182 }, 4183 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) 4184 }, { 4185 supports: { 4186 anchor: true, 4187 align: true, 4188 alignWide: false, 4189 color: { 4190 __experimentalSkipSerialization: true 4191 }, 4192 reusable: false, 4193 __experimentalSelector: '.wp-block-button__link' 4194 }, 4195 attributes: { 4196 ...blockAttributes, 4197 linkTarget: { 4198 type: 'string', 4199 source: 'attribute', 4200 selector: 'a', 4201 attribute: 'target' 4202 }, 4203 rel: { 4204 type: 'string', 4205 source: 'attribute', 4206 selector: 'a', 4207 attribute: 'rel' 4208 }, 4209 placeholder: { 4210 type: 'string' 4211 }, 4212 borderRadius: { 4213 type: 'number' 4214 }, 4215 backgroundColor: { 4216 type: 'string' 4217 }, 4218 textColor: { 4219 type: 'string' 4220 }, 4221 gradient: { 4222 type: 'string' 4223 }, 4224 style: { 4225 type: 'object' 4226 }, 4227 width: { 4228 type: 'number' 4229 } 4230 }, 4231 save({ 4232 attributes, 4233 className 4234 }) { 4235 const { 4236 borderRadius, 4237 linkTarget, 4238 rel, 4239 text, 4240 title, 4241 url, 4242 width 4243 } = attributes; 4244 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4245 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, { 4246 'no-border-radius': borderRadius === 0 4247 }); 4248 const buttonStyle = { 4249 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 4250 ...colorProps.style 4251 }; 4252 4253 // The use of a `title` attribute here is soft-deprecated, but still applied 4254 // if it had already been assigned, for the sake of backward-compatibility. 4255 // A title will no longer be assigned for new or updated button block links. 4256 4257 const wrapperClasses = dist_clsx(className, { 4258 [`has-custom-width wp-block-button__width-$width}`]: width 4259 }); 4260 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4261 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 4262 className: wrapperClasses 4263 }), 4264 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4265 tagName: "a", 4266 className: buttonClasses, 4267 href: url, 4268 title: title, 4269 style: buttonStyle, 4270 value: text, 4271 target: linkTarget, 4272 rel: rel 4273 }) 4274 }); 4275 }, 4276 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) 4277 }, { 4278 supports: { 4279 anchor: true, 4280 align: true, 4281 alignWide: false, 4282 color: { 4283 __experimentalSkipSerialization: true 4284 }, 4285 reusable: false, 4286 __experimentalSelector: '.wp-block-button__link' 4287 }, 4288 attributes: { 4289 ...blockAttributes, 4290 linkTarget: { 4291 type: 'string', 4292 source: 'attribute', 4293 selector: 'a', 4294 attribute: 'target' 4295 }, 4296 rel: { 4297 type: 'string', 4298 source: 'attribute', 4299 selector: 'a', 4300 attribute: 'rel' 4301 }, 4302 placeholder: { 4303 type: 'string' 4304 }, 4305 borderRadius: { 4306 type: 'number' 4307 }, 4308 backgroundColor: { 4309 type: 'string' 4310 }, 4311 textColor: { 4312 type: 'string' 4313 }, 4314 gradient: { 4315 type: 'string' 4316 }, 4317 style: { 4318 type: 'object' 4319 }, 4320 width: { 4321 type: 'number' 4322 } 4323 }, 4324 save({ 4325 attributes, 4326 className 4327 }) { 4328 const { 4329 borderRadius, 4330 linkTarget, 4331 rel, 4332 text, 4333 title, 4334 url, 4335 width 4336 } = attributes; 4337 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 4338 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, { 4339 'no-border-radius': borderRadius === 0 4340 }); 4341 const buttonStyle = { 4342 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 4343 ...colorProps.style 4344 }; 4345 4346 // The use of a `title` attribute here is soft-deprecated, but still applied 4347 // if it had already been assigned, for the sake of backward-compatibility. 4348 // A title will no longer be assigned for new or updated button block links. 4349 4350 const wrapperClasses = dist_clsx(className, { 4351 [`has-custom-width wp-block-button__width-$width}`]: width 4352 }); 4353 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4354 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 4355 className: wrapperClasses 4356 }), 4357 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4358 tagName: "a", 4359 className: buttonClasses, 4360 href: url, 4361 title: title, 4362 style: buttonStyle, 4363 value: text, 4364 target: linkTarget, 4365 rel: rel 4366 }) 4367 }); 4368 }, 4369 migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius) 4370 }, { 4371 supports: { 4372 align: true, 4373 alignWide: false, 4374 color: { 4375 gradients: true 4376 } 4377 }, 4378 attributes: { 4379 ...blockAttributes, 4380 linkTarget: { 4381 type: 'string', 4382 source: 'attribute', 4383 selector: 'a', 4384 attribute: 'target' 4385 }, 4386 rel: { 4387 type: 'string', 4388 source: 'attribute', 4389 selector: 'a', 4390 attribute: 'rel' 4391 }, 4392 placeholder: { 4393 type: 'string' 4394 }, 4395 borderRadius: { 4396 type: 'number' 4397 }, 4398 backgroundColor: { 4399 type: 'string' 4400 }, 4401 textColor: { 4402 type: 'string' 4403 }, 4404 gradient: { 4405 type: 'string' 4406 }, 4407 style: { 4408 type: 'object' 4409 } 4410 }, 4411 save({ 4412 attributes 4413 }) { 4414 const { 4415 borderRadius, 4416 linkTarget, 4417 rel, 4418 text, 4419 title, 4420 url 4421 } = attributes; 4422 const buttonClasses = dist_clsx('wp-block-button__link', { 4423 'no-border-radius': borderRadius === 0 4424 }); 4425 const buttonStyle = { 4426 borderRadius: borderRadius ? borderRadius + 'px' : undefined 4427 }; 4428 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4429 tagName: "a", 4430 className: buttonClasses, 4431 href: url, 4432 title: title, 4433 style: buttonStyle, 4434 value: text, 4435 target: linkTarget, 4436 rel: rel 4437 }); 4438 }, 4439 migrate: migrateBorderRadius 4440 }, { 4441 supports: { 4442 align: true, 4443 alignWide: false 4444 }, 4445 attributes: { 4446 ...blockAttributes, 4447 linkTarget: { 4448 type: 'string', 4449 source: 'attribute', 4450 selector: 'a', 4451 attribute: 'target' 4452 }, 4453 rel: { 4454 type: 'string', 4455 source: 'attribute', 4456 selector: 'a', 4457 attribute: 'rel' 4458 }, 4459 placeholder: { 4460 type: 'string' 4461 }, 4462 borderRadius: { 4463 type: 'number' 4464 }, 4465 backgroundColor: { 4466 type: 'string' 4467 }, 4468 textColor: { 4469 type: 'string' 4470 }, 4471 customBackgroundColor: { 4472 type: 'string' 4473 }, 4474 customTextColor: { 4475 type: 'string' 4476 }, 4477 customGradient: { 4478 type: 'string' 4479 }, 4480 gradient: { 4481 type: 'string' 4482 } 4483 }, 4484 isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient || !!attributes.align, 4485 migrate: (0,external_wp_compose_namespaceObject.compose)(migrateBorderRadius, migrateCustomColorsAndGradients, migrateAlign), 4486 save({ 4487 attributes 4488 }) { 4489 const { 4490 backgroundColor, 4491 borderRadius, 4492 customBackgroundColor, 4493 customTextColor, 4494 customGradient, 4495 linkTarget, 4496 gradient, 4497 rel, 4498 text, 4499 textColor, 4500 title, 4501 url 4502 } = attributes; 4503 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); 4504 const backgroundClass = !customGradient && (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); 4505 const gradientClass = (0,external_wp_blockEditor_namespaceObject.__experimentalGetGradientClass)(gradient); 4506 const buttonClasses = dist_clsx('wp-block-button__link', { 4507 'has-text-color': textColor || customTextColor, 4508 [textClass]: textClass, 4509 'has-background': backgroundColor || customBackgroundColor || customGradient || gradient, 4510 [backgroundClass]: backgroundClass, 4511 'no-border-radius': borderRadius === 0, 4512 [gradientClass]: gradientClass 4513 }); 4514 const buttonStyle = { 4515 background: customGradient ? customGradient : undefined, 4516 backgroundColor: backgroundClass || customGradient || gradient ? undefined : customBackgroundColor, 4517 color: textClass ? undefined : customTextColor, 4518 borderRadius: borderRadius ? borderRadius + 'px' : undefined 4519 }; 4520 4521 // The use of a `title` attribute here is soft-deprecated, but still applied 4522 // if it had already been assigned, for the sake of backward-compatibility. 4523 // A title will no longer be assigned for new or updated button block links. 4524 4525 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4526 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4527 tagName: "a", 4528 className: buttonClasses, 4529 href: url, 4530 title: title, 4531 style: buttonStyle, 4532 value: text, 4533 target: linkTarget, 4534 rel: rel 4535 }) 4536 }); 4537 } 4538 }, { 4539 attributes: { 4540 ...blockAttributes, 4541 align: { 4542 type: 'string', 4543 default: 'none' 4544 }, 4545 backgroundColor: { 4546 type: 'string' 4547 }, 4548 textColor: { 4549 type: 'string' 4550 }, 4551 customBackgroundColor: { 4552 type: 'string' 4553 }, 4554 customTextColor: { 4555 type: 'string' 4556 }, 4557 linkTarget: { 4558 type: 'string', 4559 source: 'attribute', 4560 selector: 'a', 4561 attribute: 'target' 4562 }, 4563 rel: { 4564 type: 'string', 4565 source: 'attribute', 4566 selector: 'a', 4567 attribute: 'rel' 4568 }, 4569 placeholder: { 4570 type: 'string' 4571 } 4572 }, 4573 isEligible(attribute) { 4574 return attribute.className && attribute.className.includes('is-style-squared'); 4575 }, 4576 migrate(attributes) { 4577 let newClassName = attributes.className; 4578 if (newClassName) { 4579 newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim(); 4580 } 4581 return migrateBorderRadius(migrateCustomColorsAndGradients({ 4582 ...attributes, 4583 className: newClassName ? newClassName : undefined, 4584 borderRadius: 0 4585 })); 4586 }, 4587 save({ 4588 attributes 4589 }) { 4590 const { 4591 backgroundColor, 4592 customBackgroundColor, 4593 customTextColor, 4594 linkTarget, 4595 rel, 4596 text, 4597 textColor, 4598 title, 4599 url 4600 } = attributes; 4601 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); 4602 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); 4603 const buttonClasses = dist_clsx('wp-block-button__link', { 4604 'has-text-color': textColor || customTextColor, 4605 [textClass]: textClass, 4606 'has-background': backgroundColor || customBackgroundColor, 4607 [backgroundClass]: backgroundClass 4608 }); 4609 const buttonStyle = { 4610 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 4611 color: textClass ? undefined : customTextColor 4612 }; 4613 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4614 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4615 tagName: "a", 4616 className: buttonClasses, 4617 href: url, 4618 title: title, 4619 style: buttonStyle, 4620 value: text, 4621 target: linkTarget, 4622 rel: rel 4623 }) 4624 }); 4625 } 4626 }, { 4627 attributes: { 4628 ...blockAttributes, 4629 align: { 4630 type: 'string', 4631 default: 'none' 4632 }, 4633 backgroundColor: { 4634 type: 'string' 4635 }, 4636 textColor: { 4637 type: 'string' 4638 }, 4639 customBackgroundColor: { 4640 type: 'string' 4641 }, 4642 customTextColor: { 4643 type: 'string' 4644 } 4645 }, 4646 migrate: oldColorsMigration, 4647 save({ 4648 attributes 4649 }) { 4650 const { 4651 url, 4652 text, 4653 title, 4654 backgroundColor, 4655 textColor, 4656 customBackgroundColor, 4657 customTextColor 4658 } = attributes; 4659 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); 4660 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); 4661 const buttonClasses = dist_clsx('wp-block-button__link', { 4662 'has-text-color': textColor || customTextColor, 4663 [textClass]: textClass, 4664 'has-background': backgroundColor || customBackgroundColor, 4665 [backgroundClass]: backgroundClass 4666 }); 4667 const buttonStyle = { 4668 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 4669 color: textClass ? undefined : customTextColor 4670 }; 4671 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4672 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4673 tagName: "a", 4674 className: buttonClasses, 4675 href: url, 4676 title: title, 4677 style: buttonStyle, 4678 value: text 4679 }) 4680 }); 4681 } 4682 }, { 4683 attributes: { 4684 ...blockAttributes, 4685 color: { 4686 type: 'string' 4687 }, 4688 textColor: { 4689 type: 'string' 4690 }, 4691 align: { 4692 type: 'string', 4693 default: 'none' 4694 } 4695 }, 4696 save({ 4697 attributes 4698 }) { 4699 const { 4700 url, 4701 text, 4702 title, 4703 align, 4704 color, 4705 textColor 4706 } = attributes; 4707 const buttonStyle = { 4708 backgroundColor: color, 4709 color: textColor 4710 }; 4711 const linkClass = 'wp-block-button__link'; 4712 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4713 className: `align$align}`, 4714 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4715 tagName: "a", 4716 className: linkClass, 4717 href: url, 4718 title: title, 4719 style: buttonStyle, 4720 value: text 4721 }) 4722 }); 4723 }, 4724 migrate: oldColorsMigration 4725 }, { 4726 attributes: { 4727 ...blockAttributes, 4728 color: { 4729 type: 'string' 4730 }, 4731 textColor: { 4732 type: 'string' 4733 }, 4734 align: { 4735 type: 'string', 4736 default: 'none' 4737 } 4738 }, 4739 save({ 4740 attributes 4741 }) { 4742 const { 4743 url, 4744 text, 4745 title, 4746 align, 4747 color, 4748 textColor 4749 } = attributes; 4750 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 4751 className: `align$align}`, 4752 style: { 4753 backgroundColor: color 4754 }, 4755 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 4756 tagName: "a", 4757 href: url, 4758 title: title, 4759 style: { 4760 color: textColor 4761 }, 4762 value: text 4763 }) 4764 }); 4765 }, 4766 migrate: oldColorsMigration 4767 }]; 4768 /* harmony default export */ const button_deprecated = (deprecated_deprecated); 4769 4770 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/constants.js 4771 const NEW_TAB_REL = 'noreferrer noopener'; 4772 const NEW_TAB_TARGET = '_blank'; 4773 const NOFOLLOW_REL = 'nofollow'; 4774 4775 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/get-updated-link-attributes.js 4776 /** 4777 * Internal dependencies 4778 */ 4779 4780 4781 /** 4782 * WordPress dependencies 4783 */ 4784 4785 4786 /** 4787 * Updates the link attributes. 4788 * 4789 * @param {Object} attributes The current block attributes. 4790 * @param {string} attributes.rel The current link rel attribute. 4791 * @param {string} attributes.url The current link url. 4792 * @param {boolean} attributes.opensInNewTab Whether the link should open in a new window. 4793 * @param {boolean} attributes.nofollow Whether the link should be marked as nofollow. 4794 */ 4795 function getUpdatedLinkAttributes({ 4796 rel = '', 4797 url = '', 4798 opensInNewTab, 4799 nofollow 4800 }) { 4801 let newLinkTarget; 4802 // Since `rel` is editable attribute, we need to check for existing values and proceed accordingly. 4803 let updatedRel = rel; 4804 if (opensInNewTab) { 4805 newLinkTarget = NEW_TAB_TARGET; 4806 updatedRel = updatedRel?.includes(NEW_TAB_REL) ? updatedRel : updatedRel + ` $NEW_TAB_REL}`; 4807 } else { 4808 const relRegex = new RegExp(`\\b$NEW_TAB_REL}\\s*`, 'g'); 4809 updatedRel = updatedRel?.replace(relRegex, '').trim(); 4810 } 4811 if (nofollow) { 4812 updatedRel = updatedRel?.includes(NOFOLLOW_REL) ? updatedRel : updatedRel + ` $NOFOLLOW_REL}`; 4813 } else { 4814 const relRegex = new RegExp(`\\b$NOFOLLOW_REL}\\s*`, 'g'); 4815 updatedRel = updatedRel?.replace(relRegex, '').trim(); 4816 } 4817 return { 4818 url: (0,external_wp_url_namespaceObject.prependHTTP)(url), 4819 linkTarget: newLinkTarget, 4820 rel: updatedRel || undefined 4821 }; 4822 } 4823 4824 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/remove-anchor-tag.js 4825 /** 4826 * Removes anchor tags from a string. 4827 * 4828 * @param {string} value The value to remove anchor tags from. 4829 * 4830 * @return {string} The value with anchor tags removed. 4831 */ 4832 function removeAnchorTag(value) { 4833 // To do: Refactor this to use rich text's removeFormat instead. 4834 return value.toString().replace(/<\/?a[^>]*>/g, ''); 4835 } 4836 4837 ;// CONCATENATED MODULE: external ["wp","keycodes"] 4838 const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; 4839 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js 4840 /** 4841 * WordPress dependencies 4842 */ 4843 4844 4845 const link_link = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 4846 xmlns: "http://www.w3.org/2000/svg", 4847 viewBox: "0 0 24 24", 4848 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 4849 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" 4850 }) 4851 }); 4852 /* harmony default export */ const library_link = (link_link); 4853 4854 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js 4855 /** 4856 * WordPress dependencies 4857 */ 4858 4859 4860 const linkOff = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 4861 xmlns: "http://www.w3.org/2000/svg", 4862 viewBox: "0 0 24 24", 4863 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 4864 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" 4865 }) 4866 }); 4867 /* harmony default export */ const link_off = (linkOff); 4868 4869 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js 4870 /** 4871 * External dependencies 4872 */ 4873 4874 4875 /** 4876 * Internal dependencies 4877 */ 4878 4879 4880 4881 4882 4883 /** 4884 * WordPress dependencies 4885 */ 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 const LINK_SETTINGS = [...external_wp_blockEditor_namespaceObject.__experimentalLinkControl.DEFAULT_LINK_SETTINGS, { 4899 id: 'nofollow', 4900 title: (0,external_wp_i18n_namespaceObject.__)('Mark as nofollow') 4901 }]; 4902 function useEnter(props) { 4903 const { 4904 replaceBlocks, 4905 selectionChange 4906 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 4907 const { 4908 getBlock, 4909 getBlockRootClientId, 4910 getBlockIndex 4911 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 4912 const propsRef = (0,external_wp_element_namespaceObject.useRef)(props); 4913 propsRef.current = props; 4914 return (0,external_wp_compose_namespaceObject.useRefEffect)(element => { 4915 function onKeyDown(event) { 4916 if (event.defaultPrevented || event.keyCode !== external_wp_keycodes_namespaceObject.ENTER) { 4917 return; 4918 } 4919 const { 4920 content, 4921 clientId 4922 } = propsRef.current; 4923 if (content.length) { 4924 return; 4925 } 4926 event.preventDefault(); 4927 const topParentListBlock = getBlock(getBlockRootClientId(clientId)); 4928 const blockIndex = getBlockIndex(clientId); 4929 const head = (0,external_wp_blocks_namespaceObject.cloneBlock)({ 4930 ...topParentListBlock, 4931 innerBlocks: topParentListBlock.innerBlocks.slice(0, blockIndex) 4932 }); 4933 const middle = (0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)()); 4934 const after = topParentListBlock.innerBlocks.slice(blockIndex + 1); 4935 const tail = after.length ? [(0,external_wp_blocks_namespaceObject.cloneBlock)({ 4936 ...topParentListBlock, 4937 innerBlocks: after 4938 })] : []; 4939 replaceBlocks(topParentListBlock.clientId, [head, middle, ...tail], 1); 4940 // We manually change the selection here because we are replacing 4941 // a different block than the selected one. 4942 selectionChange(middle.clientId); 4943 } 4944 element.addEventListener('keydown', onKeyDown); 4945 return () => { 4946 element.removeEventListener('keydown', onKeyDown); 4947 }; 4948 }, []); 4949 } 4950 function WidthPanel({ 4951 selectedWidth, 4952 setAttributes 4953 }) { 4954 function handleChange(newWidth) { 4955 // Check if we are toggling the width off 4956 const width = selectedWidth === newWidth ? undefined : newWidth; 4957 4958 // Update attributes. 4959 setAttributes({ 4960 width 4961 }); 4962 } 4963 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { 4964 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 4965 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ButtonGroup, { 4966 "aria-label": (0,external_wp_i18n_namespaceObject.__)('Button width'), 4967 children: [25, 50, 75, 100].map(widthValue => { 4968 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.Button, { 4969 size: "small", 4970 variant: widthValue === selectedWidth ? 'primary' : undefined, 4971 onClick: () => handleChange(widthValue), 4972 children: [widthValue, "%"] 4973 }, widthValue); 4974 }) 4975 }) 4976 }); 4977 } 4978 function ButtonEdit(props) { 4979 const { 4980 attributes, 4981 setAttributes, 4982 className, 4983 isSelected, 4984 onReplace, 4985 mergeBlocks, 4986 clientId, 4987 context 4988 } = props; 4989 const { 4990 tagName, 4991 textAlign, 4992 linkTarget, 4993 placeholder, 4994 rel, 4995 style, 4996 text, 4997 url, 4998 width, 4999 metadata 5000 } = attributes; 5001 const TagName = tagName || 'a'; 5002 function onKeyDown(event) { 5003 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, 'k')) { 5004 startEditing(event); 5005 } else if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primaryShift(event, 'k')) { 5006 unlink(); 5007 richTextRef.current?.focus(); 5008 } 5009 } 5010 5011 // Use internal state instead of a ref to make sure that the component 5012 // re-renders when the popover's anchor updates. 5013 const [popoverAnchor, setPopoverAnchor] = (0,external_wp_element_namespaceObject.useState)(null); 5014 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseBorderProps)(attributes); 5015 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalUseColorProps)(attributes); 5016 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 5017 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 5018 const ref = (0,external_wp_element_namespaceObject.useRef)(); 5019 const richTextRef = (0,external_wp_element_namespaceObject.useRef)(); 5020 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 5021 ref: (0,external_wp_compose_namespaceObject.useMergeRefs)([setPopoverAnchor, ref]), 5022 onKeyDown 5023 }); 5024 const blockEditingMode = (0,external_wp_blockEditor_namespaceObject.useBlockEditingMode)(); 5025 const [isEditingURL, setIsEditingURL] = (0,external_wp_element_namespaceObject.useState)(false); 5026 const isURLSet = !!url; 5027 const opensInNewTab = linkTarget === NEW_TAB_TARGET; 5028 const nofollow = !!rel?.includes(NOFOLLOW_REL); 5029 const isLinkTag = 'a' === TagName; 5030 function startEditing(event) { 5031 event.preventDefault(); 5032 setIsEditingURL(true); 5033 } 5034 function unlink() { 5035 setAttributes({ 5036 url: undefined, 5037 linkTarget: undefined, 5038 rel: undefined 5039 }); 5040 setIsEditingURL(false); 5041 } 5042 (0,external_wp_element_namespaceObject.useEffect)(() => { 5043 if (!isSelected) { 5044 setIsEditingURL(false); 5045 } 5046 }, [isSelected]); 5047 5048 // Memoize link value to avoid overriding the LinkControl's internal state. 5049 // This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256. 5050 const linkValue = (0,external_wp_element_namespaceObject.useMemo)(() => ({ 5051 url, 5052 opensInNewTab, 5053 nofollow 5054 }), [url, opensInNewTab, nofollow]); 5055 const useEnterRef = useEnter({ 5056 content: text, 5057 clientId 5058 }); 5059 const mergedRef = (0,external_wp_compose_namespaceObject.useMergeRefs)([useEnterRef, richTextRef]); 5060 const { 5061 lockUrlControls = false 5062 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 5063 if (!isSelected) { 5064 return {}; 5065 } 5066 const blockBindingsSource = unlock(select(external_wp_blocks_namespaceObject.store)).getBlockBindingsSource(metadata?.bindings?.url?.source); 5067 return { 5068 lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue({ 5069 select, 5070 context, 5071 args: metadata?.bindings?.url?.args 5072 }) 5073 }; 5074 }, [isSelected, metadata?.bindings?.url]); 5075 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 5076 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5077 ...blockProps, 5078 className: dist_clsx(blockProps.className, { 5079 [`has-custom-width wp-block-button__width-$width}`]: width, 5080 [`has-custom-font-size`]: blockProps.style.fontSize 5081 }), 5082 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText, { 5083 ref: mergedRef, 5084 "aria-label": (0,external_wp_i18n_namespaceObject.__)('Button text'), 5085 placeholder: placeholder || (0,external_wp_i18n_namespaceObject.__)('Add text…'), 5086 value: text, 5087 onChange: value => setAttributes({ 5088 text: removeAnchorTag(value) 5089 }), 5090 withoutInteractiveFormatting: true, 5091 className: dist_clsx(className, 'wp-block-button__link', colorProps.className, borderProps.className, { 5092 [`has-text-align-$textAlign}`]: textAlign, 5093 // For backwards compatibility add style that isn't 5094 // provided via block support. 5095 'no-border-radius': style?.border?.radius === 0 5096 }, (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)('button')), 5097 style: { 5098 ...borderProps.style, 5099 ...colorProps.style, 5100 ...spacingProps.style, 5101 ...shadowProps.style 5102 }, 5103 onReplace: onReplace, 5104 onMerge: mergeBlocks, 5105 identifier: "text" 5106 }) 5107 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_blockEditor_namespaceObject.BlockControls, { 5108 group: "block", 5109 children: [blockEditingMode === 'default' && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.AlignmentControl, { 5110 value: textAlign, 5111 onChange: nextAlign => { 5112 setAttributes({ 5113 textAlign: nextAlign 5114 }); 5115 } 5116 }), !isURLSet && isLinkTag && !lockUrlControls && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { 5117 name: "link", 5118 icon: library_link, 5119 title: (0,external_wp_i18n_namespaceObject.__)('Link'), 5120 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primary('k'), 5121 onClick: startEditing 5122 }), isURLSet && isLinkTag && !lockUrlControls && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { 5123 name: "link", 5124 icon: link_off, 5125 title: (0,external_wp_i18n_namespaceObject.__)('Unlink'), 5126 shortcut: external_wp_keycodes_namespaceObject.displayShortcut.primaryShift('k'), 5127 onClick: unlink, 5128 isActive: true 5129 })] 5130 }), isLinkTag && isSelected && (isEditingURL || isURLSet) && !lockUrlControls && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Popover, { 5131 placement: "bottom", 5132 onClose: () => { 5133 setIsEditingURL(false); 5134 richTextRef.current?.focus(); 5135 }, 5136 anchor: popoverAnchor, 5137 focusOnMount: isEditingURL ? 'firstElement' : false, 5138 __unstableSlotName: "__unstable-block-tools-after", 5139 shift: true, 5140 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.__experimentalLinkControl, { 5141 value: linkValue, 5142 onChange: ({ 5143 url: newURL, 5144 opensInNewTab: newOpensInNewTab, 5145 nofollow: newNofollow 5146 }) => setAttributes(getUpdatedLinkAttributes({ 5147 rel, 5148 url: newURL, 5149 opensInNewTab: newOpensInNewTab, 5150 nofollow: newNofollow 5151 })), 5152 onRemove: () => { 5153 unlink(); 5154 richTextRef.current?.focus(); 5155 }, 5156 forceIsEditingLink: isEditingURL, 5157 settings: LINK_SETTINGS 5158 }) 5159 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 5160 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WidthPanel, { 5161 selectedWidth: width, 5162 setAttributes: setAttributes 5163 }) 5164 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 5165 group: "advanced", 5166 children: isLinkTag && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.TextControl, { 5167 __nextHasNoMarginBottom: true, 5168 label: (0,external_wp_i18n_namespaceObject.__)('Link rel'), 5169 value: rel || '', 5170 onChange: newRel => setAttributes({ 5171 rel: newRel 5172 }) 5173 }) 5174 })] 5175 }); 5176 } 5177 /* harmony default export */ const button_edit = (ButtonEdit); 5178 5179 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js 5180 /** 5181 * External dependencies 5182 */ 5183 5184 5185 /** 5186 * WordPress dependencies 5187 */ 5188 5189 5190 function save_save({ 5191 attributes, 5192 className 5193 }) { 5194 const { 5195 tagName, 5196 type, 5197 textAlign, 5198 fontSize, 5199 linkTarget, 5200 rel, 5201 style, 5202 text, 5203 title, 5204 url, 5205 width 5206 } = attributes; 5207 const TagName = tagName || 'a'; 5208 const isButtonTag = 'button' === TagName; 5209 const buttonType = type || 'button'; 5210 const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes); 5211 const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes); 5212 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 5213 const shadowProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetShadowClassesAndStyles)(attributes); 5214 const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, borderProps.className, { 5215 [`has-text-align-$textAlign}`]: textAlign, 5216 // For backwards compatibility add style that isn't provided via 5217 // block support. 5218 'no-border-radius': style?.border?.radius === 0 5219 }, (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)('button')); 5220 const buttonStyle = { 5221 ...borderProps.style, 5222 ...colorProps.style, 5223 ...spacingProps.style, 5224 ...shadowProps.style 5225 }; 5226 5227 // The use of a `title` attribute here is soft-deprecated, but still applied 5228 // if it had already been assigned, for the sake of backward-compatibility. 5229 // A title will no longer be assigned for new or updated button block links. 5230 5231 const wrapperClasses = dist_clsx(className, { 5232 [`has-custom-width wp-block-button__width-$width}`]: width, 5233 [`has-custom-font-size`]: fontSize || style?.typography?.fontSize 5234 }); 5235 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5236 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 5237 className: wrapperClasses 5238 }), 5239 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 5240 tagName: TagName, 5241 type: isButtonTag ? buttonType : null, 5242 className: buttonClasses, 5243 href: isButtonTag ? null : url, 5244 title: title, 5245 style: buttonStyle, 5246 value: text, 5247 target: isButtonTag ? null : linkTarget, 5248 rel: isButtonTag ? null : rel 5249 }) 5250 }); 5251 } 5252 5253 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js 5254 /** 5255 * WordPress dependencies 5256 */ 5257 5258 5259 5260 /** 5261 * Internal dependencies 5262 */ 5263 5264 5265 5266 const button_metadata = { 5267 $schema: "https://schemas.wp.org/trunk/block.json", 5268 apiVersion: 3, 5269 name: "core/button", 5270 title: "Button", 5271 category: "design", 5272 parent: ["core/buttons"], 5273 description: "Prompt visitors to take action with a button-style link.", 5274 keywords: ["link"], 5275 textdomain: "default", 5276 attributes: { 5277 tagName: { 5278 type: "string", 5279 "enum": ["a", "button"], 5280 "default": "a" 5281 }, 5282 type: { 5283 type: "string", 5284 "default": "button" 5285 }, 5286 textAlign: { 5287 type: "string" 5288 }, 5289 url: { 5290 type: "string", 5291 source: "attribute", 5292 selector: "a", 5293 attribute: "href", 5294 __experimentalRole: "content" 5295 }, 5296 title: { 5297 type: "string", 5298 source: "attribute", 5299 selector: "a,button", 5300 attribute: "title", 5301 __experimentalRole: "content" 5302 }, 5303 text: { 5304 type: "rich-text", 5305 source: "rich-text", 5306 selector: "a,button", 5307 __experimentalRole: "content" 5308 }, 5309 linkTarget: { 5310 type: "string", 5311 source: "attribute", 5312 selector: "a", 5313 attribute: "target", 5314 __experimentalRole: "content" 5315 }, 5316 rel: { 5317 type: "string", 5318 source: "attribute", 5319 selector: "a", 5320 attribute: "rel", 5321 __experimentalRole: "content" 5322 }, 5323 placeholder: { 5324 type: "string" 5325 }, 5326 backgroundColor: { 5327 type: "string" 5328 }, 5329 textColor: { 5330 type: "string" 5331 }, 5332 gradient: { 5333 type: "string" 5334 }, 5335 width: { 5336 type: "number" 5337 } 5338 }, 5339 supports: { 5340 anchor: true, 5341 splitting: true, 5342 align: false, 5343 alignWide: false, 5344 color: { 5345 __experimentalSkipSerialization: true, 5346 gradients: true, 5347 __experimentalDefaultControls: { 5348 background: true, 5349 text: true 5350 } 5351 }, 5352 typography: { 5353 fontSize: true, 5354 lineHeight: true, 5355 __experimentalFontFamily: true, 5356 __experimentalFontWeight: true, 5357 __experimentalFontStyle: true, 5358 __experimentalTextTransform: true, 5359 __experimentalTextDecoration: true, 5360 __experimentalLetterSpacing: true, 5361 __experimentalDefaultControls: { 5362 fontSize: true 5363 } 5364 }, 5365 reusable: false, 5366 shadow: { 5367 __experimentalSkipSerialization: true 5368 }, 5369 spacing: { 5370 __experimentalSkipSerialization: true, 5371 padding: ["horizontal", "vertical"], 5372 __experimentalDefaultControls: { 5373 padding: true 5374 } 5375 }, 5376 __experimentalBorder: { 5377 color: true, 5378 radius: true, 5379 style: true, 5380 width: true, 5381 __experimentalSkipSerialization: true, 5382 __experimentalDefaultControls: { 5383 color: true, 5384 radius: true, 5385 style: true, 5386 width: true 5387 } 5388 }, 5389 __experimentalSelector: ".wp-block-button .wp-block-button__link", 5390 interactivity: { 5391 clientNavigation: true 5392 } 5393 }, 5394 styles: [{ 5395 name: "fill", 5396 label: "Fill", 5397 isDefault: true 5398 }, { 5399 name: "outline", 5400 label: "Outline" 5401 }], 5402 editorStyle: "wp-block-button-editor", 5403 style: "wp-block-button" 5404 }; 5405 5406 const { 5407 name: button_name 5408 } = button_metadata; 5409 5410 const button_settings = { 5411 icon: library_button, 5412 example: { 5413 attributes: { 5414 className: 'is-style-fill', 5415 text: (0,external_wp_i18n_namespaceObject.__)('Call to Action') 5416 } 5417 }, 5418 edit: button_edit, 5419 save: save_save, 5420 deprecated: button_deprecated, 5421 merge: (a, { 5422 text = '' 5423 }) => ({ 5424 ...a, 5425 text: (a.text || '') + text 5426 }) 5427 }; 5428 const button_init = () => initBlock({ 5429 name: button_name, 5430 metadata: button_metadata, 5431 settings: button_settings 5432 }); 5433 5434 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js 5435 /** 5436 * WordPress dependencies 5437 */ 5438 5439 5440 const buttons = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 5441 viewBox: "0 0 24 24", 5442 xmlns: "http://www.w3.org/2000/svg", 5443 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 5444 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" 5445 }) 5446 }); 5447 /* harmony default export */ const library_buttons = (buttons); 5448 5449 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js 5450 /** 5451 * External dependencies 5452 */ 5453 5454 /** 5455 * WordPress dependencies 5456 */ 5457 5458 5459 /** 5460 * @param {Object} attributes Block's attributes. 5461 */ 5462 5463 const migrateWithLayout = attributes => { 5464 if (!!attributes.layout) { 5465 return attributes; 5466 } 5467 const { 5468 contentJustification, 5469 orientation, 5470 ...updatedAttributes 5471 } = attributes; 5472 if (contentJustification || orientation) { 5473 Object.assign(updatedAttributes, { 5474 layout: { 5475 type: 'flex', 5476 ...(contentJustification && { 5477 justifyContent: contentJustification 5478 }), 5479 ...(orientation && { 5480 orientation 5481 }) 5482 } 5483 }); 5484 } 5485 return updatedAttributes; 5486 }; 5487 const buttons_deprecated_deprecated = [{ 5488 attributes: { 5489 contentJustification: { 5490 type: 'string' 5491 }, 5492 orientation: { 5493 type: 'string', 5494 default: 'horizontal' 5495 } 5496 }, 5497 supports: { 5498 anchor: true, 5499 align: ['wide', 'full'], 5500 __experimentalExposeControlsToChildren: true, 5501 spacing: { 5502 blockGap: true, 5503 margin: ['top', 'bottom'], 5504 __experimentalDefaultControls: { 5505 blockGap: true 5506 } 5507 } 5508 }, 5509 isEligible: ({ 5510 contentJustification, 5511 orientation 5512 }) => !!contentJustification || !!orientation, 5513 migrate: migrateWithLayout, 5514 save({ 5515 attributes: { 5516 contentJustification, 5517 orientation 5518 } 5519 }) { 5520 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5521 ...external_wp_blockEditor_namespaceObject.useBlockProps.save({ 5522 className: dist_clsx({ 5523 [`is-content-justification-$contentJustification}`]: contentJustification, 5524 'is-vertical': orientation === 'vertical' 5525 }) 5526 }), 5527 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 5528 }); 5529 } 5530 }, { 5531 supports: { 5532 align: ['center', 'left', 'right'], 5533 anchor: true 5534 }, 5535 save() { 5536 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5537 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 5538 }); 5539 }, 5540 isEligible({ 5541 align 5542 }) { 5543 return align && ['center', 'left', 'right'].includes(align); 5544 }, 5545 migrate(attributes) { 5546 return migrateWithLayout({ 5547 ...attributes, 5548 align: undefined, 5549 // Floating Buttons blocks shouldn't have been supported in the 5550 // first place. Most users using them probably expected them to 5551 // act like content justification controls, so these blocks are 5552 // migrated to use content justification. 5553 // As for center-aligned Buttons blocks, the content justification 5554 // equivalent will create an identical end result in most cases. 5555 contentJustification: attributes.align 5556 }); 5557 } 5558 }]; 5559 /* harmony default export */ const buttons_deprecated = (buttons_deprecated_deprecated); 5560 5561 ;// CONCATENATED MODULE: external ["wp","richText"] 5562 const external_wp_richText_namespaceObject = window["wp"]["richText"]; 5563 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/get-transformed-metadata.js 5564 /** 5565 * WordPress dependencies 5566 */ 5567 5568 5569 /** 5570 * Transform the metadata attribute with only the values and bindings specified by each transform. 5571 * Returns `undefined` if the input metadata is falsy. 5572 * 5573 * @param {Object} metadata Original metadata attribute from the block that is being transformed. 5574 * @param {Object} newBlockName Name of the final block after the transformation. 5575 * @param {Function} bindingsCallback Optional callback to transform the `bindings` property object. 5576 * @return {Object|undefined} New metadata object only with the relevant properties. 5577 */ 5578 function getTransformedMetadata(metadata, newBlockName, bindingsCallback) { 5579 if (!metadata) { 5580 return; 5581 } 5582 const { 5583 supports 5584 } = (0,external_wp_blocks_namespaceObject.getBlockType)(newBlockName); 5585 // Fixed until an opt-in mechanism is implemented. 5586 const BLOCK_BINDINGS_SUPPORTED_BLOCKS = ['core/paragraph', 'core/heading', 'core/image', 'core/button']; 5587 // The metadata properties that should be preserved after the transform. 5588 const transformSupportedProps = []; 5589 // If it support bindings, and there is a transform bindings callback, add the `id` and `bindings` properties. 5590 if (BLOCK_BINDINGS_SUPPORTED_BLOCKS.includes(newBlockName) && bindingsCallback) { 5591 transformSupportedProps.push('id', 'bindings'); 5592 } 5593 // If it support block naming (true by default), add the `name` property. 5594 if (supports.renaming !== false) { 5595 transformSupportedProps.push('name'); 5596 } 5597 5598 // Return early if no supported properties. 5599 if (!transformSupportedProps.length) { 5600 return; 5601 } 5602 const newMetadata = Object.entries(metadata).reduce((obj, [prop, value]) => { 5603 // If prop is not supported, don't add it to the new metadata object. 5604 if (!transformSupportedProps.includes(prop)) { 5605 return obj; 5606 } 5607 obj[prop] = prop === 'bindings' ? bindingsCallback(value) : value; 5608 return obj; 5609 }, {}); 5610 5611 // Return undefined if object is empty. 5612 return Object.keys(newMetadata).length ? newMetadata : undefined; 5613 } 5614 5615 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js 5616 /** 5617 * WordPress dependencies 5618 */ 5619 5620 5621 5622 /** 5623 * Internal dependencies 5624 */ 5625 5626 const transforms_transforms = { 5627 from: [{ 5628 type: 'block', 5629 isMultiBlock: true, 5630 blocks: ['core/button'], 5631 transform: buttons => 5632 // Creates the buttons block. 5633 (0,external_wp_blocks_namespaceObject.createBlock)('core/buttons', {}, 5634 // Loop the selected buttons. 5635 buttons.map(attributes => 5636 // Create singular button in the buttons block. 5637 (0,external_wp_blocks_namespaceObject.createBlock)('core/button', attributes))) 5638 }, { 5639 type: 'block', 5640 isMultiBlock: true, 5641 blocks: ['core/paragraph'], 5642 transform: buttons => 5643 // Creates the buttons block. 5644 (0,external_wp_blocks_namespaceObject.createBlock)('core/buttons', {}, 5645 // Loop the selected buttons. 5646 buttons.map(attributes => { 5647 const { 5648 content, 5649 metadata 5650 } = attributes; 5651 const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, content); 5652 // Remove any HTML tags. 5653 const text = element.innerText || ''; 5654 // Get first url. 5655 const link = element.querySelector('a'); 5656 const url = link?.getAttribute('href'); 5657 // Create singular button in the buttons block. 5658 return (0,external_wp_blocks_namespaceObject.createBlock)('core/button', { 5659 text, 5660 url, 5661 metadata: getTransformedMetadata(metadata, 'core/button', ({ 5662 content: contentBinding 5663 }) => ({ 5664 text: contentBinding 5665 })) 5666 }); 5667 })), 5668 isMatch: paragraphs => { 5669 return paragraphs.every(attributes => { 5670 const element = (0,external_wp_richText_namespaceObject.__unstableCreateElement)(document, attributes.content); 5671 const text = element.innerText || ''; 5672 const links = element.querySelectorAll('a'); 5673 return text.length <= 30 && links.length <= 1; 5674 }); 5675 } 5676 }] 5677 }; 5678 /* harmony default export */ const buttons_transforms = (transforms_transforms); 5679 5680 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js 5681 /** 5682 * External dependencies 5683 */ 5684 5685 5686 /** 5687 * WordPress dependencies 5688 */ 5689 5690 5691 5692 5693 const DEFAULT_BLOCK = { 5694 name: 'core/button', 5695 attributesToCopy: ['backgroundColor', 'border', 'className', 'fontFamily', 'fontSize', 'gradient', 'style', 'textColor', 'width'] 5696 }; 5697 function ButtonsEdit({ 5698 attributes, 5699 className 5700 }) { 5701 var _layout$orientation; 5702 const { 5703 fontSize, 5704 layout, 5705 style 5706 } = attributes; 5707 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 5708 className: dist_clsx(className, { 5709 'has-custom-font-size': fontSize || style?.typography?.fontSize 5710 }) 5711 }); 5712 const { 5713 hasButtonVariations 5714 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 5715 const buttonVariations = select(external_wp_blocks_namespaceObject.store).getBlockVariations('core/button', 'inserter'); 5716 return { 5717 hasButtonVariations: buttonVariations.length > 0 5718 }; 5719 }, []); 5720 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 5721 defaultBlock: DEFAULT_BLOCK, 5722 // This check should be handled by the `Inserter` internally to be consistent across all blocks that use it. 5723 directInsert: !hasButtonVariations, 5724 template: [['core/button']], 5725 templateInsertUpdatesSelection: true, 5726 orientation: (_layout$orientation = layout?.orientation) !== null && _layout$orientation !== void 0 ? _layout$orientation : 'horizontal' 5727 }); 5728 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5729 ...innerBlocksProps 5730 }); 5731 } 5732 /* harmony default export */ const buttons_edit = (ButtonsEdit); 5733 5734 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js 5735 /** 5736 * External dependencies 5737 */ 5738 5739 5740 /** 5741 * WordPress dependencies 5742 */ 5743 5744 5745 function buttons_save_save({ 5746 attributes, 5747 className 5748 }) { 5749 const { 5750 fontSize, 5751 style 5752 } = attributes; 5753 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 5754 className: dist_clsx(className, { 5755 'has-custom-font-size': fontSize || style?.typography?.fontSize 5756 }) 5757 }); 5758 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 5759 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5760 ...innerBlocksProps 5761 }); 5762 } 5763 5764 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js 5765 /** 5766 * WordPress dependencies 5767 */ 5768 5769 5770 5771 /** 5772 * Internal dependencies 5773 */ 5774 5775 5776 5777 5778 const buttons_metadata = { 5779 $schema: "https://schemas.wp.org/trunk/block.json", 5780 apiVersion: 3, 5781 name: "core/buttons", 5782 title: "Buttons", 5783 category: "design", 5784 allowedBlocks: ["core/button"], 5785 description: "Prompt visitors to take action with a group of button-style links.", 5786 keywords: ["link"], 5787 textdomain: "default", 5788 supports: { 5789 anchor: true, 5790 align: ["wide", "full"], 5791 html: false, 5792 __experimentalExposeControlsToChildren: true, 5793 spacing: { 5794 blockGap: true, 5795 margin: ["top", "bottom"], 5796 __experimentalDefaultControls: { 5797 blockGap: true 5798 } 5799 }, 5800 typography: { 5801 fontSize: true, 5802 lineHeight: true, 5803 __experimentalFontFamily: true, 5804 __experimentalFontWeight: true, 5805 __experimentalFontStyle: true, 5806 __experimentalTextTransform: true, 5807 __experimentalTextDecoration: true, 5808 __experimentalLetterSpacing: true, 5809 __experimentalDefaultControls: { 5810 fontSize: true 5811 } 5812 }, 5813 layout: { 5814 allowSwitching: false, 5815 allowInheriting: false, 5816 "default": { 5817 type: "flex" 5818 } 5819 }, 5820 interactivity: { 5821 clientNavigation: true 5822 } 5823 }, 5824 editorStyle: "wp-block-buttons-editor", 5825 style: "wp-block-buttons" 5826 }; 5827 5828 const { 5829 name: buttons_name 5830 } = buttons_metadata; 5831 5832 const buttons_settings = { 5833 icon: library_buttons, 5834 example: { 5835 innerBlocks: [{ 5836 name: 'core/button', 5837 attributes: { 5838 text: (0,external_wp_i18n_namespaceObject.__)('Find out more') 5839 } 5840 }, { 5841 name: 'core/button', 5842 attributes: { 5843 text: (0,external_wp_i18n_namespaceObject.__)('Contact us') 5844 } 5845 }] 5846 }, 5847 deprecated: buttons_deprecated, 5848 transforms: buttons_transforms, 5849 edit: buttons_edit, 5850 save: buttons_save_save 5851 }; 5852 const buttons_init = () => initBlock({ 5853 name: buttons_name, 5854 metadata: buttons_metadata, 5855 settings: buttons_settings 5856 }); 5857 5858 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js 5859 /** 5860 * WordPress dependencies 5861 */ 5862 5863 5864 const calendar = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 5865 viewBox: "0 0 24 24", 5866 xmlns: "http://www.w3.org/2000/svg", 5867 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 5868 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" 5869 }) 5870 }); 5871 /* harmony default export */ const library_calendar = (calendar); 5872 5873 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js 5874 /** 5875 * External dependencies 5876 */ 5877 5878 5879 /** 5880 * WordPress dependencies 5881 */ 5882 5883 5884 5885 5886 5887 5888 5889 5890 /** 5891 * Returns the year and month of a specified date. 5892 * 5893 * @see `WP_REST_Posts_Controller::prepare_date_response()`. 5894 * 5895 * @param {string} date Date in `ISO8601/RFC3339` format. 5896 * @return {Object} Year and date of the specified date. 5897 */ 5898 5899 const getYearMonth = memize(date => { 5900 if (!date) { 5901 return {}; 5902 } 5903 const dateObj = new Date(date); 5904 return { 5905 year: dateObj.getFullYear(), 5906 month: dateObj.getMonth() + 1 5907 }; 5908 }); 5909 function CalendarEdit({ 5910 attributes 5911 }) { 5912 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 5913 const { 5914 date, 5915 hasPosts, 5916 hasPostsResolved 5917 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 5918 const { 5919 getEntityRecords, 5920 hasFinishedResolution 5921 } = select(external_wp_coreData_namespaceObject.store); 5922 const singlePublishedPostQuery = { 5923 status: 'publish', 5924 per_page: 1 5925 }; 5926 const posts = getEntityRecords('postType', 'post', singlePublishedPostQuery); 5927 const postsResolved = hasFinishedResolution('getEntityRecords', ['postType', 'post', singlePublishedPostQuery]); 5928 let _date; 5929 5930 // FIXME: @wordpress/block-library should not depend on @wordpress/editor. 5931 // Blocks can be loaded into a *non-post* block editor. 5932 // eslint-disable-next-line @wordpress/data-no-store-string-literals 5933 const editorSelectors = select('core/editor'); 5934 if (editorSelectors) { 5935 const postType = editorSelectors.getEditedPostAttribute('type'); 5936 // Dates are used to overwrite year and month used on the calendar. 5937 // This overwrite should only happen for 'post' post types. 5938 // For other post types the calendar always displays the current month. 5939 if (postType === 'post') { 5940 _date = editorSelectors.getEditedPostAttribute('date'); 5941 } 5942 } 5943 return { 5944 date: _date, 5945 hasPostsResolved: postsResolved, 5946 hasPosts: postsResolved && posts?.length === 1 5947 }; 5948 }, []); 5949 if (!hasPosts) { 5950 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5951 ...blockProps, 5952 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { 5953 icon: library_calendar, 5954 label: (0,external_wp_i18n_namespaceObject.__)('Calendar'), 5955 children: !hasPostsResolved ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) : (0,external_wp_i18n_namespaceObject.__)('No published posts found.') 5956 }) 5957 }); 5958 } 5959 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 5960 ...blockProps, 5961 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { 5962 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)((external_wp_serverSideRender_default()), { 5963 block: "core/calendar", 5964 attributes: { 5965 ...attributes, 5966 ...getYearMonth(date) 5967 } 5968 }) 5969 }) 5970 }); 5971 } 5972 5973 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/transforms.js 5974 /** 5975 * WordPress dependencies 5976 */ 5977 5978 const calendar_transforms_transforms = { 5979 from: [{ 5980 type: 'block', 5981 blocks: ['core/archives'], 5982 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/calendar') 5983 }], 5984 to: [{ 5985 type: 'block', 5986 blocks: ['core/archives'], 5987 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/archives') 5988 }] 5989 }; 5990 /* harmony default export */ const calendar_transforms = (calendar_transforms_transforms); 5991 5992 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js 5993 /** 5994 * WordPress dependencies 5995 */ 5996 5997 5998 /** 5999 * Internal dependencies 6000 */ 6001 6002 const calendar_metadata = { 6003 $schema: "https://schemas.wp.org/trunk/block.json", 6004 apiVersion: 3, 6005 name: "core/calendar", 6006 title: "Calendar", 6007 category: "widgets", 6008 description: "A calendar of your site\u2019s posts.", 6009 keywords: ["posts", "archive"], 6010 textdomain: "default", 6011 attributes: { 6012 month: { 6013 type: "integer" 6014 }, 6015 year: { 6016 type: "integer" 6017 } 6018 }, 6019 supports: { 6020 align: true, 6021 color: { 6022 link: true, 6023 __experimentalSkipSerialization: ["text", "background"], 6024 __experimentalDefaultControls: { 6025 background: true, 6026 text: true 6027 }, 6028 __experimentalSelector: "table, th" 6029 }, 6030 typography: { 6031 fontSize: true, 6032 lineHeight: true, 6033 __experimentalFontFamily: true, 6034 __experimentalFontWeight: true, 6035 __experimentalFontStyle: true, 6036 __experimentalTextTransform: true, 6037 __experimentalLetterSpacing: true, 6038 __experimentalDefaultControls: { 6039 fontSize: true 6040 } 6041 }, 6042 interactivity: { 6043 clientNavigation: true 6044 } 6045 }, 6046 style: "wp-block-calendar" 6047 }; 6048 6049 6050 const { 6051 name: calendar_name 6052 } = calendar_metadata; 6053 6054 const calendar_settings = { 6055 icon: library_calendar, 6056 example: {}, 6057 edit: CalendarEdit, 6058 transforms: calendar_transforms 6059 }; 6060 const calendar_init = () => initBlock({ 6061 name: calendar_name, 6062 metadata: calendar_metadata, 6063 settings: calendar_settings 6064 }); 6065 6066 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js 6067 /** 6068 * WordPress dependencies 6069 */ 6070 6071 6072 const category = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 6073 viewBox: "0 0 24 24", 6074 xmlns: "http://www.w3.org/2000/svg", 6075 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 6076 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", 6077 fillRule: "evenodd", 6078 clipRule: "evenodd" 6079 }) 6080 }); 6081 /* harmony default export */ const library_category = (category); 6082 6083 ;// CONCATENATED MODULE: external ["wp","htmlEntities"] 6084 const external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; 6085 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js 6086 /** 6087 * WordPress dependencies 6088 */ 6089 6090 6091 const pin = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 6092 xmlns: "http://www.w3.org/2000/svg", 6093 viewBox: "0 0 24 24", 6094 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 6095 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" 6096 }) 6097 }); 6098 /* harmony default export */ const library_pin = (pin); 6099 6100 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js 6101 /** 6102 * External dependencies 6103 */ 6104 6105 6106 /** 6107 * WordPress dependencies 6108 */ 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 function CategoriesEdit({ 6120 attributes: { 6121 displayAsDropdown, 6122 showHierarchy, 6123 showPostCounts, 6124 showOnlyTopLevel, 6125 showEmpty 6126 }, 6127 setAttributes, 6128 className 6129 }) { 6130 const selectId = (0,external_wp_compose_namespaceObject.useInstanceId)(CategoriesEdit, 'blocks-category-select'); 6131 const query = { 6132 per_page: -1, 6133 hide_empty: !showEmpty, 6134 context: 'view' 6135 }; 6136 if (showOnlyTopLevel) { 6137 query.parent = 0; 6138 } 6139 const { 6140 records: categories, 6141 isResolving 6142 } = (0,external_wp_coreData_namespaceObject.useEntityRecords)('taxonomy', 'category', query); 6143 const getCategoriesList = parentId => { 6144 if (!categories?.length) { 6145 return []; 6146 } 6147 if (parentId === null) { 6148 return categories; 6149 } 6150 return categories.filter(({ 6151 parent 6152 }) => parent === parentId); 6153 }; 6154 const toggleAttribute = attributeName => newValue => setAttributes({ 6155 [attributeName]: newValue 6156 }); 6157 const renderCategoryName = name => !name ? (0,external_wp_i18n_namespaceObject.__)('(Untitled)') : (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(name).trim(); 6158 const renderCategoryList = () => { 6159 const parentId = showHierarchy ? 0 : null; 6160 const categoriesList = getCategoriesList(parentId); 6161 return categoriesList.map(category => renderCategoryListItem(category)); 6162 }; 6163 const renderCategoryListItem = category => { 6164 const childCategories = getCategoriesList(category.id); 6165 const { 6166 id, 6167 link, 6168 count, 6169 name 6170 } = category; 6171 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("li", { 6172 className: `cat-item cat-item-$id}`, 6173 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 6174 href: link, 6175 target: "_blank", 6176 rel: "noreferrer noopener", 6177 children: renderCategoryName(name) 6178 }), showPostCounts && ` ($count})`, showHierarchy && !!childCategories.length && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("ul", { 6179 className: "children", 6180 children: childCategories.map(childCategory => renderCategoryListItem(childCategory)) 6181 })] 6182 }, id); 6183 }; 6184 const renderCategoryDropdown = () => { 6185 const parentId = showHierarchy ? 0 : null; 6186 const categoriesList = getCategoriesList(parentId); 6187 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 6188 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, { 6189 as: "label", 6190 htmlFor: selectId, 6191 children: (0,external_wp_i18n_namespaceObject.__)('Categories') 6192 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("select", { 6193 id: selectId, 6194 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("option", { 6195 children: (0,external_wp_i18n_namespaceObject.__)('Select Category') 6196 }), categoriesList.map(category => renderCategoryDropdownItem(category, 0))] 6197 })] 6198 }); 6199 }; 6200 const renderCategoryDropdownItem = (category, level) => { 6201 const { 6202 id, 6203 count, 6204 name 6205 } = category; 6206 const childCategories = getCategoriesList(id); 6207 return [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("option", { 6208 className: `level-$level}`, 6209 children: [Array.from({ 6210 length: level * 3 6211 }).map(() => '\xa0'), renderCategoryName(name), showPostCounts && ` ($count})`] 6212 }, id), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; 6213 }; 6214 const TagName = !!categories?.length && !displayAsDropdown && !isResolving ? 'ul' : 'div'; 6215 const classes = dist_clsx(className, { 6216 'wp-block-categories-list': !!categories?.length && !displayAsDropdown && !isResolving, 6217 'wp-block-categories-dropdown': !!categories?.length && displayAsDropdown && !isResolving 6218 }); 6219 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 6220 className: classes 6221 }); 6222 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(TagName, { 6223 ...blockProps, 6224 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 6225 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 6226 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 6227 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 6228 __nextHasNoMarginBottom: true, 6229 label: (0,external_wp_i18n_namespaceObject.__)('Display as dropdown'), 6230 checked: displayAsDropdown, 6231 onChange: toggleAttribute('displayAsDropdown') 6232 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 6233 __nextHasNoMarginBottom: true, 6234 label: (0,external_wp_i18n_namespaceObject.__)('Show post counts'), 6235 checked: showPostCounts, 6236 onChange: toggleAttribute('showPostCounts') 6237 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 6238 __nextHasNoMarginBottom: true, 6239 label: (0,external_wp_i18n_namespaceObject.__)('Show only top level categories'), 6240 checked: showOnlyTopLevel, 6241 onChange: toggleAttribute('showOnlyTopLevel') 6242 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 6243 __nextHasNoMarginBottom: true, 6244 label: (0,external_wp_i18n_namespaceObject.__)('Show empty categories'), 6245 checked: showEmpty, 6246 onChange: toggleAttribute('showEmpty') 6247 }), !showOnlyTopLevel && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 6248 __nextHasNoMarginBottom: true, 6249 label: (0,external_wp_i18n_namespaceObject.__)('Show hierarchy'), 6250 checked: showHierarchy, 6251 onChange: toggleAttribute('showHierarchy') 6252 })] 6253 }) 6254 }), isResolving && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Placeholder, { 6255 icon: library_pin, 6256 label: (0,external_wp_i18n_namespaceObject.__)('Categories'), 6257 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Spinner, {}) 6258 }), !isResolving && categories?.length === 0 && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { 6259 children: (0,external_wp_i18n_namespaceObject.__)('Your site does not have any posts, so there is nothing to display here at the moment.') 6260 }), !isResolving && categories?.length > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())] 6261 }); 6262 } 6263 6264 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js 6265 /** 6266 * WordPress dependencies 6267 */ 6268 6269 6270 /** 6271 * Internal dependencies 6272 */ 6273 6274 const categories_metadata = { 6275 $schema: "https://schemas.wp.org/trunk/block.json", 6276 apiVersion: 3, 6277 name: "core/categories", 6278 title: "Categories List", 6279 category: "widgets", 6280 description: "Display a list of all categories.", 6281 textdomain: "default", 6282 attributes: { 6283 displayAsDropdown: { 6284 type: "boolean", 6285 "default": false 6286 }, 6287 showHierarchy: { 6288 type: "boolean", 6289 "default": false 6290 }, 6291 showPostCounts: { 6292 type: "boolean", 6293 "default": false 6294 }, 6295 showOnlyTopLevel: { 6296 type: "boolean", 6297 "default": false 6298 }, 6299 showEmpty: { 6300 type: "boolean", 6301 "default": false 6302 } 6303 }, 6304 supports: { 6305 align: true, 6306 html: false, 6307 spacing: { 6308 margin: true, 6309 padding: true, 6310 __experimentalDefaultControls: { 6311 margin: false, 6312 padding: false 6313 } 6314 }, 6315 typography: { 6316 fontSize: true, 6317 lineHeight: true, 6318 __experimentalFontFamily: true, 6319 __experimentalFontWeight: true, 6320 __experimentalFontStyle: true, 6321 __experimentalTextTransform: true, 6322 __experimentalTextDecoration: true, 6323 __experimentalLetterSpacing: true, 6324 __experimentalDefaultControls: { 6325 fontSize: true 6326 } 6327 }, 6328 interactivity: { 6329 clientNavigation: true 6330 } 6331 }, 6332 editorStyle: "wp-block-categories-editor", 6333 style: "wp-block-categories" 6334 }; 6335 6336 const { 6337 name: categories_name 6338 } = categories_metadata; 6339 6340 const categories_settings = { 6341 icon: library_category, 6342 example: {}, 6343 edit: CategoriesEdit 6344 }; 6345 const categories_init = () => initBlock({ 6346 name: categories_name, 6347 metadata: categories_metadata, 6348 settings: categories_settings 6349 }); 6350 6351 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/classic.js 6352 /** 6353 * WordPress dependencies 6354 */ 6355 6356 6357 const classic = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 6358 viewBox: "0 0 24 24", 6359 xmlns: "http://www.w3.org/2000/svg", 6360 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 6361 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" 6362 }) 6363 }); 6364 /* harmony default export */ const library_classic = (classic); 6365 6366 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/convert-to-blocks-button.js 6367 /** 6368 * WordPress dependencies 6369 */ 6370 6371 6372 6373 6374 6375 6376 const ConvertToBlocksButton = ({ 6377 clientId 6378 }) => { 6379 const { 6380 replaceBlocks 6381 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 6382 const block = (0,external_wp_data_namespaceObject.useSelect)(select => { 6383 return select(external_wp_blockEditor_namespaceObject.store).getBlock(clientId); 6384 }, [clientId]); 6385 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { 6386 onClick: () => replaceBlocks(block.clientId, (0,external_wp_blocks_namespaceObject.rawHandler)({ 6387 HTML: (0,external_wp_blocks_namespaceObject.serialize)(block) 6388 })), 6389 children: (0,external_wp_i18n_namespaceObject.__)('Convert to blocks') 6390 }); 6391 }; 6392 /* harmony default export */ const convert_to_blocks_button = (ConvertToBlocksButton); 6393 6394 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/fullscreen.js 6395 /** 6396 * WordPress dependencies 6397 */ 6398 6399 6400 const fullscreen = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 6401 xmlns: "http://www.w3.org/2000/svg", 6402 viewBox: "0 0 24 24", 6403 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 6404 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" 6405 }) 6406 }); 6407 /* harmony default export */ const library_fullscreen = (fullscreen); 6408 6409 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/modal.js 6410 /** 6411 * WordPress dependencies 6412 */ 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 function ModalAuxiliaryActions({ 6424 onClick, 6425 isModalFullScreen 6426 }) { 6427 // 'small' to match the rules in editor.scss. 6428 const isMobileViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('small', '<'); 6429 if (isMobileViewport) { 6430 return null; 6431 } 6432 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { 6433 onClick: onClick, 6434 icon: library_fullscreen, 6435 isPressed: isModalFullScreen, 6436 label: isModalFullScreen ? (0,external_wp_i18n_namespaceObject.__)('Exit fullscreen') : (0,external_wp_i18n_namespaceObject.__)('Enter fullscreen') 6437 }); 6438 } 6439 function ClassicEdit(props) { 6440 const styles = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).getSettings().styles); 6441 (0,external_wp_element_namespaceObject.useEffect)(() => { 6442 const { 6443 baseURL, 6444 suffix, 6445 settings 6446 } = window.wpEditorL10n.tinymce; 6447 window.tinymce.EditorManager.overrideDefaults({ 6448 base_url: baseURL, 6449 suffix 6450 }); 6451 window.wp.oldEditor.initialize(props.id, { 6452 tinymce: { 6453 ...settings, 6454 setup(editor) { 6455 editor.on('init', () => { 6456 const doc = editor.getDoc(); 6457 styles.forEach(({ 6458 css 6459 }) => { 6460 const styleEl = doc.createElement('style'); 6461 styleEl.innerHTML = css; 6462 doc.head.appendChild(styleEl); 6463 }); 6464 }); 6465 } 6466 } 6467 }); 6468 return () => { 6469 window.wp.oldEditor.remove(props.id); 6470 }; 6471 }, []); 6472 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("textarea", { 6473 ...props 6474 }); 6475 } 6476 function ModalEdit(props) { 6477 const { 6478 clientId, 6479 attributes: { 6480 content 6481 }, 6482 setAttributes, 6483 onReplace 6484 } = props; 6485 const [isOpen, setOpen] = (0,external_wp_element_namespaceObject.useState)(false); 6486 const [isModalFullScreen, setIsModalFullScreen] = (0,external_wp_element_namespaceObject.useState)(false); 6487 const id = `editor-$clientId}`; 6488 const onClose = () => content ? setOpen(false) : onReplace([]); 6489 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 6490 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 6491 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { 6492 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarButton, { 6493 onClick: () => setOpen(true), 6494 children: (0,external_wp_i18n_namespaceObject.__)('Edit') 6495 }) 6496 }) 6497 }), content && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { 6498 children: content 6499 }), (isOpen || !content) && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.Modal, { 6500 title: (0,external_wp_i18n_namespaceObject.__)('Classic Editor'), 6501 onRequestClose: onClose, 6502 shouldCloseOnClickOutside: false, 6503 overlayClassName: "block-editor-freeform-modal", 6504 isFullScreen: isModalFullScreen, 6505 className: "block-editor-freeform-modal__content", 6506 headerActions: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ModalAuxiliaryActions, { 6507 onClick: () => setIsModalFullScreen(!isModalFullScreen), 6508 isModalFullScreen: isModalFullScreen 6509 }), 6510 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ClassicEdit, { 6511 id: id, 6512 defaultValue: content 6513 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.Flex, { 6514 className: "block-editor-freeform-modal__actions", 6515 justify: "flex-end", 6516 expanded: false, 6517 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { 6518 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { 6519 variant: "tertiary", 6520 onClick: onClose, 6521 children: (0,external_wp_i18n_namespaceObject.__)('Cancel') 6522 }) 6523 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.FlexItem, { 6524 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { 6525 variant: "primary", 6526 onClick: () => { 6527 setAttributes({ 6528 content: window.wp.oldEditor.getContent(id) 6529 }); 6530 setOpen(false); 6531 }, 6532 children: (0,external_wp_i18n_namespaceObject.__)('Save') 6533 }) 6534 })] 6535 })] 6536 })] 6537 }); 6538 } 6539 6540 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/edit.js 6541 /** 6542 * WordPress dependencies 6543 */ 6544 6545 6546 6547 6548 6549 6550 6551 6552 /** 6553 * Internal dependencies 6554 */ 6555 6556 6557 6558 6559 6560 const { 6561 wp 6562 } = window; 6563 function isTmceEmpty(editor) { 6564 // When tinyMce is empty the content seems to be: 6565 // <p><br data-mce-bogus="1"></p> 6566 // avoid expensive checks for large documents 6567 const body = editor.getBody(); 6568 if (body.childNodes.length > 1) { 6569 return false; 6570 } else if (body.childNodes.length === 0) { 6571 return true; 6572 } 6573 if (body.childNodes[0].childNodes.length > 1) { 6574 return false; 6575 } 6576 return /^\n?$/.test(body.innerText || body.textContent); 6577 } 6578 function FreeformEdit(props) { 6579 const { 6580 clientId 6581 } = props; 6582 const canRemove = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).canRemoveBlock(clientId), [clientId]); 6583 const [isIframed, setIsIframed] = (0,external_wp_element_namespaceObject.useState)(false); 6584 const ref = (0,external_wp_compose_namespaceObject.useRefEffect)(element => { 6585 setIsIframed(element.ownerDocument !== document); 6586 }, []); 6587 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 6588 children: [canRemove && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 6589 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToolbarGroup, { 6590 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(convert_to_blocks_button, { 6591 clientId: clientId 6592 }) 6593 }) 6594 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 6595 ...(0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 6596 ref 6597 }), 6598 children: isIframed ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ModalEdit, { 6599 ...props 6600 }) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(edit_ClassicEdit, { 6601 ...props 6602 }) 6603 })] 6604 }); 6605 } 6606 function edit_ClassicEdit({ 6607 clientId, 6608 attributes: { 6609 content 6610 }, 6611 setAttributes, 6612 onReplace 6613 }) { 6614 const { 6615 getMultiSelectedBlockClientIds 6616 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 6617 const didMount = (0,external_wp_element_namespaceObject.useRef)(false); 6618 (0,external_wp_element_namespaceObject.useEffect)(() => { 6619 if (!didMount.current) { 6620 return; 6621 } 6622 const editor = window.tinymce.get(`editor-$clientId}`); 6623 if (!editor) { 6624 return; 6625 } 6626 const currentContent = editor.getContent(); 6627 if (currentContent !== content) { 6628 editor.setContent(content || ''); 6629 } 6630 }, [clientId, content]); 6631 (0,external_wp_element_namespaceObject.useEffect)(() => { 6632 const { 6633 baseURL, 6634 suffix 6635 } = window.wpEditorL10n.tinymce; 6636 didMount.current = true; 6637 window.tinymce.EditorManager.overrideDefaults({ 6638 base_url: baseURL, 6639 suffix 6640 }); 6641 function onSetup(editor) { 6642 let bookmark; 6643 if (content) { 6644 editor.on('loadContent', () => editor.setContent(content)); 6645 } 6646 editor.on('blur', () => { 6647 bookmark = editor.selection.getBookmark(2, true); 6648 // There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451. 6649 // This causes a scroll to the top of editor content on return from some content updating dialogs so tracking 6650 // scroll position until this is fixed in core. 6651 const scrollContainer = document.querySelector('.interface-interface-skeleton__content'); 6652 const scrollPosition = scrollContainer.scrollTop; 6653 6654 // Only update attributes if we aren't multi-selecting blocks. 6655 // Updating during multi-selection can overwrite attributes of other blocks. 6656 if (!getMultiSelectedBlockClientIds()?.length) { 6657 setAttributes({ 6658 content: editor.getContent() 6659 }); 6660 } 6661 editor.once('focus', () => { 6662 if (bookmark) { 6663 editor.selection.moveToBookmark(bookmark); 6664 if (scrollContainer.scrollTop !== scrollPosition) { 6665 scrollContainer.scrollTop = scrollPosition; 6666 } 6667 } 6668 }); 6669 return false; 6670 }); 6671 editor.on('mousedown touchstart', () => { 6672 bookmark = null; 6673 }); 6674 const debouncedOnChange = (0,external_wp_compose_namespaceObject.debounce)(() => { 6675 const value = editor.getContent(); 6676 if (value !== editor._lastChange) { 6677 editor._lastChange = value; 6678 setAttributes({ 6679 content: value 6680 }); 6681 } 6682 }, 250); 6683 editor.on('Paste Change input Undo Redo', debouncedOnChange); 6684 6685 // We need to cancel the debounce call because when we remove 6686 // the editor (onUnmount) this callback is executed in 6687 // another tick. This results in setting the content to empty. 6688 editor.on('remove', debouncedOnChange.cancel); 6689 editor.on('keydown', event => { 6690 if (external_wp_keycodes_namespaceObject.isKeyboardEvent.primary(event, 'z')) { 6691 // Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected. 6692 event.stopPropagation(); 6693 } 6694 if ((event.keyCode === external_wp_keycodes_namespaceObject.BACKSPACE || event.keyCode === external_wp_keycodes_namespaceObject.DELETE) && isTmceEmpty(editor)) { 6695 // Delete the block. 6696 onReplace([]); 6697 event.preventDefault(); 6698 event.stopImmediatePropagation(); 6699 } 6700 const { 6701 altKey 6702 } = event; 6703 /* 6704 * Prevent Mousetrap from kicking in: TinyMCE already uses its own 6705 * `alt+f10` shortcut to focus its toolbar. 6706 */ 6707 if (altKey && event.keyCode === external_wp_keycodes_namespaceObject.F10) { 6708 event.stopPropagation(); 6709 } 6710 }); 6711 editor.on('init', () => { 6712 const rootNode = editor.getBody(); 6713 6714 // Create the toolbar by refocussing the editor. 6715 if (rootNode.ownerDocument.activeElement === rootNode) { 6716 rootNode.blur(); 6717 editor.focus(); 6718 } 6719 }); 6720 } 6721 function initialize() { 6722 const { 6723 settings 6724 } = window.wpEditorL10n.tinymce; 6725 wp.oldEditor.initialize(`editor-$clientId}`, { 6726 tinymce: { 6727 ...settings, 6728 inline: true, 6729 content_css: false, 6730 fixed_toolbar_container: `#toolbar-$clientId}`, 6731 setup: onSetup 6732 } 6733 }); 6734 } 6735 function onReadyStateChange() { 6736 if (document.readyState === 'complete') { 6737 initialize(); 6738 } 6739 } 6740 if (document.readyState === 'complete') { 6741 initialize(); 6742 } else { 6743 document.addEventListener('readystatechange', onReadyStateChange); 6744 } 6745 return () => { 6746 document.removeEventListener('readystatechange', onReadyStateChange); 6747 wp.oldEditor.remove(`editor-$clientId}`); 6748 didMount.current = false; 6749 }; 6750 }, []); 6751 function focus() { 6752 const editor = window.tinymce.get(`editor-$clientId}`); 6753 if (editor) { 6754 editor.focus(); 6755 } 6756 } 6757 function onToolbarKeyDown(event) { 6758 // Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar. 6759 event.stopPropagation(); 6760 // Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar. 6761 event.nativeEvent.stopImmediatePropagation(); 6762 } 6763 6764 // Disable reasons: 6765 // 6766 // jsx-a11y/no-static-element-interactions 6767 // - the toolbar itself is non-interactive, but must capture events 6768 // from the KeyboardShortcuts component to stop their propagation. 6769 6770 /* eslint-disable jsx-a11y/no-static-element-interactions */ 6771 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 6772 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 6773 id: `toolbar-$clientId}`, 6774 className: "block-library-classic__toolbar", 6775 onClick: focus, 6776 "data-placeholder": (0,external_wp_i18n_namespaceObject.__)('Classic'), 6777 onKeyDown: onToolbarKeyDown 6778 }, "toolbar"), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 6779 id: `editor-$clientId}`, 6780 className: "wp-block-freeform block-library-rich-text__tinymce" 6781 }, "editor")] 6782 }); 6783 /* eslint-enable jsx-a11y/no-static-element-interactions */ 6784 } 6785 6786 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/save.js 6787 /** 6788 * WordPress dependencies 6789 */ 6790 6791 6792 function freeform_save_save({ 6793 attributes 6794 }) { 6795 const { 6796 content 6797 } = attributes; 6798 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { 6799 children: content 6800 }); 6801 } 6802 6803 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/index.js 6804 /** 6805 * WordPress dependencies 6806 */ 6807 6808 6809 /** 6810 * Internal dependencies 6811 */ 6812 6813 6814 const freeform_metadata = { 6815 $schema: "https://schemas.wp.org/trunk/block.json", 6816 apiVersion: 3, 6817 name: "core/freeform", 6818 title: "Classic", 6819 category: "text", 6820 description: "Use the classic WordPress editor.", 6821 textdomain: "default", 6822 attributes: { 6823 content: { 6824 type: "string", 6825 source: "raw" 6826 } 6827 }, 6828 supports: { 6829 className: false, 6830 customClassName: false, 6831 reusable: false 6832 }, 6833 editorStyle: "wp-block-freeform-editor" 6834 }; 6835 6836 const { 6837 name: freeform_name 6838 } = freeform_metadata; 6839 6840 const freeform_settings = { 6841 icon: library_classic, 6842 edit: FreeformEdit, 6843 save: freeform_save_save 6844 }; 6845 const freeform_init = () => initBlock({ 6846 name: freeform_name, 6847 metadata: freeform_metadata, 6848 settings: freeform_settings 6849 }); 6850 6851 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js 6852 /** 6853 * WordPress dependencies 6854 */ 6855 6856 6857 const code = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 6858 viewBox: "0 0 24 24", 6859 xmlns: "http://www.w3.org/2000/svg", 6860 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 6861 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" 6862 }) 6863 }); 6864 /* harmony default export */ const library_code = (code); 6865 6866 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js 6867 /** 6868 * WordPress dependencies 6869 */ 6870 6871 6872 6873 6874 function CodeEdit({ 6875 attributes, 6876 setAttributes, 6877 onRemove, 6878 insertBlocksAfter, 6879 mergeBlocks 6880 }) { 6881 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 6882 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { 6883 ...blockProps, 6884 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText, { 6885 tagName: "code", 6886 identifier: "content", 6887 value: attributes.content, 6888 onChange: content => setAttributes({ 6889 content 6890 }), 6891 onRemove: onRemove, 6892 onMerge: mergeBlocks, 6893 placeholder: (0,external_wp_i18n_namespaceObject.__)('Write code…'), 6894 "aria-label": (0,external_wp_i18n_namespaceObject.__)('Code'), 6895 preserveWhiteSpace: true, 6896 __unstablePastePlainText: true, 6897 __unstableOnSplitAtDoubleLineEnd: () => insertBlocksAfter((0,external_wp_blocks_namespaceObject.createBlock)((0,external_wp_blocks_namespaceObject.getDefaultBlockName)())) 6898 }) 6899 }); 6900 } 6901 6902 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/utils.js 6903 /** 6904 * WordPress dependencies 6905 */ 6906 6907 6908 /** 6909 * Escapes ampersands, shortcodes, and links. 6910 * 6911 * @param {string} content The content of a code block. 6912 * @return {string} The given content with some characters escaped. 6913 */ 6914 function utils_escape(content) { 6915 return (0,external_wp_compose_namespaceObject.pipe)(escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || ''); 6916 } 6917 6918 /** 6919 * Returns the given content with all opening shortcode characters converted 6920 * into their HTML entity counterpart (i.e. [ => [). For instance, a 6921 * shortcode like [embed] becomes [embed] 6922 * 6923 * This function replicates the escaping of HTML tags, where a tag like 6924 * <strong> becomes <strong>. 6925 * 6926 * @param {string} content The content of a code block. 6927 * @return {string} The given content with its opening shortcode characters 6928 * converted into their HTML entity counterpart 6929 * (i.e. [ => [) 6930 */ 6931 function escapeOpeningSquareBrackets(content) { 6932 return content.replace(/\[/g, '['); 6933 } 6934 6935 /** 6936 * Converts the first two forward slashes of any isolated URL into their HTML 6937 * counterparts (i.e. // => //). For instance, https://youtube.com/watch?x 6938 * becomes https://youtube.com/watch?x. 6939 * 6940 * An isolated URL is a URL that sits in its own line, surrounded only by spacing 6941 * characters. 6942 * 6943 * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403 6944 * 6945 * @param {string} content The content of a code block. 6946 * @return {string} The given content with its ampersands converted into 6947 * their HTML entity counterpart (i.e. & => &) 6948 */ 6949 function escapeProtocolInIsolatedUrls(content) { 6950 return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1//$2'); 6951 } 6952 6953 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js 6954 /** 6955 * WordPress dependencies 6956 */ 6957 6958 6959 /** 6960 * Internal dependencies 6961 */ 6962 6963 6964 function code_save_save({ 6965 attributes 6966 }) { 6967 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("pre", { 6968 ...external_wp_blockEditor_namespaceObject.useBlockProps.save(), 6969 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, { 6970 tagName: "code" 6971 // To do: `escape` encodes characters in shortcodes and URLs to 6972 // prevent embedding in PHP. Ideally checks for the code block, 6973 // or pre/code tags, should be made on the PHP side? 6974 , 6975 value: utils_escape(typeof attributes.content === 'string' ? attributes.content : attributes.content.toHTMLString({ 6976 preserveWhiteSpace: true 6977 })) 6978 }) 6979 }); 6980 } 6981 6982 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js 6983 /** 6984 * WordPress dependencies 6985 */ 6986 6987 6988 6989 /** 6990 * Internal dependencies 6991 */ 6992 6993 const code_transforms_transforms = { 6994 from: [{ 6995 type: 'enter', 6996 regExp: /^```$/, 6997 transform: () => (0,external_wp_blocks_namespaceObject.createBlock)('core/code') 6998 }, { 6999 type: 'block', 7000 blocks: ['core/paragraph'], 7001 transform: ({ 7002 content, 7003 metadata 7004 }) => (0,external_wp_blocks_namespaceObject.createBlock)('core/code', { 7005 content, 7006 metadata: getTransformedMetadata(metadata, 'core/code') 7007 }) 7008 }, { 7009 type: 'block', 7010 blocks: ['core/html'], 7011 transform: ({ 7012 content: text, 7013 metadata 7014 }) => { 7015 return (0,external_wp_blocks_namespaceObject.createBlock)('core/code', { 7016 // The HTML is plain text (with plain line breaks), so 7017 // convert it to rich text. 7018 content: (0,external_wp_richText_namespaceObject.toHTMLString)({ 7019 value: (0,external_wp_richText_namespaceObject.create)({ 7020 text 7021 }) 7022 }), 7023 metadata: getTransformedMetadata(metadata, 'core/code') 7024 }); 7025 } 7026 }, { 7027 type: 'raw', 7028 isMatch: node => node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE', 7029 schema: { 7030 pre: { 7031 children: { 7032 code: { 7033 children: { 7034 '#text': {} 7035 } 7036 } 7037 } 7038 } 7039 } 7040 }], 7041 to: [{ 7042 type: 'block', 7043 blocks: ['core/paragraph'], 7044 transform: ({ 7045 content, 7046 metadata 7047 }) => (0,external_wp_blocks_namespaceObject.createBlock)('core/paragraph', { 7048 content, 7049 metadata: getTransformedMetadata(metadata, 'core/paragraph') 7050 }) 7051 }] 7052 }; 7053 /* harmony default export */ const code_transforms = (code_transforms_transforms); 7054 7055 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/index.js 7056 /** 7057 * WordPress dependencies 7058 */ 7059 7060 7061 7062 /** 7063 * Internal dependencies 7064 */ 7065 7066 7067 const code_metadata = { 7068 $schema: "https://schemas.wp.org/trunk/block.json", 7069 apiVersion: 3, 7070 name: "core/code", 7071 title: "Code", 7072 category: "text", 7073 description: "Display code snippets that respect your spacing and tabs.", 7074 textdomain: "default", 7075 attributes: { 7076 content: { 7077 type: "rich-text", 7078 source: "rich-text", 7079 selector: "code", 7080 __unstablePreserveWhiteSpace: true 7081 } 7082 }, 7083 supports: { 7084 align: ["wide"], 7085 anchor: true, 7086 typography: { 7087 fontSize: true, 7088 lineHeight: true, 7089 __experimentalFontFamily: true, 7090 __experimentalFontWeight: true, 7091 __experimentalFontStyle: true, 7092 __experimentalTextTransform: true, 7093 __experimentalTextDecoration: true, 7094 __experimentalLetterSpacing: true, 7095 __experimentalDefaultControls: { 7096 fontSize: true 7097 } 7098 }, 7099 spacing: { 7100 margin: ["top", "bottom"], 7101 padding: true, 7102 __experimentalDefaultControls: { 7103 margin: false, 7104 padding: false 7105 } 7106 }, 7107 __experimentalBorder: { 7108 radius: true, 7109 color: true, 7110 width: true, 7111 style: true, 7112 __experimentalDefaultControls: { 7113 width: true, 7114 color: true 7115 } 7116 }, 7117 color: { 7118 text: true, 7119 background: true, 7120 gradients: true, 7121 __experimentalDefaultControls: { 7122 background: true, 7123 text: true 7124 } 7125 }, 7126 interactivity: { 7127 clientNavigation: true 7128 } 7129 }, 7130 style: "wp-block-code" 7131 }; 7132 7133 7134 const { 7135 name: code_name 7136 } = code_metadata; 7137 7138 const code_settings = { 7139 icon: library_code, 7140 example: { 7141 attributes: { 7142 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 7143 // translators: Preserve \n markers for line breaks 7144 content: (0,external_wp_i18n_namespaceObject.__)('// A “block” 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 );') 7145 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 7146 } 7147 }, 7148 merge(attributes, attributesToMerge) { 7149 return { 7150 content: attributes.content + '\n\n' + attributesToMerge.content 7151 }; 7152 }, 7153 transforms: code_transforms, 7154 edit: CodeEdit, 7155 save: code_save_save 7156 }; 7157 const code_init = () => initBlock({ 7158 name: code_name, 7159 metadata: code_metadata, 7160 settings: code_settings 7161 }); 7162 7163 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js 7164 /** 7165 * WordPress dependencies 7166 */ 7167 7168 7169 const column = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 7170 xmlns: "http://www.w3.org/2000/svg", 7171 viewBox: "0 0 24 24", 7172 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 7173 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" 7174 }) 7175 }); 7176 /* harmony default export */ const library_column = (column); 7177 7178 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/deprecated.js 7179 /** 7180 * External dependencies 7181 */ 7182 7183 7184 /** 7185 * WordPress dependencies 7186 */ 7187 7188 7189 const column_deprecated_deprecated = [{ 7190 attributes: { 7191 verticalAlignment: { 7192 type: 'string' 7193 }, 7194 width: { 7195 type: 'number', 7196 min: 0, 7197 max: 100 7198 } 7199 }, 7200 isEligible({ 7201 width 7202 }) { 7203 return isFinite(width); 7204 }, 7205 migrate(attributes) { 7206 return { 7207 ...attributes, 7208 width: `$attributes.width}%` 7209 }; 7210 }, 7211 save({ 7212 attributes 7213 }) { 7214 const { 7215 verticalAlignment, 7216 width 7217 } = attributes; 7218 const wrapperClasses = dist_clsx({ 7219 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7220 }); 7221 const style = { 7222 flexBasis: width + '%' 7223 }; 7224 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7225 className: wrapperClasses, 7226 style: style, 7227 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 7228 }); 7229 } 7230 }]; 7231 /* harmony default export */ const column_deprecated = (column_deprecated_deprecated); 7232 7233 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js 7234 /** 7235 * External dependencies 7236 */ 7237 7238 7239 /** 7240 * WordPress dependencies 7241 */ 7242 7243 7244 7245 7246 7247 7248 7249 function ColumnInspectorControls({ 7250 width, 7251 setAttributes 7252 }) { 7253 const [availableUnits] = (0,external_wp_blockEditor_namespaceObject.useSettings)('spacing.units'); 7254 const units = (0,external_wp_components_namespaceObject.__experimentalUseCustomUnits)({ 7255 availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw'] 7256 }); 7257 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { 7258 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 7259 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalUnitControl, { 7260 label: (0,external_wp_i18n_namespaceObject.__)('Width'), 7261 labelPosition: "edge", 7262 __unstableInputWidth: "80px", 7263 value: width || '', 7264 onChange: nextWidth => { 7265 nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; 7266 setAttributes({ 7267 width: nextWidth 7268 }); 7269 }, 7270 units: units 7271 }) 7272 }); 7273 } 7274 function ColumnEdit({ 7275 attributes: { 7276 verticalAlignment, 7277 width, 7278 templateLock, 7279 allowedBlocks 7280 }, 7281 setAttributes, 7282 clientId 7283 }) { 7284 const classes = dist_clsx('block-core-columns', { 7285 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7286 }); 7287 const { 7288 columnsIds, 7289 hasChildBlocks, 7290 rootClientId 7291 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 7292 const { 7293 getBlockOrder, 7294 getBlockRootClientId 7295 } = select(external_wp_blockEditor_namespaceObject.store); 7296 const rootId = getBlockRootClientId(clientId); 7297 return { 7298 hasChildBlocks: getBlockOrder(clientId).length > 0, 7299 rootClientId: rootId, 7300 columnsIds: getBlockOrder(rootId) 7301 }; 7302 }, [clientId]); 7303 const { 7304 updateBlockAttributes 7305 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 7306 const updateAlignment = value => { 7307 // Update own alignment. 7308 setAttributes({ 7309 verticalAlignment: value 7310 }); 7311 // Reset parent Columns block. 7312 updateBlockAttributes(rootClientId, { 7313 verticalAlignment: null 7314 }); 7315 }; 7316 const widthWithUnit = Number.isFinite(width) ? width + '%' : width; 7317 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 7318 className: classes, 7319 style: widthWithUnit ? { 7320 flexBasis: widthWithUnit 7321 } : undefined 7322 }); 7323 const columnsCount = columnsIds.length; 7324 const currentColumnPosition = columnsIds.indexOf(clientId) + 1; 7325 const label = (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */ 7326 (0,external_wp_i18n_namespaceObject.__)('%1$s (%2$d of %3$d)'), blockProps['aria-label'], currentColumnPosition, columnsCount); 7327 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)({ 7328 ...blockProps, 7329 'aria-label': label 7330 }, { 7331 templateLock, 7332 allowedBlocks, 7333 renderAppender: hasChildBlocks ? undefined : external_wp_blockEditor_namespaceObject.InnerBlocks.ButtonBlockAppender 7334 }); 7335 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 7336 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 7337 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, { 7338 onChange: updateAlignment, 7339 value: verticalAlignment, 7340 controls: ['top', 'center', 'bottom', 'stretch'] 7341 }) 7342 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 7343 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ColumnInspectorControls, { 7344 width: width, 7345 setAttributes: setAttributes 7346 }) 7347 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7348 ...innerBlocksProps 7349 })] 7350 }); 7351 } 7352 /* harmony default export */ const column_edit = (ColumnEdit); 7353 7354 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/save.js 7355 /** 7356 * External dependencies 7357 */ 7358 7359 7360 /** 7361 * WordPress dependencies 7362 */ 7363 7364 7365 function column_save_save({ 7366 attributes 7367 }) { 7368 const { 7369 verticalAlignment, 7370 width 7371 } = attributes; 7372 const wrapperClasses = dist_clsx({ 7373 [`is-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7374 }); 7375 let style; 7376 if (width && /\d/.test(width)) { 7377 // Numbers are handled for backward compatibility as they can be still provided with templates. 7378 let flexBasis = Number.isFinite(width) ? width + '%' : width; 7379 // In some cases we need to round the width to a shorter float. 7380 if (!Number.isFinite(width) && width?.endsWith('%')) { 7381 const multiplier = 1000000000000; 7382 // Shrink the number back to a reasonable float. 7383 flexBasis = Math.round(Number.parseFloat(width) * multiplier) / multiplier + '%'; 7384 } 7385 style = { 7386 flexBasis 7387 }; 7388 } 7389 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 7390 className: wrapperClasses, 7391 style 7392 }); 7393 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 7394 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7395 ...innerBlocksProps 7396 }); 7397 } 7398 7399 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js 7400 /** 7401 * WordPress dependencies 7402 */ 7403 7404 7405 /** 7406 * Internal dependencies 7407 */ 7408 7409 7410 7411 const column_metadata = { 7412 $schema: "https://schemas.wp.org/trunk/block.json", 7413 apiVersion: 3, 7414 name: "core/column", 7415 title: "Column", 7416 category: "design", 7417 parent: ["core/columns"], 7418 description: "A single column within a columns block.", 7419 textdomain: "default", 7420 attributes: { 7421 verticalAlignment: { 7422 type: "string" 7423 }, 7424 width: { 7425 type: "string" 7426 }, 7427 allowedBlocks: { 7428 type: "array" 7429 }, 7430 templateLock: { 7431 type: ["string", "boolean"], 7432 "enum": ["all", "insert", "contentOnly", false] 7433 } 7434 }, 7435 supports: { 7436 __experimentalOnEnter: true, 7437 anchor: true, 7438 reusable: false, 7439 html: false, 7440 color: { 7441 gradients: true, 7442 heading: true, 7443 button: true, 7444 link: true, 7445 __experimentalDefaultControls: { 7446 background: true, 7447 text: true 7448 } 7449 }, 7450 shadow: true, 7451 spacing: { 7452 blockGap: true, 7453 padding: true, 7454 __experimentalDefaultControls: { 7455 padding: true, 7456 blockGap: true 7457 } 7458 }, 7459 __experimentalBorder: { 7460 color: true, 7461 style: true, 7462 width: true, 7463 __experimentalDefaultControls: { 7464 color: true, 7465 style: true, 7466 width: true 7467 } 7468 }, 7469 typography: { 7470 fontSize: true, 7471 lineHeight: true, 7472 __experimentalFontFamily: true, 7473 __experimentalFontWeight: true, 7474 __experimentalFontStyle: true, 7475 __experimentalTextTransform: true, 7476 __experimentalTextDecoration: true, 7477 __experimentalLetterSpacing: true, 7478 __experimentalDefaultControls: { 7479 fontSize: true 7480 } 7481 }, 7482 layout: true, 7483 interactivity: { 7484 clientNavigation: true 7485 } 7486 } 7487 }; 7488 7489 const { 7490 name: column_name 7491 } = column_metadata; 7492 7493 const column_settings = { 7494 icon: library_column, 7495 edit: column_edit, 7496 save: column_save_save, 7497 deprecated: column_deprecated 7498 }; 7499 const column_init = () => initBlock({ 7500 name: column_name, 7501 metadata: column_metadata, 7502 settings: column_settings 7503 }); 7504 7505 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/columns.js 7506 /** 7507 * WordPress dependencies 7508 */ 7509 7510 7511 const columns = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 7512 viewBox: "0 0 24 24", 7513 xmlns: "http://www.w3.org/2000/svg", 7514 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 7515 fillRule: "evenodd", 7516 clipRule: "evenodd", 7517 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" 7518 }) 7519 }); 7520 /* harmony default export */ const library_columns = (columns); 7521 7522 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js 7523 /** 7524 * External dependencies 7525 */ 7526 7527 7528 /** 7529 * WordPress dependencies 7530 */ 7531 7532 7533 7534 /** 7535 * Given an HTML string for a deprecated columns inner block, returns the 7536 * column index to which the migrated inner block should be assigned. Returns 7537 * undefined if the inner block was not assigned to a column. 7538 * 7539 * @param {string} originalContent Deprecated Columns inner block HTML. 7540 * 7541 * @return {number | undefined} Column to which inner block is to be assigned. 7542 */ 7543 7544 function getDeprecatedLayoutColumn(originalContent) { 7545 let { 7546 doc 7547 } = getDeprecatedLayoutColumn; 7548 if (!doc) { 7549 doc = document.implementation.createHTMLDocument(''); 7550 getDeprecatedLayoutColumn.doc = doc; 7551 } 7552 let columnMatch; 7553 doc.body.innerHTML = originalContent; 7554 for (const classListItem of doc.body.firstChild.classList) { 7555 if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { 7556 return Number(columnMatch[1]) - 1; 7557 } 7558 } 7559 } 7560 const migrateCustomColors = attributes => { 7561 if (!attributes.customTextColor && !attributes.customBackgroundColor) { 7562 return attributes; 7563 } 7564 const style = { 7565 color: {} 7566 }; 7567 if (attributes.customTextColor) { 7568 style.color.text = attributes.customTextColor; 7569 } 7570 if (attributes.customBackgroundColor) { 7571 style.color.background = attributes.customBackgroundColor; 7572 } 7573 const { 7574 customTextColor, 7575 customBackgroundColor, 7576 ...restAttributes 7577 } = attributes; 7578 return { 7579 ...restAttributes, 7580 style, 7581 isStackedOnMobile: true 7582 }; 7583 }; 7584 /* harmony default export */ const columns_deprecated = ([{ 7585 attributes: { 7586 verticalAlignment: { 7587 type: 'string' 7588 }, 7589 backgroundColor: { 7590 type: 'string' 7591 }, 7592 customBackgroundColor: { 7593 type: 'string' 7594 }, 7595 customTextColor: { 7596 type: 'string' 7597 }, 7598 textColor: { 7599 type: 'string' 7600 } 7601 }, 7602 migrate: migrateCustomColors, 7603 save({ 7604 attributes 7605 }) { 7606 const { 7607 verticalAlignment, 7608 backgroundColor, 7609 customBackgroundColor, 7610 textColor, 7611 customTextColor 7612 } = attributes; 7613 const backgroundClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('background-color', backgroundColor); 7614 const textClass = (0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', textColor); 7615 const className = dist_clsx({ 7616 'has-background': backgroundColor || customBackgroundColor, 7617 'has-text-color': textColor || customTextColor, 7618 [backgroundClass]: backgroundClass, 7619 [textClass]: textClass, 7620 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7621 }); 7622 const style = { 7623 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 7624 color: textClass ? undefined : customTextColor 7625 }; 7626 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7627 className: className ? className : undefined, 7628 style: style, 7629 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 7630 }); 7631 } 7632 }, { 7633 attributes: { 7634 columns: { 7635 type: 'number', 7636 default: 2 7637 } 7638 }, 7639 isEligible(attributes, innerBlocks) { 7640 // Since isEligible is called on every valid instance of the 7641 // Columns block and a deprecation is the unlikely case due to 7642 // its subsequent migration, optimize for the `false` condition 7643 // by performing a naive, inaccurate pass at inner blocks. 7644 const isFastPassEligible = innerBlocks.some(innerBlock => /layout-column-\d+/.test(innerBlock.originalContent)); 7645 if (!isFastPassEligible) { 7646 return false; 7647 } 7648 7649 // Only if the fast pass is considered eligible is the more 7650 // accurate, durable, slower condition performed. 7651 return innerBlocks.some(innerBlock => getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined); 7652 }, 7653 migrate(attributes, innerBlocks) { 7654 const columns = innerBlocks.reduce((accumulator, innerBlock) => { 7655 const { 7656 originalContent 7657 } = innerBlock; 7658 let columnIndex = getDeprecatedLayoutColumn(originalContent); 7659 if (columnIndex === undefined) { 7660 columnIndex = 0; 7661 } 7662 if (!accumulator[columnIndex]) { 7663 accumulator[columnIndex] = []; 7664 } 7665 accumulator[columnIndex].push(innerBlock); 7666 return accumulator; 7667 }, []); 7668 const migratedInnerBlocks = columns.map(columnBlocks => (0,external_wp_blocks_namespaceObject.createBlock)('core/column', {}, columnBlocks)); 7669 const { 7670 columns: ignoredColumns, 7671 ...restAttributes 7672 } = attributes; 7673 return [{ 7674 ...restAttributes, 7675 isStackedOnMobile: true 7676 }, migratedInnerBlocks]; 7677 }, 7678 save({ 7679 attributes 7680 }) { 7681 const { 7682 columns 7683 } = attributes; 7684 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7685 className: `has-$columns}-columns`, 7686 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 7687 }); 7688 } 7689 }, { 7690 attributes: { 7691 columns: { 7692 type: 'number', 7693 default: 2 7694 } 7695 }, 7696 migrate(attributes, innerBlocks) { 7697 const { 7698 columns, 7699 ...restAttributes 7700 } = attributes; 7701 attributes = { 7702 ...restAttributes, 7703 isStackedOnMobile: true 7704 }; 7705 return [attributes, innerBlocks]; 7706 }, 7707 save({ 7708 attributes 7709 }) { 7710 const { 7711 verticalAlignment, 7712 columns 7713 } = attributes; 7714 const wrapperClasses = dist_clsx(`has-$columns}-columns`, { 7715 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment 7716 }); 7717 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 7718 className: wrapperClasses, 7719 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 7720 }); 7721 } 7722 }]); 7723 7724 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js 7725 /** 7726 * Returns a column width attribute value rounded to standard precision. 7727 * Returns `undefined` if the value is not a valid finite number. 7728 * 7729 * @param {?number} value Raw value. 7730 * 7731 * @return {number} Value rounded to standard precision. 7732 */ 7733 const toWidthPrecision = value => { 7734 const unitlessValue = parseFloat(value); 7735 return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined; 7736 }; 7737 /** 7738 * Returns an effective width for a given block. An effective width is equal to 7739 * its attribute value if set, or a computed value assuming equal distribution. 7740 * 7741 * @param {WPBlock} block Block object. 7742 * @param {number} totalBlockCount Total number of blocks in Columns. 7743 * 7744 * @return {number} Effective column width. 7745 */ 7746 function getEffectiveColumnWidth(block, totalBlockCount) { 7747 const { 7748 width = 100 / totalBlockCount 7749 } = block.attributes; 7750 return toWidthPrecision(width); 7751 } 7752 7753 /** 7754 * Returns the total width occupied by the given set of column blocks. 7755 * 7756 * @param {WPBlock[]} blocks Block objects. 7757 * @param {?number} totalBlockCount Total number of blocks in Columns. 7758 * Defaults to number of blocks passed. 7759 * 7760 * @return {number} Total width occupied by blocks. 7761 */ 7762 function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) { 7763 return blocks.reduce((sum, block) => sum + getEffectiveColumnWidth(block, totalBlockCount), 0); 7764 } 7765 7766 /** 7767 * Returns an object of `clientId` → `width` of effective column widths. 7768 * 7769 * @param {WPBlock[]} blocks Block objects. 7770 * @param {?number} totalBlockCount Total number of blocks in Columns. 7771 * Defaults to number of blocks passed. 7772 * 7773 * @return {Object<string,number>} Column widths. 7774 */ 7775 function getColumnWidths(blocks, totalBlockCount = blocks.length) { 7776 return blocks.reduce((accumulator, block) => { 7777 const width = getEffectiveColumnWidth(block, totalBlockCount); 7778 return Object.assign(accumulator, { 7779 [block.clientId]: width 7780 }); 7781 }, {}); 7782 } 7783 7784 /** 7785 * Returns an object of `clientId` → `width` of column widths as redistributed 7786 * proportional to their current widths, constrained or expanded to fit within 7787 * the given available width. 7788 * 7789 * @param {WPBlock[]} blocks Block objects. 7790 * @param {number} availableWidth Maximum width to fit within. 7791 * @param {?number} totalBlockCount Total number of blocks in Columns. 7792 * Defaults to number of blocks passed. 7793 * 7794 * @return {Object<string,number>} Redistributed column widths. 7795 */ 7796 function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) { 7797 const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); 7798 return Object.fromEntries(Object.entries(getColumnWidths(blocks, totalBlockCount)).map(([clientId, width]) => { 7799 const newWidth = availableWidth * width / totalWidth; 7800 return [clientId, toWidthPrecision(newWidth)]; 7801 })); 7802 } 7803 7804 /** 7805 * Returns true if column blocks within the provided set are assigned with 7806 * explicit widths, or false otherwise. 7807 * 7808 * @param {WPBlock[]} blocks Block objects. 7809 * 7810 * @return {boolean} Whether columns have explicit widths. 7811 */ 7812 function hasExplicitPercentColumnWidths(blocks) { 7813 return blocks.every(block => { 7814 const blockWidth = block.attributes.width; 7815 return Number.isFinite(blockWidth?.endsWith?.('%') ? parseFloat(blockWidth) : blockWidth); 7816 }); 7817 } 7818 7819 /** 7820 * Returns a copy of the given set of blocks with new widths assigned from the 7821 * provided object of redistributed column widths. 7822 * 7823 * @param {WPBlock[]} blocks Block objects. 7824 * @param {Object<string,number>} widths Redistributed column widths. 7825 * 7826 * @return {WPBlock[]} blocks Mapped block objects. 7827 */ 7828 function getMappedColumnWidths(blocks, widths) { 7829 return blocks.map(block => ({ 7830 ...block, 7831 attributes: { 7832 ...block.attributes, 7833 width: `$widths[block.clientId]}%` 7834 } 7835 })); 7836 } 7837 7838 /** 7839 * Returns an array with columns widths values, parsed or no depends on `withParsing` flag. 7840 * 7841 * @param {WPBlock[]} blocks Block objects. 7842 * @param {?boolean} withParsing Whether value has to be parsed. 7843 * 7844 * @return {Array<number,string>} Column widths. 7845 */ 7846 function getWidths(blocks, withParsing = true) { 7847 return blocks.map(innerColumn => { 7848 const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; 7849 return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; 7850 }); 7851 } 7852 7853 /** 7854 * Returns a column width with unit. 7855 * 7856 * @param {string} width Column width. 7857 * @param {string} unit Column width unit. 7858 * 7859 * @return {string} Column width with unit. 7860 */ 7861 function getWidthWithUnit(width, unit) { 7862 width = 0 > parseFloat(width) ? '0' : width; 7863 if (isPercentageUnit(unit)) { 7864 width = Math.min(width, 100); 7865 } 7866 return `$width}$unit}`; 7867 } 7868 7869 /** 7870 * Returns a boolean whether passed unit is percentage 7871 * 7872 * @param {string} unit Column width unit. 7873 * 7874 * @return {boolean} Whether unit is '%'. 7875 */ 7876 function isPercentageUnit(unit) { 7877 return unit === '%'; 7878 } 7879 7880 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/edit.js 7881 /** 7882 * External dependencies 7883 */ 7884 7885 7886 /** 7887 * WordPress dependencies 7888 */ 7889 7890 7891 7892 7893 7894 7895 /** 7896 * Internal dependencies 7897 */ 7898 7899 7900 7901 7902 const edit_DEFAULT_BLOCK = { 7903 name: 'core/column' 7904 }; 7905 function edit_ColumnInspectorControls({ 7906 clientId, 7907 setAttributes, 7908 isStackedOnMobile 7909 }) { 7910 const { 7911 count, 7912 canInsertColumnBlock, 7913 minCount 7914 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 7915 const { 7916 canInsertBlockType, 7917 canRemoveBlock, 7918 getBlocks, 7919 getBlockCount 7920 } = select(external_wp_blockEditor_namespaceObject.store); 7921 const innerBlocks = getBlocks(clientId); 7922 7923 // Get the indexes of columns for which removal is prevented. 7924 // The highest index will be used to determine the minimum column count. 7925 const preventRemovalBlockIndexes = innerBlocks.reduce((acc, block, index) => { 7926 if (!canRemoveBlock(block.clientId)) { 7927 acc.push(index); 7928 } 7929 return acc; 7930 }, []); 7931 return { 7932 count: getBlockCount(clientId), 7933 canInsertColumnBlock: canInsertBlockType('core/column', clientId), 7934 minCount: Math.max(...preventRemovalBlockIndexes) + 1 7935 }; 7936 }, [clientId]); 7937 const { 7938 getBlocks 7939 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 7940 const { 7941 replaceInnerBlocks 7942 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 7943 7944 /** 7945 * Updates the column count, including necessary revisions to child Column 7946 * blocks to grant required or redistribute available space. 7947 * 7948 * @param {number} previousColumns Previous column count. 7949 * @param {number} newColumns New column count. 7950 */ 7951 function updateColumns(previousColumns, newColumns) { 7952 let innerBlocks = getBlocks(clientId); 7953 const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); 7954 7955 // Redistribute available width for existing inner blocks. 7956 const isAddingColumn = newColumns > previousColumns; 7957 if (isAddingColumn && hasExplicitWidths) { 7958 // If adding a new column, assign width to the new column equal to 7959 // as if it were `1 / columns` of the total available space. 7960 const newColumnWidth = toWidthPrecision(100 / newColumns); 7961 const newlyAddedColumns = newColumns - previousColumns; 7962 7963 // Redistribute in consideration of pending block insertion as 7964 // constraining the available working width. 7965 const widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth * newlyAddedColumns); 7966 innerBlocks = [...getMappedColumnWidths(innerBlocks, widths), ...Array.from({ 7967 length: newlyAddedColumns 7968 }).map(() => { 7969 return (0,external_wp_blocks_namespaceObject.createBlock)('core/column', { 7970 width: `$newColumnWidth}%` 7971 }); 7972 })]; 7973 } else if (isAddingColumn) { 7974 innerBlocks = [...innerBlocks, ...Array.from({ 7975 length: newColumns - previousColumns 7976 }).map(() => { 7977 return (0,external_wp_blocks_namespaceObject.createBlock)('core/column'); 7978 })]; 7979 } else if (newColumns < previousColumns) { 7980 // The removed column will be the last of the inner blocks. 7981 innerBlocks = innerBlocks.slice(0, -(previousColumns - newColumns)); 7982 if (hasExplicitWidths) { 7983 // Redistribute as if block is already removed. 7984 const widths = getRedistributedColumnWidths(innerBlocks, 100); 7985 innerBlocks = getMappedColumnWidths(innerBlocks, widths); 7986 } 7987 } 7988 replaceInnerBlocks(clientId, innerBlocks); 7989 } 7990 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 7991 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 7992 children: [canInsertColumnBlock && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 7993 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.RangeControl, { 7994 __nextHasNoMarginBottom: true, 7995 __next40pxDefaultSize: true, 7996 label: (0,external_wp_i18n_namespaceObject.__)('Columns'), 7997 value: count, 7998 onChange: value => updateColumns(count, Math.max(minCount, value)), 7999 min: Math.max(1, minCount), 8000 max: Math.max(6, count) 8001 }), count > 6 && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Notice, { 8002 status: "warning", 8003 isDismissible: false, 8004 children: (0,external_wp_i18n_namespaceObject.__)('This column count exceeds the recommended amount and may cause visual breakage.') 8005 })] 8006 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 8007 __nextHasNoMarginBottom: true, 8008 label: (0,external_wp_i18n_namespaceObject.__)('Stack on mobile'), 8009 checked: isStackedOnMobile, 8010 onChange: () => setAttributes({ 8011 isStackedOnMobile: !isStackedOnMobile 8012 }) 8013 })] 8014 }); 8015 } 8016 function ColumnsEditContainer({ 8017 attributes, 8018 setAttributes, 8019 clientId 8020 }) { 8021 const { 8022 isStackedOnMobile, 8023 verticalAlignment, 8024 templateLock 8025 } = attributes; 8026 const registry = (0,external_wp_data_namespaceObject.useRegistry)(); 8027 const { 8028 getBlockOrder 8029 } = (0,external_wp_data_namespaceObject.useSelect)(external_wp_blockEditor_namespaceObject.store); 8030 const { 8031 updateBlockAttributes 8032 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 8033 const classes = dist_clsx({ 8034 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 8035 [`is-not-stacked-on-mobile`]: !isStackedOnMobile 8036 }); 8037 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 8038 className: classes 8039 }); 8040 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 8041 defaultBlock: edit_DEFAULT_BLOCK, 8042 directInsert: true, 8043 orientation: 'horizontal', 8044 renderAppender: false, 8045 templateLock 8046 }); 8047 8048 /** 8049 * Update all child Column blocks with a new vertical alignment setting 8050 * based on whatever alignment is passed in. This allows change to parent 8051 * to overide anything set on a individual column basis. 8052 * 8053 * @param {string} newVerticalAlignment The vertical alignment setting. 8054 */ 8055 function updateAlignment(newVerticalAlignment) { 8056 const innerBlockClientIds = getBlockOrder(clientId); 8057 8058 // Update own and child Column block vertical alignments. 8059 // This is a single action; the batching prevents creating multiple history records. 8060 registry.batch(() => { 8061 setAttributes({ 8062 verticalAlignment: newVerticalAlignment 8063 }); 8064 updateBlockAttributes(innerBlockClientIds, { 8065 verticalAlignment: newVerticalAlignment 8066 }); 8067 }); 8068 } 8069 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 8070 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 8071 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockVerticalAlignmentToolbar, { 8072 onChange: updateAlignment, 8073 value: verticalAlignment 8074 }) 8075 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 8076 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(edit_ColumnInspectorControls, { 8077 clientId: clientId, 8078 setAttributes: setAttributes, 8079 isStackedOnMobile: isStackedOnMobile 8080 }) 8081 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8082 ...innerBlocksProps 8083 })] 8084 }); 8085 } 8086 function Placeholder({ 8087 clientId, 8088 name, 8089 setAttributes 8090 }) { 8091 const { 8092 blockType, 8093 defaultVariation, 8094 variations 8095 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 8096 const { 8097 getBlockVariations, 8098 getBlockType, 8099 getDefaultBlockVariation 8100 } = select(external_wp_blocks_namespaceObject.store); 8101 return { 8102 blockType: getBlockType(name), 8103 defaultVariation: getDefaultBlockVariation(name, 'block'), 8104 variations: getBlockVariations(name, 'block') 8105 }; 8106 }, [name]); 8107 const { 8108 replaceInnerBlocks 8109 } = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_blockEditor_namespaceObject.store); 8110 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 8111 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8112 ...blockProps, 8113 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.__experimentalBlockVariationPicker, { 8114 icon: blockType?.icon?.src, 8115 label: blockType?.title, 8116 variations: variations, 8117 instructions: (0,external_wp_i18n_namespaceObject.__)('Divide into columns. Select a layout:'), 8118 onSelect: (nextVariation = defaultVariation) => { 8119 if (nextVariation.attributes) { 8120 setAttributes(nextVariation.attributes); 8121 } 8122 if (nextVariation.innerBlocks) { 8123 replaceInnerBlocks(clientId, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(nextVariation.innerBlocks), true); 8124 } 8125 }, 8126 allowSkip: true 8127 }) 8128 }); 8129 } 8130 const ColumnsEdit = props => { 8131 const { 8132 clientId 8133 } = props; 8134 const hasInnerBlocks = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).getBlocks(clientId).length > 0, [clientId]); 8135 const Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder; 8136 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Component, { 8137 ...props 8138 }); 8139 }; 8140 /* harmony default export */ const columns_edit = (ColumnsEdit); 8141 8142 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js 8143 /** 8144 * External dependencies 8145 */ 8146 8147 8148 /** 8149 * WordPress dependencies 8150 */ 8151 8152 8153 function columns_save_save({ 8154 attributes 8155 }) { 8156 const { 8157 isStackedOnMobile, 8158 verticalAlignment 8159 } = attributes; 8160 const className = dist_clsx({ 8161 [`are-vertically-aligned-$verticalAlignment}`]: verticalAlignment, 8162 [`is-not-stacked-on-mobile`]: !isStackedOnMobile 8163 }); 8164 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save({ 8165 className 8166 }); 8167 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 8168 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8169 ...innerBlocksProps 8170 }); 8171 } 8172 8173 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/variations.js 8174 /** 8175 * WordPress dependencies 8176 */ 8177 8178 8179 8180 /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ 8181 8182 /** 8183 * Template option choices for predefined columns layouts. 8184 * 8185 * @type {WPBlockVariation[]} 8186 */ 8187 8188 const variations = [{ 8189 name: 'one-column-full', 8190 title: (0,external_wp_i18n_namespaceObject.__)('100'), 8191 description: (0,external_wp_i18n_namespaceObject.__)('One column'), 8192 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8193 xmlns: "http://www.w3.org/2000/svg", 8194 width: "48", 8195 height: "48", 8196 viewBox: "0 0 48 48", 8197 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8198 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" 8199 }) 8200 }), 8201 innerBlocks: [['core/column']], 8202 scope: ['block'] 8203 }, { 8204 name: 'two-columns-equal', 8205 title: (0,external_wp_i18n_namespaceObject.__)('50 / 50'), 8206 description: (0,external_wp_i18n_namespaceObject.__)('Two columns; equal split'), 8207 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8208 xmlns: "http://www.w3.org/2000/svg", 8209 width: "48", 8210 height: "48", 8211 viewBox: "0 0 48 48", 8212 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8213 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" 8214 }) 8215 }), 8216 isDefault: true, 8217 innerBlocks: [['core/column'], ['core/column']], 8218 scope: ['block'] 8219 }, { 8220 name: 'two-columns-one-third-two-thirds', 8221 title: (0,external_wp_i18n_namespaceObject.__)('33 / 66'), 8222 description: (0,external_wp_i18n_namespaceObject.__)('Two columns; one-third, two-thirds split'), 8223 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8224 xmlns: "http://www.w3.org/2000/svg", 8225 width: "48", 8226 height: "48", 8227 viewBox: "0 0 48 48", 8228 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8229 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" 8230 }) 8231 }), 8232 innerBlocks: [['core/column', { 8233 width: '33.33%' 8234 }], ['core/column', { 8235 width: '66.66%' 8236 }]], 8237 scope: ['block'] 8238 }, { 8239 name: 'two-columns-two-thirds-one-third', 8240 title: (0,external_wp_i18n_namespaceObject.__)('66 / 33'), 8241 description: (0,external_wp_i18n_namespaceObject.__)('Two columns; two-thirds, one-third split'), 8242 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8243 xmlns: "http://www.w3.org/2000/svg", 8244 width: "48", 8245 height: "48", 8246 viewBox: "0 0 48 48", 8247 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8248 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" 8249 }) 8250 }), 8251 innerBlocks: [['core/column', { 8252 width: '66.66%' 8253 }], ['core/column', { 8254 width: '33.33%' 8255 }]], 8256 scope: ['block'] 8257 }, { 8258 name: 'three-columns-equal', 8259 title: (0,external_wp_i18n_namespaceObject.__)('33 / 33 / 33'), 8260 description: (0,external_wp_i18n_namespaceObject.__)('Three columns; equal split'), 8261 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8262 xmlns: "http://www.w3.org/2000/svg", 8263 width: "48", 8264 height: "48", 8265 viewBox: "0 0 48 48", 8266 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8267 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" 8268 }) 8269 }), 8270 innerBlocks: [['core/column'], ['core/column'], ['core/column']], 8271 scope: ['block'] 8272 }, { 8273 name: 'three-columns-wider-center', 8274 title: (0,external_wp_i18n_namespaceObject.__)('25 / 50 / 25'), 8275 description: (0,external_wp_i18n_namespaceObject.__)('Three columns; wide center column'), 8276 icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SVG, { 8277 xmlns: "http://www.w3.org/2000/svg", 8278 width: "48", 8279 height: "48", 8280 viewBox: "0 0 48 48", 8281 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Path, { 8282 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" 8283 }) 8284 }), 8285 innerBlocks: [['core/column', { 8286 width: '25%' 8287 }], ['core/column', { 8288 width: '50%' 8289 }], ['core/column', { 8290 width: '25%' 8291 }]], 8292 scope: ['block'] 8293 }]; 8294 /* harmony default export */ const columns_variations = (variations); 8295 8296 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/transforms.js 8297 /** 8298 * WordPress dependencies 8299 */ 8300 8301 const MAXIMUM_SELECTED_BLOCKS = 6; 8302 const columns_transforms_transforms = { 8303 from: [{ 8304 type: 'block', 8305 isMultiBlock: true, 8306 blocks: ['*'], 8307 __experimentalConvert: blocks => { 8308 const columnWidth = +(100 / blocks.length).toFixed(2); 8309 const innerBlocksTemplate = blocks.map(({ 8310 name, 8311 attributes, 8312 innerBlocks 8313 }) => ['core/column', { 8314 width: `$columnWidth}%` 8315 }, [[name, { 8316 ...attributes 8317 }, innerBlocks]]]); 8318 return (0,external_wp_blocks_namespaceObject.createBlock)('core/columns', {}, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)); 8319 }, 8320 isMatch: ({ 8321 length: selectedBlocksLength 8322 }, blocks) => { 8323 // If a user is trying to transform a single Columns block, skip 8324 // the transformation. Enabling this functiontionality creates 8325 // nested Columns blocks resulting in an unintuitive user experience. 8326 // Multiple Columns blocks can still be transformed. 8327 if (blocks.length === 1 && blocks[0].name === 'core/columns') { 8328 return false; 8329 } 8330 return selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS; 8331 } 8332 }, { 8333 type: 'block', 8334 blocks: ['core/media-text'], 8335 priority: 1, 8336 transform: (attributes, innerBlocks) => { 8337 const { 8338 align, 8339 backgroundColor, 8340 textColor, 8341 style, 8342 mediaAlt: alt, 8343 mediaId: id, 8344 mediaPosition, 8345 mediaSizeSlug: sizeSlug, 8346 mediaType, 8347 mediaUrl: url, 8348 mediaWidth, 8349 verticalAlignment 8350 } = attributes; 8351 let media; 8352 if (mediaType === 'image' || !mediaType) { 8353 const imageAttrs = { 8354 id, 8355 alt, 8356 url, 8357 sizeSlug 8358 }; 8359 const linkAttrs = { 8360 href: attributes.href, 8361 linkClass: attributes.linkClass, 8362 linkDestination: attributes.linkDestination, 8363 linkTarget: attributes.linkTarget, 8364 rel: attributes.rel 8365 }; 8366 media = ['core/image', { 8367 ...imageAttrs, 8368 ...linkAttrs 8369 }]; 8370 } else { 8371 media = ['core/video', { 8372 id, 8373 src: url 8374 }]; 8375 } 8376 const innerBlocksTemplate = [['core/column', { 8377 width: `$mediaWidth}%` 8378 }, [media]], ['core/column', { 8379 width: `$100 - mediaWidth}%` 8380 }, innerBlocks]]; 8381 if (mediaPosition === 'right') { 8382 innerBlocksTemplate.reverse(); 8383 } 8384 return (0,external_wp_blocks_namespaceObject.createBlock)('core/columns', { 8385 align, 8386 backgroundColor, 8387 textColor, 8388 style, 8389 verticalAlignment 8390 }, (0,external_wp_blocks_namespaceObject.createBlocksFromInnerBlocksTemplate)(innerBlocksTemplate)); 8391 } 8392 }], 8393 ungroup: (attributes, innerBlocks) => innerBlocks.flatMap(innerBlock => innerBlock.innerBlocks) 8394 }; 8395 /* harmony default export */ const columns_transforms = (columns_transforms_transforms); 8396 8397 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js 8398 /** 8399 * WordPress dependencies 8400 */ 8401 8402 8403 8404 /** 8405 * Internal dependencies 8406 */ 8407 8408 8409 8410 const columns_metadata = { 8411 $schema: "https://schemas.wp.org/trunk/block.json", 8412 apiVersion: 3, 8413 name: "core/columns", 8414 title: "Columns", 8415 category: "design", 8416 allowedBlocks: ["core/column"], 8417 description: "Display content in multiple columns, with blocks added to each column.", 8418 textdomain: "default", 8419 attributes: { 8420 verticalAlignment: { 8421 type: "string" 8422 }, 8423 isStackedOnMobile: { 8424 type: "boolean", 8425 "default": true 8426 }, 8427 templateLock: { 8428 type: ["string", "boolean"], 8429 "enum": ["all", "insert", "contentOnly", false] 8430 } 8431 }, 8432 supports: { 8433 anchor: true, 8434 align: ["wide", "full"], 8435 html: false, 8436 color: { 8437 gradients: true, 8438 link: true, 8439 heading: true, 8440 button: true, 8441 __experimentalDefaultControls: { 8442 background: true, 8443 text: true 8444 } 8445 }, 8446 spacing: { 8447 blockGap: { 8448 __experimentalDefault: "2em", 8449 sides: ["horizontal", "vertical"] 8450 }, 8451 margin: ["top", "bottom"], 8452 padding: true, 8453 __experimentalDefaultControls: { 8454 padding: true, 8455 blockGap: true 8456 } 8457 }, 8458 layout: { 8459 allowSwitching: false, 8460 allowInheriting: false, 8461 allowEditing: false, 8462 "default": { 8463 type: "flex", 8464 flexWrap: "nowrap" 8465 } 8466 }, 8467 __experimentalBorder: { 8468 color: true, 8469 radius: true, 8470 style: true, 8471 width: true, 8472 __experimentalDefaultControls: { 8473 color: true, 8474 radius: true, 8475 style: true, 8476 width: true 8477 } 8478 }, 8479 typography: { 8480 fontSize: true, 8481 lineHeight: true, 8482 __experimentalFontFamily: true, 8483 __experimentalFontWeight: true, 8484 __experimentalFontStyle: true, 8485 __experimentalTextTransform: true, 8486 __experimentalTextDecoration: true, 8487 __experimentalLetterSpacing: true, 8488 __experimentalDefaultControls: { 8489 fontSize: true 8490 } 8491 }, 8492 interactivity: { 8493 clientNavigation: true 8494 }, 8495 shadow: true 8496 }, 8497 editorStyle: "wp-block-columns-editor", 8498 style: "wp-block-columns" 8499 }; 8500 8501 8502 8503 const { 8504 name: columns_name 8505 } = columns_metadata; 8506 8507 const columns_settings = { 8508 icon: library_columns, 8509 variations: columns_variations, 8510 example: { 8511 viewportWidth: 600, 8512 // Columns collapse "@media (max-width: 599px)". 8513 innerBlocks: [{ 8514 name: 'core/column', 8515 innerBlocks: [{ 8516 name: 'core/paragraph', 8517 attributes: { 8518 /* translators: example text. */ 8519 content: (0,external_wp_i18n_namespaceObject.__)('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.') 8520 } 8521 }, { 8522 name: 'core/image', 8523 attributes: { 8524 url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' 8525 } 8526 }, { 8527 name: 'core/paragraph', 8528 attributes: { 8529 /* translators: example text. */ 8530 content: (0,external_wp_i18n_namespaceObject.__)('Suspendisse commodo neque lacus, a dictum orci interdum et.') 8531 } 8532 }] 8533 }, { 8534 name: 'core/column', 8535 innerBlocks: [{ 8536 name: 'core/paragraph', 8537 attributes: { 8538 /* translators: example text. */ 8539 content: (0,external_wp_i18n_namespaceObject.__)('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') 8540 } 8541 }, { 8542 name: 'core/paragraph', 8543 attributes: { 8544 /* translators: example text. */ 8545 content: (0,external_wp_i18n_namespaceObject.__)('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.') 8546 } 8547 }] 8548 }] 8549 }, 8550 deprecated: columns_deprecated, 8551 edit: columns_edit, 8552 save: columns_save_save, 8553 transforms: columns_transforms 8554 }; 8555 const columns_init = () => initBlock({ 8556 name: columns_name, 8557 metadata: columns_metadata, 8558 settings: columns_settings 8559 }); 8560 8561 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-comments.js 8562 /** 8563 * WordPress dependencies 8564 */ 8565 8566 8567 const postComments = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 8568 xmlns: "http://www.w3.org/2000/svg", 8569 viewBox: "0 0 24 24", 8570 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 8571 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" 8572 }) 8573 }); 8574 /* harmony default export */ const post_comments = (postComments); 8575 8576 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/deprecated.js 8577 /** 8578 * WordPress dependencies 8579 */ 8580 8581 8582 // v1: Deprecate the initial version of the block which was called "Comments 8583 // Query Loop" instead of "Comments". 8584 8585 const v1 = { 8586 attributes: { 8587 tagName: { 8588 type: 'string', 8589 default: 'div' 8590 } 8591 }, 8592 apiVersion: 3, 8593 supports: { 8594 align: ['wide', 'full'], 8595 html: false, 8596 color: { 8597 gradients: true, 8598 link: true, 8599 __experimentalDefaultControls: { 8600 background: true, 8601 text: true, 8602 link: true 8603 } 8604 } 8605 }, 8606 save({ 8607 attributes: { 8608 tagName: Tag 8609 } 8610 }) { 8611 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 8612 const { 8613 className 8614 } = blockProps; 8615 const classes = className?.split(' ') || []; 8616 8617 // The ID of the previous version of the block 8618 // didn't have the `wp-block-comments` class, 8619 // so we need to remove it here in order to mimic it. 8620 const newClasses = classes?.filter(cls => cls !== 'wp-block-comments'); 8621 const newBlockProps = { 8622 ...blockProps, 8623 className: newClasses.join(' ') 8624 }; 8625 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { 8626 ...newBlockProps, 8627 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InnerBlocks.Content, {}) 8628 }); 8629 } 8630 }; 8631 /* harmony default export */ const comments_deprecated = ([v1]); 8632 8633 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/edit/comments-inspector-controls.js 8634 /** 8635 * WordPress dependencies 8636 */ 8637 8638 8639 8640 8641 function CommentsInspectorControls({ 8642 attributes: { 8643 tagName 8644 }, 8645 setAttributes 8646 }) { 8647 const htmlElementMessages = { 8648 section: (0,external_wp_i18n_namespaceObject.__)("The <section> element should represent a standalone portion of the document that can't be better represented by another element."), 8649 aside: (0,external_wp_i18n_namespaceObject.__)("The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.") 8650 }; 8651 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 8652 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 8653 group: "advanced", 8654 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SelectControl, { 8655 __nextHasNoMarginBottom: true, 8656 __next40pxDefaultSize: true, 8657 label: (0,external_wp_i18n_namespaceObject.__)('HTML element'), 8658 options: [{ 8659 label: (0,external_wp_i18n_namespaceObject.__)('Default (<div>)'), 8660 value: 'div' 8661 }, { 8662 label: '<section>', 8663 value: 'section' 8664 }, { 8665 label: '<aside>', 8666 value: 'aside' 8667 }], 8668 value: tagName, 8669 onChange: value => setAttributes({ 8670 tagName: value 8671 }), 8672 help: htmlElementMessages[tagName] 8673 }) 8674 }) 8675 }); 8676 } 8677 8678 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-comments-form/form.js 8679 /** 8680 * External dependencies 8681 */ 8682 8683 8684 /** 8685 * WordPress dependencies 8686 */ 8687 8688 8689 8690 8691 8692 8693 8694 8695 const CommentsFormPlaceholder = () => { 8696 const instanceId = (0,external_wp_compose_namespaceObject.useInstanceId)(CommentsFormPlaceholder); 8697 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8698 className: "comment-respond", 8699 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", { 8700 className: "comment-reply-title", 8701 children: (0,external_wp_i18n_namespaceObject.__)('Leave a Reply') 8702 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("form", { 8703 noValidate: true, 8704 className: "comment-form", 8705 onSubmit: event => event.preventDefault(), 8706 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { 8707 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("label", { 8708 htmlFor: `comment-$instanceId}`, 8709 children: (0,external_wp_i18n_namespaceObject.__)('Comment') 8710 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("textarea", { 8711 id: `comment-$instanceId}`, 8712 name: "comment", 8713 cols: "45", 8714 rows: "8", 8715 readOnly: true 8716 })] 8717 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { 8718 className: "form-submit wp-block-button", 8719 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("input", { 8720 name: "submit", 8721 type: "submit", 8722 className: dist_clsx('wp-block-button__link', (0,external_wp_blockEditor_namespaceObject.__experimentalGetElementClassName)('button')), 8723 label: (0,external_wp_i18n_namespaceObject.__)('Post Comment'), 8724 value: (0,external_wp_i18n_namespaceObject.__)('Post Comment'), 8725 "aria-disabled": "true" 8726 }) 8727 })] 8728 })] 8729 }); 8730 }; 8731 const CommentsForm = ({ 8732 postId, 8733 postType 8734 }) => { 8735 const [commentStatus, setCommentStatus] = (0,external_wp_coreData_namespaceObject.useEntityProp)('postType', postType, 'comment_status', postId); 8736 const isSiteEditor = postType === undefined || postId === undefined; 8737 const { 8738 defaultCommentStatus 8739 } = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).getSettings().__experimentalDiscussionSettings); 8740 const postTypeSupportsComments = (0,external_wp_data_namespaceObject.useSelect)(select => postType ? !!select(external_wp_coreData_namespaceObject.store).getPostType(postType)?.supports.comments : false); 8741 if (!isSiteEditor && 'open' !== commentStatus) { 8742 if ('closed' === commentStatus) { 8743 const actions = [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { 8744 onClick: () => setCommentStatus('open'), 8745 variant: "primary", 8746 children: (0,external_wp_i18n_namespaceObject._x)('Enable comments', 'action that affects the current post') 8747 }, "enableComments")]; 8748 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { 8749 actions: actions, 8750 children: (0,external_wp_i18n_namespaceObject.__)('Post Comments Form block: Comments are not enabled for this item.') 8751 }); 8752 } else if (!postTypeSupportsComments) { 8753 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { 8754 children: (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: 1: Post type (i.e. "post", "page") */ 8755 (0,external_wp_i18n_namespaceObject.__)('Post Comments Form block: Comments are not enabled for this post type (%s).'), postType) 8756 }); 8757 } else if ('open' !== defaultCommentStatus) { 8758 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { 8759 children: (0,external_wp_i18n_namespaceObject.__)('Post Comments Form block: Comments are not enabled.') 8760 }); 8761 } 8762 } 8763 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentsFormPlaceholder, {}); 8764 }; 8765 /* harmony default export */ const post_comments_form_form = (CommentsForm); 8766 8767 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/edit/placeholder.js 8768 /** 8769 * WordPress dependencies 8770 */ 8771 8772 8773 8774 8775 8776 8777 /** 8778 * Internal dependencies 8779 */ 8780 8781 8782 8783 function PostCommentsPlaceholder({ 8784 postType, 8785 postId 8786 }) { 8787 let [postTitle] = (0,external_wp_coreData_namespaceObject.useEntityProp)('postType', postType, 'title', postId); 8788 postTitle = postTitle || (0,external_wp_i18n_namespaceObject.__)('Post Title'); 8789 const { 8790 avatarURL 8791 } = (0,external_wp_data_namespaceObject.useSelect)(select => select(external_wp_blockEditor_namespaceObject.store).getSettings().__experimentalDiscussionSettings); 8792 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8793 className: "wp-block-comments__legacy-placeholder", 8794 inert: "true", 8795 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("h3", { 8796 children: /* translators: %s: Post title. */ 8797 (0,external_wp_i18n_namespaceObject.sprintf)((0,external_wp_i18n_namespaceObject.__)('One response to %s'), postTitle) 8798 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8799 className: "navigation", 8800 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8801 className: "alignleft", 8802 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { 8803 href: "#top", 8804 children: ["\xAB ", (0,external_wp_i18n_namespaceObject.__)('Older Comments')] 8805 }) 8806 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8807 className: "alignright", 8808 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { 8809 href: "#top", 8810 children: [(0,external_wp_i18n_namespaceObject.__)('Newer Comments'), " \xBB"] 8811 }) 8812 })] 8813 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("ol", { 8814 className: "commentlist", 8815 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("li", { 8816 className: "comment even thread-even depth-1", 8817 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("article", { 8818 className: "comment-body", 8819 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("footer", { 8820 className: "comment-meta", 8821 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8822 className: "comment-author vcard", 8823 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { 8824 alt: (0,external_wp_i18n_namespaceObject.__)('Commenter Avatar'), 8825 src: avatarURL, 8826 className: "avatar avatar-32 photo", 8827 height: "32", 8828 width: "32", 8829 loading: "lazy" 8830 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("b", { 8831 className: "fn", 8832 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 8833 href: "#top", 8834 className: "url", 8835 children: (0,external_wp_i18n_namespaceObject.__)('A WordPress Commenter') 8836 }) 8837 }), ' ', /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("span", { 8838 className: "says", 8839 children: [(0,external_wp_i18n_namespaceObject.__)('says'), ":"] 8840 })] 8841 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8842 className: "comment-metadata", 8843 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 8844 href: "#top", 8845 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { 8846 dateTime: "2000-01-01T00:00:00+00:00", 8847 children: (0,external_wp_i18n_namespaceObject.__)('January 1, 2000 at 00:00 am') 8848 }) 8849 }), ' ', /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("span", { 8850 className: "edit-link", 8851 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 8852 className: "comment-edit-link", 8853 href: "#top", 8854 children: (0,external_wp_i18n_namespaceObject.__)('Edit') 8855 }) 8856 })] 8857 })] 8858 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8859 className: "comment-content", 8860 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("p", { 8861 children: [(0,external_wp_i18n_namespaceObject.__)('Hi, this is a comment.'), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), (0,external_wp_i18n_namespaceObject.__)('To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.'), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("br", {}), (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.__)('Commenter avatars come from <a>Gravatar</a>.'), { 8862 a: 8863 /*#__PURE__*/ 8864 // eslint-disable-next-line jsx-a11y/anchor-has-content 8865 (0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 8866 href: "https://gravatar.com/" 8867 }) 8868 })] 8869 }) 8870 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8871 className: "reply", 8872 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 8873 className: "comment-reply-link", 8874 href: "#top", 8875 "aria-label": (0,external_wp_i18n_namespaceObject.__)('Reply to A WordPress Commenter'), 8876 children: (0,external_wp_i18n_namespaceObject.__)('Reply') 8877 }) 8878 })] 8879 }) 8880 }) 8881 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8882 className: "navigation", 8883 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8884 className: "alignleft", 8885 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { 8886 href: "#top", 8887 children: ["\xAB ", (0,external_wp_i18n_namespaceObject.__)('Older Comments')] 8888 }) 8889 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 8890 className: "alignright", 8891 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("a", { 8892 href: "#top", 8893 children: [(0,external_wp_i18n_namespaceObject.__)('Newer Comments'), " \xBB"] 8894 }) 8895 })] 8896 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(post_comments_form_form, { 8897 postId: postId, 8898 postType: postType 8899 })] 8900 }); 8901 } 8902 8903 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/edit/comments-legacy.js 8904 /** 8905 * External dependencies 8906 */ 8907 8908 8909 /** 8910 * WordPress dependencies 8911 */ 8912 8913 8914 8915 8916 /** 8917 * Internal dependencies 8918 */ 8919 8920 8921 8922 8923 function CommentsLegacy({ 8924 attributes, 8925 setAttributes, 8926 context: { 8927 postType, 8928 postId 8929 } 8930 }) { 8931 const { 8932 textAlign 8933 } = attributes; 8934 const actions = [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, { 8935 onClick: () => void setAttributes({ 8936 legacy: false 8937 }), 8938 variant: "primary", 8939 children: (0,external_wp_i18n_namespaceObject.__)('Switch to editable mode') 8940 }, "convert")]; 8941 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 8942 className: dist_clsx({ 8943 [`has-text-align-$textAlign}`]: textAlign 8944 }) 8945 }); 8946 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 8947 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 8948 group: "block", 8949 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.AlignmentControl, { 8950 value: textAlign, 8951 onChange: nextAlign => { 8952 setAttributes({ 8953 textAlign: nextAlign 8954 }); 8955 } 8956 }) 8957 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", { 8958 ...blockProps, 8959 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.Warning, { 8960 actions: actions, 8961 children: (0,external_wp_i18n_namespaceObject.__)('Comments block: You’re 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.') 8962 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(PostCommentsPlaceholder, { 8963 postId: postId, 8964 postType: postType 8965 })] 8966 })] 8967 }); 8968 } 8969 8970 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/edit/template.js 8971 const TEMPLATE = [['core/comments-title'], ['core/comment-template', {}, [['core/columns', {}, [['core/column', { 8972 width: '40px' 8973 }, [['core/avatar', { 8974 size: 40, 8975 style: { 8976 border: { 8977 radius: '20px' 8978 } 8979 } 8980 }]]], ['core/column', {}, [['core/comment-author-name', { 8981 fontSize: 'small' 8982 }], ['core/group', { 8983 layout: { 8984 type: 'flex' 8985 }, 8986 style: { 8987 spacing: { 8988 margin: { 8989 top: '0px', 8990 bottom: '0px' 8991 } 8992 } 8993 } 8994 }, [['core/comment-date', { 8995 fontSize: 'small' 8996 }], ['core/comment-edit-link', { 8997 fontSize: 'small' 8998 }]]], ['core/comment-content'], ['core/comment-reply-link', { 8999 fontSize: 'small' 9000 }]]]]]]], ['core/comments-pagination'], ['core/post-comments-form']]; 9001 /* harmony default export */ const template = (TEMPLATE); 9002 9003 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/edit/index.js 9004 /** 9005 * WordPress dependencies 9006 */ 9007 9008 9009 /** 9010 * Internal dependencies 9011 */ 9012 9013 9014 9015 9016 9017 9018 function CommentsEdit(props) { 9019 const { 9020 attributes, 9021 setAttributes 9022 } = props; 9023 const { 9024 tagName: TagName, 9025 legacy 9026 } = attributes; 9027 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9028 const innerBlocksProps = (0,external_wp_blockEditor_namespaceObject.useInnerBlocksProps)(blockProps, { 9029 template: template 9030 }); 9031 if (legacy) { 9032 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentsLegacy, { 9033 ...props 9034 }); 9035 } 9036 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9037 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CommentsInspectorControls, { 9038 attributes: attributes, 9039 setAttributes: setAttributes 9040 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(TagName, { 9041 ...innerBlocksProps 9042 })] 9043 }); 9044 } 9045 9046 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/save.js 9047 /** 9048 * WordPress dependencies 9049 */ 9050 9051 9052 function comments_save_save({ 9053 attributes: { 9054 tagName: Tag, 9055 legacy 9056 } 9057 }) { 9058 const blockProps = external_wp_blockEditor_namespaceObject.useBlockProps.save(); 9059 const innerBlocksProps = external_wp_blockEditor_namespaceObject.useInnerBlocksProps.save(blockProps); 9060 9061 // The legacy version is dynamic (i.e. PHP rendered) and doesn't allow inner 9062 // blocks, so nothing is saved in that case. 9063 return legacy ? null : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Tag, { 9064 ...innerBlocksProps 9065 }); 9066 } 9067 9068 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comments/index.js 9069 /** 9070 * WordPress dependencies 9071 */ 9072 9073 9074 /** 9075 * Internal dependencies 9076 */ 9077 9078 const comments_metadata = { 9079 $schema: "https://schemas.wp.org/trunk/block.json", 9080 apiVersion: 3, 9081 name: "core/comments", 9082 title: "Comments", 9083 category: "theme", 9084 description: "An advanced block that allows displaying post comments using different visual configurations.", 9085 textdomain: "default", 9086 attributes: { 9087 tagName: { 9088 type: "string", 9089 "default": "div" 9090 }, 9091 legacy: { 9092 type: "boolean", 9093 "default": false 9094 } 9095 }, 9096 supports: { 9097 align: ["wide", "full"], 9098 html: false, 9099 color: { 9100 gradients: true, 9101 heading: true, 9102 link: true, 9103 __experimentalDefaultControls: { 9104 background: true, 9105 text: true, 9106 link: true 9107 } 9108 }, 9109 spacing: { 9110 margin: true, 9111 padding: true 9112 }, 9113 typography: { 9114 fontSize: true, 9115 lineHeight: true, 9116 __experimentalFontFamily: true, 9117 __experimentalFontWeight: true, 9118 __experimentalFontStyle: true, 9119 __experimentalTextTransform: true, 9120 __experimentalTextDecoration: true, 9121 __experimentalLetterSpacing: true, 9122 __experimentalDefaultControls: { 9123 fontSize: true 9124 } 9125 } 9126 }, 9127 editorStyle: "wp-block-comments-editor", 9128 usesContext: ["postId", "postType"] 9129 }; 9130 9131 9132 9133 const { 9134 name: comments_name 9135 } = comments_metadata; 9136 9137 const comments_settings = { 9138 icon: post_comments, 9139 edit: CommentsEdit, 9140 save: comments_save_save, 9141 deprecated: comments_deprecated 9142 }; 9143 const comments_init = () => initBlock({ 9144 name: comments_name, 9145 metadata: comments_metadata, 9146 settings: comments_settings 9147 }); 9148 9149 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/edit.js 9150 /** 9151 * WordPress dependencies 9152 */ 9153 9154 9155 9156 9157 9158 9159 9160 9161 function edit_Edit({ 9162 attributes, 9163 context: { 9164 commentId 9165 }, 9166 setAttributes, 9167 isSelected 9168 }) { 9169 const { 9170 height, 9171 width 9172 } = attributes; 9173 const [avatars] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_avatar_urls', commentId); 9174 const [authorName] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'author_name', commentId); 9175 const avatarUrls = avatars ? Object.values(avatars) : null; 9176 const sizes = avatars ? Object.keys(avatars) : null; 9177 const minSize = sizes ? sizes[0] : 24; 9178 const maxSize = sizes ? sizes[sizes.length - 1] : 96; 9179 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9180 const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes); 9181 const maxSizeBuffer = Math.floor(maxSize * 2.5); 9182 const { 9183 avatarURL 9184 } = (0,external_wp_data_namespaceObject.useSelect)(select => { 9185 const { 9186 getSettings 9187 } = select(external_wp_blockEditor_namespaceObject.store); 9188 const { 9189 __experimentalDiscussionSettings 9190 } = getSettings(); 9191 return __experimentalDiscussionSettings; 9192 }); 9193 const inspectorControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 9194 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { 9195 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 9196 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.RangeControl, { 9197 __nextHasNoMarginBottom: true, 9198 __next40pxDefaultSize: true, 9199 label: (0,external_wp_i18n_namespaceObject.__)('Image size'), 9200 onChange: newWidth => setAttributes({ 9201 width: newWidth, 9202 height: newWidth 9203 }), 9204 min: minSize, 9205 max: maxSizeBuffer, 9206 initialPosition: width, 9207 value: width 9208 }) 9209 }) 9210 }); 9211 const resizableAvatar = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ResizableBox, { 9212 size: { 9213 width, 9214 height 9215 }, 9216 showHandle: isSelected, 9217 onResizeStop: (event, direction, elt, delta) => { 9218 setAttributes({ 9219 height: parseInt(height + delta.height, 10), 9220 width: parseInt(width + delta.width, 10) 9221 }); 9222 }, 9223 lockAspectRatio: true, 9224 enable: { 9225 top: false, 9226 right: !(0,external_wp_i18n_namespaceObject.isRTL)(), 9227 bottom: true, 9228 left: (0,external_wp_i18n_namespaceObject.isRTL)() 9229 }, 9230 minWidth: minSize, 9231 maxWidth: maxSizeBuffer, 9232 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("img", { 9233 src: avatarUrls ? avatarUrls[avatarUrls.length - 1] : avatarURL, 9234 alt: `$authorName} ${(0,external_wp_i18n_namespaceObject.__)('Avatar')}`, 9235 ...blockProps 9236 }) 9237 }); 9238 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9239 children: [inspectorControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 9240 ...spacingProps, 9241 children: resizableAvatar 9242 })] 9243 }); 9244 } 9245 9246 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-avatar/index.js 9247 /** 9248 * WordPress dependencies 9249 */ 9250 9251 9252 /** 9253 * Internal dependencies 9254 */ 9255 9256 const comment_author_avatar_metadata = { 9257 $schema: "https://schemas.wp.org/trunk/block.json", 9258 apiVersion: 3, 9259 __experimental: "fse", 9260 name: "core/comment-author-avatar", 9261 title: "Comment Author Avatar (deprecated)", 9262 category: "theme", 9263 ancestor: ["core/comment-template"], 9264 description: "This block is deprecated. Please use the Avatar block instead.", 9265 textdomain: "default", 9266 attributes: { 9267 width: { 9268 type: "number", 9269 "default": 96 9270 }, 9271 height: { 9272 type: "number", 9273 "default": 96 9274 } 9275 }, 9276 usesContext: ["commentId"], 9277 supports: { 9278 html: false, 9279 inserter: false, 9280 __experimentalBorder: { 9281 radius: true, 9282 width: true, 9283 color: true, 9284 style: true 9285 }, 9286 color: { 9287 background: true, 9288 text: false, 9289 __experimentalDefaultControls: { 9290 background: true 9291 } 9292 }, 9293 spacing: { 9294 __experimentalSkipSerialization: true, 9295 margin: true, 9296 padding: true 9297 }, 9298 interactivity: { 9299 clientNavigation: true 9300 } 9301 } 9302 }; 9303 9304 const { 9305 name: comment_author_avatar_name 9306 } = comment_author_avatar_metadata; 9307 9308 const comment_author_avatar_settings = { 9309 icon: comment_author_avatar, 9310 edit: edit_Edit 9311 }; 9312 const comment_author_avatar_init = () => initBlock({ 9313 name: comment_author_avatar_name, 9314 metadata: comment_author_avatar_metadata, 9315 settings: comment_author_avatar_settings 9316 }); 9317 9318 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-author-name.js 9319 /** 9320 * WordPress dependencies 9321 */ 9322 9323 9324 9325 const commentAuthorName = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { 9326 viewBox: "0 0 24 24", 9327 xmlns: "http://www.w3.org/2000/svg", 9328 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9329 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", 9330 fillRule: "evenodd", 9331 clipRule: "evenodd" 9332 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9333 d: "M15 15V15C15 13.8954 14.1046 13 13 13L11 13C9.89543 13 9 13.8954 9 15V15", 9334 fillRule: "evenodd", 9335 clipRule: "evenodd" 9336 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Circle, { 9337 cx: "12", 9338 cy: "9", 9339 r: "2", 9340 fillRule: "evenodd", 9341 clipRule: "evenodd" 9342 })] 9343 }); 9344 /* harmony default export */ const comment_author_name = (commentAuthorName); 9345 9346 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/edit.js 9347 /** 9348 * External dependencies 9349 */ 9350 9351 9352 /** 9353 * WordPress dependencies 9354 */ 9355 9356 9357 9358 9359 9360 9361 /** 9362 * Renders the `core/comment-author-name` block on the editor. 9363 * 9364 * @param {Object} props React props. 9365 * @param {Object} props.setAttributes Callback for updating block attributes. 9366 * @param {Object} props.attributes Block attributes. 9367 * @param {string} props.attributes.isLink Whether the author name should be linked. 9368 * @param {string} props.attributes.linkTarget Target of the link. 9369 * @param {string} props.attributes.textAlign Text alignment. 9370 * @param {Object} props.context Inherited context. 9371 * @param {string} props.context.commentId The comment ID. 9372 * 9373 * @return {JSX.Element} React element. 9374 */ 9375 9376 9377 9378 function comment_author_name_edit_Edit({ 9379 attributes: { 9380 isLink, 9381 linkTarget, 9382 textAlign 9383 }, 9384 context: { 9385 commentId 9386 }, 9387 setAttributes 9388 }) { 9389 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9390 className: dist_clsx({ 9391 [`has-text-align-$textAlign}`]: textAlign 9392 }) 9393 }); 9394 let displayName = (0,external_wp_data_namespaceObject.useSelect)(select => { 9395 const { 9396 getEntityRecord 9397 } = select(external_wp_coreData_namespaceObject.store); 9398 const comment = getEntityRecord('root', 'comment', commentId); 9399 const authorName = comment?.author_name; // eslint-disable-line camelcase 9400 9401 if (comment && !authorName) { 9402 var _user$name; 9403 const user = getEntityRecord('root', 'user', comment.author); 9404 return (_user$name = user?.name) !== null && _user$name !== void 0 ? _user$name : (0,external_wp_i18n_namespaceObject.__)('Anonymous'); 9405 } 9406 return authorName !== null && authorName !== void 0 ? authorName : ''; 9407 }, [commentId]); 9408 const blockControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 9409 group: "block", 9410 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.AlignmentControl, { 9411 value: textAlign, 9412 onChange: newAlign => setAttributes({ 9413 textAlign: newAlign 9414 }) 9415 }) 9416 }); 9417 const inspectorControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 9418 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 9419 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 9420 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 9421 __nextHasNoMarginBottom: true, 9422 label: (0,external_wp_i18n_namespaceObject.__)('Link to authors URL'), 9423 onChange: () => setAttributes({ 9424 isLink: !isLink 9425 }), 9426 checked: isLink 9427 }), isLink && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 9428 __nextHasNoMarginBottom: true, 9429 label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), 9430 onChange: value => setAttributes({ 9431 linkTarget: value ? '_blank' : '_self' 9432 }), 9433 checked: linkTarget === '_blank' 9434 })] 9435 }) 9436 }); 9437 if (!commentId || !displayName) { 9438 displayName = (0,external_wp_i18n_namespaceObject._x)('Comment Author', 'block title'); 9439 } 9440 const displayAuthor = isLink ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 9441 href: "#comment-author-pseudo-link", 9442 onClick: event => event.preventDefault(), 9443 children: displayName 9444 }) : displayName; 9445 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9446 children: [inspectorControls, blockControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 9447 ...blockProps, 9448 children: displayAuthor 9449 })] 9450 }); 9451 } 9452 9453 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/deprecated.js 9454 /** 9455 * Internal dependencies 9456 */ 9457 9458 const deprecated_v1 = { 9459 attributes: { 9460 isLink: { 9461 type: 'boolean', 9462 default: false 9463 }, 9464 linkTarget: { 9465 type: 'string', 9466 default: '_self' 9467 } 9468 }, 9469 supports: { 9470 html: false, 9471 color: { 9472 gradients: true, 9473 link: true 9474 }, 9475 typography: { 9476 fontSize: true, 9477 lineHeight: true, 9478 __experimentalFontFamily: true, 9479 __experimentalFontWeight: true, 9480 __experimentalFontStyle: true, 9481 __experimentalTextTransform: true, 9482 __experimentalLetterSpacing: true 9483 } 9484 }, 9485 save() { 9486 return null; 9487 }, 9488 migrate: migrate_font_family, 9489 isEligible({ 9490 style 9491 }) { 9492 return style?.typography?.fontFamily; 9493 } 9494 }; 9495 9496 /** 9497 * New deprecations need to be placed first 9498 * for them to have higher priority. 9499 * 9500 * Old deprecations may need to be updated as well. 9501 * 9502 * See block-deprecation.md 9503 */ 9504 /* harmony default export */ const comment_author_name_deprecated = ([deprecated_v1]); 9505 9506 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-author-name/index.js 9507 /** 9508 * WordPress dependencies 9509 */ 9510 9511 9512 /** 9513 * Internal dependencies 9514 */ 9515 9516 const comment_author_name_metadata = { 9517 $schema: "https://schemas.wp.org/trunk/block.json", 9518 apiVersion: 3, 9519 name: "core/comment-author-name", 9520 title: "Comment Author Name", 9521 category: "theme", 9522 ancestor: ["core/comment-template"], 9523 description: "Displays the name of the author of the comment.", 9524 textdomain: "default", 9525 attributes: { 9526 isLink: { 9527 type: "boolean", 9528 "default": true 9529 }, 9530 linkTarget: { 9531 type: "string", 9532 "default": "_self" 9533 }, 9534 textAlign: { 9535 type: "string" 9536 } 9537 }, 9538 usesContext: ["commentId"], 9539 supports: { 9540 html: false, 9541 spacing: { 9542 margin: true, 9543 padding: true 9544 }, 9545 color: { 9546 gradients: true, 9547 link: true, 9548 __experimentalDefaultControls: { 9549 background: true, 9550 text: true, 9551 link: true 9552 } 9553 }, 9554 typography: { 9555 fontSize: true, 9556 lineHeight: true, 9557 __experimentalFontFamily: true, 9558 __experimentalFontWeight: true, 9559 __experimentalFontStyle: true, 9560 __experimentalTextTransform: true, 9561 __experimentalTextDecoration: true, 9562 __experimentalLetterSpacing: true, 9563 __experimentalDefaultControls: { 9564 fontSize: true 9565 } 9566 }, 9567 interactivity: { 9568 clientNavigation: true 9569 } 9570 } 9571 }; 9572 9573 9574 const { 9575 name: comment_author_name_name 9576 } = comment_author_name_metadata; 9577 9578 const comment_author_name_settings = { 9579 icon: comment_author_name, 9580 edit: comment_author_name_edit_Edit, 9581 deprecated: comment_author_name_deprecated 9582 }; 9583 const comment_author_name_init = () => initBlock({ 9584 name: comment_author_name_name, 9585 metadata: comment_author_name_metadata, 9586 settings: comment_author_name_settings 9587 }); 9588 9589 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-content.js 9590 /** 9591 * WordPress dependencies 9592 */ 9593 9594 9595 const commentContent = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 9596 viewBox: "0 0 24 24", 9597 xmlns: "http://www.w3.org/2000/svg", 9598 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9599 fillRule: "evenodd", 9600 clipRule: "evenodd", 9601 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" 9602 }) 9603 }); 9604 /* harmony default export */ const comment_content = (commentContent); 9605 9606 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-content/edit.js 9607 /** 9608 * External dependencies 9609 */ 9610 9611 9612 /** 9613 * WordPress dependencies 9614 */ 9615 9616 9617 9618 9619 9620 9621 /** 9622 * Renders the `core/comment-content` block on the editor. 9623 * 9624 * @param {Object} props React props. 9625 * @param {Object} props.setAttributes Callback for updating block attributes. 9626 * @param {Object} props.attributes Block attributes. 9627 * @param {string} props.attributes.textAlign The `textAlign` attribute. 9628 * @param {Object} props.context Inherited context. 9629 * @param {string} props.context.commentId The comment ID. 9630 * 9631 * @return {JSX.Element} React element. 9632 */ 9633 9634 9635 9636 function comment_content_edit_Edit({ 9637 setAttributes, 9638 attributes: { 9639 textAlign 9640 }, 9641 context: { 9642 commentId 9643 } 9644 }) { 9645 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 9646 className: dist_clsx({ 9647 [`has-text-align-$textAlign}`]: textAlign 9648 }) 9649 }); 9650 const [content] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'content', commentId); 9651 const blockControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 9652 group: "block", 9653 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.AlignmentControl, { 9654 value: textAlign, 9655 onChange: newAlign => setAttributes({ 9656 textAlign: newAlign 9657 }) 9658 }) 9659 }); 9660 if (!commentId || !content) { 9661 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9662 children: [blockControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 9663 ...blockProps, 9664 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("p", { 9665 children: (0,external_wp_i18n_namespaceObject._x)('Comment Content', 'block title') 9666 }) 9667 })] 9668 }); 9669 } 9670 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9671 children: [blockControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 9672 ...blockProps, 9673 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Disabled, { 9674 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_element_namespaceObject.RawHTML, { 9675 children: content.rendered 9676 }, "html") 9677 }) 9678 })] 9679 }); 9680 } 9681 9682 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-content/index.js 9683 /** 9684 * WordPress dependencies 9685 */ 9686 9687 9688 /** 9689 * Internal dependencies 9690 */ 9691 9692 const comment_content_metadata = { 9693 $schema: "https://schemas.wp.org/trunk/block.json", 9694 apiVersion: 3, 9695 name: "core/comment-content", 9696 title: "Comment Content", 9697 category: "theme", 9698 ancestor: ["core/comment-template"], 9699 description: "Displays the contents of a comment.", 9700 textdomain: "default", 9701 usesContext: ["commentId"], 9702 attributes: { 9703 textAlign: { 9704 type: "string" 9705 } 9706 }, 9707 supports: { 9708 color: { 9709 gradients: true, 9710 link: true, 9711 __experimentalDefaultControls: { 9712 background: true, 9713 text: true 9714 } 9715 }, 9716 typography: { 9717 fontSize: true, 9718 lineHeight: true, 9719 __experimentalFontFamily: true, 9720 __experimentalFontWeight: true, 9721 __experimentalFontStyle: true, 9722 __experimentalTextTransform: true, 9723 __experimentalTextDecoration: true, 9724 __experimentalLetterSpacing: true, 9725 __experimentalDefaultControls: { 9726 fontSize: true 9727 } 9728 }, 9729 spacing: { 9730 padding: ["horizontal", "vertical"], 9731 __experimentalDefaultControls: { 9732 padding: true 9733 } 9734 }, 9735 html: false 9736 } 9737 }; 9738 9739 const { 9740 name: comment_content_name 9741 } = comment_content_metadata; 9742 9743 const comment_content_settings = { 9744 icon: comment_content, 9745 edit: comment_content_edit_Edit 9746 }; 9747 const comment_content_init = () => initBlock({ 9748 name: comment_content_name, 9749 metadata: comment_content_metadata, 9750 settings: comment_content_settings 9751 }); 9752 9753 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-date.js 9754 /** 9755 * WordPress dependencies 9756 */ 9757 9758 9759 9760 const postDate = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_primitives_namespaceObject.SVG, { 9761 xmlns: "http://www.w3.org/2000/svg", 9762 viewBox: "0 0 24 24", 9763 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9764 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" 9765 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9766 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" 9767 })] 9768 }); 9769 /* harmony default export */ const post_date = (postDate); 9770 9771 ;// CONCATENATED MODULE: external ["wp","date"] 9772 const external_wp_date_namespaceObject = window["wp"]["date"]; 9773 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/edit.js 9774 /** 9775 * WordPress dependencies 9776 */ 9777 9778 9779 9780 9781 9782 9783 /** 9784 * Renders the `core/comment-date` block on the editor. 9785 * 9786 * @param {Object} props React props. 9787 * @param {Object} props.setAttributes Callback for updating block attributes. 9788 * @param {Object} props.attributes Block attributes. 9789 * @param {string} props.attributes.format Format of the date. 9790 * @param {string} props.attributes.isLink Whether the author name should be linked. 9791 * @param {Object} props.context Inherited context. 9792 * @param {string} props.context.commentId The comment ID. 9793 * 9794 * @return {JSX.Element} React element. 9795 */ 9796 9797 9798 9799 function comment_date_edit_Edit({ 9800 attributes: { 9801 format, 9802 isLink 9803 }, 9804 context: { 9805 commentId 9806 }, 9807 setAttributes 9808 }) { 9809 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)(); 9810 let [date] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'comment', 'date', commentId); 9811 const [siteFormat = (0,external_wp_date_namespaceObject.getSettings)().formats.date] = (0,external_wp_coreData_namespaceObject.useEntityProp)('root', 'site', 'date_format'); 9812 const inspectorControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 9813 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_wp_components_namespaceObject.PanelBody, { 9814 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 9815 children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.__experimentalDateFormatPicker, { 9816 format: format, 9817 defaultFormat: siteFormat, 9818 onChange: nextFormat => setAttributes({ 9819 format: nextFormat 9820 }) 9821 }), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 9822 __nextHasNoMarginBottom: true, 9823 label: (0,external_wp_i18n_namespaceObject.__)('Link to comment'), 9824 onChange: () => setAttributes({ 9825 isLink: !isLink 9826 }), 9827 checked: isLink 9828 })] 9829 }) 9830 }); 9831 if (!commentId || !date) { 9832 date = (0,external_wp_i18n_namespaceObject._x)('Comment Date', 'block title'); 9833 } 9834 let commentDate = date instanceof Date ? /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { 9835 dateTime: (0,external_wp_date_namespaceObject.dateI18n)('c', date), 9836 children: (0,external_wp_date_namespaceObject.dateI18n)(format || siteFormat, date) 9837 }) : /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("time", { 9838 children: date 9839 }); 9840 if (isLink) { 9841 commentDate = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 9842 href: "#comment-date-pseudo-link", 9843 onClick: event => event.preventDefault(), 9844 children: commentDate 9845 }); 9846 } 9847 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 9848 children: [inspectorControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 9849 ...blockProps, 9850 children: commentDate 9851 })] 9852 }); 9853 } 9854 9855 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/deprecated.js 9856 /** 9857 * Internal dependencies 9858 */ 9859 9860 const comment_date_deprecated_v1 = { 9861 attributes: { 9862 format: { 9863 type: 'string' 9864 }, 9865 isLink: { 9866 type: 'boolean', 9867 default: false 9868 } 9869 }, 9870 supports: { 9871 html: false, 9872 color: { 9873 gradients: true, 9874 link: true 9875 }, 9876 typography: { 9877 fontSize: true, 9878 lineHeight: true, 9879 __experimentalFontFamily: true, 9880 __experimentalFontWeight: true, 9881 __experimentalFontStyle: true, 9882 __experimentalTextTransform: true, 9883 __experimentalLetterSpacing: true 9884 } 9885 }, 9886 save() { 9887 return null; 9888 }, 9889 migrate: migrate_font_family, 9890 isEligible({ 9891 style 9892 }) { 9893 return style?.typography?.fontFamily; 9894 } 9895 }; 9896 9897 /** 9898 * New deprecations need to be placed first 9899 * for them to have higher priority. 9900 * 9901 * Old deprecations may need to be updated as well. 9902 * 9903 * See block-deprecation.md 9904 */ 9905 /* harmony default export */ const comment_date_deprecated = ([comment_date_deprecated_v1]); 9906 9907 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-date/index.js 9908 /** 9909 * WordPress dependencies 9910 */ 9911 9912 9913 /** 9914 * Internal dependencies 9915 */ 9916 9917 const comment_date_metadata = { 9918 $schema: "https://schemas.wp.org/trunk/block.json", 9919 apiVersion: 3, 9920 name: "core/comment-date", 9921 title: "Comment Date", 9922 category: "theme", 9923 ancestor: ["core/comment-template"], 9924 description: "Displays the date on which the comment was posted.", 9925 textdomain: "default", 9926 attributes: { 9927 format: { 9928 type: "string" 9929 }, 9930 isLink: { 9931 type: "boolean", 9932 "default": true 9933 } 9934 }, 9935 usesContext: ["commentId"], 9936 supports: { 9937 html: false, 9938 color: { 9939 gradients: true, 9940 link: true, 9941 __experimentalDefaultControls: { 9942 background: true, 9943 text: true, 9944 link: true 9945 } 9946 }, 9947 spacing: { 9948 margin: true, 9949 padding: true 9950 }, 9951 typography: { 9952 fontSize: true, 9953 lineHeight: true, 9954 __experimentalFontFamily: true, 9955 __experimentalFontWeight: true, 9956 __experimentalFontStyle: true, 9957 __experimentalTextTransform: true, 9958 __experimentalTextDecoration: true, 9959 __experimentalLetterSpacing: true, 9960 __experimentalDefaultControls: { 9961 fontSize: true 9962 } 9963 }, 9964 interactivity: { 9965 clientNavigation: true 9966 } 9967 } 9968 }; 9969 9970 9971 const { 9972 name: comment_date_name 9973 } = comment_date_metadata; 9974 9975 const comment_date_settings = { 9976 icon: post_date, 9977 edit: comment_date_edit_Edit, 9978 deprecated: comment_date_deprecated 9979 }; 9980 const comment_date_init = () => initBlock({ 9981 name: comment_date_name, 9982 metadata: comment_date_metadata, 9983 settings: comment_date_settings 9984 }); 9985 9986 ;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment-edit-link.js 9987 /** 9988 * WordPress dependencies 9989 */ 9990 9991 9992 const commentEditLink = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.SVG, { 9993 width: "24", 9994 height: "24", 9995 viewBox: "0 0 24 24", 9996 xmlns: "http://www.w3.org/2000/svg", 9997 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_primitives_namespaceObject.Path, { 9998 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" 9999 }) 10000 }); 10001 /* harmony default export */ const comment_edit_link = (commentEditLink); 10002 10003 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/edit.js 10004 /** 10005 * External dependencies 10006 */ 10007 10008 10009 /** 10010 * WordPress dependencies 10011 */ 10012 10013 10014 10015 10016 10017 10018 function comment_edit_link_edit_Edit({ 10019 attributes: { 10020 linkTarget, 10021 textAlign 10022 }, 10023 setAttributes 10024 }) { 10025 const blockProps = (0,external_wp_blockEditor_namespaceObject.useBlockProps)({ 10026 className: dist_clsx({ 10027 [`has-text-align-$textAlign}`]: textAlign 10028 }) 10029 }); 10030 const blockControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.BlockControls, { 10031 group: "block", 10032 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.AlignmentControl, { 10033 value: textAlign, 10034 onChange: newAlign => setAttributes({ 10035 textAlign: newAlign 10036 }) 10037 }) 10038 }); 10039 const inspectorControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.InspectorControls, { 10040 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.PanelBody, { 10041 title: (0,external_wp_i18n_namespaceObject.__)('Settings'), 10042 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.ToggleControl, { 10043 __nextHasNoMarginBottom: true, 10044 label: (0,external_wp_i18n_namespaceObject.__)('Open in new tab'), 10045 onChange: value => setAttributes({ 10046 linkTarget: value ? '_blank' : '_self' 10047 }), 10048 checked: linkTarget === '_blank' 10049 }) 10050 }) 10051 }); 10052 return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, { 10053 children: [blockControls, inspectorControls, /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { 10054 ...blockProps, 10055 children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("a", { 10056 href: "#edit-comment-pseudo-link", 10057 onClick: event => event.preventDefault(), 10058 children: (0,external_wp_i18n_namespaceObject.__)('Edit') 10059 }) 10060 })] 10061 }); 10062 } 10063 10064 ;// CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/comment-edit-link/inde