block-library.js (1090364B)
1 this["wp"] = this["wp"] || {}; this["wp"]["blockLibrary"] = 2 /******/ (function(modules) { // webpackBootstrap 3 /******/ // The module cache 4 /******/ var installedModules = {}; 5 /******/ 6 /******/ // The require function 7 /******/ function __webpack_require__(moduleId) { 8 /******/ 9 /******/ // Check if module is in cache 10 /******/ if(installedModules[moduleId]) { 11 /******/ return installedModules[moduleId].exports; 12 /******/ } 13 /******/ // Create a new module (and put it into the cache) 14 /******/ var module = installedModules[moduleId] = { 15 /******/ i: moduleId, 16 /******/ l: false, 17 /******/ exports: {} 18 /******/ }; 19 /******/ 20 /******/ // Execute the module function 21 /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 22 /******/ 23 /******/ // Flag the module as loaded 24 /******/ module.l = true; 25 /******/ 26 /******/ // Return the exports of the module 27 /******/ return module.exports; 28 /******/ } 29 /******/ 30 /******/ 31 /******/ // expose the modules object (__webpack_modules__) 32 /******/ __webpack_require__.m = modules; 33 /******/ 34 /******/ // expose the module cache 35 /******/ __webpack_require__.c = installedModules; 36 /******/ 37 /******/ // define getter function for harmony exports 38 /******/ __webpack_require__.d = function(exports, name, getter) { 39 /******/ if(!__webpack_require__.o(exports, name)) { 40 /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 41 /******/ } 42 /******/ }; 43 /******/ 44 /******/ // define __esModule on exports 45 /******/ __webpack_require__.r = function(exports) { 46 /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 47 /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 48 /******/ } 49 /******/ Object.defineProperty(exports, '__esModule', { value: true }); 50 /******/ }; 51 /******/ 52 /******/ // create a fake namespace object 53 /******/ // mode & 1: value is a module id, require it 54 /******/ // mode & 2: merge all properties of value into the ns 55 /******/ // mode & 4: return value when already ns object 56 /******/ // mode & 8|1: behave like require 57 /******/ __webpack_require__.t = function(value, mode) { 58 /******/ if(mode & 1) value = __webpack_require__(value); 59 /******/ if(mode & 8) return value; 60 /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 61 /******/ var ns = Object.create(null); 62 /******/ __webpack_require__.r(ns); 63 /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 64 /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 65 /******/ return ns; 66 /******/ }; 67 /******/ 68 /******/ // getDefaultExport function for compatibility with non-harmony modules 69 /******/ __webpack_require__.n = function(module) { 70 /******/ var getter = module && module.__esModule ? 71 /******/ function getDefault() { return module['default']; } : 72 /******/ function getModuleExports() { return module; }; 73 /******/ __webpack_require__.d(getter, 'a', getter); 74 /******/ return getter; 75 /******/ }; 76 /******/ 77 /******/ // Object.prototype.hasOwnProperty.call 78 /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 79 /******/ 80 /******/ // __webpack_public_path__ 81 /******/ __webpack_require__.p = ""; 82 /******/ 83 /******/ 84 /******/ // Load entry module and return exports 85 /******/ return __webpack_require__(__webpack_require__.s = "K51g"); 86 /******/ }) 87 /************************************************************************/ 88 /******/ ({ 89 90 /***/ "1CF3": 91 /***/ (function(module, exports) { 92 93 (function() { module.exports = window["wp"]["dom"]; }()); 94 95 /***/ }), 96 97 /***/ "1K8p": 98 /***/ (function(module, exports, __webpack_require__) { 99 100 "use strict"; 101 /** 102 * Copyright (c) 2015, Facebook, Inc. 103 * All rights reserved. 104 * 105 * This source code is licensed under the BSD-style license found in the 106 * LICENSE file in the root directory of this source tree. An additional grant 107 * of patent rights can be found in the PATENTS file in the same directory. 108 * 109 * @providesModule normalizeWheel 110 * @typechecks 111 */ 112 113 114 115 var UserAgent_DEPRECATED = __webpack_require__("jrfk"); 116 117 var isEventSupported = __webpack_require__("ez49"); 118 119 120 // Reasonable defaults 121 var PIXEL_STEP = 10; 122 var LINE_HEIGHT = 40; 123 var PAGE_HEIGHT = 800; 124 125 /** 126 * Mouse wheel (and 2-finger trackpad) support on the web sucks. It is 127 * complicated, thus this doc is long and (hopefully) detailed enough to answer 128 * your questions. 129 * 130 * If you need to react to the mouse wheel in a predictable way, this code is 131 * like your bestest friend. * hugs * 132 * 133 * As of today, there are 4 DOM event types you can listen to: 134 * 135 * 'wheel' -- Chrome(31+), FF(17+), IE(9+) 136 * 'mousewheel' -- Chrome, IE(6+), Opera, Safari 137 * 'MozMousePixelScroll' -- FF(3.5 only!) (2010-2013) -- don't bother! 138 * 'DOMMouseScroll' -- FF(0.9.7+) since 2003 139 * 140 * So what to do? The is the best: 141 * 142 * normalizeWheel.getEventType(); 143 * 144 * In your event callback, use this code to get sane interpretation of the 145 * deltas. This code will return an object with properties: 146 * 147 * spinX -- normalized spin speed (use for zoom) - x plane 148 * spinY -- " - y plane 149 * pixelX -- normalized distance (to pixels) - x plane 150 * pixelY -- " - y plane 151 * 152 * Wheel values are provided by the browser assuming you are using the wheel to 153 * scroll a web page by a number of lines or pixels (or pages). Values can vary 154 * significantly on different platforms and browsers, forgetting that you can 155 * scroll at different speeds. Some devices (like trackpads) emit more events 156 * at smaller increments with fine granularity, and some emit massive jumps with 157 * linear speed or acceleration. 158 * 159 * This code does its best to normalize the deltas for you: 160 * 161 * - spin is trying to normalize how far the wheel was spun (or trackpad 162 * dragged). This is super useful for zoom support where you want to 163 * throw away the chunky scroll steps on the PC and make those equal to 164 * the slow and smooth tiny steps on the Mac. Key data: This code tries to 165 * resolve a single slow step on a wheel to 1. 166 * 167 * - pixel is normalizing the desired scroll delta in pixel units. You'll 168 * get the crazy differences between browsers, but at least it'll be in 169 * pixels! 170 * 171 * - positive value indicates scrolling DOWN/RIGHT, negative UP/LEFT. This 172 * should translate to positive value zooming IN, negative zooming OUT. 173 * This matches the newer 'wheel' event. 174 * 175 * Why are there spinX, spinY (or pixels)? 176 * 177 * - spinX is a 2-finger side drag on the trackpad, and a shift + wheel turn 178 * with a mouse. It results in side-scrolling in the browser by default. 179 * 180 * - spinY is what you expect -- it's the classic axis of a mouse wheel. 181 * 182 * - I dropped spinZ/pixelZ. It is supported by the DOM 3 'wheel' event and 183 * probably is by browsers in conjunction with fancy 3D controllers .. but 184 * you know. 185 * 186 * Implementation info: 187 * 188 * Examples of 'wheel' event if you scroll slowly (down) by one step with an 189 * average mouse: 190 * 191 * OS X + Chrome (mouse) - 4 pixel delta (wheelDelta -120) 192 * OS X + Safari (mouse) - N/A pixel delta (wheelDelta -12) 193 * OS X + Firefox (mouse) - 0.1 line delta (wheelDelta N/A) 194 * Win8 + Chrome (mouse) - 100 pixel delta (wheelDelta -120) 195 * Win8 + Firefox (mouse) - 3 line delta (wheelDelta -120) 196 * 197 * On the trackpad: 198 * 199 * OS X + Chrome (trackpad) - 2 pixel delta (wheelDelta -6) 200 * OS X + Firefox (trackpad) - 1 pixel delta (wheelDelta N/A) 201 * 202 * On other/older browsers.. it's more complicated as there can be multiple and 203 * also missing delta values. 204 * 205 * The 'wheel' event is more standard: 206 * 207 * http://www.w3.org/TR/DOM-Level-3-Events/#events-wheelevents 208 * 209 * The basics is that it includes a unit, deltaMode (pixels, lines, pages), and 210 * deltaX, deltaY and deltaZ. Some browsers provide other values to maintain 211 * backward compatibility with older events. Those other values help us 212 * better normalize spin speed. Example of what the browsers provide: 213 * 214 * | event.wheelDelta | event.detail 215 * ------------------+------------------+-------------- 216 * Safari v5/OS X | -120 | 0 217 * Safari v5/Win7 | -120 | 0 218 * Chrome v17/OS X | -120 | 0 219 * Chrome v17/Win7 | -120 | 0 220 * IE9/Win7 | -120 | undefined 221 * Firefox v4/OS X | undefined | 1 222 * Firefox v4/Win7 | undefined | 3 223 * 224 */ 225 function normalizeWheel(/*object*/ event) /*object*/ { 226 var sX = 0, sY = 0, // spinX, spinY 227 pX = 0, pY = 0; // pixelX, pixelY 228 229 // Legacy 230 if ('detail' in event) { sY = event.detail; } 231 if ('wheelDelta' in event) { sY = -event.wheelDelta / 120; } 232 if ('wheelDeltaY' in event) { sY = -event.wheelDeltaY / 120; } 233 if ('wheelDeltaX' in event) { sX = -event.wheelDeltaX / 120; } 234 235 // side scrolling on FF with DOMMouseScroll 236 if ( 'axis' in event && event.axis === event.HORIZONTAL_AXIS ) { 237 sX = sY; 238 sY = 0; 239 } 240 241 pX = sX * PIXEL_STEP; 242 pY = sY * PIXEL_STEP; 243 244 if ('deltaY' in event) { pY = event.deltaY; } 245 if ('deltaX' in event) { pX = event.deltaX; } 246 247 if ((pX || pY) && event.deltaMode) { 248 if (event.deltaMode == 1) { // delta in LINE units 249 pX *= LINE_HEIGHT; 250 pY *= LINE_HEIGHT; 251 } else { // delta in PAGE units 252 pX *= PAGE_HEIGHT; 253 pY *= PAGE_HEIGHT; 254 } 255 } 256 257 // Fall-back if spin cannot be determined 258 if (pX && !sX) { sX = (pX < 1) ? -1 : 1; } 259 if (pY && !sY) { sY = (pY < 1) ? -1 : 1; } 260 261 return { spinX : sX, 262 spinY : sY, 263 pixelX : pX, 264 pixelY : pY }; 265 } 266 267 268 /** 269 * The best combination if you prefer spinX + spinY normalization. It favors 270 * the older DOMMouseScroll for Firefox, as FF does not include wheelDelta with 271 * 'wheel' event, making spin speed determination impossible. 272 */ 273 normalizeWheel.getEventType = function() /*string*/ { 274 return (UserAgent_DEPRECATED.firefox()) 275 ? 'DOMMouseScroll' 276 : (isEventSupported('wheel')) 277 ? 'wheel' 278 : 'mousewheel'; 279 }; 280 281 module.exports = normalizeWheel; 282 283 284 /***/ }), 285 286 /***/ "1Yn1": 287 /***/ (function(module, __webpack_exports__, __webpack_require__) { 288 289 "use strict"; 290 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 291 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 292 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 293 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 294 295 296 /** 297 * WordPress dependencies 298 */ 299 300 const code = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 301 viewBox: "0 0 24 24", 302 xmlns: "http://www.w3.org/2000/svg" 303 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 304 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" 305 })); 306 /* harmony default export */ __webpack_exports__["a"] = (code); 307 308 309 /***/ }), 310 311 /***/ "1ZqX": 312 /***/ (function(module, exports) { 313 314 (function() { module.exports = window["wp"]["data"]; }()); 315 316 /***/ }), 317 318 /***/ "1iEr": 319 /***/ (function(module, __webpack_exports__, __webpack_require__) { 320 321 "use strict"; 322 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 323 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 324 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 325 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 326 327 328 /** 329 * WordPress dependencies 330 */ 331 332 const chevronRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 333 xmlns: "http://www.w3.org/2000/svg", 334 viewBox: "0 0 24 24" 335 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 336 d: "M10.6 6L9.4 7l4.6 5-4.6 5 1.2 1 5.4-6z" 337 })); 338 /* harmony default export */ __webpack_exports__["a"] = (chevronRight); 339 340 341 /***/ }), 342 343 /***/ "2gm7": 344 /***/ (function(module, __webpack_exports__, __webpack_require__) { 345 346 "use strict"; 347 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 348 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 349 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 350 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 351 352 353 /** 354 * WordPress dependencies 355 */ 356 357 const chevronLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 358 xmlns: "http://www.w3.org/2000/svg", 359 viewBox: "0 0 24 24" 360 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 361 d: "M14.6 7l-1.2-1L8 12l5.4 6 1.2-1-4.6-5z" 362 })); 363 /* harmony default export */ __webpack_exports__["a"] = (chevronLeft); 364 365 366 /***/ }), 367 368 /***/ "4eJC": 369 /***/ (function(module, exports, __webpack_require__) { 370 371 /** 372 * Memize options object. 373 * 374 * @typedef MemizeOptions 375 * 376 * @property {number} [maxSize] Maximum size of the cache. 377 */ 378 379 /** 380 * Internal cache entry. 381 * 382 * @typedef MemizeCacheNode 383 * 384 * @property {?MemizeCacheNode|undefined} [prev] Previous node. 385 * @property {?MemizeCacheNode|undefined} [next] Next node. 386 * @property {Array<*>} args Function arguments for cache 387 * entry. 388 * @property {*} val Function result. 389 */ 390 391 /** 392 * Properties of the enhanced function for controlling cache. 393 * 394 * @typedef MemizeMemoizedFunction 395 * 396 * @property {()=>void} clear Clear the cache. 397 */ 398 399 /** 400 * Accepts a function to be memoized, and returns a new memoized function, with 401 * optional options. 402 * 403 * @template {Function} F 404 * 405 * @param {F} fn Function to memoize. 406 * @param {MemizeOptions} [options] Options object. 407 * 408 * @return {F & MemizeMemoizedFunction} Memoized function. 409 */ 410 function memize( fn, options ) { 411 var size = 0; 412 413 /** @type {?MemizeCacheNode|undefined} */ 414 var head; 415 416 /** @type {?MemizeCacheNode|undefined} */ 417 var tail; 418 419 options = options || {}; 420 421 function memoized( /* ...args */ ) { 422 var node = head, 423 len = arguments.length, 424 args, i; 425 426 searchCache: while ( node ) { 427 // Perform a shallow equality test to confirm that whether the node 428 // under test is a candidate for the arguments passed. Two arrays 429 // are shallowly equal if their length matches and each entry is 430 // strictly equal between the two sets. Avoid abstracting to a 431 // function which could incur an arguments leaking deoptimization. 432 433 // Check whether node arguments match arguments length 434 if ( node.args.length !== arguments.length ) { 435 node = node.next; 436 continue; 437 } 438 439 // Check whether node arguments match arguments values 440 for ( i = 0; i < len; i++ ) { 441 if ( node.args[ i ] !== arguments[ i ] ) { 442 node = node.next; 443 continue searchCache; 444 } 445 } 446 447 // At this point we can assume we've found a match 448 449 // Surface matched node to head if not already 450 if ( node !== head ) { 451 // As tail, shift to previous. Must only shift if not also 452 // head, since if both head and tail, there is no previous. 453 if ( node === tail ) { 454 tail = node.prev; 455 } 456 457 // Adjust siblings to point to each other. If node was tail, 458 // this also handles new tail's empty `next` assignment. 459 /** @type {MemizeCacheNode} */ ( node.prev ).next = node.next; 460 if ( node.next ) { 461 node.next.prev = node.prev; 462 } 463 464 node.next = head; 465 node.prev = null; 466 /** @type {MemizeCacheNode} */ ( head ).prev = node; 467 head = node; 468 } 469 470 // Return immediately 471 return node.val; 472 } 473 474 // No cached value found. Continue to insertion phase: 475 476 // Create a copy of arguments (avoid leaking deoptimization) 477 args = new Array( len ); 478 for ( i = 0; i < len; i++ ) { 479 args[ i ] = arguments[ i ]; 480 } 481 482 node = { 483 args: args, 484 485 // Generate the result from original function 486 val: fn.apply( null, args ), 487 }; 488 489 // Don't need to check whether node is already head, since it would 490 // have been returned above already if it was 491 492 // Shift existing head down list 493 if ( head ) { 494 head.prev = node; 495 node.next = head; 496 } else { 497 // If no head, follows that there's no tail (at initial or reset) 498 tail = node; 499 } 500 501 // Trim tail if we're reached max size and are pending cache insertion 502 if ( size === /** @type {MemizeOptions} */ ( options ).maxSize ) { 503 tail = /** @type {MemizeCacheNode} */ ( tail ).prev; 504 /** @type {MemizeCacheNode} */ ( tail ).next = null; 505 } else { 506 size++; 507 } 508 509 head = node; 510 511 return node.val; 512 } 513 514 memoized.clear = function() { 515 head = null; 516 tail = null; 517 size = 0; 518 }; 519 520 if ( false ) {} 521 522 // Ignore reason: There's not a clear solution to create an intersection of 523 // the function with additional properties, where the goal is to retain the 524 // function signature of the incoming argument and add control properties 525 // on the return value. 526 527 // @ts-ignore 528 return memoized; 529 } 530 531 module.exports = memize; 532 533 534 /***/ }), 535 536 /***/ "A/WM": 537 /***/ (function(module, exports, __webpack_require__) { 538 539 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 540 Copyright (c) 2018 Jed Watson. 541 Licensed under the MIT License (MIT), see 542 http://jedwatson.github.io/classnames 543 */ 544 /* global define */ 545 546 (function () { 547 'use strict'; 548 549 var classNames = (function () { 550 // don't inherit from Object so we can skip hasOwnProperty check later 551 // http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232 552 function StorageObject() {} 553 StorageObject.prototype = Object.create(null); 554 555 function _parseArray (resultSet, array) { 556 var length = array.length; 557 558 for (var i = 0; i < length; ++i) { 559 _parse(resultSet, array[i]); 560 } 561 } 562 563 var hasOwn = {}.hasOwnProperty; 564 565 function _parseNumber (resultSet, num) { 566 resultSet[num] = true; 567 } 568 569 function _parseObject (resultSet, object) { 570 if (object.toString === Object.prototype.toString) { 571 for (var k in object) { 572 if (hasOwn.call(object, k)) { 573 // set value to false instead of deleting it to avoid changing object structure 574 // https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions 575 resultSet[k] = !!object[k]; 576 } 577 } 578 } else { 579 resultSet[object.toString()] = true; 580 } 581 } 582 583 var SPACE = /\s+/; 584 function _parseString (resultSet, str) { 585 var array = str.split(SPACE); 586 var length = array.length; 587 588 for (var i = 0; i < length; ++i) { 589 resultSet[array[i]] = true; 590 } 591 } 592 593 function _parse (resultSet, arg) { 594 if (!arg) return; 595 var argType = typeof arg; 596 597 // 'foo bar' 598 if (argType === 'string') { 599 _parseString(resultSet, arg); 600 601 // ['foo', 'bar', ...] 602 } else if (Array.isArray(arg)) { 603 _parseArray(resultSet, arg); 604 605 // { 'foo': true, ... } 606 } else if (argType === 'object') { 607 _parseObject(resultSet, arg); 608 609 // '130' 610 } else if (argType === 'number') { 611 _parseNumber(resultSet, arg); 612 } 613 } 614 615 function _classNames () { 616 // don't leak arguments 617 // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments 618 var len = arguments.length; 619 var args = Array(len); 620 for (var i = 0; i < len; i++) { 621 args[i] = arguments[i]; 622 } 623 624 var classSet = new StorageObject(); 625 _parseArray(classSet, args); 626 627 var list = []; 628 629 for (var k in classSet) { 630 if (classSet[k]) { 631 list.push(k) 632 } 633 } 634 635 return list.join(' '); 636 } 637 638 return _classNames; 639 })(); 640 641 if ( true && module.exports) { 642 classNames.default = classNames; 643 module.exports = classNames; 644 } else if (true) { 645 // register as 'classnames', consistent with npm package name 646 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { 647 return classNames; 648 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 649 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 650 } else {} 651 }()); 652 653 654 /***/ }), 655 656 /***/ "B9Az": 657 /***/ (function(module, __webpack_exports__, __webpack_require__) { 658 659 "use strict"; 660 661 // EXTERNAL MODULE: external ["wp","element"] 662 var external_wp_element_ = __webpack_require__("GRId"); 663 664 // EXTERNAL MODULE: external ["wp","primitives"] 665 var external_wp_primitives_ = __webpack_require__("Tqx9"); 666 667 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pencil.js 668 669 670 /** 671 * WordPress dependencies 672 */ 673 674 const pencil = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 675 xmlns: "http://www.w3.org/2000/svg", 676 viewBox: "0 0 24 24" 677 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 678 d: "M20.1 5.1L16.9 2 6.2 12.7l-1.3 4.4 4.5-1.3L20.1 5.1zM4 20.8h8v-1.5H4v1.5z" 679 })); 680 /* harmony default export */ var library_pencil = (pencil); 681 682 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js 683 /** 684 * Internal dependencies 685 */ 686 687 /* harmony default export */ var edit = __webpack_exports__["a"] = (library_pencil); 688 689 690 /***/ }), 691 692 /***/ "Bpkj": 693 /***/ (function(module, __webpack_exports__, __webpack_require__) { 694 695 "use strict"; 696 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 697 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 698 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 699 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 700 701 702 /** 703 * WordPress dependencies 704 */ 705 706 const link = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 707 xmlns: "http://www.w3.org/2000/svg", 708 viewBox: "0 0 24 24" 709 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 710 d: "M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z" 711 })); 712 /* harmony default export */ __webpack_exports__["a"] = (link); 713 714 715 /***/ }), 716 717 /***/ "FEKF": 718 /***/ (function(module, exports, __webpack_require__) { 719 720 /*! Fast Average Color | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/fast-average-color/ */ 721 (function (global, factory) { 722 true ? module.exports = factory() : 723 undefined; 724 }(this, (function () { 'use strict'; 725 726 function _classCallCheck(instance, Constructor) { 727 if (!(instance instanceof Constructor)) { 728 throw new TypeError("Cannot call a class as a function"); 729 } 730 } 731 732 function _defineProperties(target, props) { 733 for (var i = 0; i < props.length; i++) { 734 var descriptor = props[i]; 735 descriptor.enumerable = descriptor.enumerable || false; 736 descriptor.configurable = true; 737 if ("value" in descriptor) descriptor.writable = true; 738 Object.defineProperty(target, descriptor.key, descriptor); 739 } 740 } 741 742 function _createClass(Constructor, protoProps, staticProps) { 743 if (protoProps) _defineProperties(Constructor.prototype, protoProps); 744 if (staticProps) _defineProperties(Constructor, staticProps); 745 return Constructor; 746 } 747 748 function _slicedToArray(arr, i) { 749 return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); 750 } 751 752 function _arrayWithHoles(arr) { 753 if (Array.isArray(arr)) return arr; 754 } 755 756 function _iterableToArrayLimit(arr, i) { 757 var _arr = []; 758 var _n = true; 759 var _d = false; 760 var _e = undefined; 761 762 try { 763 for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { 764 _arr.push(_s.value); 765 766 if (i && _arr.length === i) break; 767 } 768 } catch (err) { 769 _d = true; 770 _e = err; 771 } finally { 772 try { 773 if (!_n && _i["return"] != null) _i["return"](); 774 } finally { 775 if (_d) throw _e; 776 } 777 } 778 779 return _arr; 780 } 781 782 function _nonIterableRest() { 783 throw new TypeError("Invalid attempt to destructure non-iterable instance"); 784 } 785 786 var FastAverageColor = 787 /*#__PURE__*/ 788 function () { 789 function FastAverageColor() { 790 _classCallCheck(this, FastAverageColor); 791 } 792 793 _createClass(FastAverageColor, [{ 794 key: "getColorAsync", 795 796 /** 797 * Get asynchronously the average color from not loaded image. 798 * 799 * @param {HTMLImageElement} resource 800 * @param {Function} callback 801 * @param {Object|null} [options] 802 * @param {Array} [options.defaultColor=[255, 255, 255, 255]] 803 * @param {*} [options.data] 804 * @param {string} [options.mode="speed"] "precision" or "speed" 805 * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" 806 * @param {number} [options.step=1] 807 * @param {number} [options.left=0] 808 * @param {number} [options.top=0] 809 * @param {number} [options.width=width of resource] 810 * @param {number} [options.height=height of resource] 811 */ 812 value: function getColorAsync(resource, callback, options) { 813 if (resource.complete) { 814 callback.call(resource, this.getColor(resource, options), options && options.data); 815 } else { 816 this._bindImageEvents(resource, callback, options); 817 } 818 } 819 /** 820 * Get the average color from images, videos and canvas. 821 * 822 * @param {HTMLImageElement|HTMLVideoElement|HTMLCanvasElement} resource 823 * @param {Object|null} [options] 824 * @param {Array} [options.defaultColor=[255, 255, 255, 255]] 825 * @param {*} [options.data] 826 * @param {string} [options.mode="speed"] "precision" or "speed" 827 * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" 828 * @param {number} [options.step=1] 829 * @param {number} [options.left=0] 830 * @param {number} [options.top=0] 831 * @param {number} [options.width=width of resource] 832 * @param {number} [options.height=height of resource] 833 * 834 * @returns {Object} 835 */ 836 837 }, { 838 key: "getColor", 839 value: function getColor(resource, options) { 840 options = options || {}; 841 842 var defaultColor = this._getDefaultColor(options), 843 originalSize = this._getOriginalSize(resource), 844 size = this._prepareSizeAndPosition(originalSize, options); 845 846 var error = null, 847 value = defaultColor; 848 849 if (!size.srcWidth || !size.srcHeight || !size.destWidth || !size.destHeight) { 850 return this._prepareResult(defaultColor, new Error('FastAverageColor: Incorrect sizes.')); 851 } 852 853 if (!this._ctx) { 854 this._canvas = this._makeCanvas(); 855 this._ctx = this._canvas.getContext && this._canvas.getContext('2d'); 856 857 if (!this._ctx) { 858 return this._prepareResult(defaultColor, new Error('FastAverageColor: Canvas Context 2D is not supported in this browser.')); 859 } 860 } 861 862 this._canvas.width = size.destWidth; 863 this._canvas.height = size.destHeight; 864 865 try { 866 this._ctx.clearRect(0, 0, size.destWidth, size.destHeight); 867 868 this._ctx.drawImage(resource, size.srcLeft, size.srcTop, size.srcWidth, size.srcHeight, 0, 0, size.destWidth, size.destHeight); 869 870 var bitmapData = this._ctx.getImageData(0, 0, size.destWidth, size.destHeight).data; 871 872 value = this.getColorFromArray4(bitmapData, options); 873 } catch (e) { 874 // Security error, CORS 875 // https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image 876 error = e; 877 } 878 879 return this._prepareResult(value, error); 880 } 881 /** 882 * Get the average color from a array when 1 pixel is 4 bytes. 883 * 884 * @param {Array|Uint8Array} arr 885 * @param {Object} [options] 886 * @param {string} [options.algorithm="sqrt"] "simple", "sqrt" or "dominant" 887 * @param {Array} [options.defaultColor=[255, 255, 255, 255]] 888 * @param {number} [options.step=1] 889 * 890 * @returns {Array} [red (0-255), green (0-255), blue (0-255), alpha (0-255)] 891 */ 892 893 }, { 894 key: "getColorFromArray4", 895 value: function getColorFromArray4(arr, options) { 896 options = options || {}; 897 var bytesPerPixel = 4, 898 arrLength = arr.length; 899 900 if (arrLength < bytesPerPixel) { 901 return this._getDefaultColor(options); 902 } 903 904 var len = arrLength - arrLength % bytesPerPixel, 905 preparedStep = (options.step || 1) * bytesPerPixel, 906 algorithm = '_' + (options.algorithm || 'sqrt') + 'Algorithm'; 907 908 if (typeof this[algorithm] !== 'function') { 909 throw new Error("FastAverageColor: ".concat(options.algorithm, " is unknown algorithm.")); 910 } 911 912 return this[algorithm](arr, len, preparedStep); 913 } 914 /** 915 * Destroy the instance. 916 */ 917 918 }, { 919 key: "destroy", 920 value: function destroy() { 921 delete this._canvas; 922 delete this._ctx; 923 } 924 }, { 925 key: "_getDefaultColor", 926 value: function _getDefaultColor(options) { 927 return this._getOption(options, 'defaultColor', [255, 255, 255, 255]); 928 } 929 }, { 930 key: "_getOption", 931 value: function _getOption(options, name, defaultValue) { 932 return typeof options[name] === 'undefined' ? defaultValue : options[name]; 933 } 934 }, { 935 key: "_prepareSizeAndPosition", 936 value: function _prepareSizeAndPosition(originalSize, options) { 937 var srcLeft = this._getOption(options, 'left', 0), 938 srcTop = this._getOption(options, 'top', 0), 939 srcWidth = this._getOption(options, 'width', originalSize.width), 940 srcHeight = this._getOption(options, 'height', originalSize.height), 941 destWidth = srcWidth, 942 destHeight = srcHeight; 943 944 if (options.mode === 'precision') { 945 return { 946 srcLeft: srcLeft, 947 srcTop: srcTop, 948 srcWidth: srcWidth, 949 srcHeight: srcHeight, 950 destWidth: destWidth, 951 destHeight: destHeight 952 }; 953 } 954 955 var maxSize = 100, 956 minSize = 10; 957 var factor; 958 959 if (srcWidth > srcHeight) { 960 factor = srcWidth / srcHeight; 961 destWidth = maxSize; 962 destHeight = Math.round(destWidth / factor); 963 } else { 964 factor = srcHeight / srcWidth; 965 destHeight = maxSize; 966 destWidth = Math.round(destHeight / factor); 967 } 968 969 if (destWidth > srcWidth || destHeight > srcHeight || destWidth < minSize || destHeight < minSize) { 970 destWidth = srcWidth; 971 destHeight = srcHeight; 972 } 973 974 return { 975 srcLeft: srcLeft, 976 srcTop: srcTop, 977 srcWidth: srcWidth, 978 srcHeight: srcHeight, 979 destWidth: destWidth, 980 destHeight: destHeight 981 }; 982 } 983 }, { 984 key: "_simpleAlgorithm", 985 value: function _simpleAlgorithm(arr, len, preparedStep) { 986 var redTotal = 0, 987 greenTotal = 0, 988 blueTotal = 0, 989 alphaTotal = 0, 990 count = 0; 991 992 for (var i = 0; i < len; i += preparedStep) { 993 var alpha = arr[i + 3], 994 red = arr[i] * alpha, 995 green = arr[i + 1] * alpha, 996 blue = arr[i + 2] * alpha; 997 redTotal += red; 998 greenTotal += green; 999 blueTotal += blue; 1000 alphaTotal += alpha; 1001 count++; 1002 } 1003 1004 return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; 1005 } 1006 }, { 1007 key: "_sqrtAlgorithm", 1008 value: function _sqrtAlgorithm(arr, len, preparedStep) { 1009 var redTotal = 0, 1010 greenTotal = 0, 1011 blueTotal = 0, 1012 alphaTotal = 0, 1013 count = 0; 1014 1015 for (var i = 0; i < len; i += preparedStep) { 1016 var red = arr[i], 1017 green = arr[i + 1], 1018 blue = arr[i + 2], 1019 alpha = arr[i + 3]; 1020 redTotal += red * red * alpha; 1021 greenTotal += green * green * alpha; 1022 blueTotal += blue * blue * alpha; 1023 alphaTotal += alpha; 1024 count++; 1025 } 1026 1027 return alphaTotal ? [Math.round(Math.sqrt(redTotal / alphaTotal)), Math.round(Math.sqrt(greenTotal / alphaTotal)), Math.round(Math.sqrt(blueTotal / alphaTotal)), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; 1028 } 1029 }, { 1030 key: "_dominantAlgorithm", 1031 value: function _dominantAlgorithm(arr, len, preparedStep) { 1032 var colorHash = {}, 1033 divider = 24; 1034 1035 for (var i = 0; i < len; i += preparedStep) { 1036 var red = arr[i], 1037 green = arr[i + 1], 1038 blue = arr[i + 2], 1039 alpha = arr[i + 3], 1040 key = Math.round(red / divider) + ',' + Math.round(green / divider) + ',' + Math.round(blue / divider); 1041 1042 if (colorHash[key]) { 1043 colorHash[key] = [colorHash[key][0] + red * alpha, colorHash[key][1] + green * alpha, colorHash[key][2] + blue * alpha, colorHash[key][3] + alpha, colorHash[key][4] + 1]; 1044 } else { 1045 colorHash[key] = [red * alpha, green * alpha, blue * alpha, alpha, 1]; 1046 } 1047 } 1048 1049 var buffer = Object.keys(colorHash).map(function (key) { 1050 return colorHash[key]; 1051 }).sort(function (a, b) { 1052 var countA = a[4], 1053 countB = b[4]; 1054 return countA > countB ? -1 : countA === countB ? 0 : 1; 1055 }); 1056 1057 var _buffer$ = _slicedToArray(buffer[0], 5), 1058 redTotal = _buffer$[0], 1059 greenTotal = _buffer$[1], 1060 blueTotal = _buffer$[2], 1061 alphaTotal = _buffer$[3], 1062 count = _buffer$[4]; 1063 1064 return alphaTotal ? [Math.round(redTotal / alphaTotal), Math.round(greenTotal / alphaTotal), Math.round(blueTotal / alphaTotal), Math.round(alphaTotal / count)] : [0, 0, 0, 0]; 1065 } 1066 }, { 1067 key: "_bindImageEvents", 1068 value: function _bindImageEvents(resource, callback, options) { 1069 var _this = this; 1070 1071 options = options || {}; 1072 1073 var data = options && options.data, 1074 defaultColor = this._getDefaultColor(options), 1075 onload = function onload() { 1076 unbindEvents(); 1077 callback.call(resource, _this.getColor(resource, options), data); 1078 }, 1079 onerror = function onerror() { 1080 unbindEvents(); 1081 callback.call(resource, _this._prepareResult(defaultColor, new Error('Image error')), data); 1082 }, 1083 onabort = function onabort() { 1084 unbindEvents(); 1085 callback.call(resource, _this._prepareResult(defaultColor, new Error('Image abort')), data); 1086 }, 1087 unbindEvents = function unbindEvents() { 1088 resource.removeEventListener('load', onload); 1089 resource.removeEventListener('error', onerror); 1090 resource.removeEventListener('abort', onabort); 1091 }; 1092 1093 resource.addEventListener('load', onload); 1094 resource.addEventListener('error', onerror); 1095 resource.addEventListener('abort', onabort); 1096 } 1097 }, { 1098 key: "_prepareResult", 1099 value: function _prepareResult(value, error) { 1100 var rgb = value.slice(0, 3), 1101 rgba = [].concat(rgb, value[3] / 255), 1102 isDark = this._isDark(value); 1103 1104 return { 1105 error: error, 1106 value: value, 1107 rgb: 'rgb(' + rgb.join(',') + ')', 1108 rgba: 'rgba(' + rgba.join(',') + ')', 1109 hex: this._arrayToHex(rgb), 1110 hexa: this._arrayToHex(value), 1111 isDark: isDark, 1112 isLight: !isDark 1113 }; 1114 } 1115 }, { 1116 key: "_getOriginalSize", 1117 value: function _getOriginalSize(resource) { 1118 if (resource instanceof HTMLImageElement) { 1119 return { 1120 width: resource.naturalWidth, 1121 height: resource.naturalHeight 1122 }; 1123 } 1124 1125 if (resource instanceof HTMLVideoElement) { 1126 return { 1127 width: resource.videoWidth, 1128 height: resource.videoHeight 1129 }; 1130 } 1131 1132 return { 1133 width: resource.width, 1134 height: resource.height 1135 }; 1136 } 1137 }, { 1138 key: "_toHex", 1139 value: function _toHex(num) { 1140 var str = num.toString(16); 1141 return str.length === 1 ? '0' + str : str; 1142 } 1143 }, { 1144 key: "_arrayToHex", 1145 value: function _arrayToHex(arr) { 1146 return '#' + arr.map(this._toHex).join(''); 1147 } 1148 }, { 1149 key: "_isDark", 1150 value: function _isDark(color) { 1151 // http://www.w3.org/TR/AERT#color-contrast 1152 var result = (color[0] * 299 + color[1] * 587 + color[2] * 114) / 1000; 1153 return result < 128; 1154 } 1155 }, { 1156 key: "_makeCanvas", 1157 value: function _makeCanvas() { 1158 return typeof window === 'undefined' ? new OffscreenCanvas(1, 1) : document.createElement('canvas'); 1159 } 1160 }]); 1161 1162 return FastAverageColor; 1163 }(); 1164 1165 return FastAverageColor; 1166 1167 }))); 1168 1169 1170 /***/ }), 1171 1172 /***/ "FqII": 1173 /***/ (function(module, exports) { 1174 1175 (function() { module.exports = window["wp"]["date"]; }()); 1176 1177 /***/ }), 1178 1179 /***/ "GRId": 1180 /***/ (function(module, exports) { 1181 1182 (function() { module.exports = window["wp"]["element"]; }()); 1183 1184 /***/ }), 1185 1186 /***/ "HSyU": 1187 /***/ (function(module, exports) { 1188 1189 (function() { module.exports = window["wp"]["blocks"]; }()); 1190 1191 /***/ }), 1192 1193 /***/ "JREk": 1194 /***/ (function(module, exports) { 1195 1196 (function() { module.exports = window["wp"]["serverSideRender"]; }()); 1197 1198 /***/ }), 1199 1200 /***/ "K51g": 1201 /***/ (function(module, __webpack_exports__, __webpack_require__) { 1202 1203 "use strict"; 1204 // ESM COMPAT FLAG 1205 __webpack_require__.r(__webpack_exports__); 1206 1207 // EXPORTS 1208 __webpack_require__.d(__webpack_exports__, "__experimentalGetCoreBlocks", function() { return /* binding */ __experimentalGetCoreBlocks; }); 1209 __webpack_require__.d(__webpack_exports__, "registerCoreBlocks", function() { return /* binding */ registerCoreBlocks; }); 1210 __webpack_require__.d(__webpack_exports__, "__experimentalRegisterExperimentalCoreBlocks", function() { return /* binding */ __experimentalRegisterExperimentalCoreBlocks; }); 1211 1212 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js 1213 var build_module_paragraph_namespaceObject = {}; 1214 __webpack_require__.r(build_module_paragraph_namespaceObject); 1215 __webpack_require__.d(build_module_paragraph_namespaceObject, "metadata", function() { return paragraph_metadata; }); 1216 __webpack_require__.d(build_module_paragraph_namespaceObject, "name", function() { return paragraph_name; }); 1217 __webpack_require__.d(build_module_paragraph_namespaceObject, "settings", function() { return paragraph_settings; }); 1218 1219 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/image/index.js 1220 var build_module_image_namespaceObject = {}; 1221 __webpack_require__.r(build_module_image_namespaceObject); 1222 __webpack_require__.d(build_module_image_namespaceObject, "metadata", function() { return image_metadata; }); 1223 __webpack_require__.d(build_module_image_namespaceObject, "name", function() { return image_name; }); 1224 __webpack_require__.d(build_module_image_namespaceObject, "settings", function() { return image_settings; }); 1225 1226 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/heading/index.js 1227 var build_module_heading_namespaceObject = {}; 1228 __webpack_require__.r(build_module_heading_namespaceObject); 1229 __webpack_require__.d(build_module_heading_namespaceObject, "metadata", function() { return heading_metadata; }); 1230 __webpack_require__.d(build_module_heading_namespaceObject, "name", function() { return heading_name; }); 1231 __webpack_require__.d(build_module_heading_namespaceObject, "settings", function() { return heading_settings; }); 1232 1233 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/quote/index.js 1234 var build_module_quote_namespaceObject = {}; 1235 __webpack_require__.r(build_module_quote_namespaceObject); 1236 __webpack_require__.d(build_module_quote_namespaceObject, "metadata", function() { return quote_metadata; }); 1237 __webpack_require__.d(build_module_quote_namespaceObject, "name", function() { return quote_name; }); 1238 __webpack_require__.d(build_module_quote_namespaceObject, "settings", function() { return quote_settings; }); 1239 1240 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/gallery/index.js 1241 var build_module_gallery_namespaceObject = {}; 1242 __webpack_require__.r(build_module_gallery_namespaceObject); 1243 __webpack_require__.d(build_module_gallery_namespaceObject, "metadata", function() { return gallery_metadata; }); 1244 __webpack_require__.d(build_module_gallery_namespaceObject, "name", function() { return gallery_name; }); 1245 __webpack_require__.d(build_module_gallery_namespaceObject, "settings", function() { return gallery_settings; }); 1246 1247 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/archives/index.js 1248 var archives_namespaceObject = {}; 1249 __webpack_require__.r(archives_namespaceObject); 1250 __webpack_require__.d(archives_namespaceObject, "metadata", function() { return archives_metadata; }); 1251 __webpack_require__.d(archives_namespaceObject, "name", function() { return archives_name; }); 1252 __webpack_require__.d(archives_namespaceObject, "settings", function() { return archives_settings; }); 1253 1254 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/audio/index.js 1255 var build_module_audio_namespaceObject = {}; 1256 __webpack_require__.r(build_module_audio_namespaceObject); 1257 __webpack_require__.d(build_module_audio_namespaceObject, "metadata", function() { return audio_metadata; }); 1258 __webpack_require__.d(build_module_audio_namespaceObject, "name", function() { return audio_name; }); 1259 __webpack_require__.d(build_module_audio_namespaceObject, "settings", function() { return audio_settings; }); 1260 1261 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/button/index.js 1262 var button_namespaceObject = {}; 1263 __webpack_require__.r(button_namespaceObject); 1264 __webpack_require__.d(button_namespaceObject, "metadata", function() { return button_metadata; }); 1265 __webpack_require__.d(button_namespaceObject, "name", function() { return button_name; }); 1266 __webpack_require__.d(button_namespaceObject, "settings", function() { return button_settings; }); 1267 1268 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/buttons/index.js 1269 var build_module_buttons_namespaceObject = {}; 1270 __webpack_require__.r(build_module_buttons_namespaceObject); 1271 __webpack_require__.d(build_module_buttons_namespaceObject, "metadata", function() { return buttons_metadata; }); 1272 __webpack_require__.d(build_module_buttons_namespaceObject, "name", function() { return buttons_name; }); 1273 __webpack_require__.d(build_module_buttons_namespaceObject, "settings", function() { return buttons_settings; }); 1274 1275 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/calendar/index.js 1276 var build_module_calendar_namespaceObject = {}; 1277 __webpack_require__.r(build_module_calendar_namespaceObject); 1278 __webpack_require__.d(build_module_calendar_namespaceObject, "metadata", function() { return calendar_metadata; }); 1279 __webpack_require__.d(build_module_calendar_namespaceObject, "name", function() { return calendar_name; }); 1280 __webpack_require__.d(build_module_calendar_namespaceObject, "settings", function() { return calendar_settings; }); 1281 1282 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/categories/index.js 1283 var categories_namespaceObject = {}; 1284 __webpack_require__.r(categories_namespaceObject); 1285 __webpack_require__.d(categories_namespaceObject, "metadata", function() { return categories_metadata; }); 1286 __webpack_require__.d(categories_namespaceObject, "name", function() { return categories_name; }); 1287 __webpack_require__.d(categories_namespaceObject, "settings", function() { return categories_settings; }); 1288 1289 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/code/index.js 1290 var code_namespaceObject = {}; 1291 __webpack_require__.r(code_namespaceObject); 1292 __webpack_require__.d(code_namespaceObject, "metadata", function() { return code_metadata; }); 1293 __webpack_require__.d(code_namespaceObject, "name", function() { return code_name; }); 1294 __webpack_require__.d(code_namespaceObject, "settings", function() { return code_settings; }); 1295 1296 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/columns/index.js 1297 var build_module_columns_namespaceObject = {}; 1298 __webpack_require__.r(build_module_columns_namespaceObject); 1299 __webpack_require__.d(build_module_columns_namespaceObject, "metadata", function() { return columns_metadata; }); 1300 __webpack_require__.d(build_module_columns_namespaceObject, "name", function() { return columns_name; }); 1301 __webpack_require__.d(build_module_columns_namespaceObject, "settings", function() { return columns_settings; }); 1302 1303 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/column/index.js 1304 var build_module_column_namespaceObject = {}; 1305 __webpack_require__.r(build_module_column_namespaceObject); 1306 __webpack_require__.d(build_module_column_namespaceObject, "metadata", function() { return column_metadata; }); 1307 __webpack_require__.d(build_module_column_namespaceObject, "name", function() { return column_name; }); 1308 __webpack_require__.d(build_module_column_namespaceObject, "settings", function() { return column_settings; }); 1309 1310 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/cover/index.js 1311 var build_module_cover_namespaceObject = {}; 1312 __webpack_require__.r(build_module_cover_namespaceObject); 1313 __webpack_require__.d(build_module_cover_namespaceObject, "metadata", function() { return cover_metadata; }); 1314 __webpack_require__.d(build_module_cover_namespaceObject, "name", function() { return cover_name; }); 1315 __webpack_require__.d(build_module_cover_namespaceObject, "settings", function() { return cover_settings; }); 1316 1317 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/embed/index.js 1318 var embed_namespaceObject = {}; 1319 __webpack_require__.r(embed_namespaceObject); 1320 __webpack_require__.d(embed_namespaceObject, "metadata", function() { return embed_metadata; }); 1321 __webpack_require__.d(embed_namespaceObject, "name", function() { return embed_name; }); 1322 __webpack_require__.d(embed_namespaceObject, "settings", function() { return embed_settings; }); 1323 1324 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/file/index.js 1325 var build_module_file_namespaceObject = {}; 1326 __webpack_require__.r(build_module_file_namespaceObject); 1327 __webpack_require__.d(build_module_file_namespaceObject, "metadata", function() { return file_metadata; }); 1328 __webpack_require__.d(build_module_file_namespaceObject, "name", function() { return file_name; }); 1329 __webpack_require__.d(build_module_file_namespaceObject, "settings", function() { return file_settings; }); 1330 1331 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/html/index.js 1332 var build_module_html_namespaceObject = {}; 1333 __webpack_require__.r(build_module_html_namespaceObject); 1334 __webpack_require__.d(build_module_html_namespaceObject, "metadata", function() { return html_metadata; }); 1335 __webpack_require__.d(build_module_html_namespaceObject, "name", function() { return html_name; }); 1336 __webpack_require__.d(build_module_html_namespaceObject, "settings", function() { return html_settings; }); 1337 1338 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/media-text/index.js 1339 var media_text_namespaceObject = {}; 1340 __webpack_require__.r(media_text_namespaceObject); 1341 __webpack_require__.d(media_text_namespaceObject, "metadata", function() { return media_text_metadata; }); 1342 __webpack_require__.d(media_text_namespaceObject, "name", function() { return media_text_name; }); 1343 __webpack_require__.d(media_text_namespaceObject, "settings", function() { return media_text_settings; }); 1344 1345 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js 1346 var latest_comments_namespaceObject = {}; 1347 __webpack_require__.r(latest_comments_namespaceObject); 1348 __webpack_require__.d(latest_comments_namespaceObject, "metadata", function() { return latest_comments_metadata; }); 1349 __webpack_require__.d(latest_comments_namespaceObject, "name", function() { return latest_comments_name; }); 1350 __webpack_require__.d(latest_comments_namespaceObject, "settings", function() { return latest_comments_settings; }); 1351 1352 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js 1353 var latest_posts_namespaceObject = {}; 1354 __webpack_require__.r(latest_posts_namespaceObject); 1355 __webpack_require__.d(latest_posts_namespaceObject, "metadata", function() { return latest_posts_metadata; }); 1356 __webpack_require__.d(latest_posts_namespaceObject, "name", function() { return latest_posts_name; }); 1357 __webpack_require__.d(latest_posts_namespaceObject, "settings", function() { return latest_posts_settings; }); 1358 1359 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/loginout/index.js 1360 var loginout_namespaceObject = {}; 1361 __webpack_require__.r(loginout_namespaceObject); 1362 __webpack_require__.d(loginout_namespaceObject, "metadata", function() { return loginout_metadata; }); 1363 __webpack_require__.d(loginout_namespaceObject, "name", function() { return loginout_name; }); 1364 __webpack_require__.d(loginout_namespaceObject, "settings", function() { return loginout_settings; }); 1365 1366 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/list/index.js 1367 var build_module_list_namespaceObject = {}; 1368 __webpack_require__.r(build_module_list_namespaceObject); 1369 __webpack_require__.d(build_module_list_namespaceObject, "metadata", function() { return list_metadata; }); 1370 __webpack_require__.d(build_module_list_namespaceObject, "name", function() { return list_name; }); 1371 __webpack_require__.d(build_module_list_namespaceObject, "settings", function() { return list_settings; }); 1372 1373 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/missing/index.js 1374 var missing_namespaceObject = {}; 1375 __webpack_require__.r(missing_namespaceObject); 1376 __webpack_require__.d(missing_namespaceObject, "metadata", function() { return missing_metadata; }); 1377 __webpack_require__.d(missing_namespaceObject, "name", function() { return missing_name; }); 1378 __webpack_require__.d(missing_namespaceObject, "settings", function() { return missing_settings; }); 1379 1380 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/more/index.js 1381 var build_module_more_namespaceObject = {}; 1382 __webpack_require__.r(build_module_more_namespaceObject); 1383 __webpack_require__.d(build_module_more_namespaceObject, "metadata", function() { return more_metadata; }); 1384 __webpack_require__.d(build_module_more_namespaceObject, "name", function() { return more_name; }); 1385 __webpack_require__.d(build_module_more_namespaceObject, "settings", function() { return more_settings; }); 1386 1387 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js 1388 var nextpage_namespaceObject = {}; 1389 __webpack_require__.r(nextpage_namespaceObject); 1390 __webpack_require__.d(nextpage_namespaceObject, "metadata", function() { return nextpage_metadata; }); 1391 __webpack_require__.d(nextpage_namespaceObject, "name", function() { return nextpage_name; }); 1392 __webpack_require__.d(nextpage_namespaceObject, "settings", function() { return nextpage_settings; }); 1393 1394 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/page-list/index.js 1395 var page_list_namespaceObject = {}; 1396 __webpack_require__.r(page_list_namespaceObject); 1397 __webpack_require__.d(page_list_namespaceObject, "metadata", function() { return page_list_metadata; }); 1398 __webpack_require__.d(page_list_namespaceObject, "name", function() { return page_list_name; }); 1399 __webpack_require__.d(page_list_namespaceObject, "settings", function() { return page_list_settings; }); 1400 1401 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js 1402 var build_module_preformatted_namespaceObject = {}; 1403 __webpack_require__.r(build_module_preformatted_namespaceObject); 1404 __webpack_require__.d(build_module_preformatted_namespaceObject, "metadata", function() { return preformatted_metadata; }); 1405 __webpack_require__.d(build_module_preformatted_namespaceObject, "name", function() { return preformatted_name; }); 1406 __webpack_require__.d(build_module_preformatted_namespaceObject, "settings", function() { return preformatted_settings; }); 1407 1408 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js 1409 var build_module_pullquote_namespaceObject = {}; 1410 __webpack_require__.r(build_module_pullquote_namespaceObject); 1411 __webpack_require__.d(build_module_pullquote_namespaceObject, "metadata", function() { return pullquote_metadata; }); 1412 __webpack_require__.d(build_module_pullquote_namespaceObject, "name", function() { return pullquote_name; }); 1413 __webpack_require__.d(build_module_pullquote_namespaceObject, "settings", function() { return pullquote_settings; }); 1414 1415 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/block/index.js 1416 var block_namespaceObject = {}; 1417 __webpack_require__.r(block_namespaceObject); 1418 __webpack_require__.d(block_namespaceObject, "metadata", function() { return block_metadata; }); 1419 __webpack_require__.d(block_namespaceObject, "name", function() { return block_name; }); 1420 __webpack_require__.d(block_namespaceObject, "settings", function() { return block_settings; }); 1421 1422 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/rss/index.js 1423 var build_module_rss_namespaceObject = {}; 1424 __webpack_require__.r(build_module_rss_namespaceObject); 1425 __webpack_require__.d(build_module_rss_namespaceObject, "metadata", function() { return rss_metadata; }); 1426 __webpack_require__.d(build_module_rss_namespaceObject, "name", function() { return rss_name; }); 1427 __webpack_require__.d(build_module_rss_namespaceObject, "settings", function() { return rss_settings; }); 1428 1429 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/search/index.js 1430 var search_namespaceObject = {}; 1431 __webpack_require__.r(search_namespaceObject); 1432 __webpack_require__.d(search_namespaceObject, "metadata", function() { return search_metadata; }); 1433 __webpack_require__.d(search_namespaceObject, "name", function() { return search_name; }); 1434 __webpack_require__.d(search_namespaceObject, "settings", function() { return search_settings; }); 1435 1436 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/group/index.js 1437 var build_module_group_namespaceObject = {}; 1438 __webpack_require__.r(build_module_group_namespaceObject); 1439 __webpack_require__.d(build_module_group_namespaceObject, "metadata", function() { return group_metadata; }); 1440 __webpack_require__.d(build_module_group_namespaceObject, "name", function() { return group_name; }); 1441 __webpack_require__.d(build_module_group_namespaceObject, "settings", function() { return group_settings; }); 1442 1443 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/separator/index.js 1444 var build_module_separator_namespaceObject = {}; 1445 __webpack_require__.r(build_module_separator_namespaceObject); 1446 __webpack_require__.d(build_module_separator_namespaceObject, "metadata", function() { return separator_metadata; }); 1447 __webpack_require__.d(build_module_separator_namespaceObject, "name", function() { return separator_name; }); 1448 __webpack_require__.d(build_module_separator_namespaceObject, "settings", function() { return build_module_separator_settings; }); 1449 1450 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js 1451 var build_module_shortcode_namespaceObject = {}; 1452 __webpack_require__.r(build_module_shortcode_namespaceObject); 1453 __webpack_require__.d(build_module_shortcode_namespaceObject, "metadata", function() { return shortcode_metadata; }); 1454 __webpack_require__.d(build_module_shortcode_namespaceObject, "name", function() { return shortcode_name; }); 1455 __webpack_require__.d(build_module_shortcode_namespaceObject, "settings", function() { return shortcode_settings; }); 1456 1457 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/spacer/index.js 1458 var spacer_namespaceObject = {}; 1459 __webpack_require__.r(spacer_namespaceObject); 1460 __webpack_require__.d(spacer_namespaceObject, "metadata", function() { return spacer_metadata; }); 1461 __webpack_require__.d(spacer_namespaceObject, "name", function() { return spacer_name; }); 1462 __webpack_require__.d(spacer_namespaceObject, "settings", function() { return spacer_settings; }); 1463 1464 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/table/index.js 1465 var build_module_table_namespaceObject = {}; 1466 __webpack_require__.r(build_module_table_namespaceObject); 1467 __webpack_require__.d(build_module_table_namespaceObject, "metadata", function() { return table_metadata; }); 1468 __webpack_require__.d(build_module_table_namespaceObject, "name", function() { return table_name; }); 1469 __webpack_require__.d(build_module_table_namespaceObject, "settings", function() { return table_settings; }); 1470 1471 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js 1472 var text_columns_namespaceObject = {}; 1473 __webpack_require__.r(text_columns_namespaceObject); 1474 __webpack_require__.d(text_columns_namespaceObject, "metadata", function() { return text_columns_metadata; }); 1475 __webpack_require__.d(text_columns_namespaceObject, "name", function() { return text_columns_name; }); 1476 __webpack_require__.d(text_columns_namespaceObject, "settings", function() { return text_columns_settings; }); 1477 1478 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/verse/index.js 1479 var build_module_verse_namespaceObject = {}; 1480 __webpack_require__.r(build_module_verse_namespaceObject); 1481 __webpack_require__.d(build_module_verse_namespaceObject, "metadata", function() { return verse_metadata; }); 1482 __webpack_require__.d(build_module_verse_namespaceObject, "name", function() { return verse_name; }); 1483 __webpack_require__.d(build_module_verse_namespaceObject, "settings", function() { return verse_settings; }); 1484 1485 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/video/index.js 1486 var build_module_video_namespaceObject = {}; 1487 __webpack_require__.r(build_module_video_namespaceObject); 1488 __webpack_require__.d(build_module_video_namespaceObject, "metadata", function() { return video_metadata; }); 1489 __webpack_require__.d(build_module_video_namespaceObject, "name", function() { return video_name; }); 1490 __webpack_require__.d(build_module_video_namespaceObject, "settings", function() { return video_settings; }); 1491 1492 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js 1493 var tag_cloud_namespaceObject = {}; 1494 __webpack_require__.r(tag_cloud_namespaceObject); 1495 __webpack_require__.d(tag_cloud_namespaceObject, "metadata", function() { return tag_cloud_metadata; }); 1496 __webpack_require__.d(tag_cloud_namespaceObject, "name", function() { return tag_cloud_name; }); 1497 __webpack_require__.d(tag_cloud_namespaceObject, "settings", function() { return tag_cloud_settings; }); 1498 1499 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/freeform/index.js 1500 var freeform_namespaceObject = {}; 1501 __webpack_require__.r(freeform_namespaceObject); 1502 __webpack_require__.d(freeform_namespaceObject, "metadata", function() { return freeform_metadata; }); 1503 __webpack_require__.d(freeform_namespaceObject, "name", function() { return freeform_name; }); 1504 __webpack_require__.d(freeform_namespaceObject, "settings", function() { return freeform_settings; }); 1505 1506 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-links/index.js 1507 var social_links_namespaceObject = {}; 1508 __webpack_require__.r(social_links_namespaceObject); 1509 __webpack_require__.d(social_links_namespaceObject, "metadata", function() { return social_links_metadata; }); 1510 __webpack_require__.d(social_links_namespaceObject, "name", function() { return social_links_name; }); 1511 __webpack_require__.d(social_links_namespaceObject, "settings", function() { return social_links_settings; }); 1512 1513 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/social-link/index.js 1514 var social_link_namespaceObject = {}; 1515 __webpack_require__.r(social_link_namespaceObject); 1516 __webpack_require__.d(social_link_namespaceObject, "metadata", function() { return social_link_metadata; }); 1517 __webpack_require__.d(social_link_namespaceObject, "name", function() { return social_link_name; }); 1518 __webpack_require__.d(social_link_namespaceObject, "settings", function() { return social_link_settings; }); 1519 1520 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js 1521 var build_module_site_logo_namespaceObject = {}; 1522 __webpack_require__.r(build_module_site_logo_namespaceObject); 1523 __webpack_require__.d(build_module_site_logo_namespaceObject, "metadata", function() { return site_logo_metadata; }); 1524 __webpack_require__.d(build_module_site_logo_namespaceObject, "name", function() { return site_logo_name; }); 1525 __webpack_require__.d(build_module_site_logo_namespaceObject, "settings", function() { return site_logo_settings; }); 1526 1527 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js 1528 var site_tagline_namespaceObject = {}; 1529 __webpack_require__.r(site_tagline_namespaceObject); 1530 __webpack_require__.d(site_tagline_namespaceObject, "metadata", function() { return site_tagline_metadata; }); 1531 __webpack_require__.d(site_tagline_namespaceObject, "name", function() { return site_tagline_name; }); 1532 __webpack_require__.d(site_tagline_namespaceObject, "settings", function() { return site_tagline_settings; }); 1533 1534 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/site-title/index.js 1535 var site_title_namespaceObject = {}; 1536 __webpack_require__.r(site_title_namespaceObject); 1537 __webpack_require__.d(site_title_namespaceObject, "metadata", function() { return site_title_metadata; }); 1538 __webpack_require__.d(site_title_namespaceObject, "name", function() { return site_title_name; }); 1539 __webpack_require__.d(site_title_namespaceObject, "settings", function() { return site_title_settings; }); 1540 1541 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query/index.js 1542 var query_namespaceObject = {}; 1543 __webpack_require__.r(query_namespaceObject); 1544 __webpack_require__.d(query_namespaceObject, "metadata", function() { return query_metadata; }); 1545 __webpack_require__.d(query_namespaceObject, "name", function() { return query_name; }); 1546 __webpack_require__.d(query_namespaceObject, "settings", function() { return query_settings; }); 1547 1548 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-template/index.js 1549 var post_template_namespaceObject = {}; 1550 __webpack_require__.r(post_template_namespaceObject); 1551 __webpack_require__.d(post_template_namespaceObject, "metadata", function() { return post_template_metadata; }); 1552 __webpack_require__.d(post_template_namespaceObject, "name", function() { return post_template_name; }); 1553 __webpack_require__.d(post_template_namespaceObject, "settings", function() { return post_template_settings; }); 1554 1555 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-title/index.js 1556 var query_title_namespaceObject = {}; 1557 __webpack_require__.r(query_title_namespaceObject); 1558 __webpack_require__.d(query_title_namespaceObject, "metadata", function() { return query_title_metadata; }); 1559 __webpack_require__.d(query_title_namespaceObject, "name", function() { return query_title_name; }); 1560 __webpack_require__.d(query_title_namespaceObject, "settings", function() { return query_title_settings; }); 1561 1562 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js 1563 var build_module_query_pagination_namespaceObject = {}; 1564 __webpack_require__.r(build_module_query_pagination_namespaceObject); 1565 __webpack_require__.d(build_module_query_pagination_namespaceObject, "metadata", function() { return query_pagination_metadata; }); 1566 __webpack_require__.d(build_module_query_pagination_namespaceObject, "name", function() { return query_pagination_name; }); 1567 __webpack_require__.d(build_module_query_pagination_namespaceObject, "settings", function() { return query_pagination_settings; }); 1568 1569 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js 1570 var build_module_query_pagination_next_namespaceObject = {}; 1571 __webpack_require__.r(build_module_query_pagination_next_namespaceObject); 1572 __webpack_require__.d(build_module_query_pagination_next_namespaceObject, "metadata", function() { return query_pagination_next_metadata; }); 1573 __webpack_require__.d(build_module_query_pagination_next_namespaceObject, "name", function() { return query_pagination_next_name; }); 1574 __webpack_require__.d(build_module_query_pagination_next_namespaceObject, "settings", function() { return query_pagination_next_settings; }); 1575 1576 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js 1577 var build_module_query_pagination_numbers_namespaceObject = {}; 1578 __webpack_require__.r(build_module_query_pagination_numbers_namespaceObject); 1579 __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "metadata", function() { return query_pagination_numbers_metadata; }); 1580 __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "name", function() { return query_pagination_numbers_name; }); 1581 __webpack_require__.d(build_module_query_pagination_numbers_namespaceObject, "settings", function() { return query_pagination_numbers_settings; }); 1582 1583 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js 1584 var build_module_query_pagination_previous_namespaceObject = {}; 1585 __webpack_require__.r(build_module_query_pagination_previous_namespaceObject); 1586 __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "metadata", function() { return query_pagination_previous_metadata; }); 1587 __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "name", function() { return query_pagination_previous_name; }); 1588 __webpack_require__.d(build_module_query_pagination_previous_namespaceObject, "settings", function() { return query_pagination_previous_settings; }); 1589 1590 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-title/index.js 1591 var build_module_post_title_namespaceObject = {}; 1592 __webpack_require__.r(build_module_post_title_namespaceObject); 1593 __webpack_require__.d(build_module_post_title_namespaceObject, "metadata", function() { return post_title_metadata; }); 1594 __webpack_require__.d(build_module_post_title_namespaceObject, "name", function() { return post_title_name; }); 1595 __webpack_require__.d(build_module_post_title_namespaceObject, "settings", function() { return post_title_settings; }); 1596 1597 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-content/index.js 1598 var build_module_post_content_namespaceObject = {}; 1599 __webpack_require__.r(build_module_post_content_namespaceObject); 1600 __webpack_require__.d(build_module_post_content_namespaceObject, "metadata", function() { return post_content_metadata; }); 1601 __webpack_require__.d(build_module_post_content_namespaceObject, "name", function() { return post_content_name; }); 1602 __webpack_require__.d(build_module_post_content_namespaceObject, "settings", function() { return post_content_settings; }); 1603 1604 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-date/index.js 1605 var build_module_post_date_namespaceObject = {}; 1606 __webpack_require__.r(build_module_post_date_namespaceObject); 1607 __webpack_require__.d(build_module_post_date_namespaceObject, "metadata", function() { return post_date_metadata; }); 1608 __webpack_require__.d(build_module_post_date_namespaceObject, "name", function() { return post_date_name; }); 1609 __webpack_require__.d(build_module_post_date_namespaceObject, "settings", function() { return post_date_settings; }); 1610 1611 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js 1612 var build_module_post_excerpt_namespaceObject = {}; 1613 __webpack_require__.r(build_module_post_excerpt_namespaceObject); 1614 __webpack_require__.d(build_module_post_excerpt_namespaceObject, "metadata", function() { return post_excerpt_metadata; }); 1615 __webpack_require__.d(build_module_post_excerpt_namespaceObject, "name", function() { return post_excerpt_name; }); 1616 __webpack_require__.d(build_module_post_excerpt_namespaceObject, "settings", function() { return post_excerpt_settings; }); 1617 1618 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js 1619 var build_module_post_featured_image_namespaceObject = {}; 1620 __webpack_require__.r(build_module_post_featured_image_namespaceObject); 1621 __webpack_require__.d(build_module_post_featured_image_namespaceObject, "metadata", function() { return post_featured_image_metadata; }); 1622 __webpack_require__.d(build_module_post_featured_image_namespaceObject, "name", function() { return post_featured_image_name; }); 1623 __webpack_require__.d(build_module_post_featured_image_namespaceObject, "settings", function() { return post_featured_image_settings; }); 1624 1625 // NAMESPACE OBJECT: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js 1626 var post_terms_namespaceObject = {}; 1627 __webpack_require__.r(post_terms_namespaceObject); 1628 __webpack_require__.d(post_terms_namespaceObject, "metadata", function() { return post_terms_metadata; }); 1629 __webpack_require__.d(post_terms_namespaceObject, "name", function() { return post_terms_name; }); 1630 __webpack_require__.d(post_terms_namespaceObject, "settings", function() { return post_terms_settings; }); 1631 1632 // EXTERNAL MODULE: external ["wp","coreData"] 1633 var external_wp_coreData_ = __webpack_require__("jZUy"); 1634 1635 // EXTERNAL MODULE: external ["wp","blockEditor"] 1636 var external_wp_blockEditor_ = __webpack_require__("axFQ"); 1637 1638 // EXTERNAL MODULE: external ["wp","blocks"] 1639 var external_wp_blocks_ = __webpack_require__("HSyU"); 1640 1641 // EXTERNAL MODULE: external "lodash" 1642 var external_lodash_ = __webpack_require__("YLtl"); 1643 1644 // EXTERNAL MODULE: external ["wp","i18n"] 1645 var external_wp_i18n_ = __webpack_require__("l3Sj"); 1646 1647 // EXTERNAL MODULE: external ["wp","element"] 1648 var external_wp_element_ = __webpack_require__("GRId"); 1649 1650 // EXTERNAL MODULE: external ["wp","primitives"] 1651 var external_wp_primitives_ = __webpack_require__("Tqx9"); 1652 1653 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/paragraph.js 1654 1655 1656 /** 1657 * WordPress dependencies 1658 */ 1659 1660 const paragraph = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 1661 xmlns: "http://www.w3.org/2000/svg", 1662 viewBox: "0 0 24 24" 1663 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 1664 d: "M18.3 4H9.9v-.1l-.9.2c-2.3.4-4 2.4-4 4.8s1.7 4.4 4 4.8l.7.1V20h1.5V5.5h2.9V20h1.5V5.5h2.7V4z" 1665 })); 1666 /* harmony default export */ var library_paragraph = (paragraph); 1667 1668 // EXTERNAL MODULE: ./node_modules/classnames/index.js 1669 var classnames = __webpack_require__("TSYQ"); 1670 var classnames_default = /*#__PURE__*/__webpack_require__.n(classnames); 1671 1672 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/deprecated.js 1673 1674 1675 /** 1676 * External dependencies 1677 */ 1678 1679 1680 /** 1681 * WordPress dependencies 1682 */ 1683 1684 1685 1686 const supports = { 1687 className: false 1688 }; 1689 const deprecated_blockAttributes = { 1690 align: { 1691 type: 'string' 1692 }, 1693 content: { 1694 type: 'string', 1695 source: 'html', 1696 selector: 'p', 1697 default: '' 1698 }, 1699 dropCap: { 1700 type: 'boolean', 1701 default: false 1702 }, 1703 placeholder: { 1704 type: 'string' 1705 }, 1706 textColor: { 1707 type: 'string' 1708 }, 1709 backgroundColor: { 1710 type: 'string' 1711 }, 1712 fontSize: { 1713 type: 'string' 1714 }, 1715 direction: { 1716 type: 'string', 1717 enum: ['ltr', 'rtl'] 1718 }, 1719 style: { 1720 type: 'object' 1721 } 1722 }; 1723 1724 const migrateCustomColorsAndFontSizes = attributes => { 1725 if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customFontSize) { 1726 return attributes; 1727 } 1728 1729 const style = {}; 1730 1731 if (attributes.customTextColor || attributes.customBackgroundColor) { 1732 style.color = {}; 1733 } 1734 1735 if (attributes.customTextColor) { 1736 style.color.text = attributes.customTextColor; 1737 } 1738 1739 if (attributes.customBackgroundColor) { 1740 style.color.background = attributes.customBackgroundColor; 1741 } 1742 1743 if (attributes.customFontSize) { 1744 style.typography = { 1745 fontSize: attributes.customFontSize 1746 }; 1747 } 1748 1749 return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customFontSize']), 1750 style 1751 }; 1752 }; 1753 1754 const deprecated = [{ 1755 supports, 1756 attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), 1757 customTextColor: { 1758 type: 'string' 1759 }, 1760 customBackgroundColor: { 1761 type: 'string' 1762 }, 1763 customFontSize: { 1764 type: 'number' 1765 } 1766 }, 1767 migrate: migrateCustomColorsAndFontSizes, 1768 1769 save({ 1770 attributes 1771 }) { 1772 const { 1773 align, 1774 content, 1775 dropCap, 1776 backgroundColor, 1777 textColor, 1778 customBackgroundColor, 1779 customTextColor, 1780 fontSize, 1781 customFontSize, 1782 direction 1783 } = attributes; 1784 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 1785 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 1786 const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); 1787 const className = classnames_default()({ 1788 'has-text-color': textColor || customTextColor, 1789 'has-background': backgroundColor || customBackgroundColor, 1790 'has-drop-cap': dropCap, 1791 [`has-text-align-${align}`]: align, 1792 [fontSizeClass]: fontSizeClass, 1793 [textClass]: textClass, 1794 [backgroundClass]: backgroundClass 1795 }); 1796 const styles = { 1797 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 1798 color: textClass ? undefined : customTextColor, 1799 fontSize: fontSizeClass ? undefined : customFontSize 1800 }; 1801 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 1802 tagName: "p", 1803 style: styles, 1804 className: className ? className : undefined, 1805 value: content, 1806 dir: direction 1807 }); 1808 } 1809 1810 }, { 1811 supports, 1812 attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), 1813 customTextColor: { 1814 type: 'string' 1815 }, 1816 customBackgroundColor: { 1817 type: 'string' 1818 }, 1819 customFontSize: { 1820 type: 'number' 1821 } 1822 }, 1823 migrate: migrateCustomColorsAndFontSizes, 1824 1825 save({ 1826 attributes 1827 }) { 1828 const { 1829 align, 1830 content, 1831 dropCap, 1832 backgroundColor, 1833 textColor, 1834 customBackgroundColor, 1835 customTextColor, 1836 fontSize, 1837 customFontSize, 1838 direction 1839 } = attributes; 1840 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 1841 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 1842 const fontSizeClass = Object(external_wp_blockEditor_["getFontSizeClass"])(fontSize); 1843 const className = classnames_default()({ 1844 'has-text-color': textColor || customTextColor, 1845 'has-background': backgroundColor || customBackgroundColor, 1846 'has-drop-cap': dropCap, 1847 [fontSizeClass]: fontSizeClass, 1848 [textClass]: textClass, 1849 [backgroundClass]: backgroundClass 1850 }); 1851 const styles = { 1852 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 1853 color: textClass ? undefined : customTextColor, 1854 fontSize: fontSizeClass ? undefined : customFontSize, 1855 textAlign: align 1856 }; 1857 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 1858 tagName: "p", 1859 style: styles, 1860 className: className ? className : undefined, 1861 value: content, 1862 dir: direction 1863 }); 1864 } 1865 1866 }, { 1867 supports, 1868 attributes: { ...Object(external_lodash_["omit"])(deprecated_blockAttributes, ['style']), 1869 customTextColor: { 1870 type: 'string' 1871 }, 1872 customBackgroundColor: { 1873 type: 'string' 1874 }, 1875 customFontSize: { 1876 type: 'number' 1877 }, 1878 width: { 1879 type: 'string' 1880 } 1881 }, 1882 migrate: migrateCustomColorsAndFontSizes, 1883 1884 save({ 1885 attributes 1886 }) { 1887 const { 1888 width, 1889 align, 1890 content, 1891 dropCap, 1892 backgroundColor, 1893 textColor, 1894 customBackgroundColor, 1895 customTextColor, 1896 fontSize, 1897 customFontSize 1898 } = attributes; 1899 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 1900 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 1901 const fontSizeClass = fontSize && `is-${fontSize}-text`; 1902 const className = classnames_default()({ 1903 [`align${width}`]: width, 1904 'has-background': backgroundColor || customBackgroundColor, 1905 'has-drop-cap': dropCap, 1906 [fontSizeClass]: fontSizeClass, 1907 [textClass]: textClass, 1908 [backgroundClass]: backgroundClass 1909 }); 1910 const styles = { 1911 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 1912 color: textClass ? undefined : customTextColor, 1913 fontSize: fontSizeClass ? undefined : customFontSize, 1914 textAlign: align 1915 }; 1916 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 1917 tagName: "p", 1918 style: styles, 1919 className: className ? className : undefined, 1920 value: content 1921 }); 1922 } 1923 1924 }, { 1925 supports, 1926 attributes: Object(external_lodash_["omit"])({ ...deprecated_blockAttributes, 1927 fontSize: { 1928 type: 'number' 1929 } 1930 }, ['style']), 1931 1932 save({ 1933 attributes 1934 }) { 1935 const { 1936 width, 1937 align, 1938 content, 1939 dropCap, 1940 backgroundColor, 1941 textColor, 1942 fontSize 1943 } = attributes; 1944 const className = classnames_default()({ 1945 [`align${width}`]: width, 1946 'has-background': backgroundColor, 1947 'has-drop-cap': dropCap 1948 }); 1949 const styles = { 1950 backgroundColor, 1951 color: textColor, 1952 fontSize, 1953 textAlign: align 1954 }; 1955 return Object(external_wp_element_["createElement"])("p", { 1956 style: styles, 1957 className: className ? className : undefined 1958 }, content); 1959 }, 1960 1961 migrate(attributes) { 1962 return migrateCustomColorsAndFontSizes(Object(external_lodash_["omit"])({ ...attributes, 1963 customFontSize: Object(external_lodash_["isFinite"])(attributes.fontSize) ? attributes.fontSize : undefined, 1964 customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, 1965 customBackgroundColor: attributes.backgroundColor && '#' === attributes.backgroundColor[0] ? attributes.backgroundColor : undefined 1966 }), ['fontSize', 'textColor', 'backgroundColor', 'style']); 1967 } 1968 1969 }, { 1970 supports, 1971 attributes: { ...deprecated_blockAttributes, 1972 content: { 1973 type: 'string', 1974 source: 'html', 1975 default: '' 1976 } 1977 }, 1978 1979 save({ 1980 attributes 1981 }) { 1982 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.content); 1983 }, 1984 1985 migrate(attributes) { 1986 return attributes; 1987 } 1988 1989 }]; 1990 /* harmony default export */ var paragraph_deprecated = (deprecated); 1991 1992 // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js 1993 var esm_extends = __webpack_require__("wx14"); 1994 1995 // EXTERNAL MODULE: external ["wp","components"] 1996 var external_wp_components_ = __webpack_require__("tI+e"); 1997 1998 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-ltr.js 1999 2000 2001 /** 2002 * WordPress dependencies 2003 */ 2004 2005 const formatLtr = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 2006 xmlns: "http://www.w3.org/2000/svg", 2007 viewBox: "-2 -2 24 24" 2008 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 2009 d: "M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z" 2010 })); 2011 /* harmony default export */ var format_ltr = (formatLtr); 2012 2013 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/edit.js 2014 2015 2016 2017 /** 2018 * External dependencies 2019 */ 2020 2021 /** 2022 * WordPress dependencies 2023 */ 2024 2025 2026 2027 2028 2029 2030 const edit_name = 'core/paragraph'; 2031 2032 function ParagraphRTLControl({ 2033 direction, 2034 setDirection 2035 }) { 2036 return Object(external_wp_i18n_["isRTL"])() && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { 2037 controls: [{ 2038 icon: format_ltr, 2039 title: Object(external_wp_i18n_["_x"])('Left to right', 'editor button'), 2040 isActive: direction === 'ltr', 2041 2042 onClick() { 2043 setDirection(direction === 'ltr' ? undefined : 'ltr'); 2044 } 2045 2046 }] 2047 }); 2048 } 2049 2050 function ParagraphBlock({ 2051 attributes, 2052 mergeBlocks, 2053 onReplace, 2054 onRemove, 2055 setAttributes, 2056 clientId 2057 }) { 2058 const { 2059 align, 2060 content, 2061 direction, 2062 dropCap, 2063 placeholder 2064 } = attributes; 2065 const isDropCapFeatureEnabled = Object(external_wp_blockEditor_["useSetting"])('typography.dropCap'); 2066 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 2067 className: classnames_default()({ 2068 'has-drop-cap': dropCap, 2069 [`has-text-align-${align}`]: align 2070 }), 2071 style: { 2072 direction 2073 } 2074 }); 2075 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 2076 group: "block" 2077 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 2078 value: align, 2079 onChange: newAlign => setAttributes({ 2080 align: newAlign 2081 }) 2082 }), Object(external_wp_element_["createElement"])(ParagraphRTLControl, { 2083 direction: direction, 2084 setDirection: newDirection => setAttributes({ 2085 direction: newDirection 2086 }) 2087 })), isDropCapFeatureEnabled && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 2088 title: Object(external_wp_i18n_["__"])('Text settings') 2089 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 2090 label: Object(external_wp_i18n_["__"])('Drop cap'), 2091 checked: !!dropCap, 2092 onChange: () => setAttributes({ 2093 dropCap: !dropCap 2094 }), 2095 help: dropCap ? Object(external_wp_i18n_["__"])('Showing large initial letter.') : Object(external_wp_i18n_["__"])('Toggle to show a large initial letter.') 2096 }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 2097 identifier: "content", 2098 tagName: "p" 2099 }, blockProps, { 2100 value: content, 2101 onChange: newContent => setAttributes({ 2102 content: newContent 2103 }), 2104 onSplit: (value, isOriginal) => { 2105 let newAttributes; 2106 2107 if (isOriginal || value) { 2108 newAttributes = { ...attributes, 2109 content: value 2110 }; 2111 } 2112 2113 const block = Object(external_wp_blocks_["createBlock"])(edit_name, newAttributes); 2114 2115 if (isOriginal) { 2116 block.clientId = clientId; 2117 } 2118 2119 return block; 2120 }, 2121 onMerge: mergeBlocks, 2122 onReplace: onReplace, 2123 onRemove: onRemove, 2124 "aria-label": content ? Object(external_wp_i18n_["__"])('Paragraph block') : Object(external_wp_i18n_["__"])('Empty block; start writing or type forward slash to choose a block'), 2125 "data-empty": content ? false : true, 2126 placeholder: placeholder || Object(external_wp_i18n_["__"])('Type / to choose a block'), 2127 __unstableEmbedURLOnPaste: true, 2128 __unstableAllowPrefixTransformations: true 2129 }))); 2130 } 2131 2132 /* harmony default export */ var edit = (ParagraphBlock); 2133 2134 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/save.js 2135 2136 2137 /** 2138 * External dependencies 2139 */ 2140 2141 /** 2142 * WordPress dependencies 2143 */ 2144 2145 2146 function save({ 2147 attributes 2148 }) { 2149 const { 2150 align, 2151 content, 2152 dropCap, 2153 direction 2154 } = attributes; 2155 const className = classnames_default()({ 2156 'has-drop-cap': dropCap, 2157 [`has-text-align-${align}`]: align 2158 }); 2159 return Object(external_wp_element_["createElement"])("p", external_wp_blockEditor_["useBlockProps"].save({ 2160 className, 2161 dir: direction 2162 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 2163 value: content 2164 })); 2165 } 2166 2167 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/transforms.js 2168 /** 2169 * WordPress dependencies 2170 */ 2171 2172 /** 2173 * Internal dependencies 2174 */ 2175 2176 const { 2177 name: transforms_name 2178 } = { 2179 apiVersion: 2, 2180 name: "core/paragraph", 2181 title: "Paragraph", 2182 category: "text", 2183 description: "Start with the building block of all narrative.", 2184 keywords: ["text"], 2185 textdomain: "default", 2186 attributes: { 2187 align: { 2188 type: "string" 2189 }, 2190 content: { 2191 type: "string", 2192 source: "html", 2193 selector: "p", 2194 "default": "", 2195 __experimentalRole: "content" 2196 }, 2197 dropCap: { 2198 type: "boolean", 2199 "default": false 2200 }, 2201 placeholder: { 2202 type: "string" 2203 }, 2204 direction: { 2205 type: "string", 2206 "enum": ["ltr", "rtl"] 2207 } 2208 }, 2209 supports: { 2210 anchor: true, 2211 className: false, 2212 color: { 2213 link: true 2214 }, 2215 typography: { 2216 fontSize: true, 2217 lineHeight: true 2218 }, 2219 __experimentalSelector: "p", 2220 __unstablePasteTextInline: true 2221 }, 2222 editorStyle: "wp-block-paragraph-editor", 2223 style: "wp-block-paragraph" 2224 }; 2225 const transforms = { 2226 from: [{ 2227 type: 'raw', 2228 // Paragraph is a fallback and should be matched last. 2229 priority: 20, 2230 selector: 'p', 2231 schema: ({ 2232 phrasingContentSchema, 2233 isPaste 2234 }) => ({ 2235 p: { 2236 children: phrasingContentSchema, 2237 attributes: isPaste ? [] : ['style', 'id'] 2238 } 2239 }), 2240 2241 transform(node) { 2242 const attributes = Object(external_wp_blocks_["getBlockAttributes"])(transforms_name, node.outerHTML); 2243 const { 2244 textAlign 2245 } = node.style || {}; 2246 2247 if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { 2248 attributes.align = textAlign; 2249 } 2250 2251 return Object(external_wp_blocks_["createBlock"])(transforms_name, attributes); 2252 } 2253 2254 }] 2255 }; 2256 /* harmony default export */ var paragraph_transforms = (transforms); 2257 2258 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/paragraph/index.js 2259 /** 2260 * External dependencies 2261 */ 2262 2263 /** 2264 * WordPress dependencies 2265 */ 2266 2267 2268 2269 /** 2270 * Internal dependencies 2271 */ 2272 2273 2274 2275 const paragraph_metadata = { 2276 apiVersion: 2, 2277 name: "core/paragraph", 2278 title: "Paragraph", 2279 category: "text", 2280 description: "Start with the building block of all narrative.", 2281 keywords: ["text"], 2282 textdomain: "default", 2283 attributes: { 2284 align: { 2285 type: "string" 2286 }, 2287 content: { 2288 type: "string", 2289 source: "html", 2290 selector: "p", 2291 "default": "", 2292 __experimentalRole: "content" 2293 }, 2294 dropCap: { 2295 type: "boolean", 2296 "default": false 2297 }, 2298 placeholder: { 2299 type: "string" 2300 }, 2301 direction: { 2302 type: "string", 2303 "enum": ["ltr", "rtl"] 2304 } 2305 }, 2306 supports: { 2307 anchor: true, 2308 className: false, 2309 color: { 2310 link: true 2311 }, 2312 typography: { 2313 fontSize: true, 2314 lineHeight: true 2315 }, 2316 __experimentalSelector: "p", 2317 __unstablePasteTextInline: true 2318 }, 2319 editorStyle: "wp-block-paragraph-editor", 2320 style: "wp-block-paragraph" 2321 }; 2322 2323 2324 const { 2325 name: paragraph_name 2326 } = paragraph_metadata; 2327 2328 const paragraph_settings = { 2329 icon: library_paragraph, 2330 example: { 2331 attributes: { 2332 content: Object(external_wp_i18n_["__"])('In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'), 2333 style: { 2334 typography: { 2335 fontSize: 28 2336 } 2337 }, 2338 dropCap: true 2339 } 2340 }, 2341 2342 __experimentalLabel(attributes, { 2343 context 2344 }) { 2345 if (context === 'accessibility') { 2346 const { 2347 content 2348 } = attributes; 2349 return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["__"])('Empty') : content; 2350 } 2351 }, 2352 2353 transforms: paragraph_transforms, 2354 deprecated: paragraph_deprecated, 2355 2356 merge(attributes, attributesToMerge) { 2357 return { 2358 content: (attributes.content || '') + (attributesToMerge.content || '') 2359 }; 2360 }, 2361 2362 edit: edit, 2363 save: save 2364 }; 2365 2366 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/image.js 2367 2368 2369 /** 2370 * WordPress dependencies 2371 */ 2372 2373 const image_image = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 2374 viewBox: "0 0 24 24", 2375 xmlns: "http://www.w3.org/2000/svg" 2376 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 2377 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V5c-.1-.3.1-.5.4-.5zm14 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" 2378 })); 2379 /* harmony default export */ var library_image = (image_image); 2380 2381 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/deprecated.js 2382 2383 2384 2385 /** 2386 * External dependencies 2387 */ 2388 2389 /** 2390 * WordPress dependencies 2391 */ 2392 2393 2394 const image_deprecated_blockAttributes = { 2395 align: { 2396 type: 'string' 2397 }, 2398 url: { 2399 type: 'string', 2400 source: 'attribute', 2401 selector: 'img', 2402 attribute: 'src' 2403 }, 2404 alt: { 2405 type: 'string', 2406 source: 'attribute', 2407 selector: 'img', 2408 attribute: 'alt', 2409 default: '' 2410 }, 2411 caption: { 2412 type: 'string', 2413 source: 'html', 2414 selector: 'figcaption' 2415 }, 2416 href: { 2417 type: 'string', 2418 source: 'attribute', 2419 selector: 'figure > a', 2420 attribute: 'href' 2421 }, 2422 rel: { 2423 type: 'string', 2424 source: 'attribute', 2425 selector: 'figure > a', 2426 attribute: 'rel' 2427 }, 2428 linkClass: { 2429 type: 'string', 2430 source: 'attribute', 2431 selector: 'figure > a', 2432 attribute: 'class' 2433 }, 2434 id: { 2435 type: 'number' 2436 }, 2437 width: { 2438 type: 'number' 2439 }, 2440 height: { 2441 type: 'number' 2442 }, 2443 linkDestination: { 2444 type: 'string' 2445 }, 2446 linkTarget: { 2447 type: 'string', 2448 source: 'attribute', 2449 selector: 'figure > a', 2450 attribute: 'target' 2451 } 2452 }; 2453 const deprecated_deprecated = [{ 2454 attributes: image_deprecated_blockAttributes, 2455 2456 save({ 2457 attributes 2458 }) { 2459 const { 2460 url, 2461 alt, 2462 caption, 2463 align, 2464 href, 2465 width, 2466 height, 2467 id 2468 } = attributes; 2469 const classes = classnames_default()({ 2470 [`align${align}`]: align, 2471 'is-resized': width || height 2472 }); 2473 const image = Object(external_wp_element_["createElement"])("img", { 2474 src: url, 2475 alt: alt, 2476 className: id ? `wp-image-${id}` : null, 2477 width: width, 2478 height: height 2479 }); 2480 return Object(external_wp_element_["createElement"])("figure", { 2481 className: classes 2482 }, href ? Object(external_wp_element_["createElement"])("a", { 2483 href: href 2484 }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 2485 tagName: "figcaption", 2486 value: caption 2487 })); 2488 } 2489 2490 }, { 2491 attributes: image_deprecated_blockAttributes, 2492 2493 save({ 2494 attributes 2495 }) { 2496 const { 2497 url, 2498 alt, 2499 caption, 2500 align, 2501 href, 2502 width, 2503 height, 2504 id 2505 } = attributes; 2506 const image = Object(external_wp_element_["createElement"])("img", { 2507 src: url, 2508 alt: alt, 2509 className: id ? `wp-image-${id}` : null, 2510 width: width, 2511 height: height 2512 }); 2513 return Object(external_wp_element_["createElement"])("figure", { 2514 className: align ? `align${align}` : null 2515 }, href ? Object(external_wp_element_["createElement"])("a", { 2516 href: href 2517 }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 2518 tagName: "figcaption", 2519 value: caption 2520 })); 2521 } 2522 2523 }, { 2524 attributes: image_deprecated_blockAttributes, 2525 2526 save({ 2527 attributes 2528 }) { 2529 const { 2530 url, 2531 alt, 2532 caption, 2533 align, 2534 href, 2535 width, 2536 height 2537 } = attributes; 2538 const extraImageProps = width || height ? { 2539 width, 2540 height 2541 } : {}; 2542 const image = Object(external_wp_element_["createElement"])("img", Object(esm_extends["a" /* default */])({ 2543 src: url, 2544 alt: alt 2545 }, extraImageProps)); 2546 let figureStyle = {}; 2547 2548 if (width) { 2549 figureStyle = { 2550 width 2551 }; 2552 } else if (align === 'left' || align === 'right') { 2553 figureStyle = { 2554 maxWidth: '50%' 2555 }; 2556 } 2557 2558 return Object(external_wp_element_["createElement"])("figure", { 2559 className: align ? `align${align}` : null, 2560 style: figureStyle 2561 }, href ? Object(external_wp_element_["createElement"])("a", { 2562 href: href 2563 }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 2564 tagName: "figcaption", 2565 value: caption 2566 })); 2567 } 2568 2569 }]; 2570 /* harmony default export */ var image_deprecated = (deprecated_deprecated); 2571 2572 // EXTERNAL MODULE: external ["wp","blob"] 2573 var external_wp_blob_ = __webpack_require__("xTGt"); 2574 2575 // EXTERNAL MODULE: external ["wp","data"] 2576 var external_wp_data_ = __webpack_require__("1ZqX"); 2577 2578 // EXTERNAL MODULE: external ["wp","compose"] 2579 var external_wp_compose_ = __webpack_require__("K9lf"); 2580 2581 // EXTERNAL MODULE: external ["wp","url"] 2582 var external_wp_url_ = __webpack_require__("Mmq9"); 2583 2584 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/crop.js 2585 2586 2587 /** 2588 * WordPress dependencies 2589 */ 2590 2591 const crop_crop = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 2592 xmlns: "http://www.w3.org/2000/svg", 2593 viewBox: "0 0 24 24" 2594 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 2595 d: "M16.5 7.8v7H18v-7c0-1-.8-1.8-1.8-1.8h-7v1.5h7c.2 0 .3.1.3.3zm-8.7 8.7c-.1 0-.2-.1-.2-.2V2H6v4H2v1.5h4v8.8c0 1 .8 1.8 1.8 1.8h8.8v4H18v-4h4v-1.5H7.8z" 2596 })); 2597 /* harmony default export */ var library_crop = (crop_crop); 2598 2599 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/upload.js 2600 var upload = __webpack_require__("NTP4"); 2601 2602 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/overlay-text.js 2603 2604 2605 /** 2606 * WordPress dependencies 2607 */ 2608 2609 const overlayText = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 2610 xmlns: "http://www.w3.org/2000/svg", 2611 viewBox: "0 0 24 24" 2612 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 2613 d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12-9.8c.4 0 .8-.3.9-.7l1.1-3h3.6l.5 1.7h1.9L13 9h-2.2l-3.4 9.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12H20V6c0-1.1-.9-2-2-2zm-6 7l1.4 3.9h-2.7L12 11z" 2614 })); 2615 /* harmony default export */ var overlay_text = (overlayText); 2616 2617 // EXTERNAL MODULE: external ["wp","notices"] 2618 var external_wp_notices_ = __webpack_require__("onLe"); 2619 2620 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/constants.js 2621 const ASPECT_RATIOS = [// Common video resolutions. 2622 { 2623 ratio: '2.33', 2624 className: 'wp-embed-aspect-21-9' 2625 }, { 2626 ratio: '2.00', 2627 className: 'wp-embed-aspect-18-9' 2628 }, { 2629 ratio: '1.78', 2630 className: 'wp-embed-aspect-16-9' 2631 }, { 2632 ratio: '1.33', 2633 className: 'wp-embed-aspect-4-3' 2634 }, // Vertical video and instagram square video support. 2635 { 2636 ratio: '1.00', 2637 className: 'wp-embed-aspect-1-1' 2638 }, { 2639 ratio: '0.56', 2640 className: 'wp-embed-aspect-9-16' 2641 }, { 2642 ratio: '0.50', 2643 className: 'wp-embed-aspect-1-2' 2644 }]; 2645 const WP_EMBED_TYPE = 'wp-embed'; 2646 2647 // EXTERNAL MODULE: ./node_modules/classnames/dedupe.js 2648 var dedupe = __webpack_require__("A/WM"); 2649 var dedupe_default = /*#__PURE__*/__webpack_require__.n(dedupe); 2650 2651 // EXTERNAL MODULE: ./node_modules/memize/index.js 2652 var memize = __webpack_require__("4eJC"); 2653 var memize_default = /*#__PURE__*/__webpack_require__.n(memize); 2654 2655 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/util.js 2656 2657 2658 /** 2659 * Internal dependencies 2660 */ 2661 2662 /** 2663 * External dependencies 2664 */ 2665 2666 2667 2668 2669 /** 2670 * WordPress dependencies 2671 */ 2672 2673 2674 2675 /** 2676 * Internal dependencies 2677 */ 2678 2679 const util_metadata = { 2680 apiVersion: 2, 2681 name: "core/embed", 2682 title: "Embed", 2683 category: "embed", 2684 description: "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", 2685 textdomain: "default", 2686 attributes: { 2687 url: { 2688 type: "string" 2689 }, 2690 caption: { 2691 type: "string", 2692 source: "html", 2693 selector: "figcaption" 2694 }, 2695 type: { 2696 type: "string" 2697 }, 2698 providerNameSlug: { 2699 type: "string" 2700 }, 2701 allowResponsive: { 2702 type: "boolean", 2703 "default": true 2704 }, 2705 responsive: { 2706 type: "boolean", 2707 "default": false 2708 }, 2709 previewable: { 2710 type: "boolean", 2711 "default": true 2712 } 2713 }, 2714 supports: { 2715 align: true 2716 }, 2717 editorStyle: "wp-block-embed-editor", 2718 style: "wp-block-embed" 2719 }; 2720 const { 2721 name: DEFAULT_EMBED_BLOCK 2722 } = util_metadata; 2723 /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ 2724 2725 /** 2726 * Returns the embed block's information by matching the provided service provider 2727 * 2728 * @param {string} provider The embed block's provider 2729 * @return {WPBlockVariation} The embed block's information 2730 */ 2731 2732 const getEmbedInfoByProvider = provider => { 2733 var _getBlockVariations; 2734 2735 return (_getBlockVariations = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations === void 0 ? void 0 : _getBlockVariations.find(({ 2736 name 2737 }) => name === provider); 2738 }; 2739 /** 2740 * Returns true if any of the regular expressions match the URL. 2741 * 2742 * @param {string} url The URL to test. 2743 * @param {Array} patterns The list of regular expressions to test agains. 2744 * @return {boolean} True if any of the regular expressions match the URL. 2745 */ 2746 2747 const matchesPatterns = (url, patterns = []) => patterns.some(pattern => url.match(pattern)); 2748 /** 2749 * Finds the block variation that should be used for the URL, 2750 * based on the provided URL and the variation's patterns. 2751 * 2752 * @param {string} url The URL to test. 2753 * @return {WPBlockVariation} The block variation that should be used for this URL 2754 */ 2755 2756 const findMoreSuitableBlock = url => { 2757 var _getBlockVariations2; 2758 2759 return (_getBlockVariations2 = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations2 === void 0 ? void 0 : _getBlockVariations2.find(({ 2760 patterns 2761 }) => matchesPatterns(url, patterns)); 2762 }; 2763 const isFromWordPress = html => html && html.includes('class="wp-embedded-content"'); 2764 const getPhotoHtml = photo => { 2765 // 100% width for the preview so it fits nicely into the document, some "thumbnails" are 2766 // actually the full size photo. If thumbnails not found, use full image. 2767 const imageUrl = photo.thumbnail_url || photo.url; 2768 const photoPreview = Object(external_wp_element_["createElement"])("p", null, Object(external_wp_element_["createElement"])("img", { 2769 src: imageUrl, 2770 alt: photo.title, 2771 width: "100%" 2772 })); 2773 return Object(external_wp_element_["renderToString"])(photoPreview); 2774 }; 2775 /** 2776 * Creates a more suitable embed block based on the passed in props 2777 * and attributes generated from an embed block's preview. 2778 * 2779 * We require `attributesFromPreview` to be generated from the latest attributes 2780 * and preview, and because of the way the react lifecycle operates, we can't 2781 * guarantee that the attributes contained in the block's props are the latest 2782 * versions, so we require that these are generated separately. 2783 * See `getAttributesFromPreview` in the generated embed edit component. 2784 * 2785 * @param {Object} props The block's props. 2786 * @param {Object} [attributesFromPreview] Attributes generated from the block's most up to date preview. 2787 * @return {Object|undefined} A more suitable embed block if one exists. 2788 */ 2789 2790 const createUpgradedEmbedBlock = (props, attributesFromPreview = {}) => { 2791 var _getBlockVariations3; 2792 2793 const { 2794 preview, 2795 attributes: { 2796 url, 2797 providerNameSlug, 2798 type 2799 } = {} 2800 } = props; 2801 if (!url || !Object(external_wp_blocks_["getBlockType"])(DEFAULT_EMBED_BLOCK)) return; 2802 const matchedBlock = findMoreSuitableBlock(url); // WordPress blocks can work on multiple sites, and so don't have patterns, 2803 // so if we're in a WordPress block, assume the user has chosen it for a WordPress URL. 2804 2805 const isCurrentBlockWP = providerNameSlug === 'wordpress' || type === WP_EMBED_TYPE; // if current block is not WordPress and a more suitable block found 2806 // that is different from the current one, create the new matched block 2807 2808 const shouldCreateNewBlock = !isCurrentBlockWP && matchedBlock && (matchedBlock.attributes.providerNameSlug !== providerNameSlug || !providerNameSlug); 2809 2810 if (shouldCreateNewBlock) { 2811 return Object(external_wp_blocks_["createBlock"])(DEFAULT_EMBED_BLOCK, { 2812 url, 2813 ...matchedBlock.attributes 2814 }); 2815 } 2816 2817 const wpVariation = (_getBlockVariations3 = Object(external_wp_blocks_["getBlockVariations"])(DEFAULT_EMBED_BLOCK)) === null || _getBlockVariations3 === void 0 ? void 0 : _getBlockVariations3.find(({ 2818 name 2819 }) => name === 'wordpress'); // We can't match the URL for WordPress embeds, we have to check the HTML instead. 2820 2821 if (!wpVariation || !preview || !isFromWordPress(preview.html) || isCurrentBlockWP) { 2822 return; 2823 } // This is not the WordPress embed block so transform it into one. 2824 2825 2826 return Object(external_wp_blocks_["createBlock"])(DEFAULT_EMBED_BLOCK, { 2827 url, 2828 ...wpVariation.attributes, 2829 // By now we have the preview, but when the new block first renders, it 2830 // won't have had all the attributes set, and so won't get the correct 2831 // type and it won't render correctly. So, we pass through the current attributes 2832 // here so that the initial render works when we switch to the WordPress 2833 // block. This only affects the WordPress block because it can't be 2834 // rendered in the usual Sandbox (it has a sandbox of its own) and it 2835 // relies on the preview to set the correct render type. 2836 ...attributesFromPreview 2837 }); 2838 }; 2839 /** 2840 * Removes all previously set aspect ratio related classes and return the rest 2841 * existing class names. 2842 * 2843 * @param {string} existingClassNames Any existing class names. 2844 * @return {string} The class names without any aspect ratio related class. 2845 */ 2846 2847 const removeAspectRatioClasses = existingClassNames => { 2848 if (!existingClassNames) { 2849 // Avoids extraneous work and also, by returning the same value as 2850 // received, ensures the post is not dirtied by a change of the block 2851 // attribute from `undefined` to an emtpy string. 2852 return existingClassNames; 2853 } 2854 2855 const aspectRatioClassNames = ASPECT_RATIOS.reduce((accumulator, { 2856 className 2857 }) => { 2858 accumulator[className] = false; 2859 return accumulator; 2860 }, { 2861 'wp-has-aspect-ratio': false 2862 }); 2863 return dedupe_default()(existingClassNames, aspectRatioClassNames); 2864 }; 2865 /** 2866 * Returns class names with any relevant responsive aspect ratio names. 2867 * 2868 * @param {string} html The preview HTML that possibly contains an iframe with width and height set. 2869 * @param {string} existingClassNames Any existing class names. 2870 * @param {boolean} allowResponsive If the responsive class names should be added, or removed. 2871 * @return {string} Deduped class names. 2872 */ 2873 2874 function getClassNames(html, existingClassNames, allowResponsive = true) { 2875 if (!allowResponsive) { 2876 return removeAspectRatioClasses(existingClassNames); 2877 } 2878 2879 const previewDocument = document.implementation.createHTMLDocument(''); 2880 previewDocument.body.innerHTML = html; 2881 const iframe = previewDocument.body.querySelector('iframe'); // If we have a fixed aspect iframe, and it's a responsive embed block. 2882 2883 if (iframe && iframe.height && iframe.width) { 2884 const aspectRatio = (iframe.width / iframe.height).toFixed(2); // Given the actual aspect ratio, find the widest ratio to support it. 2885 2886 for (let ratioIndex = 0; ratioIndex < ASPECT_RATIOS.length; ratioIndex++) { 2887 const potentialRatio = ASPECT_RATIOS[ratioIndex]; 2888 2889 if (aspectRatio >= potentialRatio.ratio) { 2890 // Evaluate the difference between actual aspect ratio and closest match. 2891 // If the difference is too big, do not scale the embed according to aspect ratio. 2892 const ratioDiff = aspectRatio - potentialRatio.ratio; 2893 2894 if (ratioDiff > 0.1) { 2895 // No close aspect ratio match found. 2896 return removeAspectRatioClasses(existingClassNames); 2897 } // Close aspect ratio match found. 2898 2899 2900 return dedupe_default()(removeAspectRatioClasses(existingClassNames), potentialRatio.className, 'wp-has-aspect-ratio'); 2901 } 2902 } 2903 } 2904 2905 return existingClassNames; 2906 } 2907 /** 2908 * Fallback behaviour for unembeddable URLs. 2909 * Creates a paragraph block containing a link to the URL, and calls `onReplace`. 2910 * 2911 * @param {string} url The URL that could not be embedded. 2912 * @param {Function} onReplace Function to call with the created fallback block. 2913 */ 2914 2915 function util_fallback(url, onReplace) { 2916 const link = Object(external_wp_element_["createElement"])("a", { 2917 href: url 2918 }, url); 2919 onReplace(Object(external_wp_blocks_["createBlock"])('core/paragraph', { 2920 content: Object(external_wp_element_["renderToString"])(link) 2921 })); 2922 } 2923 /*** 2924 * Gets block attributes based on the preview and responsive state. 2925 * 2926 * @param {Object} preview The preview data. 2927 * @param {string} title The block's title, e.g. Twitter. 2928 * @param {Object} currentClassNames The block's current class names. 2929 * @param {boolean} isResponsive Boolean indicating if the block supports responsive content. 2930 * @param {boolean} allowResponsive Apply responsive classes to fixed size content. 2931 * @return {Object} Attributes and values. 2932 */ 2933 2934 const getAttributesFromPreview = memize_default()((preview, title, currentClassNames, isResponsive, allowResponsive = true) => { 2935 if (!preview) { 2936 return {}; 2937 } 2938 2939 const attributes = {}; // Some plugins only return HTML with no type info, so default this to 'rich'. 2940 2941 let { 2942 type = 'rich' 2943 } = preview; // If we got a provider name from the API, use it for the slug, otherwise we use the title, 2944 // because not all embed code gives us a provider name. 2945 2946 const { 2947 html, 2948 provider_name: providerName 2949 } = preview; 2950 const providerNameSlug = Object(external_lodash_["kebabCase"])((providerName || title).toLowerCase()); 2951 2952 if (isFromWordPress(html)) { 2953 type = WP_EMBED_TYPE; 2954 } 2955 2956 if (html || 'photo' === type) { 2957 attributes.type = type; 2958 attributes.providerNameSlug = providerNameSlug; 2959 } 2960 2961 attributes.className = getClassNames(html, currentClassNames, isResponsive && allowResponsive); 2962 return attributes; 2963 }); 2964 2965 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/use-client-width.js 2966 /** 2967 * WordPress dependencies 2968 */ 2969 2970 function useClientWidth(ref, dependencies) { 2971 const [clientWidth, setClientWidth] = Object(external_wp_element_["useState"])(); 2972 2973 function calculateClientWidth() { 2974 setClientWidth(ref.current.clientWidth); 2975 } 2976 2977 Object(external_wp_element_["useEffect"])(calculateClientWidth, dependencies); 2978 Object(external_wp_element_["useEffect"])(() => { 2979 const { 2980 defaultView 2981 } = ref.current.ownerDocument; 2982 defaultView.addEventListener('resize', calculateClientWidth); 2983 return () => { 2984 defaultView.removeEventListener('resize', calculateClientWidth); 2985 }; 2986 }, []); 2987 return clientWidth; 2988 } 2989 2990 // CONCATENATED MODULE: ./node_modules/react-easy-crop/node_modules/tslib/tslib.es6.js 2991 /*! ***************************************************************************** 2992 Copyright (c) Microsoft Corporation. 2993 2994 Permission to use, copy, modify, and/or distribute this software for any 2995 purpose with or without fee is hereby granted. 2996 2997 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 2998 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 2999 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 3000 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 3001 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 3002 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 3003 PERFORMANCE OF THIS SOFTWARE. 3004 ***************************************************************************** */ 3005 /* global Reflect, Promise */ 3006 3007 var extendStatics = function(d, b) { 3008 extendStatics = Object.setPrototypeOf || 3009 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || 3010 function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; 3011 return extendStatics(d, b); 3012 }; 3013 3014 function __extends(d, b) { 3015 extendStatics(d, b); 3016 function __() { this.constructor = d; } 3017 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); 3018 } 3019 3020 var __assign = function() { 3021 __assign = Object.assign || function __assign(t) { 3022 for (var s, i = 1, n = arguments.length; i < n; i++) { 3023 s = arguments[i]; 3024 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 3025 } 3026 return t; 3027 } 3028 return __assign.apply(this, arguments); 3029 } 3030 3031 function __rest(s, e) { 3032 var t = {}; 3033 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) 3034 t[p] = s[p]; 3035 if (s != null && typeof Object.getOwnPropertySymbols === "function") 3036 for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { 3037 if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) 3038 t[p[i]] = s[p[i]]; 3039 } 3040 return t; 3041 } 3042 3043 function __decorate(decorators, target, key, desc) { 3044 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; 3045 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 3046 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; 3047 return c > 3 && r && Object.defineProperty(target, key, r), r; 3048 } 3049 3050 function __param(paramIndex, decorator) { 3051 return function (target, key) { decorator(target, key, paramIndex); } 3052 } 3053 3054 function __metadata(metadataKey, metadataValue) { 3055 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); 3056 } 3057 3058 function __awaiter(thisArg, _arguments, P, generator) { 3059 function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } 3060 return new (P || (P = Promise))(function (resolve, reject) { 3061 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } 3062 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } 3063 function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } 3064 step((generator = generator.apply(thisArg, _arguments || [])).next()); 3065 }); 3066 } 3067 3068 function __generator(thisArg, body) { 3069 var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; 3070 return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; 3071 function verb(n) { return function (v) { return step([n, v]); }; } 3072 function step(op) { 3073 if (f) throw new TypeError("Generator is already executing."); 3074 while (_) try { 3075 if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; 3076 if (y = 0, t) op = [op[0] & 2, t.value]; 3077 switch (op[0]) { 3078 case 0: case 1: t = op; break; 3079 case 4: _.label++; return { value: op[1], done: false }; 3080 case 5: _.label++; y = op[1]; op = [0]; continue; 3081 case 7: op = _.ops.pop(); _.trys.pop(); continue; 3082 default: 3083 if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } 3084 if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } 3085 if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } 3086 if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } 3087 if (t[2]) _.ops.pop(); 3088 _.trys.pop(); continue; 3089 } 3090 op = body.call(thisArg, _); 3091 } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } 3092 if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; 3093 } 3094 } 3095 3096 var __createBinding = Object.create ? (function(o, m, k, k2) { 3097 if (k2 === undefined) k2 = k; 3098 Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); 3099 }) : (function(o, m, k, k2) { 3100 if (k2 === undefined) k2 = k; 3101 o[k2] = m[k]; 3102 }); 3103 3104 function __exportStar(m, o) { 3105 for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); 3106 } 3107 3108 function __values(o) { 3109 var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; 3110 if (m) return m.call(o); 3111 if (o && typeof o.length === "number") return { 3112 next: function () { 3113 if (o && i >= o.length) o = void 0; 3114 return { value: o && o[i++], done: !o }; 3115 } 3116 }; 3117 throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); 3118 } 3119 3120 function __read(o, n) { 3121 var m = typeof Symbol === "function" && o[Symbol.iterator]; 3122 if (!m) return o; 3123 var i = m.call(o), r, ar = [], e; 3124 try { 3125 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); 3126 } 3127 catch (error) { e = { error: error }; } 3128 finally { 3129 try { 3130 if (r && !r.done && (m = i["return"])) m.call(i); 3131 } 3132 finally { if (e) throw e.error; } 3133 } 3134 return ar; 3135 } 3136 3137 function __spread() { 3138 for (var ar = [], i = 0; i < arguments.length; i++) 3139 ar = ar.concat(__read(arguments[i])); 3140 return ar; 3141 } 3142 3143 function __spreadArrays() { 3144 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 3145 for (var r = Array(s), k = 0, i = 0; i < il; i++) 3146 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 3147 r[k] = a[j]; 3148 return r; 3149 }; 3150 3151 function __await(v) { 3152 return this instanceof __await ? (this.v = v, this) : new __await(v); 3153 } 3154 3155 function __asyncGenerator(thisArg, _arguments, generator) { 3156 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 3157 var g = generator.apply(thisArg, _arguments || []), i, q = []; 3158 return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; 3159 function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } 3160 function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } 3161 function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } 3162 function fulfill(value) { resume("next", value); } 3163 function reject(value) { resume("throw", value); } 3164 function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } 3165 } 3166 3167 function __asyncDelegator(o) { 3168 var i, p; 3169 return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; 3170 function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } 3171 } 3172 3173 function __asyncValues(o) { 3174 if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); 3175 var m = o[Symbol.asyncIterator], i; 3176 return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); 3177 function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } 3178 function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } 3179 } 3180 3181 function __makeTemplateObject(cooked, raw) { 3182 if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } 3183 return cooked; 3184 }; 3185 3186 var __setModuleDefault = Object.create ? (function(o, v) { 3187 Object.defineProperty(o, "default", { enumerable: true, value: v }); 3188 }) : function(o, v) { 3189 o["default"] = v; 3190 }; 3191 3192 function __importStar(mod) { 3193 if (mod && mod.__esModule) return mod; 3194 var result = {}; 3195 if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); 3196 __setModuleDefault(result, mod); 3197 return result; 3198 } 3199 3200 function __importDefault(mod) { 3201 return (mod && mod.__esModule) ? mod : { default: mod }; 3202 } 3203 3204 function __classPrivateFieldGet(receiver, privateMap) { 3205 if (!privateMap.has(receiver)) { 3206 throw new TypeError("attempted to get private field on non-instance"); 3207 } 3208 return privateMap.get(receiver); 3209 } 3210 3211 function __classPrivateFieldSet(receiver, privateMap, value) { 3212 if (!privateMap.has(receiver)) { 3213 throw new TypeError("attempted to set private field on non-instance"); 3214 } 3215 privateMap.set(receiver, value); 3216 return value; 3217 } 3218 3219 // EXTERNAL MODULE: external "React" 3220 var external_React_ = __webpack_require__("cDcd"); 3221 var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); 3222 3223 // EXTERNAL MODULE: ./node_modules/normalize-wheel/index.js 3224 var normalize_wheel = __webpack_require__("wJiJ"); 3225 var normalize_wheel_default = /*#__PURE__*/__webpack_require__.n(normalize_wheel); 3226 3227 // CONCATENATED MODULE: ./node_modules/react-easy-crop/index.module.js 3228 3229 3230 3231 3232 /** 3233 * Compute the dimension of the crop area based on media size, 3234 * aspect ratio and optionally rotation 3235 */ 3236 3237 function getCropSize(mediaWidth, mediaHeight, containerWidth, containerHeight, aspect, rotation) { 3238 if (rotation === void 0) { 3239 rotation = 0; 3240 } 3241 3242 var _a = translateSize(mediaWidth, mediaHeight, rotation), 3243 width = _a.width, 3244 height = _a.height; 3245 3246 var fittingWidth = Math.min(width, containerWidth); 3247 var fittingHeight = Math.min(height, containerHeight); 3248 3249 if (fittingWidth > fittingHeight * aspect) { 3250 return { 3251 width: fittingHeight * aspect, 3252 height: fittingHeight 3253 }; 3254 } 3255 3256 return { 3257 width: fittingWidth, 3258 height: fittingWidth / aspect 3259 }; 3260 } 3261 /** 3262 * Ensure a new media position stays in the crop area. 3263 */ 3264 3265 function index_module_restrictPosition(position, mediaSize, cropSize, zoom, rotation) { 3266 if (rotation === void 0) { 3267 rotation = 0; 3268 } 3269 3270 var _a = translateSize(mediaSize.width, mediaSize.height, rotation), 3271 width = _a.width, 3272 height = _a.height; 3273 3274 return { 3275 x: restrictPositionCoord(position.x, width, cropSize.width, zoom), 3276 y: restrictPositionCoord(position.y, height, cropSize.height, zoom) 3277 }; 3278 } 3279 3280 function restrictPositionCoord(position, mediaSize, cropSize, zoom) { 3281 var maxPosition = mediaSize * zoom / 2 - cropSize / 2; 3282 return Math.min(maxPosition, Math.max(position, -maxPosition)); 3283 } 3284 3285 function getDistanceBetweenPoints(pointA, pointB) { 3286 return Math.sqrt(Math.pow(pointA.y - pointB.y, 2) + Math.pow(pointA.x - pointB.x, 2)); 3287 } 3288 function getRotationBetweenPoints(pointA, pointB) { 3289 return Math.atan2(pointB.y - pointA.y, pointB.x - pointA.x) * 180 / Math.PI; 3290 } 3291 /** 3292 * Compute the output cropped area of the media in percentages and pixels. 3293 * x/y are the top-left coordinates on the src media 3294 */ 3295 3296 function computeCroppedArea(crop, mediaSize, cropSize, aspect, zoom, rotation, restrictPosition) { 3297 if (rotation === void 0) { 3298 rotation = 0; 3299 } 3300 3301 if (restrictPosition === void 0) { 3302 restrictPosition = true; 3303 } // if the media is rotated by the user, we cannot limit the position anymore 3304 // as it might need to be negative. 3305 3306 3307 var limitAreaFn = restrictPosition && rotation === 0 ? limitArea : noOp; 3308 var croppedAreaPercentages = { 3309 x: limitAreaFn(100, ((mediaSize.width - cropSize.width / zoom) / 2 - crop.x / zoom) / mediaSize.width * 100), 3310 y: limitAreaFn(100, ((mediaSize.height - cropSize.height / zoom) / 2 - crop.y / zoom) / mediaSize.height * 100), 3311 width: limitAreaFn(100, cropSize.width / mediaSize.width * 100 / zoom), 3312 height: limitAreaFn(100, cropSize.height / mediaSize.height * 100 / zoom) 3313 }; // we compute the pixels size naively 3314 3315 var widthInPixels = Math.round(limitAreaFn(mediaSize.naturalWidth, croppedAreaPercentages.width * mediaSize.naturalWidth / 100)); 3316 var heightInPixels = Math.round(limitAreaFn(mediaSize.naturalHeight, croppedAreaPercentages.height * mediaSize.naturalHeight / 100)); 3317 var isImgWiderThanHigh = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; // then we ensure the width and height exactly match the aspect (to avoid rounding approximations) 3318 // if the media is wider than high, when zoom is 0, the crop height will be equals to iamge height 3319 // thus we want to compute the width from the height and aspect for accuracy. 3320 // Otherwise, we compute the height from width and aspect. 3321 3322 var sizePixels = isImgWiderThanHigh ? { 3323 width: Math.round(heightInPixels * aspect), 3324 height: heightInPixels 3325 } : { 3326 width: widthInPixels, 3327 height: Math.round(widthInPixels / aspect) 3328 }; 3329 3330 var croppedAreaPixels = __assign(__assign({}, sizePixels), { 3331 x: Math.round(limitAreaFn(mediaSize.naturalWidth - sizePixels.width, croppedAreaPercentages.x * mediaSize.naturalWidth / 100)), 3332 y: Math.round(limitAreaFn(mediaSize.naturalHeight - sizePixels.height, croppedAreaPercentages.y * mediaSize.naturalHeight / 100)) 3333 }); 3334 3335 return { 3336 croppedAreaPercentages: croppedAreaPercentages, 3337 croppedAreaPixels: croppedAreaPixels 3338 }; 3339 } 3340 /** 3341 * Ensure the returned value is between 0 and max 3342 */ 3343 3344 function limitArea(max, value) { 3345 return Math.min(max, Math.max(0, value)); 3346 } 3347 3348 function noOp(_max, value) { 3349 return value; 3350 } 3351 /** 3352 * Compute the crop and zoom from the croppedAreaPixels 3353 */ 3354 3355 3356 function getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { 3357 var mediaZoom = mediaSize.width / mediaSize.naturalWidth; 3358 3359 if (cropSize) { 3360 var isHeightMaxSize_1 = cropSize.height > cropSize.width; 3361 return isHeightMaxSize_1 ? cropSize.height / mediaZoom / croppedAreaPixels.height : cropSize.width / mediaZoom / croppedAreaPixels.width; 3362 } 3363 3364 var aspect = croppedAreaPixels.width / croppedAreaPixels.height; 3365 var isHeightMaxSize = mediaSize.naturalWidth >= mediaSize.naturalHeight * aspect; 3366 return isHeightMaxSize ? mediaSize.naturalHeight / croppedAreaPixels.height : mediaSize.naturalWidth / croppedAreaPixels.width; 3367 } 3368 /** 3369 * Compute the crop and zoom from the croppedAreaPixels 3370 */ 3371 3372 3373 function getInitialCropFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize) { 3374 var mediaZoom = mediaSize.width / mediaSize.naturalWidth; 3375 var zoom = getZoomFromCroppedAreaPixels(croppedAreaPixels, mediaSize, cropSize); 3376 var cropZoom = mediaZoom * zoom; 3377 var crop = { 3378 x: ((mediaSize.naturalWidth - croppedAreaPixels.width) / 2 - croppedAreaPixels.x) * cropZoom, 3379 y: ((mediaSize.naturalHeight - croppedAreaPixels.height) / 2 - croppedAreaPixels.y) * cropZoom 3380 }; 3381 return { 3382 crop: crop, 3383 zoom: zoom 3384 }; 3385 } 3386 /** 3387 * Return the point that is the center of point a and b 3388 */ 3389 3390 function getCenter(a, b) { 3391 return { 3392 x: (b.x + a.x) / 2, 3393 y: (b.y + a.y) / 2 3394 }; 3395 } 3396 /** 3397 * 3398 * Returns an x,y point once rotated around xMid,yMid 3399 */ 3400 3401 function rotateAroundMidPoint(x, y, xMid, yMid, degrees) { 3402 var cos = Math.cos; 3403 var sin = Math.sin; 3404 var radian = degrees * Math.PI / 180; // Convert to radians 3405 // Subtract midpoints, so that midpoint is translated to origin 3406 // and add it in the end again 3407 3408 var xr = (x - xMid) * cos(radian) - (y - yMid) * sin(radian) + xMid; 3409 var yr = (x - xMid) * sin(radian) + (y - yMid) * cos(radian) + yMid; 3410 return [xr, yr]; 3411 } 3412 /** 3413 * Returns the new bounding area of a rotated rectangle. 3414 */ 3415 3416 function translateSize(width, height, rotation) { 3417 var centerX = width / 2; 3418 var centerY = height / 2; 3419 var outerBounds = [rotateAroundMidPoint(0, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, 0, centerX, centerY, rotation), rotateAroundMidPoint(width, height, centerX, centerY, rotation), rotateAroundMidPoint(0, height, centerX, centerY, rotation)]; 3420 var minX = Math.min.apply(Math, outerBounds.map(function (p) { 3421 return p[0]; 3422 })); 3423 var maxX = Math.max.apply(Math, outerBounds.map(function (p) { 3424 return p[0]; 3425 })); 3426 var minY = Math.min.apply(Math, outerBounds.map(function (p) { 3427 return p[1]; 3428 })); 3429 var maxY = Math.max.apply(Math, outerBounds.map(function (p) { 3430 return p[1]; 3431 })); 3432 return { 3433 width: maxX - minX, 3434 height: maxY - minY 3435 }; 3436 } 3437 /** 3438 * Combine multiple class names into a single string. 3439 */ 3440 3441 function index_module_classNames() { 3442 var args = []; 3443 3444 for (var _i = 0; _i < arguments.length; _i++) { 3445 args[_i] = arguments[_i]; 3446 } 3447 3448 return args.filter(function (value) { 3449 if (typeof value === 'string' && value.length > 0) { 3450 return true; 3451 } 3452 3453 return false; 3454 }).join(' ').trim(); 3455 } 3456 3457 var css_248z = ".reactEasyCrop_Container {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n user-select: none;\n touch-action: none;\n cursor: move;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.reactEasyCrop_Image,\n.reactEasyCrop_Video {\n will-change: transform; /* this improves performances and prevent painting issues on iOS Chrome */\n}\n\n.reactEasyCrop_Contain {\n max-width: 100%;\n max-height: 100%;\n margin: auto;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n}\n.reactEasyCrop_Cover_Horizontal {\n width: 100%;\n height: auto;\n}\n.reactEasyCrop_Cover_Vertical {\n width: auto;\n height: 100%;\n}\n\n.reactEasyCrop_CropArea {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n border: 1px solid rgba(255, 255, 255, 0.5);\n box-sizing: border-box;\n box-shadow: 0 0 0 9999em;\n color: rgba(0, 0, 0, 0.5);\n overflow: hidden;\n}\n\n.reactEasyCrop_CropAreaRound {\n border-radius: 50%;\n}\n\n.reactEasyCrop_CropAreaGrid::before {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 0;\n bottom: 0;\n left: 33.33%;\n right: 33.33%;\n border-top: 0;\n border-bottom: 0;\n}\n\n.reactEasyCrop_CropAreaGrid::after {\n content: ' ';\n box-sizing: border-box;\n position: absolute;\n border: 1px solid rgba(255, 255, 255, 0.5);\n top: 33.33%;\n bottom: 33.33%;\n left: 0;\n right: 0;\n border-left: 0;\n border-right: 0;\n}\n"; 3458 3459 var MIN_ZOOM = 1; 3460 var MAX_ZOOM = 3; 3461 3462 var index_module_Cropper = 3463 /** @class */ 3464 function (_super) { 3465 __extends(Cropper, _super); 3466 3467 function Cropper() { 3468 var _this = _super !== null && _super.apply(this, arguments) || this; 3469 3470 _this.imageRef = null; 3471 _this.videoRef = null; 3472 _this.containerRef = null; 3473 _this.styleRef = null; 3474 _this.containerRect = null; 3475 _this.mediaSize = { 3476 width: 0, 3477 height: 0, 3478 naturalWidth: 0, 3479 naturalHeight: 0 3480 }; 3481 _this.dragStartPosition = { 3482 x: 0, 3483 y: 0 3484 }; 3485 _this.dragStartCrop = { 3486 x: 0, 3487 y: 0 3488 }; 3489 _this.lastPinchDistance = 0; 3490 _this.lastPinchRotation = 0; 3491 _this.rafDragTimeout = null; 3492 _this.rafPinchTimeout = null; 3493 _this.wheelTimer = null; 3494 _this.state = { 3495 cropSize: null, 3496 hasWheelJustStarted: false 3497 }; // this is to prevent Safari on iOS >= 10 to zoom the page 3498 3499 _this.preventZoomSafari = function (e) { 3500 return e.preventDefault(); 3501 }; 3502 3503 _this.cleanEvents = function () { 3504 document.removeEventListener('mousemove', _this.onMouseMove); 3505 document.removeEventListener('mouseup', _this.onDragStopped); 3506 document.removeEventListener('touchmove', _this.onTouchMove); 3507 document.removeEventListener('touchend', _this.onDragStopped); 3508 }; 3509 3510 _this.clearScrollEvent = function () { 3511 if (_this.containerRef) _this.containerRef.removeEventListener('wheel', _this.onWheel); 3512 3513 if (_this.wheelTimer) { 3514 clearTimeout(_this.wheelTimer); 3515 } 3516 }; 3517 3518 _this.onMediaLoad = function () { 3519 _this.computeSizes(); 3520 3521 _this.emitCropData(); 3522 3523 _this.setInitialCrop(); 3524 3525 if (_this.props.onMediaLoaded) { 3526 _this.props.onMediaLoaded(_this.mediaSize); 3527 } 3528 }; 3529 3530 _this.setInitialCrop = function () { 3531 var _a = _this.props, 3532 initialCroppedAreaPixels = _a.initialCroppedAreaPixels, 3533 cropSize = _a.cropSize; 3534 3535 if (!initialCroppedAreaPixels) { 3536 return; 3537 } 3538 3539 var _b = getInitialCropFromCroppedAreaPixels(initialCroppedAreaPixels, _this.mediaSize, cropSize), 3540 crop = _b.crop, 3541 zoom = _b.zoom; 3542 3543 _this.props.onCropChange(crop); 3544 3545 _this.props.onZoomChange && _this.props.onZoomChange(zoom); 3546 }; 3547 3548 _this.computeSizes = function () { 3549 var _a, _b, _c, _d, _e, _f; 3550 3551 var mediaRef = _this.imageRef || _this.videoRef; 3552 3553 if (mediaRef && _this.containerRef) { 3554 _this.containerRect = _this.containerRef.getBoundingClientRect(); 3555 _this.mediaSize = { 3556 width: mediaRef.offsetWidth, 3557 height: mediaRef.offsetHeight, 3558 naturalWidth: ((_a = _this.imageRef) === null || _a === void 0 ? void 0 : _a.naturalWidth) || ((_b = _this.videoRef) === null || _b === void 0 ? void 0 : _b.videoWidth) || 0, 3559 naturalHeight: ((_c = _this.imageRef) === null || _c === void 0 ? void 0 : _c.naturalHeight) || ((_d = _this.videoRef) === null || _d === void 0 ? void 0 : _d.videoHeight) || 0 3560 }; 3561 var cropSize = _this.props.cropSize ? _this.props.cropSize : getCropSize(mediaRef.offsetWidth, mediaRef.offsetHeight, _this.containerRect.width, _this.containerRect.height, _this.props.aspect, _this.props.rotation); 3562 3563 if (((_e = _this.state.cropSize) === null || _e === void 0 ? void 0 : _e.height) !== cropSize.height || ((_f = _this.state.cropSize) === null || _f === void 0 ? void 0 : _f.width) !== cropSize.width) { 3564 _this.props.onCropSizeChange && _this.props.onCropSizeChange(cropSize); 3565 } 3566 3567 _this.setState({ 3568 cropSize: cropSize 3569 }, _this.recomputeCropPosition); 3570 } 3571 }; 3572 3573 _this.onMouseDown = function (e) { 3574 e.preventDefault(); 3575 document.addEventListener('mousemove', _this.onMouseMove); 3576 document.addEventListener('mouseup', _this.onDragStopped); 3577 3578 _this.onDragStart(Cropper.getMousePoint(e)); 3579 }; 3580 3581 _this.onMouseMove = function (e) { 3582 return _this.onDrag(Cropper.getMousePoint(e)); 3583 }; 3584 3585 _this.onTouchStart = function (e) { 3586 e.preventDefault(); 3587 document.addEventListener('touchmove', _this.onTouchMove, { 3588 passive: false 3589 }); // iOS 11 now defaults to passive: true 3590 3591 document.addEventListener('touchend', _this.onDragStopped); 3592 3593 if (e.touches.length === 2) { 3594 _this.onPinchStart(e); 3595 } else if (e.touches.length === 1) { 3596 _this.onDragStart(Cropper.getTouchPoint(e.touches[0])); 3597 } 3598 }; 3599 3600 _this.onTouchMove = function (e) { 3601 // Prevent whole page from scrolling on iOS. 3602 e.preventDefault(); 3603 3604 if (e.touches.length === 2) { 3605 _this.onPinchMove(e); 3606 } else if (e.touches.length === 1) { 3607 _this.onDrag(Cropper.getTouchPoint(e.touches[0])); 3608 } 3609 }; 3610 3611 _this.onDragStart = function (_a) { 3612 var _b, _c; 3613 3614 var x = _a.x, 3615 y = _a.y; 3616 _this.dragStartPosition = { 3617 x: x, 3618 y: y 3619 }; 3620 _this.dragStartCrop = __assign({}, _this.props.crop); 3621 (_c = (_b = _this.props).onInteractionStart) === null || _c === void 0 ? void 0 : _c.call(_b); 3622 }; 3623 3624 _this.onDrag = function (_a) { 3625 var x = _a.x, 3626 y = _a.y; 3627 if (_this.rafDragTimeout) window.cancelAnimationFrame(_this.rafDragTimeout); 3628 _this.rafDragTimeout = window.requestAnimationFrame(function () { 3629 if (!_this.state.cropSize) return; 3630 if (x === undefined || y === undefined) return; 3631 var offsetX = x - _this.dragStartPosition.x; 3632 var offsetY = y - _this.dragStartPosition.y; 3633 var requestedPosition = { 3634 x: _this.dragStartCrop.x + offsetX, 3635 y: _this.dragStartCrop.y + offsetY 3636 }; 3637 var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : requestedPosition; 3638 3639 _this.props.onCropChange(newPosition); 3640 }); 3641 }; 3642 3643 _this.onDragStopped = function () { 3644 var _a, _b; 3645 3646 _this.cleanEvents(); 3647 3648 _this.emitCropData(); 3649 3650 (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); 3651 }; 3652 3653 _this.onWheel = function (e) { 3654 e.preventDefault(); 3655 var point = Cropper.getMousePoint(e); 3656 var pixelY = normalize_wheel_default()(e).pixelY; 3657 var newZoom = _this.props.zoom - pixelY * _this.props.zoomSpeed / 200; 3658 3659 _this.setNewZoom(newZoom, point); 3660 3661 if (!_this.state.hasWheelJustStarted) { 3662 _this.setState({ 3663 hasWheelJustStarted: true 3664 }, function () { 3665 var _a, _b; 3666 3667 return (_b = (_a = _this.props).onInteractionStart) === null || _b === void 0 ? void 0 : _b.call(_a); 3668 }); 3669 } 3670 3671 if (_this.wheelTimer) { 3672 clearTimeout(_this.wheelTimer); 3673 } 3674 3675 _this.wheelTimer = window.setTimeout(function () { 3676 return _this.setState({ 3677 hasWheelJustStarted: false 3678 }, function () { 3679 var _a, _b; 3680 3681 return (_b = (_a = _this.props).onInteractionEnd) === null || _b === void 0 ? void 0 : _b.call(_a); 3682 }); 3683 }, 250); 3684 }; 3685 3686 _this.getPointOnContainer = function (_a) { 3687 var x = _a.x, 3688 y = _a.y; 3689 3690 if (!_this.containerRect) { 3691 throw new Error('The Cropper is not mounted'); 3692 } 3693 3694 return { 3695 x: _this.containerRect.width / 2 - (x - _this.containerRect.left), 3696 y: _this.containerRect.height / 2 - (y - _this.containerRect.top) 3697 }; 3698 }; 3699 3700 _this.getPointOnMedia = function (_a) { 3701 var x = _a.x, 3702 y = _a.y; 3703 var _b = _this.props, 3704 crop = _b.crop, 3705 zoom = _b.zoom; 3706 return { 3707 x: (x + crop.x) / zoom, 3708 y: (y + crop.y) / zoom 3709 }; 3710 }; 3711 3712 _this.setNewZoom = function (zoom, point) { 3713 if (!_this.state.cropSize || !_this.props.onZoomChange) return; 3714 3715 var zoomPoint = _this.getPointOnContainer(point); 3716 3717 var zoomTarget = _this.getPointOnMedia(zoomPoint); 3718 3719 var newZoom = Math.min(_this.props.maxZoom, Math.max(zoom, _this.props.minZoom)); 3720 var requestedPosition = { 3721 x: zoomTarget.x * newZoom - zoomPoint.x, 3722 y: zoomTarget.y * newZoom - zoomPoint.y 3723 }; 3724 var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(requestedPosition, _this.mediaSize, _this.state.cropSize, newZoom, _this.props.rotation) : requestedPosition; 3725 3726 _this.props.onCropChange(newPosition); 3727 3728 _this.props.onZoomChange(newZoom); 3729 }; 3730 3731 _this.getCropData = function () { 3732 if (!_this.state.cropSize) { 3733 return null; 3734 } // this is to ensure the crop is correctly restricted after a zoom back (https://github.com/ricardo-ch/react-easy-crop/issues/6) 3735 3736 3737 var restrictedPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; 3738 return computeCroppedArea(restrictedPosition, _this.mediaSize, _this.state.cropSize, _this.getAspect(), _this.props.zoom, _this.props.rotation, _this.props.restrictPosition); 3739 }; 3740 3741 _this.emitCropData = function () { 3742 var cropData = _this.getCropData(); 3743 3744 if (!cropData) return; 3745 var croppedAreaPercentages = cropData.croppedAreaPercentages, 3746 croppedAreaPixels = cropData.croppedAreaPixels; 3747 3748 if (_this.props.onCropComplete) { 3749 _this.props.onCropComplete(croppedAreaPercentages, croppedAreaPixels); 3750 } 3751 3752 if (_this.props.onCropAreaChange) { 3753 _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); 3754 } 3755 }; 3756 3757 _this.emitCropAreaChange = function () { 3758 var cropData = _this.getCropData(); 3759 3760 if (!cropData) return; 3761 var croppedAreaPercentages = cropData.croppedAreaPercentages, 3762 croppedAreaPixels = cropData.croppedAreaPixels; 3763 3764 if (_this.props.onCropAreaChange) { 3765 _this.props.onCropAreaChange(croppedAreaPercentages, croppedAreaPixels); 3766 } 3767 }; 3768 3769 _this.recomputeCropPosition = function () { 3770 if (!_this.state.cropSize) return; 3771 var newPosition = _this.props.restrictPosition ? index_module_restrictPosition(_this.props.crop, _this.mediaSize, _this.state.cropSize, _this.props.zoom, _this.props.rotation) : _this.props.crop; 3772 3773 _this.props.onCropChange(newPosition); 3774 3775 _this.emitCropData(); 3776 }; 3777 3778 return _this; 3779 } 3780 3781 Cropper.prototype.componentDidMount = function () { 3782 window.addEventListener('resize', this.computeSizes); 3783 3784 if (this.containerRef) { 3785 this.props.zoomWithScroll && this.containerRef.addEventListener('wheel', this.onWheel, { 3786 passive: false 3787 }); 3788 this.containerRef.addEventListener('gesturestart', this.preventZoomSafari); 3789 this.containerRef.addEventListener('gesturechange', this.preventZoomSafari); 3790 } 3791 3792 if (!this.props.disableAutomaticStylesInjection) { 3793 this.styleRef = document.createElement('style'); 3794 this.styleRef.setAttribute('type', 'text/css'); 3795 this.styleRef.innerHTML = css_248z; 3796 document.head.appendChild(this.styleRef); 3797 } // when rendered via SSR, the image can already be loaded and its onLoad callback will never be called 3798 3799 3800 if (this.imageRef && this.imageRef.complete) { 3801 this.onMediaLoad(); 3802 } 3803 }; 3804 3805 Cropper.prototype.componentWillUnmount = function () { 3806 var _a; 3807 3808 window.removeEventListener('resize', this.computeSizes); 3809 3810 if (this.containerRef) { 3811 this.containerRef.removeEventListener('gesturestart', this.preventZoomSafari); 3812 this.containerRef.removeEventListener('gesturechange', this.preventZoomSafari); 3813 } 3814 3815 if (this.styleRef) { 3816 (_a = this.styleRef.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(this.styleRef); 3817 } 3818 3819 this.cleanEvents(); 3820 this.props.zoomWithScroll && this.clearScrollEvent(); 3821 }; 3822 3823 Cropper.prototype.componentDidUpdate = function (prevProps) { 3824 var _a, _b, _c, _d, _e, _f, _g, _h, _j; 3825 3826 if (prevProps.rotation !== this.props.rotation) { 3827 this.computeSizes(); 3828 this.recomputeCropPosition(); 3829 } else if (prevProps.aspect !== this.props.aspect) { 3830 this.computeSizes(); 3831 } else if (prevProps.zoom !== this.props.zoom) { 3832 this.recomputeCropPosition(); 3833 } else if (((_a = prevProps.cropSize) === null || _a === void 0 ? void 0 : _a.height) !== ((_b = this.props.cropSize) === null || _b === void 0 ? void 0 : _b.height) || ((_c = prevProps.cropSize) === null || _c === void 0 ? void 0 : _c.width) !== ((_d = this.props.cropSize) === null || _d === void 0 ? void 0 : _d.width)) { 3834 this.computeSizes(); 3835 } else if (((_e = prevProps.crop) === null || _e === void 0 ? void 0 : _e.x) !== ((_f = this.props.crop) === null || _f === void 0 ? void 0 : _f.x) || ((_g = prevProps.crop) === null || _g === void 0 ? void 0 : _g.y) !== ((_h = this.props.crop) === null || _h === void 0 ? void 0 : _h.y)) { 3836 this.emitCropAreaChange(); 3837 } 3838 3839 if (prevProps.zoomWithScroll !== this.props.zoomWithScroll && this.containerRef) { 3840 this.props.zoomWithScroll ? this.containerRef.addEventListener('wheel', this.onWheel, { 3841 passive: false 3842 }) : this.clearScrollEvent(); 3843 } 3844 3845 if (prevProps.video !== this.props.video) { 3846 (_j = this.videoRef) === null || _j === void 0 ? void 0 : _j.load(); 3847 } 3848 }; 3849 3850 Cropper.prototype.getAspect = function () { 3851 var _a = this.props, 3852 cropSize = _a.cropSize, 3853 aspect = _a.aspect; 3854 3855 if (cropSize) { 3856 return cropSize.width / cropSize.height; 3857 } 3858 3859 return aspect; 3860 }; 3861 3862 Cropper.prototype.onPinchStart = function (e) { 3863 var pointA = Cropper.getTouchPoint(e.touches[0]); 3864 var pointB = Cropper.getTouchPoint(e.touches[1]); 3865 this.lastPinchDistance = getDistanceBetweenPoints(pointA, pointB); 3866 this.lastPinchRotation = getRotationBetweenPoints(pointA, pointB); 3867 this.onDragStart(getCenter(pointA, pointB)); 3868 }; 3869 3870 Cropper.prototype.onPinchMove = function (e) { 3871 var _this = this; 3872 3873 var pointA = Cropper.getTouchPoint(e.touches[0]); 3874 var pointB = Cropper.getTouchPoint(e.touches[1]); 3875 var center = getCenter(pointA, pointB); 3876 this.onDrag(center); 3877 if (this.rafPinchTimeout) window.cancelAnimationFrame(this.rafPinchTimeout); 3878 this.rafPinchTimeout = window.requestAnimationFrame(function () { 3879 var distance = getDistanceBetweenPoints(pointA, pointB); 3880 var newZoom = _this.props.zoom * (distance / _this.lastPinchDistance); 3881 3882 _this.setNewZoom(newZoom, center); 3883 3884 _this.lastPinchDistance = distance; 3885 var rotation = getRotationBetweenPoints(pointA, pointB); 3886 var newRotation = _this.props.rotation + (rotation - _this.lastPinchRotation); 3887 _this.props.onRotationChange && _this.props.onRotationChange(newRotation); 3888 _this.lastPinchRotation = rotation; 3889 }); 3890 }; 3891 3892 Cropper.prototype.render = function () { 3893 var _this = this; 3894 3895 var _a = this.props, 3896 image = _a.image, 3897 video = _a.video, 3898 mediaProps = _a.mediaProps, 3899 transform = _a.transform, 3900 _b = _a.crop, 3901 x = _b.x, 3902 y = _b.y, 3903 rotation = _a.rotation, 3904 zoom = _a.zoom, 3905 cropShape = _a.cropShape, 3906 showGrid = _a.showGrid, 3907 _c = _a.style, 3908 containerStyle = _c.containerStyle, 3909 cropAreaStyle = _c.cropAreaStyle, 3910 mediaStyle = _c.mediaStyle, 3911 _d = _a.classes, 3912 containerClassName = _d.containerClassName, 3913 cropAreaClassName = _d.cropAreaClassName, 3914 mediaClassName = _d.mediaClassName, 3915 objectFit = _a.objectFit; 3916 return /*#__PURE__*/external_React_default.a.createElement("div", { 3917 onMouseDown: this.onMouseDown, 3918 onTouchStart: this.onTouchStart, 3919 ref: function ref(el) { 3920 return _this.containerRef = el; 3921 }, 3922 "data-testid": "container", 3923 style: containerStyle, 3924 className: index_module_classNames('reactEasyCrop_Container', containerClassName) 3925 }, image ? /*#__PURE__*/external_React_default.a.createElement("img", __assign({ 3926 alt: "", 3927 className: index_module_classNames('reactEasyCrop_Image', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) 3928 }, mediaProps, { 3929 src: image, 3930 ref: function ref(el) { 3931 return _this.imageRef = el; 3932 }, 3933 style: __assign(__assign({}, mediaStyle), { 3934 transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" 3935 }), 3936 onLoad: this.onMediaLoad 3937 })) : video && /*#__PURE__*/external_React_default.a.createElement("video", __assign({ 3938 autoPlay: true, 3939 loop: true, 3940 muted: true, 3941 className: index_module_classNames('reactEasyCrop_Video', objectFit === 'contain' && 'reactEasyCrop_Contain', objectFit === 'horizontal-cover' && 'reactEasyCrop_Cover_Horizontal', objectFit === 'vertical-cover' && 'reactEasyCrop_Cover_Vertical', mediaClassName) 3942 }, mediaProps, { 3943 ref: function ref(el) { 3944 return _this.videoRef = el; 3945 }, 3946 onLoadedMetadata: this.onMediaLoad, 3947 style: __assign(__assign({}, mediaStyle), { 3948 transform: transform || "translate(" + x + "px, " + y + "px) rotate(" + rotation + "deg) scale(" + zoom + ")" 3949 }), 3950 controls: false 3951 }), (Array.isArray(video) ? video : [{ 3952 src: video 3953 }]).map(function (item) { 3954 return /*#__PURE__*/external_React_default.a.createElement("source", __assign({ 3955 key: item.src 3956 }, item)); 3957 })), this.state.cropSize && /*#__PURE__*/external_React_default.a.createElement("div", { 3958 style: __assign(__assign({}, cropAreaStyle), { 3959 width: this.state.cropSize.width, 3960 height: this.state.cropSize.height 3961 }), 3962 "data-testid": "cropper", 3963 className: index_module_classNames('reactEasyCrop_CropArea', cropShape === 'round' && 'reactEasyCrop_CropAreaRound', showGrid && 'reactEasyCrop_CropAreaGrid', cropAreaClassName) 3964 })); 3965 }; 3966 3967 Cropper.defaultProps = { 3968 zoom: 1, 3969 rotation: 0, 3970 aspect: 4 / 3, 3971 maxZoom: MAX_ZOOM, 3972 minZoom: MIN_ZOOM, 3973 cropShape: 'rect', 3974 objectFit: 'contain', 3975 showGrid: true, 3976 style: {}, 3977 classes: {}, 3978 mediaProps: {}, 3979 zoomSpeed: 1, 3980 restrictPosition: true, 3981 zoomWithScroll: true 3982 }; 3983 3984 Cropper.getMousePoint = function (e) { 3985 return { 3986 x: Number(e.clientX), 3987 y: Number(e.clientY) 3988 }; 3989 }; 3990 3991 Cropper.getTouchPoint = function (touch) { 3992 return { 3993 x: Number(touch.clientX), 3994 y: Number(touch.clientY) 3995 }; 3996 }; 3997 3998 return Cropper; 3999 }(external_React_default.a.Component); 4000 4001 /* harmony default export */ var index_module = (index_module_Cropper); 4002 4003 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/constants.js 4004 const constants_MIN_ZOOM = 100; 4005 const constants_MAX_ZOOM = 300; 4006 const constants_POPOVER_PROPS = { 4007 position: 'bottom right', 4008 isAlternate: true 4009 }; 4010 4011 // EXTERNAL MODULE: external ["wp","apiFetch"] 4012 var external_wp_apiFetch_ = __webpack_require__("ywyh"); 4013 var external_wp_apiFetch_default = /*#__PURE__*/__webpack_require__.n(external_wp_apiFetch_); 4014 4015 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-save-image.js 4016 /** 4017 * WordPress dependencies 4018 */ 4019 4020 4021 4022 4023 4024 function useSaveImage({ 4025 crop, 4026 rotation, 4027 height, 4028 width, 4029 aspect, 4030 url, 4031 id, 4032 onSaveImage, 4033 onFinishEditing 4034 }) { 4035 const { 4036 createErrorNotice 4037 } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); 4038 const [isInProgress, setIsInProgress] = Object(external_wp_element_["useState"])(false); 4039 const cancel = Object(external_wp_element_["useCallback"])(() => { 4040 setIsInProgress(false); 4041 onFinishEditing(); 4042 }, [setIsInProgress, onFinishEditing]); 4043 const apply = Object(external_wp_element_["useCallback"])(() => { 4044 setIsInProgress(true); 4045 let attrs = {}; // The crop script may return some very small, sub-pixel values when the image was not cropped. 4046 // Crop only when the new size has changed by more than 0.1%. 4047 4048 if (crop.width < 99.9 || crop.height < 99.9) { 4049 attrs = crop; 4050 } 4051 4052 if (rotation > 0) { 4053 attrs.rotation = rotation; 4054 } 4055 4056 attrs.src = url; 4057 external_wp_apiFetch_default()({ 4058 path: `/wp/v2/media/${id}/edit`, 4059 method: 'POST', 4060 data: attrs 4061 }).then(response => { 4062 onSaveImage({ 4063 id: response.id, 4064 url: response.source_url, 4065 height: height && width ? width / aspect : undefined 4066 }); 4067 }).catch(error => { 4068 createErrorNotice(Object(external_wp_i18n_["sprintf"])( 4069 /* translators: 1. Error message */ 4070 Object(external_wp_i18n_["__"])('Could not edit image. %s'), error.message), { 4071 id: 'image-editing-error', 4072 type: 'snackbar' 4073 }); 4074 }).finally(() => { 4075 setIsInProgress(false); 4076 onFinishEditing(); 4077 }); 4078 }, [setIsInProgress, crop, rotation, height, width, aspect, url, onSaveImage, createErrorNotice, setIsInProgress, onFinishEditing]); 4079 return Object(external_wp_element_["useMemo"])(() => ({ 4080 isInProgress, 4081 apply, 4082 cancel 4083 }), [isInProgress, apply, cancel]); 4084 } 4085 4086 // EXTERNAL MODULE: external ["wp","hooks"] 4087 var external_wp_hooks_ = __webpack_require__("g56x"); 4088 4089 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/use-transform-image.js 4090 /** 4091 * WordPress dependencies 4092 */ 4093 4094 4095 4096 function useTransformState({ 4097 url, 4098 naturalWidth, 4099 naturalHeight 4100 }) { 4101 const [editedUrl, setEditedUrl] = Object(external_wp_element_["useState"])(); 4102 const [crop, setCrop] = Object(external_wp_element_["useState"])(); 4103 const [position, setPosition] = Object(external_wp_element_["useState"])({ 4104 x: 0, 4105 y: 0 4106 }); 4107 const [zoom, setZoom] = Object(external_wp_element_["useState"])(); 4108 const [rotation, setRotation] = Object(external_wp_element_["useState"])(); 4109 const [aspect, setAspect] = Object(external_wp_element_["useState"])(); 4110 const [defaultAspect, setDefaultAspect] = Object(external_wp_element_["useState"])(); 4111 const initializeTransformValues = Object(external_wp_element_["useCallback"])(() => { 4112 setPosition({ 4113 x: 0, 4114 y: 0 4115 }); 4116 setZoom(100); 4117 setRotation(0); 4118 setAspect(naturalWidth / naturalHeight); 4119 setDefaultAspect(naturalWidth / naturalHeight); 4120 }, [naturalWidth, naturalHeight, setPosition, setZoom, setRotation, setAspect, setDefaultAspect]); 4121 const rotateClockwise = Object(external_wp_element_["useCallback"])(() => { 4122 const angle = (rotation + 90) % 360; 4123 let naturalAspectRatio = naturalWidth / naturalHeight; 4124 4125 if (rotation % 180 === 90) { 4126 naturalAspectRatio = naturalHeight / naturalWidth; 4127 } 4128 4129 if (angle === 0) { 4130 setEditedUrl(); 4131 setRotation(angle); 4132 setAspect(1 / aspect); 4133 setPosition({ 4134 x: -(position.y * naturalAspectRatio), 4135 y: position.x * naturalAspectRatio 4136 }); 4137 return; 4138 } 4139 4140 function editImage(event) { 4141 const canvas = document.createElement('canvas'); 4142 let translateX = 0; 4143 let translateY = 0; 4144 4145 if (angle % 180) { 4146 canvas.width = event.target.height; 4147 canvas.height = event.target.width; 4148 } else { 4149 canvas.width = event.target.width; 4150 canvas.height = event.target.height; 4151 } 4152 4153 if (angle === 90 || angle === 180) { 4154 translateX = canvas.width; 4155 } 4156 4157 if (angle === 270 || angle === 180) { 4158 translateY = canvas.height; 4159 } 4160 4161 const context = canvas.getContext('2d'); 4162 context.translate(translateX, translateY); 4163 context.rotate(angle * Math.PI / 180); 4164 context.drawImage(event.target, 0, 0); 4165 canvas.toBlob(blob => { 4166 setEditedUrl(URL.createObjectURL(blob)); 4167 setRotation(angle); 4168 setAspect(1 / aspect); 4169 setPosition({ 4170 x: -(position.y * naturalAspectRatio), 4171 y: position.x * naturalAspectRatio 4172 }); 4173 }); 4174 } 4175 4176 const el = new window.Image(); 4177 el.src = url; 4178 el.onload = editImage; 4179 const imgCrossOrigin = Object(external_wp_hooks_["applyFilters"])('media.crossOrigin', undefined, url); 4180 4181 if (typeof imgCrossOrigin === 'string') { 4182 el.crossOrigin = imgCrossOrigin; 4183 } 4184 }, [rotation, naturalWidth, naturalHeight, setEditedUrl, setRotation, setAspect, setPosition]); 4185 return Object(external_wp_element_["useMemo"])(() => ({ 4186 editedUrl, 4187 setEditedUrl, 4188 crop, 4189 setCrop, 4190 position, 4191 setPosition, 4192 zoom, 4193 setZoom, 4194 rotation, 4195 setRotation, 4196 rotateClockwise, 4197 aspect, 4198 setAspect, 4199 defaultAspect, 4200 initializeTransformValues 4201 }), [editedUrl, setEditedUrl, crop, setCrop, position, setPosition, zoom, setZoom, rotation, setRotation, rotateClockwise, aspect, setAspect, defaultAspect, initializeTransformValues]); 4202 } 4203 4204 function useTransformImage(imageProperties, isEditing) { 4205 const transformState = useTransformState(imageProperties); 4206 const { 4207 initializeTransformValues 4208 } = transformState; 4209 Object(external_wp_element_["useEffect"])(() => { 4210 if (isEditing) { 4211 initializeTransformValues(); 4212 } 4213 }, [isEditing, initializeTransformValues]); 4214 return transformState; 4215 } 4216 4217 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/context.js 4218 4219 4220 /** 4221 * WordPress dependencies 4222 */ 4223 4224 /** 4225 * Internal dependencies 4226 */ 4227 4228 4229 4230 const ImageEditingContext = Object(external_wp_element_["createContext"])({}); 4231 const useImageEditingContext = () => Object(external_wp_element_["useContext"])(ImageEditingContext); 4232 function ImageEditingProvider({ 4233 id, 4234 url, 4235 naturalWidth, 4236 naturalHeight, 4237 isEditing, 4238 onFinishEditing, 4239 onSaveImage, 4240 children 4241 }) { 4242 const transformImage = useTransformImage({ 4243 url, 4244 naturalWidth, 4245 naturalHeight 4246 }, isEditing); 4247 const saveImage = useSaveImage({ 4248 id, 4249 url, 4250 onSaveImage, 4251 onFinishEditing, 4252 ...transformImage 4253 }); 4254 const providerValue = Object(external_wp_element_["useMemo"])(() => ({ ...transformImage, 4255 ...saveImage 4256 }), [transformImage, saveImage]); 4257 return Object(external_wp_element_["createElement"])(ImageEditingContext.Provider, { 4258 value: providerValue 4259 }, children); 4260 } 4261 4262 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/cropper.js 4263 4264 4265 /** 4266 * External dependencies 4267 */ 4268 4269 4270 /** 4271 * WordPress dependencies 4272 */ 4273 4274 4275 /** 4276 * Internal dependencies 4277 */ 4278 4279 4280 4281 function ImageCropper({ 4282 url, 4283 width, 4284 height, 4285 clientWidth, 4286 naturalHeight, 4287 naturalWidth 4288 }) { 4289 const { 4290 isInProgress, 4291 editedUrl, 4292 position, 4293 zoom, 4294 aspect, 4295 setPosition, 4296 setCrop, 4297 setZoom, 4298 rotation 4299 } = useImageEditingContext(); 4300 let editedHeight = height || clientWidth * naturalHeight / naturalWidth; 4301 4302 if (rotation % 180 === 90) { 4303 editedHeight = clientWidth * naturalWidth / naturalHeight; 4304 } 4305 4306 return Object(external_wp_element_["createElement"])("div", { 4307 className: classnames_default()('wp-block-image__crop-area', { 4308 'is-applying': isInProgress 4309 }), 4310 style: { 4311 width: width || clientWidth, 4312 height: editedHeight 4313 } 4314 }, Object(external_wp_element_["createElement"])(index_module, { 4315 image: editedUrl || url, 4316 disabled: isInProgress, 4317 minZoom: constants_MIN_ZOOM / 100, 4318 maxZoom: constants_MAX_ZOOM / 100, 4319 crop: position, 4320 zoom: zoom / 100, 4321 aspect: aspect, 4322 onCropChange: setPosition, 4323 onCropComplete: newCropPercent => { 4324 setCrop(newCropPercent); 4325 }, 4326 onZoomChange: newZoom => { 4327 setZoom(newZoom * 100); 4328 } 4329 }), isInProgress && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); 4330 } 4331 4332 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/search.js 4333 var library_search = __webpack_require__("cGtP"); 4334 4335 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/zoom-dropdown.js 4336 4337 4338 /** 4339 * WordPress dependencies 4340 */ 4341 4342 4343 4344 /** 4345 * Internal dependencies 4346 */ 4347 4348 4349 4350 function ZoomDropdown() { 4351 const { 4352 isInProgress, 4353 zoom, 4354 setZoom 4355 } = useImageEditingContext(); 4356 return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { 4357 contentClassName: "wp-block-image__zoom", 4358 popoverProps: constants_POPOVER_PROPS, 4359 renderToggle: ({ 4360 isOpen, 4361 onToggle 4362 }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4363 icon: library_search["a" /* default */], 4364 label: Object(external_wp_i18n_["__"])('Zoom'), 4365 onClick: onToggle, 4366 "aria-expanded": isOpen, 4367 disabled: isInProgress 4368 }), 4369 renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 4370 label: Object(external_wp_i18n_["__"])('Zoom'), 4371 min: constants_MIN_ZOOM, 4372 max: constants_MAX_ZOOM, 4373 value: Math.round(zoom), 4374 onChange: setZoom 4375 }) 4376 }); 4377 } 4378 4379 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/check.js 4380 var check = __webpack_require__("RMJe"); 4381 4382 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/aspect-ratio.js 4383 4384 4385 /** 4386 * WordPress dependencies 4387 */ 4388 4389 const aspect_ratio_aspectRatio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 4390 xmlns: "http://www.w3.org/2000/svg", 4391 viewBox: "0 0 24 24" 4392 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 4393 d: "M18.5 5.5h-13c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2v-9c0-1.1-.9-2-2-2zm.5 11c0 .3-.2.5-.5.5h-13c-.3 0-.5-.2-.5-.5v-9c0-.3.2-.5.5-.5h13c.3 0 .5.2.5.5v9zM6.5 12H8v-2h2V8.5H6.5V12zm9.5 2h-2v1.5h3.5V12H16v2z" 4394 })); 4395 /* harmony default export */ var aspect_ratio = (aspect_ratio_aspectRatio); 4396 4397 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/aspect-ratio-dropdown.js 4398 4399 4400 /** 4401 * WordPress dependencies 4402 */ 4403 4404 4405 4406 /** 4407 * Internal dependencies 4408 */ 4409 4410 4411 4412 4413 function AspectGroup({ 4414 aspectRatios, 4415 isDisabled, 4416 label, 4417 onClick, 4418 value 4419 }) { 4420 return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { 4421 label: label 4422 }, aspectRatios.map(({ 4423 title, 4424 aspect 4425 }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 4426 key: aspect, 4427 disabled: isDisabled, 4428 onClick: () => { 4429 onClick(aspect); 4430 }, 4431 role: "menuitemradio", 4432 isSelected: aspect === value, 4433 icon: aspect === value ? check["a" /* default */] : undefined 4434 }, title))); 4435 } 4436 4437 function AspectRatioDropdown({ 4438 toggleProps 4439 }) { 4440 const { 4441 isInProgress, 4442 aspect, 4443 setAspect, 4444 defaultAspect 4445 } = useImageEditingContext(); 4446 return Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { 4447 icon: aspect_ratio, 4448 label: Object(external_wp_i18n_["__"])('Aspect Ratio'), 4449 popoverProps: constants_POPOVER_PROPS, 4450 toggleProps: toggleProps, 4451 className: "wp-block-image__aspect-ratio" 4452 }, ({ 4453 onClose 4454 }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(AspectGroup, { 4455 isDisabled: isInProgress, 4456 onClick: newAspect => { 4457 setAspect(newAspect); 4458 onClose(); 4459 }, 4460 value: aspect, 4461 aspectRatios: [{ 4462 title: Object(external_wp_i18n_["__"])('Original'), 4463 aspect: defaultAspect 4464 }, { 4465 title: Object(external_wp_i18n_["__"])('Square'), 4466 aspect: 1 4467 }] 4468 }), Object(external_wp_element_["createElement"])(AspectGroup, { 4469 label: Object(external_wp_i18n_["__"])('Landscape'), 4470 isDisabled: isInProgress, 4471 onClick: newAspect => { 4472 setAspect(newAspect); 4473 onClose(); 4474 }, 4475 value: aspect, 4476 aspectRatios: [{ 4477 title: Object(external_wp_i18n_["__"])('16:10'), 4478 aspect: 16 / 10 4479 }, { 4480 title: Object(external_wp_i18n_["__"])('16:9'), 4481 aspect: 16 / 9 4482 }, { 4483 title: Object(external_wp_i18n_["__"])('4:3'), 4484 aspect: 4 / 3 4485 }, { 4486 title: Object(external_wp_i18n_["__"])('3:2'), 4487 aspect: 3 / 2 4488 }] 4489 }), Object(external_wp_element_["createElement"])(AspectGroup, { 4490 label: Object(external_wp_i18n_["__"])('Portrait'), 4491 isDisabled: isInProgress, 4492 onClick: newAspect => { 4493 setAspect(newAspect); 4494 onClose(); 4495 }, 4496 value: aspect, 4497 aspectRatios: [{ 4498 title: Object(external_wp_i18n_["__"])('10:16'), 4499 aspect: 10 / 16 4500 }, { 4501 title: Object(external_wp_i18n_["__"])('9:16'), 4502 aspect: 9 / 16 4503 }, { 4504 title: Object(external_wp_i18n_["__"])('3:4'), 4505 aspect: 3 / 4 4506 }, { 4507 title: Object(external_wp_i18n_["__"])('2:3'), 4508 aspect: 2 / 3 4509 }] 4510 }))); 4511 } 4512 4513 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rotate-right.js 4514 4515 4516 /** 4517 * WordPress dependencies 4518 */ 4519 4520 const rotateRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 4521 xmlns: "http://www.w3.org/2000/svg", 4522 viewBox: "0 0 24 24" 4523 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 4524 d: "M15.1 4.8l-3-2.5V4c-4.4 0-8 3.6-8 8 0 3.7 2.5 6.9 6 7.7.3.1.6.1 1 .2l.2-1.5c-.4 0-.7-.1-1.1-.2l-.1.2v-.2c-2.6-.8-4.5-3.3-4.5-6.2 0-3.6 2.9-6.5 6.5-6.5v1.8l3-2.5zM20 11c-.2-1.4-.7-2.7-1.6-3.8l-1.2.8c.7.9 1.1 2 1.3 3.1L20 11zm-1.5 1.8c-.1.5-.2 1.1-.4 1.6s-.5 1-.8 1.5l1.2.9c.4-.5.8-1.1 1-1.8s.5-1.3.5-2l-1.5-.2zm-5.6 5.6l.2 1.5c1.4-.2 2.7-.7 3.8-1.6l-.9-1.1c-.9.7-2 1.1-3.1 1.2z" 4525 })); 4526 /* harmony default export */ var rotate_right = (rotateRight); 4527 4528 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/rotation-button.js 4529 4530 4531 /** 4532 * WordPress dependencies 4533 */ 4534 4535 4536 4537 /** 4538 * Internal dependencies 4539 */ 4540 4541 4542 function RotationButton() { 4543 const { 4544 isInProgress, 4545 rotateClockwise 4546 } = useImageEditingContext(); 4547 return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4548 icon: rotate_right, 4549 label: Object(external_wp_i18n_["__"])('Rotate'), 4550 onClick: rotateClockwise, 4551 disabled: isInProgress 4552 }); 4553 } 4554 4555 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/form-controls.js 4556 4557 4558 /** 4559 * WordPress dependencies 4560 */ 4561 4562 4563 /** 4564 * Internal dependencies 4565 */ 4566 4567 4568 function FormControls() { 4569 const { 4570 isInProgress, 4571 apply, 4572 cancel 4573 } = useImageEditingContext(); 4574 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4575 onClick: apply, 4576 disabled: isInProgress 4577 }, Object(external_wp_i18n_["__"])('Apply')), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4578 onClick: cancel 4579 }, Object(external_wp_i18n_["__"])('Cancel'))); 4580 } 4581 4582 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image-editing/index.js 4583 4584 4585 /** 4586 * WordPress dependencies 4587 */ 4588 4589 4590 /** 4591 * Internal dependencies 4592 */ 4593 4594 4595 4596 4597 4598 4599 function ImageEditor({ 4600 url, 4601 width, 4602 height, 4603 clientWidth, 4604 naturalHeight, 4605 naturalWidth 4606 }) { 4607 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(ImageCropper, { 4608 url: url, 4609 width: width, 4610 height: height, 4611 clientWidth: clientWidth, 4612 naturalHeight: naturalHeight, 4613 naturalWidth: naturalWidth 4614 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(ZoomDropdown, null), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarItem"], null, toggleProps => Object(external_wp_element_["createElement"])(AspectRatioDropdown, { 4615 toggleProps: toggleProps 4616 })), Object(external_wp_element_["createElement"])(RotationButton, null)), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(FormControls, null)))); 4617 } 4618 4619 4620 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/constants.js 4621 const MIN_SIZE = 20; 4622 const LINK_DESTINATION_NONE = 'none'; 4623 const LINK_DESTINATION_MEDIA = 'media'; 4624 const LINK_DESTINATION_ATTACHMENT = 'attachment'; 4625 const LINK_DESTINATION_CUSTOM = 'custom'; 4626 const NEW_TAB_REL = ['noreferrer', 'noopener']; 4627 const ALLOWED_MEDIA_TYPES = ['image']; 4628 4629 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/image.js 4630 4631 4632 /** 4633 * External dependencies 4634 */ 4635 4636 /** 4637 * WordPress dependencies 4638 */ 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 /** 4653 * Internal dependencies 4654 */ 4655 4656 4657 4658 4659 4660 /** 4661 * Module constants 4662 */ 4663 4664 4665 4666 function getFilename(url) { 4667 const path = Object(external_wp_url_["getPath"])(url); 4668 4669 if (path) { 4670 return Object(external_lodash_["last"])(path.split('/')); 4671 } 4672 } 4673 4674 function Image({ 4675 temporaryURL, 4676 attributes: { 4677 url = '', 4678 alt, 4679 caption, 4680 align, 4681 id, 4682 href, 4683 rel, 4684 linkClass, 4685 linkDestination, 4686 title, 4687 width, 4688 height, 4689 linkTarget, 4690 sizeSlug 4691 }, 4692 setAttributes, 4693 isSelected, 4694 insertBlocksAfter, 4695 onReplace, 4696 onSelectImage, 4697 onSelectURL, 4698 onUploadError, 4699 containerRef, 4700 clientId 4701 }) { 4702 const captionRef = Object(external_wp_element_["useRef"])(); 4703 const prevUrl = Object(external_wp_compose_["usePrevious"])(url); 4704 const { 4705 getBlock 4706 } = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]); 4707 const { 4708 image, 4709 multiImageSelection 4710 } = Object(external_wp_data_["useSelect"])(select => { 4711 const { 4712 getMedia 4713 } = select(external_wp_coreData_["store"]); 4714 const { 4715 getMultiSelectedBlockClientIds, 4716 getBlockName 4717 } = select(external_wp_blockEditor_["store"]); 4718 const multiSelectedClientIds = getMultiSelectedBlockClientIds(); 4719 return { 4720 image: id && isSelected ? getMedia(id) : null, 4721 multiImageSelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/image') 4722 }; 4723 }, [id, isSelected]); 4724 const { 4725 imageEditing, 4726 imageSizes, 4727 maxWidth, 4728 mediaUpload 4729 } = Object(external_wp_data_["useSelect"])(select => { 4730 const { 4731 getSettings 4732 } = select(external_wp_blockEditor_["store"]); 4733 return Object(external_lodash_["pick"])(getSettings(), ['imageEditing', 'imageSizes', 'maxWidth', 'mediaUpload']); 4734 }); 4735 const { 4736 replaceBlocks, 4737 toggleSelection 4738 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 4739 const { 4740 createErrorNotice, 4741 createSuccessNotice 4742 } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); 4743 const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); 4744 const isWideAligned = Object(external_lodash_["includes"])(['wide', 'full'], align); 4745 const [{ 4746 naturalWidth, 4747 naturalHeight 4748 }, setNaturalSize] = Object(external_wp_element_["useState"])({}); 4749 const [isEditingImage, setIsEditingImage] = Object(external_wp_element_["useState"])(false); 4750 const [externalBlob, setExternalBlob] = Object(external_wp_element_["useState"])(); 4751 const clientWidth = useClientWidth(containerRef, [align]); 4752 const isResizable = !isWideAligned && isLargeViewport; 4753 const imageSizeOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ 4754 slug 4755 }) => Object(external_lodash_["get"])(image, ['media_details', 'sizes', slug, 'source_url'])), ({ 4756 name, 4757 slug 4758 }) => ({ 4759 value: slug, 4760 label: name 4761 })); // Check if the cover block is registered. 4762 4763 const coverBlockExists = !!Object(external_wp_blocks_["getBlockType"])('core/cover'); // If an image is externally hosted, try to fetch the image data. This may 4764 // fail if the image host doesn't allow CORS with the domain. If it works, 4765 // we can enable a button in the toolbar to upload the image. 4766 4767 Object(external_wp_element_["useEffect"])(() => { 4768 if (!isExternalImage(id, url) || !isSelected || externalBlob) { 4769 return; 4770 } 4771 4772 window.fetch(url).then(response => response.blob()).then(blob => setExternalBlob(blob)); 4773 }, [id, url, isSelected, externalBlob]); // Focus the caption after inserting an image from the placeholder. This is 4774 // done to preserve the behaviour of focussing the first tabbable element 4775 // when a block is mounted. Previously, the image block would remount when 4776 // the placeholder is removed. Maybe this behaviour could be removed. 4777 4778 Object(external_wp_element_["useEffect"])(() => { 4779 if (url && !prevUrl && isSelected) { 4780 captionRef.current.focus(); 4781 } 4782 }, [url, prevUrl]); 4783 4784 function onResizeStart() { 4785 toggleSelection(false); 4786 } 4787 4788 function onResizeStop() { 4789 toggleSelection(true); 4790 } 4791 4792 function onImageError() { 4793 // Check if there's an embed block that handles this URL. 4794 const embedBlock = createUpgradedEmbedBlock({ 4795 attributes: { 4796 url 4797 } 4798 }); 4799 4800 if (undefined !== embedBlock) { 4801 onReplace(embedBlock); 4802 } 4803 } 4804 4805 function onSetHref(props) { 4806 setAttributes(props); 4807 } 4808 4809 function onSetTitle(value) { 4810 // This is the HTML title attribute, separate from the media object 4811 // title. 4812 setAttributes({ 4813 title: value 4814 }); 4815 } 4816 4817 function updateAlt(newAlt) { 4818 setAttributes({ 4819 alt: newAlt 4820 }); 4821 } 4822 4823 function updateImage(newSizeSlug) { 4824 const newUrl = Object(external_lodash_["get"])(image, ['media_details', 'sizes', newSizeSlug, 'source_url']); 4825 4826 if (!newUrl) { 4827 return null; 4828 } 4829 4830 setAttributes({ 4831 url: newUrl, 4832 width: undefined, 4833 height: undefined, 4834 sizeSlug: newSizeSlug 4835 }); 4836 } 4837 4838 function uploadExternal() { 4839 mediaUpload({ 4840 filesList: [externalBlob], 4841 4842 onFileChange([img]) { 4843 onSelectImage(img); 4844 4845 if (Object(external_wp_blob_["isBlobURL"])(img.url)) { 4846 return; 4847 } 4848 4849 setExternalBlob(); 4850 createSuccessNotice(Object(external_wp_i18n_["__"])('Image uploaded.'), { 4851 type: 'snackbar' 4852 }); 4853 }, 4854 4855 allowedTypes: ALLOWED_MEDIA_TYPES, 4856 4857 onError(message) { 4858 createErrorNotice(message, { 4859 type: 'snackbar' 4860 }); 4861 } 4862 4863 }); 4864 } 4865 4866 function updateAlignment(nextAlign) { 4867 const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { 4868 width: undefined, 4869 height: undefined 4870 } : {}; 4871 setAttributes({ ...extraUpdatedAttributes, 4872 align: nextAlign 4873 }); 4874 } 4875 4876 Object(external_wp_element_["useEffect"])(() => { 4877 if (!isSelected) { 4878 setIsEditingImage(false); 4879 } 4880 }, [isSelected]); 4881 const canEditImage = id && naturalWidth && naturalHeight && imageEditing; 4882 const allowCrop = !multiImageSelection && canEditImage && !isEditingImage; 4883 4884 function switchToCover() { 4885 replaceBlocks(clientId, Object(external_wp_blocks_["switchToBlockType"])(getBlock(clientId), 'core/cover')); 4886 } 4887 4888 const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 4889 group: "block" 4890 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { 4891 value: align, 4892 onChange: updateAlignment 4893 }), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageURLInputUI"], { 4894 url: href || '', 4895 onChangeUrl: onSetHref, 4896 linkDestination: linkDestination, 4897 mediaUrl: image && image.source_url || url, 4898 mediaLink: image && image.link, 4899 linkTarget: linkTarget, 4900 linkClass: linkClass, 4901 rel: rel 4902 }), allowCrop && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4903 onClick: () => setIsEditingImage(true), 4904 icon: library_crop, 4905 label: Object(external_wp_i18n_["__"])('Crop') 4906 }), externalBlob && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4907 onClick: uploadExternal, 4908 icon: upload["a" /* default */], 4909 label: Object(external_wp_i18n_["__"])('Upload external image') 4910 }), !multiImageSelection && coverBlockExists && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 4911 icon: overlay_text, 4912 label: Object(external_wp_i18n_["__"])('Add text over image'), 4913 onClick: switchToCover 4914 })), !multiImageSelection && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 4915 group: "other" 4916 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 4917 mediaId: id, 4918 mediaURL: url, 4919 allowedTypes: ALLOWED_MEDIA_TYPES, 4920 accept: "image/*", 4921 onSelect: onSelectImage, 4922 onSelectURL: onSelectURL, 4923 onError: onUploadError 4924 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 4925 title: Object(external_wp_i18n_["__"])('Image settings') 4926 }, !multiImageSelection && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { 4927 label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), 4928 value: alt, 4929 onChange: updateAlt, 4930 help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { 4931 href: "https://www.w3.org/WAI/tutorials/images/decision-tree" 4932 }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) 4933 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { 4934 onChangeImage: updateImage, 4935 onChange: value => setAttributes(value), 4936 slug: sizeSlug, 4937 width: width, 4938 height: height, 4939 imageSizeOptions: imageSizeOptions, 4940 isResizable: isResizable, 4941 imageWidth: naturalWidth, 4942 imageHeight: naturalHeight 4943 }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 4944 label: Object(external_wp_i18n_["__"])('Title attribute'), 4945 value: title || '', 4946 onChange: onSetTitle, 4947 help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_i18n_["__"])('Describe the role of this image on the page.'), Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { 4948 href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute" 4949 }, Object(external_wp_i18n_["__"])('(Note: many devices and browsers do not display this text.)'))) 4950 }))); 4951 const filename = getFilename(url); 4952 let defaultedAlt; 4953 4954 if (alt) { 4955 defaultedAlt = alt; 4956 } else if (filename) { 4957 defaultedAlt = Object(external_wp_i18n_["sprintf"])( 4958 /* translators: %s: file name */ 4959 Object(external_wp_i18n_["__"])('This image has an empty alt attribute; its file name is %s'), filename); 4960 } else { 4961 defaultedAlt = Object(external_wp_i18n_["__"])('This image has an empty alt attribute'); 4962 } 4963 4964 let img = // Disable reason: Image itself is not meant to be interactive, but 4965 // should direct focus to block. 4966 4967 /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 4968 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("img", { 4969 src: temporaryURL || url, 4970 alt: defaultedAlt, 4971 onError: () => onImageError(), 4972 onLoad: event => { 4973 setNaturalSize(Object(external_lodash_["pick"])(event.target, ['naturalWidth', 'naturalHeight'])); 4974 } 4975 }), temporaryURL && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)) 4976 /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 4977 ; 4978 let imageWidthWithinContainer; 4979 let imageHeightWithinContainer; 4980 4981 if (clientWidth && naturalWidth && naturalHeight) { 4982 const exceedMaxWidth = naturalWidth > clientWidth; 4983 const ratio = naturalHeight / naturalWidth; 4984 imageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth; 4985 imageHeightWithinContainer = exceedMaxWidth ? clientWidth * ratio : naturalHeight; 4986 } 4987 4988 if (canEditImage && isEditingImage) { 4989 img = Object(external_wp_element_["createElement"])(ImageEditor, { 4990 url: url, 4991 width: width, 4992 height: height, 4993 clientWidth: clientWidth, 4994 naturalHeight: naturalHeight, 4995 naturalWidth: naturalWidth 4996 }); 4997 } else if (!isResizable || !imageWidthWithinContainer) { 4998 img = Object(external_wp_element_["createElement"])("div", { 4999 style: { 5000 width, 5001 height 5002 } 5003 }, img); 5004 } else { 5005 const currentWidth = width || imageWidthWithinContainer; 5006 const currentHeight = height || imageHeightWithinContainer; 5007 const ratio = naturalWidth / naturalHeight; 5008 const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio; 5009 const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an 5010 // explicit pixel value for the max-width. In absence of being able to 5011 // set the content-width, this max-width is currently dictated by the 5012 // vanilla editor style. The following variable adds a buffer to this 5013 // vanilla style, so 3rd party themes have some wiggleroom. This does, 5014 // in most cases, allow you to scale the image beyond the width of the 5015 // main column, though not infinitely. 5016 // @todo It would be good to revisit this once a content-width variable 5017 // becomes available. 5018 5019 const maxWidthBuffer = maxWidth * 2.5; 5020 let showRightHandle = false; 5021 let showLeftHandle = false; 5022 /* eslint-disable no-lonely-if */ 5023 // See https://github.com/WordPress/gutenberg/issues/7584. 5024 5025 if (align === 'center') { 5026 // When the image is centered, show both handles. 5027 showRightHandle = true; 5028 showLeftHandle = true; 5029 } else if (Object(external_wp_i18n_["isRTL"])()) { 5030 // In RTL mode the image is on the right by default. 5031 // Show the right handle and hide the left handle only when it is 5032 // aligned left. Otherwise always show the left handle. 5033 if (align === 'left') { 5034 showRightHandle = true; 5035 } else { 5036 showLeftHandle = true; 5037 } 5038 } else { 5039 // Show the left handle and hide the right handle only when the 5040 // image is aligned right. Otherwise always show the right handle. 5041 if (align === 'right') { 5042 showLeftHandle = true; 5043 } else { 5044 showRightHandle = true; 5045 } 5046 } 5047 /* eslint-enable no-lonely-if */ 5048 5049 5050 img = Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 5051 size: { 5052 width: width !== null && width !== void 0 ? width : 'auto', 5053 height: height !== null && height !== void 0 ? height : 'auto' 5054 }, 5055 showHandle: isSelected, 5056 minWidth: minWidth, 5057 maxWidth: maxWidthBuffer, 5058 minHeight: minHeight, 5059 maxHeight: maxWidthBuffer / ratio, 5060 lockAspectRatio: true, 5061 enable: { 5062 top: false, 5063 right: showRightHandle, 5064 bottom: true, 5065 left: showLeftHandle 5066 }, 5067 onResizeStart: onResizeStart, 5068 onResizeStop: (event, direction, elt, delta) => { 5069 onResizeStop(); 5070 setAttributes({ 5071 width: parseInt(currentWidth + delta.width, 10), 5072 height: parseInt(currentHeight + delta.height, 10) 5073 }); 5074 } 5075 }, img); 5076 } 5077 5078 return Object(external_wp_element_["createElement"])(ImageEditingProvider, { 5079 id: id, 5080 url: url, 5081 naturalWidth: naturalWidth, 5082 naturalHeight: naturalHeight, 5083 clientWidth: clientWidth, 5084 onSaveImage: imageAttributes => setAttributes(imageAttributes), 5085 isEditing: isEditingImage, 5086 onFinishEditing: () => setIsEditingImage(false) 5087 }, !temporaryURL && controls, img, (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 5088 ref: captionRef, 5089 tagName: "figcaption", 5090 "aria-label": Object(external_wp_i18n_["__"])('Image caption text'), 5091 placeholder: Object(external_wp_i18n_["__"])('Add caption'), 5092 value: caption, 5093 onChange: value => setAttributes({ 5094 caption: value 5095 }), 5096 inlineToolbar: true, 5097 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 5098 })); 5099 } 5100 5101 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/edit.js 5102 5103 5104 /** 5105 * External dependencies 5106 */ 5107 5108 5109 /** 5110 * WordPress dependencies 5111 */ 5112 5113 5114 5115 5116 5117 5118 5119 5120 /* global wp */ 5121 5122 /** 5123 * Internal dependencies 5124 */ 5125 5126 5127 /** 5128 * Module constants 5129 */ 5130 5131 5132 const pickRelevantMediaFiles = (image, size) => { 5133 const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); 5134 imageProps.url = Object(external_lodash_["get"])(image, ['sizes', size, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', size, 'source_url']) || image.url; 5135 return imageProps; 5136 }; 5137 /** 5138 * Is the URL a temporary blob URL? A blob URL is one that is used temporarily 5139 * while the image is being uploaded and will not have an id yet allocated. 5140 * 5141 * @param {number=} id The id of the image. 5142 * @param {string=} url The url of the image. 5143 * 5144 * @return {boolean} Is the URL a Blob URL 5145 */ 5146 5147 const isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); 5148 /** 5149 * Is the url for the image hosted externally. An externally hosted image has no 5150 * id and is not a blob url. 5151 * 5152 * @param {number=} id The id of the image. 5153 * @param {string=} url The url of the image. 5154 * 5155 * @return {boolean} Is the url an externally hosted url? 5156 */ 5157 5158 5159 const isExternalImage = (id, url) => url && !id && !Object(external_wp_blob_["isBlobURL"])(url); 5160 /** 5161 * Checks if WP generated default image size. Size generation is skipped 5162 * when the image is smaller than the said size. 5163 * 5164 * @param {Object} image 5165 * @param {string} defaultSize 5166 * 5167 * @return {boolean} Whether or not it has default image size. 5168 */ 5169 5170 function hasDefaultSize(image, defaultSize) { 5171 return Object(external_lodash_["has"])(image, ['sizes', defaultSize, 'url']) || Object(external_lodash_["has"])(image, ['media_details', 'sizes', defaultSize, 'source_url']); 5172 } 5173 5174 function ImageEdit({ 5175 attributes, 5176 setAttributes, 5177 isSelected, 5178 className, 5179 noticeUI, 5180 insertBlocksAfter, 5181 noticeOperations, 5182 onReplace, 5183 clientId 5184 }) { 5185 const { 5186 url = '', 5187 alt, 5188 caption, 5189 align, 5190 id, 5191 width, 5192 height, 5193 sizeSlug 5194 } = attributes; 5195 const [temporaryURL, setTemporaryURL] = Object(external_wp_element_["useState"])(); 5196 const altRef = Object(external_wp_element_["useRef"])(); 5197 Object(external_wp_element_["useEffect"])(() => { 5198 altRef.current = alt; 5199 }, [alt]); 5200 const captionRef = Object(external_wp_element_["useRef"])(); 5201 Object(external_wp_element_["useEffect"])(() => { 5202 captionRef.current = caption; 5203 }, [caption]); 5204 const ref = Object(external_wp_element_["useRef"])(); 5205 const { 5206 imageDefaultSize, 5207 mediaUpload 5208 } = Object(external_wp_data_["useSelect"])(select => { 5209 const { 5210 getSettings 5211 } = select(external_wp_blockEditor_["store"]); 5212 return Object(external_lodash_["pick"])(getSettings(), ['imageDefaultSize', 'mediaUpload']); 5213 }, []); 5214 5215 function onUploadError(message) { 5216 noticeOperations.removeAllNotices(); 5217 noticeOperations.createErrorNotice(message); 5218 } 5219 5220 function onSelectImage(media) { 5221 var _wp, _wp$media, _wp$media$view, _wp$media$view$settin, _wp$media$view$settin2; 5222 5223 if (!media || !media.url) { 5224 setAttributes({ 5225 url: undefined, 5226 alt: undefined, 5227 id: undefined, 5228 title: undefined, 5229 caption: undefined 5230 }); 5231 return; 5232 } 5233 5234 if (Object(external_wp_blob_["isBlobURL"])(media.url)) { 5235 setTemporaryURL(media.url); 5236 return; 5237 } 5238 5239 setTemporaryURL(); 5240 let mediaAttributes = pickRelevantMediaFiles(media, imageDefaultSize); // If a caption text was meanwhile written by the user, 5241 // make sure the text is not overwritten by empty captions. 5242 5243 if (captionRef.current && !Object(external_lodash_["get"])(mediaAttributes, ['caption'])) { 5244 mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']); 5245 } 5246 5247 let additionalAttributes; // Reset the dimension attributes if changing to a different image. 5248 5249 if (!media.id || media.id !== id) { 5250 additionalAttributes = { 5251 width: undefined, 5252 height: undefined, 5253 // Fallback to size "full" if there's no default image size. 5254 // It means the image is smaller, and the block will use a full-size URL. 5255 sizeSlug: hasDefaultSize(media, imageDefaultSize) ? imageDefaultSize : 'full' 5256 }; 5257 } else { 5258 // Keep the same url when selecting the same file, so "Image Size" 5259 // option is not changed. 5260 additionalAttributes = { 5261 url 5262 }; 5263 } // Check if default link setting should be used. 5264 5265 5266 let linkDestination = attributes.linkDestination; 5267 5268 if (!linkDestination) { 5269 // Use the WordPress option to determine the proper default. 5270 // The constants used in Gutenberg do not match WP options so a little more complicated than ideal. 5271 // TODO: fix this in a follow up PR, requires updating media-text and ui component. 5272 switch (((_wp = wp) === null || _wp === void 0 ? void 0 : (_wp$media = _wp.media) === null || _wp$media === void 0 ? void 0 : (_wp$media$view = _wp$media.view) === null || _wp$media$view === void 0 ? void 0 : (_wp$media$view$settin = _wp$media$view.settings) === null || _wp$media$view$settin === void 0 ? void 0 : (_wp$media$view$settin2 = _wp$media$view$settin.defaultProps) === null || _wp$media$view$settin2 === void 0 ? void 0 : _wp$media$view$settin2.link) || LINK_DESTINATION_NONE) { 5273 case 'file': 5274 case LINK_DESTINATION_MEDIA: 5275 linkDestination = LINK_DESTINATION_MEDIA; 5276 break; 5277 5278 case 'post': 5279 case LINK_DESTINATION_ATTACHMENT: 5280 linkDestination = LINK_DESTINATION_ATTACHMENT; 5281 break; 5282 5283 case LINK_DESTINATION_CUSTOM: 5284 linkDestination = LINK_DESTINATION_CUSTOM; 5285 break; 5286 5287 case LINK_DESTINATION_NONE: 5288 linkDestination = LINK_DESTINATION_NONE; 5289 break; 5290 } 5291 } // Check if the image is linked to it's media. 5292 5293 5294 let href; 5295 5296 switch (linkDestination) { 5297 case LINK_DESTINATION_MEDIA: 5298 href = media.url; 5299 break; 5300 5301 case LINK_DESTINATION_ATTACHMENT: 5302 href = media.link; 5303 break; 5304 } 5305 5306 mediaAttributes.href = href; 5307 setAttributes({ ...mediaAttributes, 5308 ...additionalAttributes, 5309 linkDestination 5310 }); 5311 } 5312 5313 function onSelectURL(newURL) { 5314 if (newURL !== url) { 5315 setAttributes({ 5316 url: newURL, 5317 id: undefined, 5318 width: undefined, 5319 height: undefined, 5320 sizeSlug: imageDefaultSize 5321 }); 5322 } 5323 } 5324 5325 function updateAlignment(nextAlign) { 5326 const extraUpdatedAttributes = ['wide', 'full'].includes(nextAlign) ? { 5327 width: undefined, 5328 height: undefined 5329 } : {}; 5330 setAttributes({ ...extraUpdatedAttributes, 5331 align: nextAlign 5332 }); 5333 } 5334 5335 const isTemp = isTemporaryImage(id, url); // Upload a temporary image on mount. 5336 5337 Object(external_wp_element_["useEffect"])(() => { 5338 if (!isTemp) { 5339 return; 5340 } 5341 5342 const file = Object(external_wp_blob_["getBlobByURL"])(url); 5343 5344 if (file) { 5345 mediaUpload({ 5346 filesList: [file], 5347 onFileChange: ([img]) => { 5348 onSelectImage(img); 5349 }, 5350 allowedTypes: ALLOWED_MEDIA_TYPES, 5351 onError: message => { 5352 noticeOperations.createErrorNotice(message); 5353 setAttributes({ 5354 src: undefined, 5355 id: undefined, 5356 url: undefined 5357 }); 5358 } 5359 }); 5360 } 5361 }, []); // If an image is temporary, revoke the Blob url when it is uploaded (and is 5362 // no longer temporary). 5363 5364 Object(external_wp_element_["useEffect"])(() => { 5365 if (!temporaryURL) { 5366 return; 5367 } 5368 5369 return () => { 5370 Object(external_wp_blob_["revokeBlobURL"])(temporaryURL); 5371 }; 5372 }, [temporaryURL]); 5373 const isExternal = isExternalImage(id, url); 5374 const src = isExternal ? url : undefined; 5375 const mediaPreview = !!url && Object(external_wp_element_["createElement"])("img", { 5376 alt: Object(external_wp_i18n_["__"])('Edit image'), 5377 title: Object(external_wp_i18n_["__"])('Edit image'), 5378 className: 'edit-image-preview', 5379 src: url 5380 }); 5381 const classes = classnames_default()(className, { 5382 'is-transient': temporaryURL, 5383 'is-resized': !!width || !!height, 5384 [`size-${sizeSlug}`]: sizeSlug 5385 }); 5386 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 5387 ref, 5388 className: classes 5389 }); 5390 return Object(external_wp_element_["createElement"])("figure", blockProps, (temporaryURL || url) && Object(external_wp_element_["createElement"])(Image, { 5391 temporaryURL: temporaryURL, 5392 attributes: attributes, 5393 setAttributes: setAttributes, 5394 isSelected: isSelected, 5395 insertBlocksAfter: insertBlocksAfter, 5396 onReplace: onReplace, 5397 onSelectImage: onSelectImage, 5398 onSelectURL: onSelectURL, 5399 onUploadError: onUploadError, 5400 containerRef: ref, 5401 clientId: clientId 5402 }), !url && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 5403 group: "block" 5404 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentControl"], { 5405 value: align, 5406 onChange: updateAlignment 5407 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 5408 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 5409 icon: library_image 5410 }), 5411 onSelect: onSelectImage, 5412 onSelectURL: onSelectURL, 5413 notices: noticeUI, 5414 onError: onUploadError, 5415 accept: "image/*", 5416 allowedTypes: ALLOWED_MEDIA_TYPES, 5417 value: { 5418 id, 5419 src 5420 }, 5421 mediaPreview: mediaPreview, 5422 disableMediaButtons: temporaryURL || url 5423 })); 5424 } 5425 /* harmony default export */ var image_edit = (Object(external_wp_components_["withNotices"])(ImageEdit)); 5426 5427 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/save.js 5428 5429 5430 /** 5431 * External dependencies 5432 */ 5433 5434 5435 /** 5436 * WordPress dependencies 5437 */ 5438 5439 5440 function save_save({ 5441 attributes 5442 }) { 5443 const { 5444 url, 5445 alt, 5446 caption, 5447 align, 5448 href, 5449 rel, 5450 linkClass, 5451 width, 5452 height, 5453 id, 5454 linkTarget, 5455 sizeSlug, 5456 title 5457 } = attributes; 5458 const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; 5459 const classes = classnames_default()({ 5460 [`align${align}`]: align, 5461 [`size-${sizeSlug}`]: sizeSlug, 5462 'is-resized': width || height 5463 }); 5464 const image = Object(external_wp_element_["createElement"])("img", { 5465 src: url, 5466 alt: alt, 5467 className: id ? `wp-image-${id}` : null, 5468 width: width, 5469 height: height, 5470 title: title 5471 }); 5472 const figure = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, href ? Object(external_wp_element_["createElement"])("a", { 5473 className: linkClass, 5474 href: href, 5475 target: linkTarget, 5476 rel: newRel 5477 }, image) : image, !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 5478 tagName: "figcaption", 5479 value: caption 5480 })); 5481 5482 if ('left' === align || 'right' === align || 'center' === align) { 5483 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("figure", { 5484 className: classes 5485 }, figure)); 5486 } 5487 5488 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ 5489 className: classes 5490 }), figure); 5491 } 5492 5493 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/transforms.js 5494 /** 5495 * WordPress dependencies 5496 */ 5497 5498 5499 function stripFirstImage(attributes, { 5500 shortcode 5501 }) { 5502 const { 5503 body 5504 } = document.implementation.createHTMLDocument(''); 5505 body.innerHTML = shortcode.content; 5506 let nodeToRemove = body.querySelector('img'); // if an image has parents, find the topmost node to remove 5507 5508 while (nodeToRemove && nodeToRemove.parentNode && nodeToRemove.parentNode !== body) { 5509 nodeToRemove = nodeToRemove.parentNode; 5510 } 5511 5512 if (nodeToRemove) { 5513 nodeToRemove.parentNode.removeChild(nodeToRemove); 5514 } 5515 5516 return body.innerHTML.trim(); 5517 } 5518 5519 function getFirstAnchorAttributeFormHTML(html, attributeName) { 5520 const { 5521 body 5522 } = document.implementation.createHTMLDocument(''); 5523 body.innerHTML = html; 5524 const { 5525 firstElementChild 5526 } = body; 5527 5528 if (firstElementChild && firstElementChild.nodeName === 'A') { 5529 return firstElementChild.getAttribute(attributeName) || undefined; 5530 } 5531 } 5532 5533 const imageSchema = { 5534 img: { 5535 attributes: ['src', 'alt', 'title'], 5536 classes: ['alignleft', 'aligncenter', 'alignright', 'alignnone', /^wp-image-\d+$/] 5537 } 5538 }; 5539 5540 const schema = ({ 5541 phrasingContentSchema 5542 }) => ({ 5543 figure: { 5544 require: ['img'], 5545 children: { ...imageSchema, 5546 a: { 5547 attributes: ['href', 'rel', 'target'], 5548 children: imageSchema 5549 }, 5550 figcaption: { 5551 children: phrasingContentSchema 5552 } 5553 } 5554 } 5555 }); 5556 5557 const transforms_transforms = { 5558 from: [{ 5559 type: 'raw', 5560 isMatch: node => node.nodeName === 'FIGURE' && !!node.querySelector('img'), 5561 schema, 5562 transform: node => { 5563 // Search both figure and image classes. Alignment could be 5564 // set on either. ID is set on the image. 5565 const className = node.className + ' ' + node.querySelector('img').className; 5566 const alignMatches = /(?:^|\s)align(left|center|right)(?:$|\s)/.exec(className); 5567 const anchor = node.id === '' ? undefined : node.id; 5568 const align = alignMatches ? alignMatches[1] : undefined; 5569 const idMatches = /(?:^|\s)wp-image-(\d+)(?:$|\s)/.exec(className); 5570 const id = idMatches ? Number(idMatches[1]) : undefined; 5571 const anchorElement = node.querySelector('a'); 5572 const linkDestination = anchorElement && anchorElement.href ? 'custom' : undefined; 5573 const href = anchorElement && anchorElement.href ? anchorElement.href : undefined; 5574 const rel = anchorElement && anchorElement.rel ? anchorElement.rel : undefined; 5575 const linkClass = anchorElement && anchorElement.className ? anchorElement.className : undefined; 5576 const attributes = Object(external_wp_blocks_["getBlockAttributes"])('core/image', node.outerHTML, { 5577 align, 5578 id, 5579 linkDestination, 5580 href, 5581 rel, 5582 linkClass, 5583 anchor 5584 }); 5585 return Object(external_wp_blocks_["createBlock"])('core/image', attributes); 5586 } 5587 }, { 5588 type: 'files', 5589 5590 isMatch(files) { 5591 return files.length === 1 && files[0].type.indexOf('image/') === 0; 5592 }, 5593 5594 transform(files) { 5595 const file = files[0]; // We don't need to upload the media directly here 5596 // It's already done as part of the `componentDidMount` 5597 // int the image block 5598 5599 return Object(external_wp_blocks_["createBlock"])('core/image', { 5600 url: Object(external_wp_blob_["createBlobURL"])(file) 5601 }); 5602 } 5603 5604 }, { 5605 type: 'shortcode', 5606 tag: 'caption', 5607 attributes: { 5608 url: { 5609 type: 'string', 5610 source: 'attribute', 5611 attribute: 'src', 5612 selector: 'img' 5613 }, 5614 alt: { 5615 type: 'string', 5616 source: 'attribute', 5617 attribute: 'alt', 5618 selector: 'img' 5619 }, 5620 caption: { 5621 shortcode: stripFirstImage 5622 }, 5623 href: { 5624 shortcode: (attributes, { 5625 shortcode 5626 }) => { 5627 return getFirstAnchorAttributeFormHTML(shortcode.content, 'href'); 5628 } 5629 }, 5630 rel: { 5631 shortcode: (attributes, { 5632 shortcode 5633 }) => { 5634 return getFirstAnchorAttributeFormHTML(shortcode.content, 'rel'); 5635 } 5636 }, 5637 linkClass: { 5638 shortcode: (attributes, { 5639 shortcode 5640 }) => { 5641 return getFirstAnchorAttributeFormHTML(shortcode.content, 'class'); 5642 } 5643 }, 5644 id: { 5645 type: 'number', 5646 shortcode: ({ 5647 named: { 5648 id 5649 } 5650 }) => { 5651 if (!id) { 5652 return; 5653 } 5654 5655 return parseInt(id.replace('attachment_', ''), 10); 5656 } 5657 }, 5658 align: { 5659 type: 'string', 5660 shortcode: ({ 5661 named: { 5662 align = 'alignnone' 5663 } 5664 }) => { 5665 return align.replace('align', ''); 5666 } 5667 } 5668 } 5669 }] 5670 }; 5671 /* harmony default export */ var image_transforms = (transforms_transforms); 5672 5673 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/image/index.js 5674 /** 5675 * WordPress dependencies 5676 */ 5677 5678 5679 /** 5680 * Internal dependencies 5681 */ 5682 5683 5684 5685 const image_metadata = { 5686 apiVersion: 2, 5687 name: "core/image", 5688 title: "Image", 5689 category: "media", 5690 description: "Insert an image to make a visual statement.", 5691 keywords: ["img", "photo", "picture"], 5692 textdomain: "default", 5693 attributes: { 5694 align: { 5695 type: "string" 5696 }, 5697 url: { 5698 type: "string", 5699 source: "attribute", 5700 selector: "img", 5701 attribute: "src" 5702 }, 5703 alt: { 5704 type: "string", 5705 source: "attribute", 5706 selector: "img", 5707 attribute: "alt", 5708 "default": "" 5709 }, 5710 caption: { 5711 type: "string", 5712 source: "html", 5713 selector: "figcaption" 5714 }, 5715 title: { 5716 type: "string", 5717 source: "attribute", 5718 selector: "img", 5719 attribute: "title" 5720 }, 5721 href: { 5722 type: "string", 5723 source: "attribute", 5724 selector: "figure > a", 5725 attribute: "href" 5726 }, 5727 rel: { 5728 type: "string", 5729 source: "attribute", 5730 selector: "figure > a", 5731 attribute: "rel" 5732 }, 5733 linkClass: { 5734 type: "string", 5735 source: "attribute", 5736 selector: "figure > a", 5737 attribute: "class" 5738 }, 5739 id: { 5740 type: "number" 5741 }, 5742 width: { 5743 type: "number" 5744 }, 5745 height: { 5746 type: "number" 5747 }, 5748 sizeSlug: { 5749 type: "string" 5750 }, 5751 linkDestination: { 5752 type: "string" 5753 }, 5754 linkTarget: { 5755 type: "string", 5756 source: "attribute", 5757 selector: "figure > a", 5758 attribute: "target" 5759 } 5760 }, 5761 supports: { 5762 anchor: true, 5763 color: { 5764 __experimentalDuotone: "img", 5765 text: false, 5766 background: false 5767 }, 5768 __experimentalBorder: { 5769 radius: true 5770 } 5771 }, 5772 styles: [{ 5773 name: "default", 5774 label: "Default", 5775 isDefault: true 5776 }, { 5777 name: "rounded", 5778 label: "Rounded" 5779 }], 5780 editorStyle: "wp-block-image-editor", 5781 style: "wp-block-image" 5782 }; 5783 5784 5785 const { 5786 name: image_name 5787 } = image_metadata; 5788 5789 const image_settings = { 5790 icon: library_image, 5791 example: { 5792 attributes: { 5793 sizeSlug: 'large', 5794 url: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg', 5795 // translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block. 5796 caption: Object(external_wp_i18n_["__"])('Mont Blanc appears—still, snowy, and serene.') 5797 } 5798 }, 5799 5800 __experimentalLabel(attributes, { 5801 context 5802 }) { 5803 if (context === 'accessibility') { 5804 const { 5805 caption, 5806 alt, 5807 url 5808 } = attributes; 5809 5810 if (!url) { 5811 return Object(external_wp_i18n_["__"])('Empty'); 5812 } 5813 5814 if (!alt) { 5815 return caption || ''; 5816 } // This is intended to be read by a screen reader. 5817 // A period simply means a pause, no need to translate it. 5818 5819 5820 return alt + (caption ? '. ' + caption : ''); 5821 } 5822 }, 5823 5824 getEditWrapperProps(attributes) { 5825 return { 5826 'data-align': attributes.align 5827 }; 5828 }, 5829 5830 transforms: image_transforms, 5831 edit: image_edit, 5832 save: save_save, 5833 deprecated: image_deprecated 5834 }; 5835 5836 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/heading.js 5837 5838 5839 /** 5840 * WordPress dependencies 5841 */ 5842 5843 const heading = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 5844 xmlns: "http://www.w3.org/2000/svg", 5845 viewBox: "0 0 24 24" 5846 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 5847 d: "M6.2 5.2v13.4l5.8-4.8 5.8 4.8V5.2z" 5848 })); 5849 /* harmony default export */ var library_heading = (heading); 5850 5851 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/deprecated.js 5852 5853 5854 /** 5855 * External dependencies 5856 */ 5857 5858 5859 /** 5860 * WordPress dependencies 5861 */ 5862 5863 5864 const blockSupports = { 5865 className: false, 5866 anchor: true 5867 }; 5868 const heading_deprecated_blockAttributes = { 5869 align: { 5870 type: 'string' 5871 }, 5872 content: { 5873 type: 'string', 5874 source: 'html', 5875 selector: 'h1,h2,h3,h4,h5,h6', 5876 default: '' 5877 }, 5878 level: { 5879 type: 'number', 5880 default: 2 5881 }, 5882 placeholder: { 5883 type: 'string' 5884 } 5885 }; 5886 5887 const migrateCustomColors = attributes => { 5888 if (!attributes.customTextColor) { 5889 return attributes; 5890 } 5891 5892 const style = { 5893 color: { 5894 text: attributes.customTextColor 5895 } 5896 }; 5897 return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor']), 5898 style 5899 }; 5900 }; 5901 5902 const TEXT_ALIGN_OPTIONS = ['left', 'right', 'center']; 5903 5904 const migrateTextAlign = attributes => { 5905 const { 5906 align, 5907 ...rest 5908 } = attributes; 5909 return TEXT_ALIGN_OPTIONS.includes(align) ? { ...rest, 5910 textAlign: align 5911 } : attributes; 5912 }; 5913 5914 const heading_deprecated_deprecated = [{ 5915 supports: { 5916 align: ['wide', 'full'], 5917 anchor: true, 5918 className: false, 5919 color: { 5920 link: true 5921 }, 5922 fontSize: true, 5923 lineHeight: true, 5924 __experimentalSelector: { 5925 'core/heading/h1': 'h1', 5926 'core/heading/h2': 'h2', 5927 'core/heading/h3': 'h3', 5928 'core/heading/h4': 'h4', 5929 'core/heading/h5': 'h5', 5930 'core/heading/h6': 'h6' 5931 }, 5932 __unstablePasteTextInline: true 5933 }, 5934 attributes: heading_deprecated_blockAttributes, 5935 isEligible: ({ 5936 align 5937 }) => TEXT_ALIGN_OPTIONS.includes(align), 5938 migrate: migrateTextAlign, 5939 5940 save({ 5941 attributes 5942 }) { 5943 const { 5944 align, 5945 content, 5946 level 5947 } = attributes; 5948 const TagName = 'h' + level; 5949 const className = classnames_default()({ 5950 [`has-text-align-${align}`]: align 5951 }); 5952 return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ 5953 className 5954 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 5955 value: content 5956 })); 5957 } 5958 5959 }, { 5960 supports: blockSupports, 5961 attributes: { ...heading_deprecated_blockAttributes, 5962 customTextColor: { 5963 type: 'string' 5964 }, 5965 textColor: { 5966 type: 'string' 5967 } 5968 }, 5969 migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), 5970 5971 save({ 5972 attributes 5973 }) { 5974 const { 5975 align, 5976 content, 5977 customTextColor, 5978 level, 5979 textColor 5980 } = attributes; 5981 const tagName = 'h' + level; 5982 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 5983 const className = classnames_default()({ 5984 [textClass]: textClass, 5985 'has-text-color': textColor || customTextColor, 5986 [`has-text-align-${align}`]: align 5987 }); 5988 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 5989 className: className ? className : undefined, 5990 tagName: tagName, 5991 style: { 5992 color: textClass ? undefined : customTextColor 5993 }, 5994 value: content 5995 }); 5996 } 5997 5998 }, { 5999 attributes: { ...heading_deprecated_blockAttributes, 6000 customTextColor: { 6001 type: 'string' 6002 }, 6003 textColor: { 6004 type: 'string' 6005 } 6006 }, 6007 migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), 6008 6009 save({ 6010 attributes 6011 }) { 6012 const { 6013 align, 6014 content, 6015 customTextColor, 6016 level, 6017 textColor 6018 } = attributes; 6019 const tagName = 'h' + level; 6020 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 6021 const className = classnames_default()({ 6022 [textClass]: textClass, 6023 [`has-text-align-${align}`]: align 6024 }); 6025 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6026 className: className ? className : undefined, 6027 tagName: tagName, 6028 style: { 6029 color: textClass ? undefined : customTextColor 6030 }, 6031 value: content 6032 }); 6033 }, 6034 6035 supports: blockSupports 6036 }, { 6037 supports: blockSupports, 6038 attributes: { ...heading_deprecated_blockAttributes, 6039 customTextColor: { 6040 type: 'string' 6041 }, 6042 textColor: { 6043 type: 'string' 6044 } 6045 }, 6046 migrate: attributes => migrateCustomColors(migrateTextAlign(attributes)), 6047 6048 save({ 6049 attributes 6050 }) { 6051 const { 6052 align, 6053 level, 6054 content, 6055 textColor, 6056 customTextColor 6057 } = attributes; 6058 const tagName = 'h' + level; 6059 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 6060 const className = classnames_default()({ 6061 [textClass]: textClass 6062 }); 6063 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6064 className: className ? className : undefined, 6065 tagName: tagName, 6066 style: { 6067 textAlign: align, 6068 color: textClass ? undefined : customTextColor 6069 }, 6070 value: content 6071 }); 6072 } 6073 6074 }]; 6075 /* harmony default export */ var heading_deprecated = (heading_deprecated_deprecated); 6076 6077 // EXTERNAL MODULE: external ["wp","keycodes"] 6078 var external_wp_keycodes_ = __webpack_require__("RxS6"); 6079 6080 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-icon.js 6081 6082 6083 /** 6084 * WordPress dependencies 6085 */ 6086 6087 /** @typedef {import('@wordpress/element').WPComponent} WPComponent */ 6088 6089 /** 6090 * HeadingLevelIcon props. 6091 * 6092 * @typedef WPHeadingLevelIconProps 6093 * 6094 * @property {number} level The heading level to show an icon for. 6095 * @property {?boolean} isPressed Whether or not the icon should appear pressed; default: false. 6096 */ 6097 6098 /** 6099 * Heading level icon. 6100 * 6101 * @param {WPHeadingLevelIconProps} props Component props. 6102 * 6103 * @return {?WPComponent} The icon. 6104 */ 6105 6106 function HeadingLevelIcon({ 6107 level, 6108 isPressed = false 6109 }) { 6110 const levelToPath = { 6111 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z', 6112 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z', 6113 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z', 6114 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z', 6115 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z', 6116 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z' 6117 }; 6118 6119 if (!levelToPath.hasOwnProperty(level)) { 6120 return null; 6121 } 6122 6123 return Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 6124 width: "24", 6125 height: "24", 6126 viewBox: "0 0 20 20", 6127 xmlns: "http://www.w3.org/2000/svg", 6128 isPressed: isPressed 6129 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 6130 d: levelToPath[level] 6131 })); 6132 } 6133 6134 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/heading-level-dropdown.js 6135 6136 6137 /** 6138 * WordPress dependencies 6139 */ 6140 6141 6142 6143 /** 6144 * Internal dependencies 6145 */ 6146 6147 6148 const HEADING_LEVELS = [1, 2, 3, 4, 5, 6]; 6149 const heading_level_dropdown_POPOVER_PROPS = { 6150 className: 'block-library-heading-level-dropdown', 6151 isAlternate: true 6152 }; 6153 /** @typedef {import('@wordpress/element').WPComponent} WPComponent */ 6154 6155 /** 6156 * HeadingLevelDropdown props. 6157 * 6158 * @typedef WPHeadingLevelDropdownProps 6159 * 6160 * @property {number} selectedLevel The chosen heading level. 6161 * @property {(newValue:number)=>any} onChange Callback to run when 6162 * toolbar value is changed. 6163 */ 6164 6165 /** 6166 * Dropdown for selecting a heading level (1 through 6). 6167 * 6168 * @param {WPHeadingLevelDropdownProps} props Component props. 6169 * 6170 * @return {WPComponent} The toolbar. 6171 */ 6172 6173 function HeadingLevelDropdown({ 6174 selectedLevel, 6175 onChange 6176 }) { 6177 return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { 6178 popoverProps: heading_level_dropdown_POPOVER_PROPS, 6179 renderToggle: ({ 6180 onToggle, 6181 isOpen 6182 }) => { 6183 const openOnArrowDown = event => { 6184 if (!isOpen && event.keyCode === external_wp_keycodes_["DOWN"]) { 6185 event.preventDefault(); 6186 event.stopPropagation(); 6187 onToggle(); 6188 } 6189 }; 6190 6191 return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 6192 "aria-expanded": isOpen, 6193 "aria-haspopup": "true", 6194 icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { 6195 level: selectedLevel 6196 }), 6197 label: Object(external_wp_i18n_["__"])('Change heading level'), 6198 onClick: onToggle, 6199 onKeyDown: openOnArrowDown, 6200 showTooltip: true 6201 }); 6202 }, 6203 renderContent: () => Object(external_wp_element_["createElement"])(external_wp_components_["Toolbar"], { 6204 className: "block-library-heading-level-toolbar", 6205 label: Object(external_wp_i18n_["__"])('Change heading level') 6206 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { 6207 isCollapsed: false, 6208 controls: HEADING_LEVELS.map(targetLevel => { 6209 const isActive = targetLevel === selectedLevel; 6210 return { 6211 icon: Object(external_wp_element_["createElement"])(HeadingLevelIcon, { 6212 level: targetLevel, 6213 isPressed: isActive 6214 }), 6215 title: Object(external_wp_i18n_["sprintf"])( // translators: %s: heading level e.g: "1", "2", "3" 6216 Object(external_wp_i18n_["__"])('Heading %d'), targetLevel), 6217 isActive, 6218 6219 onClick() { 6220 onChange(targetLevel); 6221 } 6222 6223 }; 6224 }) 6225 })) 6226 }); 6227 } 6228 6229 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/edit.js 6230 6231 6232 6233 /** 6234 * External dependencies 6235 */ 6236 6237 /** 6238 * WordPress dependencies 6239 */ 6240 6241 6242 6243 6244 /** 6245 * Internal dependencies 6246 */ 6247 6248 6249 6250 function HeadingEdit({ 6251 attributes, 6252 setAttributes, 6253 mergeBlocks, 6254 onReplace, 6255 mergedStyle, 6256 clientId 6257 }) { 6258 const { 6259 textAlign, 6260 content, 6261 level, 6262 placeholder 6263 } = attributes; 6264 const tagName = 'h' + level; 6265 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 6266 className: classnames_default()({ 6267 [`has-text-align-${textAlign}`]: textAlign 6268 }), 6269 style: mergedStyle 6270 }); 6271 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 6272 group: "block" 6273 }, Object(external_wp_element_["createElement"])(HeadingLevelDropdown, { 6274 selectedLevel: level, 6275 onChange: newLevel => setAttributes({ 6276 level: newLevel 6277 }) 6278 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 6279 value: textAlign, 6280 onChange: nextAlign => { 6281 setAttributes({ 6282 textAlign: nextAlign 6283 }); 6284 } 6285 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 6286 identifier: "content", 6287 tagName: tagName, 6288 value: content, 6289 onChange: value => setAttributes({ 6290 content: value 6291 }), 6292 onMerge: mergeBlocks, 6293 onSplit: (value, isOriginal) => { 6294 let block; 6295 6296 if (isOriginal || value) { 6297 block = Object(external_wp_blocks_["createBlock"])('core/heading', { ...attributes, 6298 content: value 6299 }); 6300 } else { 6301 block = Object(external_wp_blocks_["createBlock"])('core/paragraph'); 6302 } 6303 6304 if (isOriginal) { 6305 block.clientId = clientId; 6306 } 6307 6308 return block; 6309 }, 6310 onReplace: onReplace, 6311 onRemove: () => onReplace([]), 6312 "aria-label": Object(external_wp_i18n_["__"])('Heading text'), 6313 placeholder: placeholder || Object(external_wp_i18n_["__"])('Heading'), 6314 textAlign: textAlign 6315 }, blockProps))); 6316 } 6317 6318 /* harmony default export */ var heading_edit = (HeadingEdit); 6319 6320 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/save.js 6321 6322 6323 /** 6324 * External dependencies 6325 */ 6326 6327 /** 6328 * WordPress dependencies 6329 */ 6330 6331 6332 function heading_save_save({ 6333 attributes 6334 }) { 6335 const { 6336 textAlign, 6337 content, 6338 level 6339 } = attributes; 6340 const TagName = 'h' + level; 6341 const className = classnames_default()({ 6342 [`has-text-align-${textAlign}`]: textAlign 6343 }); 6344 return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ 6345 className 6346 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6347 value: content 6348 })); 6349 } 6350 6351 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/shared.js 6352 /** 6353 * Given a node name string for a heading node, returns its numeric level. 6354 * 6355 * @param {string} nodeName Heading node name. 6356 * 6357 * @return {number} Heading level. 6358 */ 6359 function getLevelFromHeadingNodeName(nodeName) { 6360 return Number(nodeName.substr(1)); 6361 } 6362 6363 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/transforms.js 6364 /** 6365 * WordPress dependencies 6366 */ 6367 6368 /** 6369 * Internal dependencies 6370 */ 6371 6372 6373 const { 6374 name: heading_transforms_name 6375 } = { 6376 apiVersion: 2, 6377 name: "core/heading", 6378 title: "Heading", 6379 category: "text", 6380 description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", 6381 keywords: ["title", "subtitle"], 6382 textdomain: "default", 6383 attributes: { 6384 textAlign: { 6385 type: "string" 6386 }, 6387 content: { 6388 type: "string", 6389 source: "html", 6390 selector: "h1,h2,h3,h4,h5,h6", 6391 "default": "", 6392 __experimentalRole: "content" 6393 }, 6394 level: { 6395 type: "number", 6396 "default": 2 6397 }, 6398 placeholder: { 6399 type: "string" 6400 } 6401 }, 6402 supports: { 6403 align: ["wide", "full"], 6404 anchor: true, 6405 className: false, 6406 color: { 6407 link: true 6408 }, 6409 typography: { 6410 fontSize: true, 6411 lineHeight: true, 6412 __experimentalFontWeight: true 6413 }, 6414 __experimentalSelector: "h1,h2,h3,h4,h5,h6", 6415 __unstablePasteTextInline: true 6416 }, 6417 editorStyle: "wp-block-heading-editor", 6418 style: "wp-block-heading" 6419 }; 6420 const heading_transforms_transforms = { 6421 from: [{ 6422 type: 'block', 6423 isMultiBlock: true, 6424 blocks: ['core/paragraph'], 6425 transform: attributes => attributes.map(({ 6426 content, 6427 anchor 6428 }) => Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { 6429 content, 6430 anchor 6431 })) 6432 }, { 6433 type: 'raw', 6434 selector: 'h1,h2,h3,h4,h5,h6', 6435 schema: ({ 6436 phrasingContentSchema, 6437 isPaste 6438 }) => { 6439 const schema = { 6440 children: phrasingContentSchema, 6441 attributes: isPaste ? [] : ['style', 'id'] 6442 }; 6443 return { 6444 h1: schema, 6445 h2: schema, 6446 h3: schema, 6447 h4: schema, 6448 h5: schema, 6449 h6: schema 6450 }; 6451 }, 6452 6453 transform(node) { 6454 const attributes = Object(external_wp_blocks_["getBlockAttributes"])(heading_transforms_name, node.outerHTML); 6455 const { 6456 textAlign 6457 } = node.style || {}; 6458 attributes.level = getLevelFromHeadingNodeName(node.nodeName); 6459 6460 if (textAlign === 'left' || textAlign === 'center' || textAlign === 'right') { 6461 attributes.align = textAlign; 6462 } 6463 6464 return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, attributes); 6465 } 6466 6467 }, ...[1, 2, 3, 4, 5, 6].map(level => ({ 6468 type: 'prefix', 6469 prefix: Array(level + 1).join('#'), 6470 6471 transform(content) { 6472 return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { 6473 level, 6474 content 6475 }); 6476 } 6477 6478 })), ...[1, 2, 3, 4, 5, 6].map(level => ({ 6479 type: 'enter', 6480 regExp: new RegExp(`^/(h|H)${level}$`), 6481 6482 transform(content) { 6483 return Object(external_wp_blocks_["createBlock"])(heading_transforms_name, { 6484 level, 6485 content 6486 }); 6487 } 6488 6489 }))], 6490 to: [{ 6491 type: 'block', 6492 isMultiBlock: true, 6493 blocks: ['core/paragraph'], 6494 transform: attributes => attributes.map(({ 6495 content, 6496 anchor 6497 }) => Object(external_wp_blocks_["createBlock"])('core/paragraph', { 6498 content, 6499 anchor 6500 })) 6501 }] 6502 }; 6503 /* harmony default export */ var heading_transforms = (heading_transforms_transforms); 6504 6505 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/heading/index.js 6506 /** 6507 * External dependencies 6508 */ 6509 6510 /** 6511 * WordPress dependencies 6512 */ 6513 6514 6515 6516 /** 6517 * Internal dependencies 6518 */ 6519 6520 6521 6522 const heading_metadata = { 6523 apiVersion: 2, 6524 name: "core/heading", 6525 title: "Heading", 6526 category: "text", 6527 description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.", 6528 keywords: ["title", "subtitle"], 6529 textdomain: "default", 6530 attributes: { 6531 textAlign: { 6532 type: "string" 6533 }, 6534 content: { 6535 type: "string", 6536 source: "html", 6537 selector: "h1,h2,h3,h4,h5,h6", 6538 "default": "", 6539 __experimentalRole: "content" 6540 }, 6541 level: { 6542 type: "number", 6543 "default": 2 6544 }, 6545 placeholder: { 6546 type: "string" 6547 } 6548 }, 6549 supports: { 6550 align: ["wide", "full"], 6551 anchor: true, 6552 className: false, 6553 color: { 6554 link: true 6555 }, 6556 typography: { 6557 fontSize: true, 6558 lineHeight: true, 6559 __experimentalFontWeight: true 6560 }, 6561 __experimentalSelector: "h1,h2,h3,h4,h5,h6", 6562 __unstablePasteTextInline: true 6563 }, 6564 editorStyle: "wp-block-heading-editor", 6565 style: "wp-block-heading" 6566 }; 6567 6568 6569 const { 6570 name: heading_name 6571 } = heading_metadata; 6572 6573 const heading_settings = { 6574 icon: library_heading, 6575 example: { 6576 attributes: { 6577 content: Object(external_wp_i18n_["__"])('Code is Poetry'), 6578 level: 2 6579 } 6580 }, 6581 6582 __experimentalLabel(attributes, { 6583 context 6584 }) { 6585 if (context === 'accessibility') { 6586 const { 6587 content, 6588 level 6589 } = attributes; 6590 return Object(external_lodash_["isEmpty"])(content) ? Object(external_wp_i18n_["sprintf"])( 6591 /* translators: accessibility text. %s: heading level. */ 6592 Object(external_wp_i18n_["__"])('Level %s. Empty.'), level) : Object(external_wp_i18n_["sprintf"])( 6593 /* translators: accessibility text. 1: heading level. 2: heading content. */ 6594 Object(external_wp_i18n_["__"])('Level %1$s. %2$s'), level, content); 6595 } 6596 }, 6597 6598 transforms: heading_transforms, 6599 deprecated: heading_deprecated, 6600 6601 merge(attributes, attributesToMerge) { 6602 return { 6603 content: (attributes.content || '') + (attributesToMerge.content || '') 6604 }; 6605 }, 6606 6607 edit: heading_edit, 6608 save: heading_save_save 6609 }; 6610 6611 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/quote.js 6612 6613 6614 /** 6615 * WordPress dependencies 6616 */ 6617 6618 const quote = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 6619 viewBox: "0 0 24 24", 6620 xmlns: "http://www.w3.org/2000/svg" 6621 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 6622 d: "M13 6v6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H13zm-9 6h5.2v4c0 .8-.2 1.4-.5 1.7-.6.6-1.6.6-2.5.5h-.3v1.5h.5c1 0 2.3-.1 3.3-1 .6-.6 1-1.6 1-2.8V6H4v6z" 6623 })); 6624 /* harmony default export */ var library_quote = (quote); 6625 6626 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/deprecated.js 6627 6628 6629 /** 6630 * External dependencies 6631 */ 6632 6633 /** 6634 * WordPress dependencies 6635 */ 6636 6637 6638 const quote_deprecated_blockAttributes = { 6639 value: { 6640 type: 'string', 6641 source: 'html', 6642 selector: 'blockquote', 6643 multiline: 'p', 6644 default: '' 6645 }, 6646 citation: { 6647 type: 'string', 6648 source: 'html', 6649 selector: 'cite', 6650 default: '' 6651 }, 6652 align: { 6653 type: 'string' 6654 } 6655 }; 6656 const quote_deprecated_deprecated = [{ 6657 attributes: quote_deprecated_blockAttributes, 6658 6659 save({ 6660 attributes 6661 }) { 6662 const { 6663 align, 6664 value, 6665 citation 6666 } = attributes; 6667 return Object(external_wp_element_["createElement"])("blockquote", { 6668 style: { 6669 textAlign: align ? align : null 6670 } 6671 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6672 multiline: true, 6673 value: value 6674 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6675 tagName: "cite", 6676 value: citation 6677 })); 6678 } 6679 6680 }, { 6681 attributes: { ...quote_deprecated_blockAttributes, 6682 style: { 6683 type: 'number', 6684 default: 1 6685 } 6686 }, 6687 6688 migrate(attributes) { 6689 if (attributes.style === 2) { 6690 return { ...Object(external_lodash_["omit"])(attributes, ['style']), 6691 className: attributes.className ? attributes.className + ' is-style-large' : 'is-style-large' 6692 }; 6693 } 6694 6695 return attributes; 6696 }, 6697 6698 save({ 6699 attributes 6700 }) { 6701 const { 6702 align, 6703 value, 6704 citation, 6705 style 6706 } = attributes; 6707 return Object(external_wp_element_["createElement"])("blockquote", { 6708 className: style === 2 ? 'is-large' : '', 6709 style: { 6710 textAlign: align ? align : null 6711 } 6712 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6713 multiline: true, 6714 value: value 6715 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6716 tagName: "cite", 6717 value: citation 6718 })); 6719 } 6720 6721 }, { 6722 attributes: { ...quote_deprecated_blockAttributes, 6723 citation: { 6724 type: 'string', 6725 source: 'html', 6726 selector: 'footer', 6727 default: '' 6728 }, 6729 style: { 6730 type: 'number', 6731 default: 1 6732 } 6733 }, 6734 6735 save({ 6736 attributes 6737 }) { 6738 const { 6739 align, 6740 value, 6741 citation, 6742 style 6743 } = attributes; 6744 return Object(external_wp_element_["createElement"])("blockquote", { 6745 className: `blocks-quote-style-${style}`, 6746 style: { 6747 textAlign: align ? align : null 6748 } 6749 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6750 multiline: true, 6751 value: value 6752 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6753 tagName: "footer", 6754 value: citation 6755 })); 6756 } 6757 6758 }]; 6759 /* harmony default export */ var quote_deprecated = (quote_deprecated_deprecated); 6760 6761 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/edit.js 6762 6763 6764 /** 6765 * External dependencies 6766 */ 6767 6768 /** 6769 * WordPress dependencies 6770 */ 6771 6772 6773 6774 6775 6776 6777 const isWebPlatform = external_wp_element_["Platform"].OS === 'web'; 6778 function QuoteEdit({ 6779 attributes, 6780 setAttributes, 6781 isSelected, 6782 mergeBlocks, 6783 onReplace, 6784 className, 6785 insertBlocksAfter, 6786 mergedStyle 6787 }) { 6788 const { 6789 align, 6790 value, 6791 citation 6792 } = attributes; 6793 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 6794 className: classnames_default()(className, { 6795 [`has-text-align-${align}`]: align 6796 }), 6797 style: mergedStyle 6798 }); 6799 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 6800 group: "block" 6801 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 6802 value: align, 6803 onChange: nextAlign => { 6804 setAttributes({ 6805 align: nextAlign 6806 }); 6807 } 6808 })), Object(external_wp_element_["createElement"])(external_wp_components_["BlockQuotation"], blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 6809 identifier: "value", 6810 multiline: true, 6811 value: value, 6812 onChange: nextValue => setAttributes({ 6813 value: nextValue 6814 }), 6815 onMerge: mergeBlocks, 6816 onRemove: forward => { 6817 const hasEmptyCitation = !citation || citation.length === 0; 6818 6819 if (!forward && hasEmptyCitation) { 6820 onReplace([]); 6821 } 6822 }, 6823 "aria-label": Object(external_wp_i18n_["__"])('Quote text'), 6824 placeholder: // translators: placeholder text used for the quote 6825 Object(external_wp_i18n_["__"])('Add quote'), 6826 onReplace: onReplace, 6827 onSplit: piece => Object(external_wp_blocks_["createBlock"])('core/quote', { ...attributes, 6828 value: piece 6829 }), 6830 __unstableOnSplitMiddle: () => Object(external_wp_blocks_["createBlock"])('core/paragraph'), 6831 textAlign: align 6832 }), (!external_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 6833 identifier: "citation", 6834 tagName: isWebPlatform ? 'cite' : undefined, 6835 style: { 6836 display: 'block' 6837 }, 6838 value: citation, 6839 onChange: nextCitation => setAttributes({ 6840 citation: nextCitation 6841 }), 6842 __unstableMobileNoFocusOnMount: true, 6843 "aria-label": Object(external_wp_i18n_["__"])('Quote citation text'), 6844 placeholder: // translators: placeholder text used for the citation 6845 Object(external_wp_i18n_["__"])('Add citation'), 6846 className: "wp-block-quote__citation", 6847 textAlign: align, 6848 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 6849 }))); 6850 } 6851 6852 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/save.js 6853 6854 6855 /** 6856 * External dependencies 6857 */ 6858 6859 /** 6860 * WordPress dependencies 6861 */ 6862 6863 6864 function quote_save_save({ 6865 attributes 6866 }) { 6867 const { 6868 align, 6869 value, 6870 citation 6871 } = attributes; 6872 const className = classnames_default()({ 6873 [`has-text-align-${align}`]: align 6874 }); 6875 return Object(external_wp_element_["createElement"])("blockquote", external_wp_blockEditor_["useBlockProps"].save({ 6876 className 6877 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6878 multiline: true, 6879 value: value 6880 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 6881 tagName: "cite", 6882 value: citation 6883 })); 6884 } 6885 6886 // EXTERNAL MODULE: external ["wp","richText"] 6887 var external_wp_richText_ = __webpack_require__("qRz9"); 6888 6889 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/transforms.js 6890 /** 6891 * WordPress dependencies 6892 */ 6893 6894 6895 const quote_transforms_transforms = { 6896 from: [{ 6897 type: 'block', 6898 isMultiBlock: true, 6899 blocks: ['core/paragraph'], 6900 transform: attributes => { 6901 return Object(external_wp_blocks_["createBlock"])('core/quote', { 6902 value: Object(external_wp_richText_["toHTMLString"])({ 6903 value: Object(external_wp_richText_["join"])(attributes.map(({ 6904 content 6905 }) => Object(external_wp_richText_["create"])({ 6906 html: content 6907 })), '\u2028'), 6908 multilineTag: 'p' 6909 }), 6910 anchor: attributes.anchor 6911 }); 6912 } 6913 }, { 6914 type: 'block', 6915 blocks: ['core/heading'], 6916 transform: ({ 6917 content, 6918 anchor 6919 }) => { 6920 return Object(external_wp_blocks_["createBlock"])('core/quote', { 6921 value: `<p>${content}</p>`, 6922 anchor 6923 }); 6924 } 6925 }, { 6926 type: 'block', 6927 blocks: ['core/pullquote'], 6928 transform: ({ 6929 value, 6930 citation, 6931 anchor 6932 }) => Object(external_wp_blocks_["createBlock"])('core/quote', { 6933 value, 6934 citation, 6935 anchor 6936 }) 6937 }, { 6938 type: 'prefix', 6939 prefix: '>', 6940 transform: content => { 6941 return Object(external_wp_blocks_["createBlock"])('core/quote', { 6942 value: `<p>${content}</p>` 6943 }); 6944 } 6945 }, { 6946 type: 'raw', 6947 isMatch: node => { 6948 const isParagraphOrSingleCite = (() => { 6949 let hasCitation = false; 6950 return child => { 6951 // Child is a paragraph. 6952 if (child.nodeName === 'P') { 6953 return true; 6954 } // Child is a cite and no other cite child exists before it. 6955 6956 6957 if (!hasCitation && child.nodeName === 'CITE') { 6958 hasCitation = true; 6959 return true; 6960 } 6961 }; 6962 })(); 6963 6964 return node.nodeName === 'BLOCKQUOTE' && // The quote block can only handle multiline paragraph 6965 // content with an optional cite child. 6966 Array.from(node.childNodes).every(isParagraphOrSingleCite); 6967 }, 6968 schema: ({ 6969 phrasingContentSchema 6970 }) => ({ 6971 blockquote: { 6972 children: { 6973 p: { 6974 children: phrasingContentSchema 6975 }, 6976 cite: { 6977 children: phrasingContentSchema 6978 } 6979 } 6980 } 6981 }) 6982 }], 6983 to: [{ 6984 type: 'block', 6985 blocks: ['core/paragraph'], 6986 transform: ({ 6987 value, 6988 citation 6989 }) => { 6990 const paragraphs = []; 6991 6992 if (value && value !== '<p></p>') { 6993 paragraphs.push(...Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 6994 html: value, 6995 multilineTag: 'p' 6996 }), '\u2028').map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { 6997 content: Object(external_wp_richText_["toHTMLString"])({ 6998 value: piece 6999 }) 7000 }))); 7001 } 7002 7003 if (citation && citation !== '<p></p>') { 7004 paragraphs.push(Object(external_wp_blocks_["createBlock"])('core/paragraph', { 7005 content: citation 7006 })); 7007 } 7008 7009 if (paragraphs.length === 0) { 7010 return Object(external_wp_blocks_["createBlock"])('core/paragraph', { 7011 content: '' 7012 }); 7013 } 7014 7015 return paragraphs; 7016 } 7017 }, { 7018 type: 'block', 7019 blocks: ['core/heading'], 7020 transform: ({ 7021 value, 7022 citation, 7023 ...attrs 7024 }) => { 7025 // If there is no quote content, use the citation as the 7026 // content of the resulting heading. A nonexistent citation 7027 // will result in an empty heading. 7028 if (value === '<p></p>') { 7029 return Object(external_wp_blocks_["createBlock"])('core/heading', { 7030 content: citation 7031 }); 7032 } 7033 7034 const pieces = Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 7035 html: value, 7036 multilineTag: 'p' 7037 }), '\u2028'); 7038 const headingBlock = Object(external_wp_blocks_["createBlock"])('core/heading', { 7039 content: Object(external_wp_richText_["toHTMLString"])({ 7040 value: pieces[0] 7041 }) 7042 }); 7043 7044 if (!citation && pieces.length === 1) { 7045 return headingBlock; 7046 } 7047 7048 const quotePieces = pieces.slice(1); 7049 const quoteBlock = Object(external_wp_blocks_["createBlock"])('core/quote', { ...attrs, 7050 citation, 7051 value: Object(external_wp_richText_["toHTMLString"])({ 7052 value: quotePieces.length ? Object(external_wp_richText_["join"])(pieces.slice(1), '\u2028') : Object(external_wp_richText_["create"])(), 7053 multilineTag: 'p' 7054 }) 7055 }); 7056 return [headingBlock, quoteBlock]; 7057 } 7058 }, { 7059 type: 'block', 7060 blocks: ['core/pullquote'], 7061 transform: ({ 7062 value, 7063 citation, 7064 anchor 7065 }) => { 7066 return Object(external_wp_blocks_["createBlock"])('core/pullquote', { 7067 value, 7068 citation, 7069 anchor 7070 }); 7071 } 7072 }] 7073 }; 7074 /* harmony default export */ var quote_transforms = (quote_transforms_transforms); 7075 7076 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/quote/index.js 7077 /** 7078 * WordPress dependencies 7079 */ 7080 7081 7082 /** 7083 * Internal dependencies 7084 */ 7085 7086 7087 7088 const quote_metadata = { 7089 apiVersion: 2, 7090 name: "core/quote", 7091 title: "Quote", 7092 category: "text", 7093 description: "Give quoted text visual emphasis. \"In quoting others, we cite ourselves.\" \u2014 Julio Cort\xE1zar", 7094 keywords: ["blockquote", "cite"], 7095 textdomain: "default", 7096 attributes: { 7097 value: { 7098 type: "string", 7099 source: "html", 7100 selector: "blockquote", 7101 multiline: "p", 7102 "default": "", 7103 __experimentalRole: "content" 7104 }, 7105 citation: { 7106 type: "string", 7107 source: "html", 7108 selector: "cite", 7109 "default": "", 7110 __experimentalRole: "content" 7111 }, 7112 align: { 7113 type: "string" 7114 } 7115 }, 7116 supports: { 7117 anchor: true 7118 }, 7119 styles: [{ 7120 name: "default", 7121 label: "Default", 7122 isDefault: true 7123 }, { 7124 name: "large", 7125 label: "Large" 7126 }], 7127 editorStyle: "wp-block-quote-editor", 7128 style: "wp-block-quote" 7129 }; 7130 7131 7132 const { 7133 name: quote_name 7134 } = quote_metadata; 7135 7136 const quote_settings = { 7137 icon: library_quote, 7138 example: { 7139 attributes: { 7140 value: '<p>' + Object(external_wp_i18n_["__"])('In quoting others, we cite ourselves.') + '</p>', 7141 citation: 'Julio Cortázar', 7142 className: 'is-style-large' 7143 } 7144 }, 7145 transforms: quote_transforms, 7146 edit: QuoteEdit, 7147 save: quote_save_save, 7148 7149 merge(attributes, { 7150 value, 7151 citation 7152 }) { 7153 // Quote citations cannot be merged. Pick the second one unless it's 7154 // empty. 7155 if (!citation) { 7156 citation = attributes.citation; 7157 } 7158 7159 if (!value || value === '<p></p>') { 7160 return { ...attributes, 7161 citation 7162 }; 7163 } 7164 7165 return { ...attributes, 7166 value: attributes.value + value, 7167 citation 7168 }; 7169 }, 7170 7171 deprecated: quote_deprecated 7172 }; 7173 7174 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/gallery.js 7175 7176 7177 /** 7178 * WordPress dependencies 7179 */ 7180 7181 const gallery = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 7182 viewBox: "0 0 24 24", 7183 xmlns: "http://www.w3.org/2000/svg" 7184 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 7185 d: "M20.2 8v11c0 .7-.6 1.2-1.2 1.2H6v1.5h13c1.5 0 2.7-1.2 2.7-2.8V8h-1.5zM18 16.4V4.6c0-.9-.7-1.6-1.6-1.6H4.6C3.7 3 3 3.7 3 4.6v11.8c0 .9.7 1.6 1.6 1.6h11.8c.9 0 1.6-.7 1.6-1.6zM4.5 4.6c0-.1.1-.1.1-.1h11.8c.1 0 .1.1.1.1V12l-2.3-1.7c-.3-.2-.6-.2-.9 0l-2.9 2.1L8 11.3c-.2-.1-.5-.1-.7 0l-2.9 1.5V4.6zm0 11.8v-1.8l3.2-1.7 2.4 1.2c.2.1.5.1.8-.1l2.8-2 2.8 2v2.5c0 .1-.1.1-.1.1H4.6c0-.1-.1-.2-.1-.2z" 7186 })); 7187 /* harmony default export */ var library_gallery = (gallery); 7188 7189 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared.js 7190 /** 7191 * External dependencies 7192 */ 7193 7194 function defaultColumnsNumber(attributes) { 7195 return Math.min(3, attributes.images.length); 7196 } 7197 const shared_pickRelevantMediaFiles = (image, sizeSlug = 'large') => { 7198 const imageProps = Object(external_lodash_["pick"])(image, ['alt', 'id', 'link', 'caption']); 7199 imageProps.url = Object(external_lodash_["get"])(image, ['sizes', sizeSlug, 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url; 7200 const fullUrl = Object(external_lodash_["get"])(image, ['sizes', 'full', 'url']) || Object(external_lodash_["get"])(image, ['media_details', 'sizes', 'full', 'source_url']); 7201 7202 if (fullUrl) { 7203 imageProps.fullUrl = fullUrl; 7204 } 7205 7206 return imageProps; 7207 }; 7208 7209 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/deprecated.js 7210 7211 7212 /** 7213 * External dependencies 7214 */ 7215 7216 7217 /** 7218 * WordPress dependencies 7219 */ 7220 7221 7222 /** 7223 * Internal dependencies 7224 */ 7225 7226 7227 const gallery_deprecated_deprecated = [{ 7228 attributes: { 7229 images: { 7230 type: 'array', 7231 default: [], 7232 source: 'query', 7233 selector: '.blocks-gallery-item', 7234 query: { 7235 url: { 7236 type: 'string', 7237 source: 'attribute', 7238 selector: 'img', 7239 attribute: 'src' 7240 }, 7241 fullUrl: { 7242 type: 'string', 7243 source: 'attribute', 7244 selector: 'img', 7245 attribute: 'data-full-url' 7246 }, 7247 link: { 7248 type: 'string', 7249 source: 'attribute', 7250 selector: 'img', 7251 attribute: 'data-link' 7252 }, 7253 alt: { 7254 type: 'string', 7255 source: 'attribute', 7256 selector: 'img', 7257 attribute: 'alt', 7258 default: '' 7259 }, 7260 id: { 7261 type: 'string', 7262 source: 'attribute', 7263 selector: 'img', 7264 attribute: 'data-id' 7265 }, 7266 caption: { 7267 type: 'string', 7268 source: 'html', 7269 selector: '.blocks-gallery-item__caption' 7270 } 7271 } 7272 }, 7273 ids: { 7274 type: 'array', 7275 items: { 7276 type: 'number' 7277 }, 7278 default: [] 7279 }, 7280 columns: { 7281 type: 'number', 7282 minimum: 1, 7283 maximum: 8 7284 }, 7285 caption: { 7286 type: 'string', 7287 source: 'html', 7288 selector: '.blocks-gallery-caption' 7289 }, 7290 imageCrop: { 7291 type: 'boolean', 7292 default: true 7293 }, 7294 linkTo: { 7295 type: 'string', 7296 default: 'none' 7297 }, 7298 sizeSlug: { 7299 type: 'string', 7300 default: 'large' 7301 } 7302 }, 7303 supports: { 7304 align: true 7305 }, 7306 7307 isEligible({ 7308 linkTo 7309 }) { 7310 return !linkTo || linkTo === 'attachment' || linkTo === 'media'; 7311 }, 7312 7313 migrate(attributes) { 7314 let linkTo = attributes.linkTo; 7315 7316 if (!attributes.linkTo) { 7317 linkTo = 'none'; 7318 } else if (attributes.linkTo === 'attachment') { 7319 linkTo = 'post'; 7320 } else if (attributes.linkTo === 'media') { 7321 linkTo = 'file'; 7322 } 7323 7324 return { ...attributes, 7325 linkTo 7326 }; 7327 }, 7328 7329 save({ 7330 attributes 7331 }) { 7332 const { 7333 images, 7334 columns = defaultColumnsNumber(attributes), 7335 imageCrop, 7336 caption, 7337 linkTo 7338 } = attributes; 7339 return Object(external_wp_element_["createElement"])("figure", { 7340 className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` 7341 }, Object(external_wp_element_["createElement"])("ul", { 7342 className: "blocks-gallery-grid" 7343 }, images.map(image => { 7344 let href; 7345 7346 switch (linkTo) { 7347 case 'media': 7348 href = image.fullUrl || image.url; 7349 break; 7350 7351 case 'attachment': 7352 href = image.link; 7353 break; 7354 } 7355 7356 const img = Object(external_wp_element_["createElement"])("img", { 7357 src: image.url, 7358 alt: image.alt, 7359 "data-id": image.id, 7360 "data-full-url": image.fullUrl, 7361 "data-link": image.link, 7362 className: image.id ? `wp-image-${image.id}` : null 7363 }); 7364 return Object(external_wp_element_["createElement"])("li", { 7365 key: image.id || image.url, 7366 className: "blocks-gallery-item" 7367 }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { 7368 href: href 7369 }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7370 tagName: "figcaption", 7371 className: "blocks-gallery-item__caption", 7372 value: image.caption 7373 }))); 7374 })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7375 tagName: "figcaption", 7376 className: "blocks-gallery-caption", 7377 value: caption 7378 })); 7379 } 7380 7381 }, { 7382 attributes: { 7383 images: { 7384 type: 'array', 7385 default: [], 7386 source: 'query', 7387 selector: '.blocks-gallery-item', 7388 query: { 7389 url: { 7390 source: 'attribute', 7391 selector: 'img', 7392 attribute: 'src' 7393 }, 7394 fullUrl: { 7395 source: 'attribute', 7396 selector: 'img', 7397 attribute: 'data-full-url' 7398 }, 7399 link: { 7400 source: 'attribute', 7401 selector: 'img', 7402 attribute: 'data-link' 7403 }, 7404 alt: { 7405 source: 'attribute', 7406 selector: 'img', 7407 attribute: 'alt', 7408 default: '' 7409 }, 7410 id: { 7411 source: 'attribute', 7412 selector: 'img', 7413 attribute: 'data-id' 7414 }, 7415 caption: { 7416 type: 'string', 7417 source: 'html', 7418 selector: '.blocks-gallery-item__caption' 7419 } 7420 } 7421 }, 7422 ids: { 7423 type: 'array', 7424 default: [] 7425 }, 7426 columns: { 7427 type: 'number' 7428 }, 7429 caption: { 7430 type: 'string', 7431 source: 'html', 7432 selector: '.blocks-gallery-caption' 7433 }, 7434 imageCrop: { 7435 type: 'boolean', 7436 default: true 7437 }, 7438 linkTo: { 7439 type: 'string', 7440 default: 'none' 7441 } 7442 }, 7443 supports: { 7444 align: true 7445 }, 7446 7447 isEligible({ 7448 ids 7449 }) { 7450 return ids && ids.some(id => typeof id === 'string'); 7451 }, 7452 7453 migrate(attributes) { 7454 return { ...attributes, 7455 ids: Object(external_lodash_["map"])(attributes.ids, id => { 7456 const parsedId = parseInt(id, 10); 7457 return Number.isInteger(parsedId) ? parsedId : null; 7458 }) 7459 }; 7460 }, 7461 7462 save({ 7463 attributes 7464 }) { 7465 const { 7466 images, 7467 columns = defaultColumnsNumber(attributes), 7468 imageCrop, 7469 caption, 7470 linkTo 7471 } = attributes; 7472 return Object(external_wp_element_["createElement"])("figure", { 7473 className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` 7474 }, Object(external_wp_element_["createElement"])("ul", { 7475 className: "blocks-gallery-grid" 7476 }, images.map(image => { 7477 let href; 7478 7479 switch (linkTo) { 7480 case 'media': 7481 href = image.fullUrl || image.url; 7482 break; 7483 7484 case 'attachment': 7485 href = image.link; 7486 break; 7487 } 7488 7489 const img = Object(external_wp_element_["createElement"])("img", { 7490 src: image.url, 7491 alt: image.alt, 7492 "data-id": image.id, 7493 "data-full-url": image.fullUrl, 7494 "data-link": image.link, 7495 className: image.id ? `wp-image-${image.id}` : null 7496 }); 7497 return Object(external_wp_element_["createElement"])("li", { 7498 key: image.id || image.url, 7499 className: "blocks-gallery-item" 7500 }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { 7501 href: href 7502 }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7503 tagName: "figcaption", 7504 className: "blocks-gallery-item__caption", 7505 value: image.caption 7506 }))); 7507 })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7508 tagName: "figcaption", 7509 className: "blocks-gallery-caption", 7510 value: caption 7511 })); 7512 } 7513 7514 }, { 7515 attributes: { 7516 images: { 7517 type: 'array', 7518 default: [], 7519 source: 'query', 7520 selector: 'ul.wp-block-gallery .blocks-gallery-item', 7521 query: { 7522 url: { 7523 source: 'attribute', 7524 selector: 'img', 7525 attribute: 'src' 7526 }, 7527 fullUrl: { 7528 source: 'attribute', 7529 selector: 'img', 7530 attribute: 'data-full-url' 7531 }, 7532 alt: { 7533 source: 'attribute', 7534 selector: 'img', 7535 attribute: 'alt', 7536 default: '' 7537 }, 7538 id: { 7539 source: 'attribute', 7540 selector: 'img', 7541 attribute: 'data-id' 7542 }, 7543 link: { 7544 source: 'attribute', 7545 selector: 'img', 7546 attribute: 'data-link' 7547 }, 7548 caption: { 7549 type: 'array', 7550 source: 'children', 7551 selector: 'figcaption' 7552 } 7553 } 7554 }, 7555 ids: { 7556 type: 'array', 7557 default: [] 7558 }, 7559 columns: { 7560 type: 'number' 7561 }, 7562 imageCrop: { 7563 type: 'boolean', 7564 default: true 7565 }, 7566 linkTo: { 7567 type: 'string', 7568 default: 'none' 7569 } 7570 }, 7571 supports: { 7572 align: true 7573 }, 7574 7575 save({ 7576 attributes 7577 }) { 7578 const { 7579 images, 7580 columns = defaultColumnsNumber(attributes), 7581 imageCrop, 7582 linkTo 7583 } = attributes; 7584 return Object(external_wp_element_["createElement"])("ul", { 7585 className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` 7586 }, images.map(image => { 7587 let href; 7588 7589 switch (linkTo) { 7590 case 'media': 7591 href = image.fullUrl || image.url; 7592 break; 7593 7594 case 'attachment': 7595 href = image.link; 7596 break; 7597 } 7598 7599 const img = Object(external_wp_element_["createElement"])("img", { 7600 src: image.url, 7601 alt: image.alt, 7602 "data-id": image.id, 7603 "data-full-url": image.fullUrl, 7604 "data-link": image.link, 7605 className: image.id ? `wp-image-${image.id}` : null 7606 }); 7607 return Object(external_wp_element_["createElement"])("li", { 7608 key: image.id || image.url, 7609 className: "blocks-gallery-item" 7610 }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { 7611 href: href 7612 }, img) : img, image.caption && image.caption.length > 0 && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7613 tagName: "figcaption", 7614 value: image.caption 7615 }))); 7616 })); 7617 } 7618 7619 }, { 7620 attributes: { 7621 images: { 7622 type: 'array', 7623 default: [], 7624 source: 'query', 7625 selector: 'ul.wp-block-gallery .blocks-gallery-item', 7626 query: { 7627 url: { 7628 source: 'attribute', 7629 selector: 'img', 7630 attribute: 'src' 7631 }, 7632 alt: { 7633 source: 'attribute', 7634 selector: 'img', 7635 attribute: 'alt', 7636 default: '' 7637 }, 7638 id: { 7639 source: 'attribute', 7640 selector: 'img', 7641 attribute: 'data-id' 7642 }, 7643 link: { 7644 source: 'attribute', 7645 selector: 'img', 7646 attribute: 'data-link' 7647 }, 7648 caption: { 7649 type: 'array', 7650 source: 'children', 7651 selector: 'figcaption' 7652 } 7653 } 7654 }, 7655 columns: { 7656 type: 'number' 7657 }, 7658 imageCrop: { 7659 type: 'boolean', 7660 default: true 7661 }, 7662 linkTo: { 7663 type: 'string', 7664 default: 'none' 7665 } 7666 }, 7667 7668 isEligible({ 7669 images, 7670 ids 7671 }) { 7672 return images && images.length > 0 && (!ids && images || ids && images && ids.length !== images.length || Object(external_lodash_["some"])(images, (id, index) => { 7673 if (!id && ids[index] !== null) { 7674 return true; 7675 } 7676 7677 return parseInt(id, 10) !== ids[index]; 7678 })); 7679 }, 7680 7681 migrate(attributes) { 7682 return { ...attributes, 7683 ids: Object(external_lodash_["map"])(attributes.images, ({ 7684 id 7685 }) => { 7686 if (!id) { 7687 return null; 7688 } 7689 7690 return parseInt(id, 10); 7691 }) 7692 }; 7693 }, 7694 7695 supports: { 7696 align: true 7697 }, 7698 7699 save({ 7700 attributes 7701 }) { 7702 const { 7703 images, 7704 columns = defaultColumnsNumber(attributes), 7705 imageCrop, 7706 linkTo 7707 } = attributes; 7708 return Object(external_wp_element_["createElement"])("ul", { 7709 className: `columns-${columns} ${imageCrop ? 'is-cropped' : ''}` 7710 }, images.map(image => { 7711 let href; 7712 7713 switch (linkTo) { 7714 case 'media': 7715 href = image.url; 7716 break; 7717 7718 case 'attachment': 7719 href = image.link; 7720 break; 7721 } 7722 7723 const img = Object(external_wp_element_["createElement"])("img", { 7724 src: image.url, 7725 alt: image.alt, 7726 "data-id": image.id, 7727 "data-link": image.link, 7728 className: image.id ? `wp-image-${image.id}` : null 7729 }); 7730 return Object(external_wp_element_["createElement"])("li", { 7731 key: image.id || image.url, 7732 className: "blocks-gallery-item" 7733 }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { 7734 href: href 7735 }, img) : img, image.caption && image.caption.length > 0 && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 7736 tagName: "figcaption", 7737 value: image.caption 7738 }))); 7739 })); 7740 } 7741 7742 }, { 7743 attributes: { 7744 images: { 7745 type: 'array', 7746 default: [], 7747 source: 'query', 7748 selector: 'div.wp-block-gallery figure.blocks-gallery-image img', 7749 query: { 7750 url: { 7751 source: 'attribute', 7752 attribute: 'src' 7753 }, 7754 alt: { 7755 source: 'attribute', 7756 attribute: 'alt', 7757 default: '' 7758 }, 7759 id: { 7760 source: 'attribute', 7761 attribute: 'data-id' 7762 } 7763 } 7764 }, 7765 columns: { 7766 type: 'number' 7767 }, 7768 imageCrop: { 7769 type: 'boolean', 7770 default: true 7771 }, 7772 linkTo: { 7773 type: 'string', 7774 default: 'none' 7775 }, 7776 align: { 7777 type: 'string', 7778 default: 'none' 7779 } 7780 }, 7781 supports: { 7782 align: true 7783 }, 7784 7785 save({ 7786 attributes 7787 }) { 7788 const { 7789 images, 7790 columns = defaultColumnsNumber(attributes), 7791 align, 7792 imageCrop, 7793 linkTo 7794 } = attributes; 7795 const className = classnames_default()(`columns-${columns}`, { 7796 alignnone: align === 'none', 7797 'is-cropped': imageCrop 7798 }); 7799 return Object(external_wp_element_["createElement"])("div", { 7800 className: className 7801 }, images.map(image => { 7802 let href; 7803 7804 switch (linkTo) { 7805 case 'media': 7806 href = image.url; 7807 break; 7808 7809 case 'attachment': 7810 href = image.link; 7811 break; 7812 } 7813 7814 const img = Object(external_wp_element_["createElement"])("img", { 7815 src: image.url, 7816 alt: image.alt, 7817 "data-id": image.id 7818 }); 7819 return Object(external_wp_element_["createElement"])("figure", { 7820 key: image.id || image.url, 7821 className: "blocks-gallery-image" 7822 }, href ? Object(external_wp_element_["createElement"])("a", { 7823 href: href 7824 }, img) : img); 7825 })); 7826 } 7827 7828 }]; 7829 /* harmony default export */ var gallery_deprecated = (gallery_deprecated_deprecated); 7830 7831 // EXTERNAL MODULE: external ["wp","viewport"] 7832 var external_wp_viewport_ = __webpack_require__("KEfo"); 7833 7834 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/shared-icon.js 7835 7836 7837 /** 7838 * WordPress dependencies 7839 */ 7840 7841 7842 const sharedIcon = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 7843 icon: library_gallery 7844 }); 7845 7846 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-left.js 7847 var chevron_left = __webpack_require__("2gm7"); 7848 7849 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/chevron-right.js 7850 var chevron_right = __webpack_require__("1iEr"); 7851 7852 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/edit.js + 1 modules 7853 var library_edit = __webpack_require__("B9Az"); 7854 7855 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/close-small.js 7856 var close_small = __webpack_require__("bWcr"); 7857 7858 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/constants.js 7859 const constants_LINK_DESTINATION_NONE = 'none'; 7860 const constants_LINK_DESTINATION_MEDIA = 'file'; 7861 const constants_LINK_DESTINATION_ATTACHMENT = 'post'; 7862 7863 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery-image.js 7864 7865 7866 /** 7867 * External dependencies 7868 */ 7869 7870 7871 /** 7872 * WordPress dependencies 7873 */ 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 /** 7886 * Internal dependencies 7887 */ 7888 7889 7890 7891 7892 const gallery_image_isTemporaryImage = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); 7893 7894 class gallery_image_GalleryImage extends external_wp_element_["Component"] { 7895 constructor() { 7896 super(...arguments); 7897 this.onSelectImage = this.onSelectImage.bind(this); 7898 this.onRemoveImage = this.onRemoveImage.bind(this); 7899 this.bindContainer = this.bindContainer.bind(this); 7900 this.onEdit = this.onEdit.bind(this); 7901 this.onSelectImageFromLibrary = this.onSelectImageFromLibrary.bind(this); 7902 this.onSelectCustomURL = this.onSelectCustomURL.bind(this); 7903 this.state = { 7904 isEditing: false 7905 }; 7906 } 7907 7908 bindContainer(ref) { 7909 this.container = ref; 7910 } 7911 7912 onSelectImage() { 7913 if (!this.props.isSelected) { 7914 this.props.onSelect(); 7915 } 7916 } 7917 7918 onRemoveImage(event) { 7919 if (this.container === this.container.ownerDocument.activeElement && this.props.isSelected && [external_wp_keycodes_["BACKSPACE"], external_wp_keycodes_["DELETE"]].indexOf(event.keyCode) !== -1) { 7920 event.stopPropagation(); 7921 event.preventDefault(); 7922 this.props.onRemove(); 7923 } 7924 } 7925 7926 onEdit() { 7927 this.setState({ 7928 isEditing: true 7929 }); 7930 } 7931 7932 componentDidUpdate() { 7933 const { 7934 image, 7935 url, 7936 __unstableMarkNextChangeAsNotPersistent 7937 } = this.props; 7938 7939 if (image && !url) { 7940 __unstableMarkNextChangeAsNotPersistent(); 7941 7942 this.props.setAttributes({ 7943 url: image.source_url, 7944 alt: image.alt_text 7945 }); 7946 } 7947 } 7948 7949 deselectOnBlur() { 7950 this.props.onDeselect(); 7951 } 7952 7953 onSelectImageFromLibrary(media) { 7954 const { 7955 setAttributes, 7956 id, 7957 url, 7958 alt, 7959 caption, 7960 sizeSlug 7961 } = this.props; 7962 7963 if (!media || !media.url) { 7964 return; 7965 } 7966 7967 let mediaAttributes = shared_pickRelevantMediaFiles(media, sizeSlug); // If the current image is temporary but an alt text was meanwhile 7968 // written by the user, make sure the text is not overwritten. 7969 7970 if (gallery_image_isTemporaryImage(id, url)) { 7971 if (alt) { 7972 mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['alt']); 7973 } 7974 } // If a caption text was meanwhile written by the user, 7975 // make sure the text is not overwritten by empty captions. 7976 7977 7978 if (caption && !Object(external_lodash_["get"])(mediaAttributes, ['caption'])) { 7979 mediaAttributes = Object(external_lodash_["omit"])(mediaAttributes, ['caption']); 7980 } 7981 7982 setAttributes(mediaAttributes); 7983 this.setState({ 7984 isEditing: false 7985 }); 7986 } 7987 7988 onSelectCustomURL(newURL) { 7989 const { 7990 setAttributes, 7991 url 7992 } = this.props; 7993 7994 if (newURL !== url) { 7995 setAttributes({ 7996 url: newURL, 7997 id: undefined 7998 }); 7999 this.setState({ 8000 isEditing: false 8001 }); 8002 } 8003 } 8004 8005 render() { 8006 const { 8007 url, 8008 alt, 8009 id, 8010 linkTo, 8011 link, 8012 isFirstItem, 8013 isLastItem, 8014 isSelected, 8015 caption, 8016 onRemove, 8017 onMoveForward, 8018 onMoveBackward, 8019 setAttributes, 8020 'aria-label': ariaLabel 8021 } = this.props; 8022 const { 8023 isEditing 8024 } = this.state; 8025 let href; 8026 8027 switch (linkTo) { 8028 case constants_LINK_DESTINATION_MEDIA: 8029 href = url; 8030 break; 8031 8032 case constants_LINK_DESTINATION_ATTACHMENT: 8033 href = link; 8034 break; 8035 } 8036 8037 const img = // Disable reason: Image itself is not meant to be interactive, but should 8038 // direct image selection and unfocus caption fields. 8039 8040 /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ 8041 Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("img", { 8042 src: url, 8043 alt: alt, 8044 "data-id": id, 8045 onKeyDown: this.onRemoveImage, 8046 tabIndex: "0", 8047 "aria-label": ariaLabel, 8048 ref: this.bindContainer 8049 }), Object(external_wp_blob_["isBlobURL"])(url) && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)) 8050 /* eslint-enable jsx-a11y/no-noninteractive-element-interactions */ 8051 ; 8052 const className = classnames_default()({ 8053 'is-selected': isSelected, 8054 'is-transient': Object(external_wp_blob_["isBlobURL"])(url) 8055 }); 8056 return (// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions 8057 Object(external_wp_element_["createElement"])("figure", { 8058 className: className, 8059 onClick: this.onSelectImage, 8060 onFocus: this.onSelectImage 8061 }, !isEditing && (href ? Object(external_wp_element_["createElement"])("a", { 8062 href: href 8063 }, img) : img), isEditing && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 8064 labels: { 8065 title: Object(external_wp_i18n_["__"])('Edit gallery image') 8066 }, 8067 icon: library_image, 8068 onSelect: this.onSelectImageFromLibrary, 8069 onSelectURL: this.onSelectCustomURL, 8070 accept: "image/*", 8071 allowedTypes: ['image'], 8072 value: { 8073 id, 8074 src: url 8075 } 8076 }), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { 8077 className: "block-library-gallery-item__inline-menu is-left" 8078 }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 8079 icon: chevron_left["a" /* default */], 8080 onClick: isFirstItem ? undefined : onMoveBackward, 8081 label: Object(external_wp_i18n_["__"])('Move image backward'), 8082 "aria-disabled": isFirstItem, 8083 disabled: !isSelected 8084 }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 8085 icon: chevron_right["a" /* default */], 8086 onClick: isLastItem ? undefined : onMoveForward, 8087 label: Object(external_wp_i18n_["__"])('Move image forward'), 8088 "aria-disabled": isLastItem, 8089 disabled: !isSelected 8090 })), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { 8091 className: "block-library-gallery-item__inline-menu is-right" 8092 }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 8093 icon: library_edit["a" /* default */], 8094 onClick: this.onEdit, 8095 label: Object(external_wp_i18n_["__"])('Replace image'), 8096 disabled: !isSelected 8097 }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 8098 icon: close_small["a" /* default */], 8099 onClick: onRemove, 8100 label: Object(external_wp_i18n_["__"])('Remove image'), 8101 disabled: !isSelected 8102 })), !isEditing && (isSelected || caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 8103 tagName: "figcaption", 8104 "aria-label": Object(external_wp_i18n_["__"])('Image caption text'), 8105 placeholder: isSelected ? Object(external_wp_i18n_["__"])('Add caption') : null, 8106 value: caption, 8107 onChange: newCaption => setAttributes({ 8108 caption: newCaption 8109 }), 8110 inlineToolbar: true 8111 })) 8112 ); 8113 } 8114 8115 } 8116 8117 /* harmony default export */ var gallery_image = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withSelect"])((select, ownProps) => { 8118 const { 8119 getMedia 8120 } = select(external_wp_coreData_["store"]); 8121 const { 8122 id 8123 } = ownProps; 8124 return { 8125 image: id ? getMedia(parseInt(id, 10)) : null 8126 }; 8127 }), Object(external_wp_data_["withDispatch"])(dispatch => { 8128 const { 8129 __unstableMarkNextChangeAsNotPersistent 8130 } = dispatch(external_wp_blockEditor_["store"]); 8131 return { 8132 __unstableMarkNextChangeAsNotPersistent 8133 }; 8134 })])(gallery_image_GalleryImage)); 8135 8136 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/gallery.js 8137 8138 8139 8140 /** 8141 * External dependencies 8142 */ 8143 8144 /** 8145 * WordPress dependencies 8146 */ 8147 8148 8149 8150 8151 8152 /** 8153 * Internal dependencies 8154 */ 8155 8156 8157 8158 const Gallery = props => { 8159 const { 8160 attributes, 8161 isSelected, 8162 setAttributes, 8163 selectedImage, 8164 mediaPlaceholder, 8165 onMoveBackward, 8166 onMoveForward, 8167 onRemoveImage, 8168 onSelectImage, 8169 onDeselectImage, 8170 onSetImageAttributes, 8171 insertBlocksAfter, 8172 blockProps 8173 } = props; 8174 const { 8175 align, 8176 columns = defaultColumnsNumber(attributes), 8177 caption, 8178 imageCrop, 8179 images 8180 } = attributes; 8181 return Object(external_wp_element_["createElement"])("figure", Object(esm_extends["a" /* default */])({}, blockProps, { 8182 className: classnames_default()(blockProps.className, { 8183 [`align${align}`]: align, 8184 [`columns-${columns}`]: columns, 8185 'is-cropped': imageCrop 8186 }) 8187 }), Object(external_wp_element_["createElement"])("ul", { 8188 className: "blocks-gallery-grid" 8189 }, images.map((img, index) => { 8190 const ariaLabel = Object(external_wp_i18n_["sprintf"])( 8191 /* translators: 1: the order number of the image. 2: the total number of images. */ 8192 Object(external_wp_i18n_["__"])('image %1$d of %2$d in gallery'), index + 1, images.length); 8193 return Object(external_wp_element_["createElement"])("li", { 8194 className: "blocks-gallery-item", 8195 key: img.id ? `${img.id}-${index}` : img.url 8196 }, Object(external_wp_element_["createElement"])(gallery_image, { 8197 url: img.url, 8198 alt: img.alt, 8199 id: img.id, 8200 isFirstItem: index === 0, 8201 isLastItem: index + 1 === images.length, 8202 isSelected: isSelected && selectedImage === index, 8203 onMoveBackward: onMoveBackward(index), 8204 onMoveForward: onMoveForward(index), 8205 onRemove: onRemoveImage(index), 8206 onSelect: onSelectImage(index), 8207 onDeselect: onDeselectImage(index), 8208 setAttributes: attrs => onSetImageAttributes(index, attrs), 8209 caption: img.caption, 8210 "aria-label": ariaLabel, 8211 sizeSlug: attributes.sizeSlug 8212 })); 8213 })), mediaPlaceholder, Object(external_wp_element_["createElement"])(RichTextVisibilityHelper, { 8214 isHidden: !isSelected && external_wp_blockEditor_["RichText"].isEmpty(caption), 8215 tagName: "figcaption", 8216 className: "blocks-gallery-caption", 8217 "aria-label": Object(external_wp_i18n_["__"])('Gallery caption text'), 8218 placeholder: Object(external_wp_i18n_["__"])('Write gallery caption…'), 8219 value: caption, 8220 onChange: value => setAttributes({ 8221 caption: value 8222 }), 8223 inlineToolbar: true, 8224 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 8225 })); 8226 }; 8227 8228 function RichTextVisibilityHelper({ 8229 isHidden, 8230 ...richTextProps 8231 }) { 8232 return isHidden ? Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], Object(esm_extends["a" /* default */])({ 8233 as: external_wp_blockEditor_["RichText"] 8234 }, richTextProps)) : Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], richTextProps); 8235 } 8236 8237 /* harmony default export */ var gallery_gallery = (Gallery); 8238 8239 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/edit.js 8240 8241 8242 8243 /** 8244 * External dependencies 8245 */ 8246 8247 /** 8248 * WordPress dependencies 8249 */ 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 /** 8262 * Internal dependencies 8263 */ 8264 8265 8266 8267 8268 8269 const MAX_COLUMNS = 8; 8270 const linkOptions = [{ 8271 value: constants_LINK_DESTINATION_ATTACHMENT, 8272 label: Object(external_wp_i18n_["__"])('Attachment Page') 8273 }, { 8274 value: constants_LINK_DESTINATION_MEDIA, 8275 label: Object(external_wp_i18n_["__"])('Media File') 8276 }, { 8277 value: constants_LINK_DESTINATION_NONE, 8278 label: Object(external_wp_i18n_["__"])('None') 8279 }]; 8280 const edit_ALLOWED_MEDIA_TYPES = ['image']; 8281 const PLACEHOLDER_TEXT = external_wp_element_["Platform"].select({ 8282 web: Object(external_wp_i18n_["__"])('Drag images, upload new ones or select files from your library.'), 8283 native: Object(external_wp_i18n_["__"])('ADD MEDIA') 8284 }); 8285 const MOBILE_CONTROL_PROPS_RANGE_CONTROL = external_wp_element_["Platform"].select({ 8286 web: {}, 8287 native: { 8288 type: 'stepper' 8289 } 8290 }); 8291 8292 function GalleryEdit(props) { 8293 const { 8294 attributes, 8295 clientId, 8296 isSelected, 8297 noticeUI, 8298 noticeOperations, 8299 onFocus 8300 } = props; 8301 const { 8302 columns = defaultColumnsNumber(attributes), 8303 imageCrop, 8304 images, 8305 linkTo, 8306 sizeSlug 8307 } = attributes; 8308 const [selectedImage, setSelectedImage] = Object(external_wp_element_["useState"])(); 8309 const [attachmentCaptions, setAttachmentCaptions] = Object(external_wp_element_["useState"])(); 8310 const { 8311 __unstableMarkNextChangeAsNotPersistent 8312 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 8313 const { 8314 imageSizes, 8315 mediaUpload, 8316 getMedia, 8317 wasBlockJustInserted 8318 } = Object(external_wp_data_["useSelect"])(select => { 8319 const settings = select(external_wp_blockEditor_["store"]).getSettings(); 8320 return { 8321 imageSizes: settings.imageSizes, 8322 mediaUpload: settings.mediaUpload, 8323 getMedia: select(external_wp_coreData_["store"]).getMedia, 8324 wasBlockJustInserted: select(external_wp_blockEditor_["store"]).wasBlockJustInserted(clientId, 'inserter_menu') 8325 }; 8326 }); 8327 const resizedImages = Object(external_wp_element_["useMemo"])(() => { 8328 if (isSelected) { 8329 return Object(external_lodash_["reduce"])(attributes.ids, (currentResizedImages, id) => { 8330 if (!id) { 8331 return currentResizedImages; 8332 } 8333 8334 const image = getMedia(id); 8335 const sizes = Object(external_lodash_["reduce"])(imageSizes, (currentSizes, size) => { 8336 const defaultUrl = Object(external_lodash_["get"])(image, ['sizes', size.slug, 'url']); 8337 const mediaDetailsUrl = Object(external_lodash_["get"])(image, ['media_details', 'sizes', size.slug, 'source_url']); 8338 return { ...currentSizes, 8339 [size.slug]: defaultUrl || mediaDetailsUrl 8340 }; 8341 }, {}); 8342 return { ...currentResizedImages, 8343 [parseInt(id, 10)]: sizes 8344 }; 8345 }, {}); 8346 } 8347 8348 return {}; 8349 }, [isSelected, attributes.ids, imageSizes]); 8350 8351 function onFocusGalleryCaption() { 8352 setSelectedImage(); 8353 } 8354 8355 function setAttributes(newAttrs) { 8356 if (newAttrs.ids) { 8357 throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes'); 8358 } 8359 8360 if (newAttrs.images) { 8361 newAttrs = { ...newAttrs, 8362 // Unlike images[ n ].id which is a string, always ensure the 8363 // ids array contains numbers as per its attribute type. 8364 ids: Object(external_lodash_["map"])(newAttrs.images, ({ 8365 id 8366 }) => parseInt(id, 10)) 8367 }; 8368 } 8369 8370 props.setAttributes(newAttrs); 8371 } 8372 8373 function onSelectImage(index) { 8374 return () => { 8375 setSelectedImage(index); 8376 }; 8377 } 8378 8379 function onDeselectImage() { 8380 return () => { 8381 setSelectedImage(); 8382 }; 8383 } 8384 8385 function onMove(oldIndex, newIndex) { 8386 const newImages = [...images]; 8387 newImages.splice(newIndex, 1, images[oldIndex]); 8388 newImages.splice(oldIndex, 1, images[newIndex]); 8389 setSelectedImage(newIndex); 8390 setAttributes({ 8391 images: newImages 8392 }); 8393 } 8394 8395 function onMoveForward(oldIndex) { 8396 return () => { 8397 if (oldIndex === images.length - 1) { 8398 return; 8399 } 8400 8401 onMove(oldIndex, oldIndex + 1); 8402 }; 8403 } 8404 8405 function onMoveBackward(oldIndex) { 8406 return () => { 8407 if (oldIndex === 0) { 8408 return; 8409 } 8410 8411 onMove(oldIndex, oldIndex - 1); 8412 }; 8413 } 8414 8415 function onRemoveImage(index) { 8416 return () => { 8417 const newImages = Object(external_lodash_["filter"])(images, (img, i) => index !== i); 8418 setSelectedImage(); 8419 setAttributes({ 8420 images: newImages, 8421 columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns 8422 }); 8423 }; 8424 } 8425 8426 function selectCaption(newImage) { 8427 // The image id in both the images and attachmentCaptions arrays is a 8428 // string, so ensure comparison works correctly by converting the 8429 // newImage.id to a string. 8430 const newImageId = Object(external_lodash_["toString"])(newImage.id); 8431 const currentImage = Object(external_lodash_["find"])(images, { 8432 id: newImageId 8433 }); 8434 const currentImageCaption = currentImage ? currentImage.caption : newImage.caption; 8435 8436 if (!attachmentCaptions) { 8437 return currentImageCaption; 8438 } 8439 8440 const attachment = Object(external_lodash_["find"])(attachmentCaptions, { 8441 id: newImageId 8442 }); // if the attachment caption is updated 8443 8444 if (attachment && attachment.caption !== newImage.caption) { 8445 return newImage.caption; 8446 } 8447 8448 return currentImageCaption; 8449 } 8450 8451 function onSelectImages(newImages) { 8452 setAttachmentCaptions(newImages.map(newImage => ({ 8453 // Store the attachmentCaption id as a string for consistency 8454 // with the type of the id in the images attribute. 8455 id: Object(external_lodash_["toString"])(newImage.id), 8456 caption: newImage.caption 8457 }))); 8458 setAttributes({ 8459 images: newImages.map(newImage => ({ ...shared_pickRelevantMediaFiles(newImage, sizeSlug), 8460 caption: selectCaption(newImage, images, attachmentCaptions), 8461 // The id value is stored in a data attribute, so when the 8462 // block is parsed it's converted to a string. Converting 8463 // to a string here ensures it's type is consistent. 8464 id: Object(external_lodash_["toString"])(newImage.id) 8465 })), 8466 columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns 8467 }); 8468 } 8469 8470 function onUploadError(message) { 8471 noticeOperations.removeAllNotices(); 8472 noticeOperations.createErrorNotice(message); 8473 } 8474 8475 function setLinkTo(value) { 8476 setAttributes({ 8477 linkTo: value 8478 }); 8479 } 8480 8481 function setColumnsNumber(value) { 8482 setAttributes({ 8483 columns: value 8484 }); 8485 } 8486 8487 function toggleImageCrop() { 8488 setAttributes({ 8489 imageCrop: !imageCrop 8490 }); 8491 } 8492 8493 function getImageCropHelp(checked) { 8494 return checked ? Object(external_wp_i18n_["__"])('Thumbnails are cropped to align.') : Object(external_wp_i18n_["__"])('Thumbnails are not cropped.'); 8495 } 8496 8497 function setImageAttributes(index, newAttributes) { 8498 if (!images[index]) { 8499 return; 8500 } 8501 8502 setAttributes({ 8503 images: [...images.slice(0, index), { ...images[index], 8504 ...newAttributes 8505 }, ...images.slice(index + 1)] 8506 }); 8507 } 8508 8509 function getImagesSizeOptions() { 8510 return Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ 8511 slug 8512 }) => Object(external_lodash_["some"])(resizedImages, sizes => sizes[slug])), ({ 8513 name, 8514 slug 8515 }) => ({ 8516 value: slug, 8517 label: name 8518 })); 8519 } 8520 8521 function updateImagesSize(newSizeSlug) { 8522 const updatedImages = Object(external_lodash_["map"])(images, image => { 8523 if (!image.id) { 8524 return image; 8525 } 8526 8527 const url = Object(external_lodash_["get"])(resizedImages, [parseInt(image.id, 10), newSizeSlug]); 8528 return { ...image, 8529 ...(url && { 8530 url 8531 }) 8532 }; 8533 }); 8534 setAttributes({ 8535 images: updatedImages, 8536 sizeSlug: newSizeSlug 8537 }); 8538 } 8539 8540 Object(external_wp_element_["useEffect"])(() => { 8541 if (external_wp_element_["Platform"].OS === 'web' && images && images.length > 0 && Object(external_lodash_["every"])(images, ({ 8542 url 8543 }) => Object(external_wp_blob_["isBlobURL"])(url))) { 8544 const filesList = Object(external_lodash_["map"])(images, ({ 8545 url 8546 }) => Object(external_wp_blob_["getBlobByURL"])(url)); 8547 Object(external_lodash_["forEach"])(images, ({ 8548 url 8549 }) => Object(external_wp_blob_["revokeBlobURL"])(url)); 8550 mediaUpload({ 8551 filesList, 8552 onFileChange: onSelectImages, 8553 allowedTypes: ['image'] 8554 }); 8555 } 8556 }, []); 8557 Object(external_wp_element_["useEffect"])(() => { 8558 // Deselect images when deselecting the block 8559 if (!isSelected) { 8560 setSelectedImage(); 8561 } 8562 }, [isSelected]); 8563 Object(external_wp_element_["useEffect"])(() => { 8564 // linkTo attribute must be saved so blocks don't break when changing 8565 // image_default_link_type in options.php 8566 if (!linkTo) { 8567 var _window, _window$wp, _window$wp$media, _window$wp$media$view, _window$wp$media$view2, _window$wp$media$view3; 8568 8569 __unstableMarkNextChangeAsNotPersistent(); 8570 8571 setAttributes({ 8572 linkTo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$wp = _window.wp) === null || _window$wp === void 0 ? void 0 : (_window$wp$media = _window$wp.media) === null || _window$wp$media === void 0 ? void 0 : (_window$wp$media$view = _window$wp$media.view) === null || _window$wp$media$view === void 0 ? void 0 : (_window$wp$media$view2 = _window$wp$media$view.settings) === null || _window$wp$media$view2 === void 0 ? void 0 : (_window$wp$media$view3 = _window$wp$media$view2.defaultProps) === null || _window$wp$media$view3 === void 0 ? void 0 : _window$wp$media$view3.link) || constants_LINK_DESTINATION_NONE 8573 }); 8574 } 8575 }, [linkTo]); 8576 const hasImages = !!images.length; 8577 const hasImageIds = hasImages && images.some(image => !!image.id); 8578 const mediaPlaceholder = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 8579 addToGallery: hasImageIds, 8580 isAppender: hasImages, 8581 disableMediaButtons: hasImages && !isSelected, 8582 icon: !hasImages && sharedIcon, 8583 labels: { 8584 title: !hasImages && Object(external_wp_i18n_["__"])('Gallery'), 8585 instructions: !hasImages && PLACEHOLDER_TEXT 8586 }, 8587 onSelect: onSelectImages, 8588 accept: "image/*", 8589 allowedTypes: edit_ALLOWED_MEDIA_TYPES, 8590 multiple: true, 8591 value: hasImageIds ? images : {}, 8592 onError: onUploadError, 8593 notices: hasImages ? undefined : noticeUI, 8594 onFocus: onFocus, 8595 autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted 8596 }); 8597 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 8598 8599 if (!hasImages) { 8600 return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, mediaPlaceholder); 8601 } 8602 8603 const imageSizeOptions = getImagesSizeOptions(); 8604 const shouldShowSizeOptions = hasImages && !Object(external_lodash_["isEmpty"])(imageSizeOptions); 8605 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 8606 title: Object(external_wp_i18n_["__"])('Gallery settings') 8607 }, images.length > 1 && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], Object(esm_extends["a" /* default */])({ 8608 label: Object(external_wp_i18n_["__"])('Columns'), 8609 value: columns, 8610 onChange: setColumnsNumber, 8611 min: 1, 8612 max: Math.min(MAX_COLUMNS, images.length) 8613 }, MOBILE_CONTROL_PROPS_RANGE_CONTROL, { 8614 required: true 8615 })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 8616 label: Object(external_wp_i18n_["__"])('Crop images'), 8617 checked: !!imageCrop, 8618 onChange: toggleImageCrop, 8619 help: getImageCropHelp 8620 }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 8621 label: Object(external_wp_i18n_["__"])('Link to'), 8622 value: linkTo, 8623 onChange: setLinkTo, 8624 options: linkOptions, 8625 hideCancelButton: true 8626 }), shouldShowSizeOptions && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 8627 label: Object(external_wp_i18n_["__"])('Image size'), 8628 value: sizeSlug, 8629 options: imageSizeOptions, 8630 onChange: updateImagesSize, 8631 hideCancelButton: true 8632 }))), noticeUI, Object(external_wp_element_["createElement"])(gallery_gallery, Object(esm_extends["a" /* default */])({}, props, { 8633 selectedImage: selectedImage, 8634 mediaPlaceholder: mediaPlaceholder, 8635 onMoveBackward: onMoveBackward, 8636 onMoveForward: onMoveForward, 8637 onRemoveImage: onRemoveImage, 8638 onSelectImage: onSelectImage, 8639 onDeselectImage: onDeselectImage, 8640 onSetImageAttributes: setImageAttributes, 8641 blockProps: blockProps // This prop is used by gallery.native.js. 8642 , 8643 onFocusGalleryCaption: onFocusGalleryCaption 8644 }))); 8645 } 8646 8647 /* harmony default export */ var gallery_edit = (Object(external_wp_compose_["compose"])([external_wp_components_["withNotices"], Object(external_wp_viewport_["withViewportMatch"])({ 8648 isNarrow: '< small' 8649 })])(GalleryEdit)); 8650 8651 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/save.js 8652 8653 8654 /** 8655 * WordPress dependencies 8656 */ 8657 8658 /** 8659 * Internal dependencies 8660 */ 8661 8662 8663 8664 function gallery_save_save({ 8665 attributes 8666 }) { 8667 const { 8668 images, 8669 columns = defaultColumnsNumber(attributes), 8670 imageCrop, 8671 caption, 8672 linkTo 8673 } = attributes; 8674 const className = `columns-${columns} ${imageCrop ? 'is-cropped' : ''}`; 8675 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ 8676 className 8677 }), Object(external_wp_element_["createElement"])("ul", { 8678 className: "blocks-gallery-grid" 8679 }, images.map(image => { 8680 let href; 8681 8682 switch (linkTo) { 8683 case constants_LINK_DESTINATION_MEDIA: 8684 href = image.fullUrl || image.url; 8685 break; 8686 8687 case constants_LINK_DESTINATION_ATTACHMENT: 8688 href = image.link; 8689 break; 8690 } 8691 8692 const img = Object(external_wp_element_["createElement"])("img", { 8693 src: image.url, 8694 alt: image.alt, 8695 "data-id": image.id, 8696 "data-full-url": image.fullUrl, 8697 "data-link": image.link, 8698 className: image.id ? `wp-image-${image.id}` : null 8699 }); 8700 return Object(external_wp_element_["createElement"])("li", { 8701 key: image.id || image.url, 8702 className: "blocks-gallery-item" 8703 }, Object(external_wp_element_["createElement"])("figure", null, href ? Object(external_wp_element_["createElement"])("a", { 8704 href: href 8705 }, img) : img, !external_wp_blockEditor_["RichText"].isEmpty(image.caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 8706 tagName: "figcaption", 8707 className: "blocks-gallery-item__caption", 8708 value: image.caption 8709 }))); 8710 })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 8711 tagName: "figcaption", 8712 className: "blocks-gallery-caption", 8713 value: caption 8714 })); 8715 } 8716 8717 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/transforms.js 8718 /** 8719 * External dependencies 8720 */ 8721 8722 /** 8723 * WordPress dependencies 8724 */ 8725 8726 8727 8728 /** 8729 * Internal dependencies 8730 */ 8731 8732 8733 8734 8735 const parseShortcodeIds = ids => { 8736 if (!ids) { 8737 return []; 8738 } 8739 8740 return ids.split(',').map(id => parseInt(id, 10)); 8741 }; 8742 8743 const gallery_transforms_transforms = { 8744 from: [{ 8745 type: 'block', 8746 isMultiBlock: true, 8747 blocks: ['core/image'], 8748 transform: attributes => { 8749 // Init the align and size from the first item which may be either the placeholder or an image. 8750 let { 8751 align, 8752 sizeSlug 8753 } = attributes[0]; // Loop through all the images and check if they have the same align and size. 8754 8755 align = Object(external_lodash_["every"])(attributes, ['align', align]) ? align : undefined; 8756 sizeSlug = Object(external_lodash_["every"])(attributes, ['sizeSlug', sizeSlug]) ? sizeSlug : undefined; 8757 const validImages = Object(external_lodash_["filter"])(attributes, ({ 8758 url 8759 }) => url); 8760 return Object(external_wp_blocks_["createBlock"])('core/gallery', { 8761 images: validImages.map(({ 8762 id, 8763 url, 8764 alt, 8765 caption 8766 }) => ({ 8767 id: Object(external_lodash_["toString"])(id), 8768 url, 8769 alt, 8770 caption 8771 })), 8772 ids: validImages.map(({ 8773 id 8774 }) => parseInt(id, 10)), 8775 align, 8776 sizeSlug 8777 }); 8778 } 8779 }, { 8780 type: 'shortcode', 8781 tag: 'gallery', 8782 attributes: { 8783 images: { 8784 type: 'array', 8785 shortcode: ({ 8786 named: { 8787 ids 8788 } 8789 }) => { 8790 return parseShortcodeIds(ids).map(id => ({ 8791 id: Object(external_lodash_["toString"])(id) 8792 })); 8793 } 8794 }, 8795 ids: { 8796 type: 'array', 8797 shortcode: ({ 8798 named: { 8799 ids 8800 } 8801 }) => { 8802 return parseShortcodeIds(ids); 8803 } 8804 }, 8805 columns: { 8806 type: 'number', 8807 shortcode: ({ 8808 named: { 8809 columns = '3' 8810 } 8811 }) => { 8812 return parseInt(columns, 10); 8813 } 8814 }, 8815 linkTo: { 8816 type: 'string', 8817 shortcode: ({ 8818 named: { 8819 link = constants_LINK_DESTINATION_ATTACHMENT 8820 } 8821 }) => { 8822 return link; 8823 } 8824 } 8825 }, 8826 8827 isMatch({ 8828 named 8829 }) { 8830 return undefined !== named.ids; 8831 } 8832 8833 }, { 8834 // When created by drag and dropping multiple files on an insertion point 8835 type: 'files', 8836 8837 isMatch(files) { 8838 return files.length !== 1 && Object(external_lodash_["every"])(files, file => file.type.indexOf('image/') === 0); 8839 }, 8840 8841 transform(files) { 8842 const block = Object(external_wp_blocks_["createBlock"])('core/gallery', { 8843 images: files.map(file => shared_pickRelevantMediaFiles({ 8844 url: Object(external_wp_blob_["createBlobURL"])(file) 8845 })) 8846 }); 8847 return block; 8848 } 8849 8850 }], 8851 to: [{ 8852 type: 'block', 8853 blocks: ['core/image'], 8854 transform: ({ 8855 images, 8856 align, 8857 sizeSlug, 8858 ids 8859 }) => { 8860 if (images.length > 0) { 8861 return images.map(({ 8862 url, 8863 alt, 8864 caption 8865 }, index) => Object(external_wp_blocks_["createBlock"])('core/image', { 8866 id: ids[index], 8867 url, 8868 alt, 8869 caption, 8870 align, 8871 sizeSlug 8872 })); 8873 } 8874 8875 return Object(external_wp_blocks_["createBlock"])('core/image', { 8876 align 8877 }); 8878 } 8879 }] 8880 }; 8881 /* harmony default export */ var gallery_transforms = (gallery_transforms_transforms); 8882 8883 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/gallery/index.js 8884 /** 8885 * WordPress dependencies 8886 */ 8887 8888 /** 8889 * Internal dependencies 8890 */ 8891 8892 8893 8894 const gallery_metadata = { 8895 apiVersion: 2, 8896 name: "core/gallery", 8897 title: "Gallery", 8898 category: "media", 8899 description: "Display multiple images in a rich gallery.", 8900 keywords: ["images", "photos"], 8901 textdomain: "default", 8902 attributes: { 8903 images: { 8904 type: "array", 8905 "default": [], 8906 source: "query", 8907 selector: ".blocks-gallery-item", 8908 query: { 8909 url: { 8910 type: "string", 8911 source: "attribute", 8912 selector: "img", 8913 attribute: "src" 8914 }, 8915 fullUrl: { 8916 type: "string", 8917 source: "attribute", 8918 selector: "img", 8919 attribute: "data-full-url" 8920 }, 8921 link: { 8922 type: "string", 8923 source: "attribute", 8924 selector: "img", 8925 attribute: "data-link" 8926 }, 8927 alt: { 8928 type: "string", 8929 source: "attribute", 8930 selector: "img", 8931 attribute: "alt", 8932 "default": "" 8933 }, 8934 id: { 8935 type: "string", 8936 source: "attribute", 8937 selector: "img", 8938 attribute: "data-id" 8939 }, 8940 caption: { 8941 type: "string", 8942 source: "html", 8943 selector: ".blocks-gallery-item__caption" 8944 } 8945 } 8946 }, 8947 ids: { 8948 type: "array", 8949 items: { 8950 type: "number" 8951 }, 8952 "default": [] 8953 }, 8954 columns: { 8955 type: "number", 8956 minimum: 1, 8957 maximum: 8 8958 }, 8959 caption: { 8960 type: "string", 8961 source: "html", 8962 selector: ".blocks-gallery-caption" 8963 }, 8964 imageCrop: { 8965 type: "boolean", 8966 "default": true 8967 }, 8968 linkTo: { 8969 type: "string" 8970 }, 8971 sizeSlug: { 8972 type: "string", 8973 "default": "large" 8974 } 8975 }, 8976 supports: { 8977 anchor: true, 8978 align: true 8979 }, 8980 editorStyle: "wp-block-gallery-editor", 8981 style: "wp-block-gallery" 8982 }; 8983 8984 8985 const { 8986 name: gallery_name 8987 } = gallery_metadata; 8988 8989 const gallery_settings = { 8990 icon: library_gallery, 8991 example: { 8992 attributes: { 8993 columns: 2, 8994 images: [{ 8995 url: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg' 8996 }, { 8997 url: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg' 8998 }] 8999 } 9000 }, 9001 transforms: gallery_transforms, 9002 edit: gallery_edit, 9003 save: gallery_save_save, 9004 deprecated: gallery_deprecated 9005 }; 9006 9007 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive.js 9008 9009 9010 /** 9011 * WordPress dependencies 9012 */ 9013 9014 const archive = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 9015 viewBox: "0 0 24 24", 9016 xmlns: "http://www.w3.org/2000/svg" 9017 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 9018 d: "M19 6.2h-5.9l-.6-1.1c-.3-.7-1-1.1-1.8-1.1H5c-1.1 0-2 .9-2 2v11.8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8.2c0-1.1-.9-2-2-2zm.5 11.6c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h5.8c.2 0 .4.1.4.3l1 2H19c.3 0 .5.2.5.5v9.5zM8 12.8h8v-1.5H8v1.5zm0 3h8v-1.5H8v1.5z" 9019 })); 9020 /* harmony default export */ var library_archive = (archive); 9021 9022 // EXTERNAL MODULE: external ["wp","serverSideRender"] 9023 var external_wp_serverSideRender_ = __webpack_require__("JREk"); 9024 var external_wp_serverSideRender_default = /*#__PURE__*/__webpack_require__.n(external_wp_serverSideRender_); 9025 9026 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/edit.js 9027 9028 9029 /** 9030 * WordPress dependencies 9031 */ 9032 9033 9034 9035 9036 function ArchivesEdit({ 9037 attributes, 9038 setAttributes 9039 }) { 9040 const { 9041 showPostCounts, 9042 displayAsDropdown 9043 } = attributes; 9044 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 9045 title: Object(external_wp_i18n_["__"])('Archives settings') 9046 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 9047 label: Object(external_wp_i18n_["__"])('Display as dropdown'), 9048 checked: displayAsDropdown, 9049 onChange: () => setAttributes({ 9050 displayAsDropdown: !displayAsDropdown 9051 }) 9052 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 9053 label: Object(external_wp_i18n_["__"])('Show post counts'), 9054 checked: showPostCounts, 9055 onChange: () => setAttributes({ 9056 showPostCounts: !showPostCounts 9057 }) 9058 }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 9059 block: "core/archives", 9060 attributes: attributes 9061 })))); 9062 } 9063 9064 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/archives/index.js 9065 /** 9066 * WordPress dependencies 9067 */ 9068 9069 /** 9070 * Internal dependencies 9071 */ 9072 9073 const archives_metadata = { 9074 apiVersion: 2, 9075 name: "core/archives", 9076 title: "Archives", 9077 category: "widgets", 9078 description: "Display a monthly archive of your posts.", 9079 textdomain: "default", 9080 attributes: { 9081 displayAsDropdown: { 9082 type: "boolean", 9083 "default": false 9084 }, 9085 showPostCounts: { 9086 type: "boolean", 9087 "default": false 9088 } 9089 }, 9090 supports: { 9091 align: true, 9092 html: false 9093 }, 9094 editorStyle: "wp-block-archives-editor" 9095 }; 9096 9097 const { 9098 name: archives_name 9099 } = archives_metadata; 9100 9101 const archives_settings = { 9102 icon: library_archive, 9103 example: {}, 9104 edit: ArchivesEdit 9105 }; 9106 9107 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/audio.js 9108 9109 9110 /** 9111 * WordPress dependencies 9112 */ 9113 9114 const audio = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 9115 viewBox: "0 0 24 24", 9116 xmlns: "http://www.w3.org/2000/svg" 9117 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 9118 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" 9119 })); 9120 /* harmony default export */ var library_audio = (audio); 9121 9122 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/deprecated.js 9123 9124 9125 /** 9126 * WordPress dependencies 9127 */ 9128 9129 /* harmony default export */ var audio_deprecated = ([{ 9130 attributes: { 9131 src: { 9132 type: 'string', 9133 source: 'attribute', 9134 selector: 'audio', 9135 attribute: 'src' 9136 }, 9137 caption: { 9138 type: 'string', 9139 source: 'html', 9140 selector: 'figcaption' 9141 }, 9142 id: { 9143 type: 'number' 9144 }, 9145 autoplay: { 9146 type: 'boolean', 9147 source: 'attribute', 9148 selector: 'audio', 9149 attribute: 'autoplay' 9150 }, 9151 loop: { 9152 type: 'boolean', 9153 source: 'attribute', 9154 selector: 'audio', 9155 attribute: 'loop' 9156 }, 9157 preload: { 9158 type: 'string', 9159 source: 'attribute', 9160 selector: 'audio', 9161 attribute: 'preload' 9162 } 9163 }, 9164 supports: { 9165 align: true 9166 }, 9167 9168 save({ 9169 attributes 9170 }) { 9171 const { 9172 autoplay, 9173 caption, 9174 loop, 9175 preload, 9176 src 9177 } = attributes; 9178 return Object(external_wp_element_["createElement"])("figure", null, Object(external_wp_element_["createElement"])("audio", { 9179 controls: "controls", 9180 src: src, 9181 autoPlay: autoplay, 9182 loop: loop, 9183 preload: preload 9184 }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 9185 tagName: "figcaption", 9186 value: caption 9187 })); 9188 } 9189 9190 }]); 9191 9192 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/edit.js 9193 9194 9195 /** 9196 * WordPress dependencies 9197 */ 9198 9199 9200 9201 9202 9203 9204 9205 9206 /** 9207 * Internal dependencies 9208 */ 9209 9210 9211 const audio_edit_ALLOWED_MEDIA_TYPES = ['audio']; 9212 9213 function AudioEdit({ 9214 attributes, 9215 noticeOperations, 9216 setAttributes, 9217 onReplace, 9218 isSelected, 9219 noticeUI, 9220 insertBlocksAfter 9221 }) { 9222 const { 9223 id, 9224 autoplay, 9225 caption, 9226 loop, 9227 preload, 9228 src 9229 } = attributes; 9230 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 9231 const mediaUpload = Object(external_wp_data_["useSelect"])(select => { 9232 const { 9233 getSettings 9234 } = select(external_wp_blockEditor_["store"]); 9235 return getSettings().mediaUpload; 9236 }, []); 9237 Object(external_wp_element_["useEffect"])(() => { 9238 if (!id && Object(external_wp_blob_["isBlobURL"])(src)) { 9239 const file = Object(external_wp_blob_["getBlobByURL"])(src); 9240 9241 if (file) { 9242 mediaUpload({ 9243 filesList: [file], 9244 onFileChange: ([{ 9245 id: mediaId, 9246 url 9247 }]) => { 9248 setAttributes({ 9249 id: mediaId, 9250 src: url 9251 }); 9252 }, 9253 onError: e => { 9254 setAttributes({ 9255 src: undefined, 9256 id: undefined 9257 }); 9258 noticeOperations.createErrorNotice(e); 9259 }, 9260 allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES 9261 }); 9262 } 9263 } 9264 }, []); 9265 9266 function toggleAttribute(attribute) { 9267 return newValue => { 9268 setAttributes({ 9269 [attribute]: newValue 9270 }); 9271 }; 9272 } 9273 9274 function onSelectURL(newSrc) { 9275 // Set the block's src from the edit component's state, and switch off 9276 // the editing UI. 9277 if (newSrc !== src) { 9278 // Check if there's an embed block that handles this URL. 9279 const embedBlock = createUpgradedEmbedBlock({ 9280 attributes: { 9281 url: newSrc 9282 } 9283 }); 9284 9285 if (undefined !== embedBlock) { 9286 onReplace(embedBlock); 9287 return; 9288 } 9289 9290 setAttributes({ 9291 src: newSrc, 9292 id: undefined 9293 }); 9294 } 9295 } 9296 9297 function onUploadError(message) { 9298 noticeOperations.removeAllNotices(); 9299 noticeOperations.createErrorNotice(message); 9300 } 9301 9302 function getAutoplayHelp(checked) { 9303 return checked ? Object(external_wp_i18n_["__"])('Autoplay may cause usability issues for some users.') : null; 9304 } // const { setAttributes, isSelected, noticeUI } = this.props; 9305 9306 9307 function onSelectAudio(media) { 9308 if (!media || !media.url) { 9309 // in this case there was an error and we should continue in the editing state 9310 // previous attributes should be removed because they may be temporary blob urls 9311 setAttributes({ 9312 src: undefined, 9313 id: undefined 9314 }); 9315 return; 9316 } // sets the block's attribute and updates the edit component from the 9317 // selected media, then switches off the editing UI 9318 9319 9320 setAttributes({ 9321 src: media.url, 9322 id: media.id 9323 }); 9324 } 9325 9326 if (!src) { 9327 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 9328 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 9329 icon: library_audio 9330 }), 9331 onSelect: onSelectAudio, 9332 onSelectURL: onSelectURL, 9333 accept: "audio/*", 9334 allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, 9335 value: attributes, 9336 notices: noticeUI, 9337 onError: onUploadError 9338 })); 9339 } 9340 9341 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 9342 group: "other" 9343 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 9344 mediaId: id, 9345 mediaURL: src, 9346 allowedTypes: audio_edit_ALLOWED_MEDIA_TYPES, 9347 accept: "audio/*", 9348 onSelect: onSelectAudio, 9349 onSelectURL: onSelectURL, 9350 onError: onUploadError 9351 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 9352 title: Object(external_wp_i18n_["__"])('Audio settings') 9353 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 9354 label: Object(external_wp_i18n_["__"])('Autoplay'), 9355 onChange: toggleAttribute('autoplay'), 9356 checked: autoplay, 9357 help: getAutoplayHelp 9358 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 9359 label: Object(external_wp_i18n_["__"])('Loop'), 9360 onChange: toggleAttribute('loop'), 9361 checked: loop 9362 }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 9363 label: Object(external_wp_i18n_["__"])('Preload'), 9364 value: preload || '' // `undefined` is required for the preload attribute to be unset. 9365 , 9366 onChange: value => setAttributes({ 9367 preload: value || undefined 9368 }), 9369 options: [{ 9370 value: '', 9371 label: Object(external_wp_i18n_["__"])('Browser default') 9372 }, { 9373 value: 'auto', 9374 label: Object(external_wp_i18n_["__"])('Auto') 9375 }, { 9376 value: 'metadata', 9377 label: Object(external_wp_i18n_["__"])('Metadata') 9378 }, { 9379 value: 'none', 9380 label: Object(external_wp_i18n_["__"])('None') 9381 }] 9382 }))), Object(external_wp_element_["createElement"])("figure", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { 9383 isDisabled: !isSelected 9384 }, Object(external_wp_element_["createElement"])("audio", { 9385 controls: "controls", 9386 src: src 9387 })), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 9388 tagName: "figcaption", 9389 "aria-label": Object(external_wp_i18n_["__"])('Audio caption text'), 9390 placeholder: Object(external_wp_i18n_["__"])('Add caption'), 9391 value: caption, 9392 onChange: value => setAttributes({ 9393 caption: value 9394 }), 9395 inlineToolbar: true, 9396 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 9397 }))); 9398 } 9399 9400 /* harmony default export */ var audio_edit = (Object(external_wp_components_["withNotices"])(AudioEdit)); 9401 9402 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/save.js 9403 9404 9405 /** 9406 * WordPress dependencies 9407 */ 9408 9409 function audio_save_save({ 9410 attributes 9411 }) { 9412 const { 9413 autoplay, 9414 caption, 9415 loop, 9416 preload, 9417 src 9418 } = attributes; 9419 return src && Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("audio", { 9420 controls: "controls", 9421 src: src, 9422 autoPlay: autoplay, 9423 loop: loop, 9424 preload: preload 9425 }), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 9426 tagName: "figcaption", 9427 value: caption 9428 })); 9429 } 9430 9431 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/transforms.js 9432 /** 9433 * WordPress dependencies 9434 */ 9435 9436 9437 const audio_transforms_transforms = { 9438 from: [{ 9439 type: 'files', 9440 9441 isMatch(files) { 9442 return files.length === 1 && files[0].type.indexOf('audio/') === 0; 9443 }, 9444 9445 transform(files) { 9446 const file = files[0]; // We don't need to upload the media directly here 9447 // It's already done as part of the `componentDidMount` 9448 // in the audio block 9449 9450 const block = Object(external_wp_blocks_["createBlock"])('core/audio', { 9451 src: Object(external_wp_blob_["createBlobURL"])(file) 9452 }); 9453 return block; 9454 } 9455 9456 }, { 9457 type: 'shortcode', 9458 tag: 'audio', 9459 attributes: { 9460 src: { 9461 type: 'string', 9462 shortcode: ({ 9463 named: { 9464 src, 9465 mp3, 9466 m4a, 9467 ogg, 9468 wav, 9469 wma 9470 } 9471 }) => { 9472 return src || mp3 || m4a || ogg || wav || wma; 9473 } 9474 }, 9475 loop: { 9476 type: 'string', 9477 shortcode: ({ 9478 named: { 9479 loop 9480 } 9481 }) => { 9482 return loop; 9483 } 9484 }, 9485 autoplay: { 9486 type: 'string', 9487 shortcode: ({ 9488 named: { 9489 autoplay 9490 } 9491 }) => { 9492 return autoplay; 9493 } 9494 }, 9495 preload: { 9496 type: 'string', 9497 shortcode: ({ 9498 named: { 9499 preload 9500 } 9501 }) => { 9502 return preload; 9503 } 9504 } 9505 } 9506 }] 9507 }; 9508 /* harmony default export */ var audio_transforms = (audio_transforms_transforms); 9509 9510 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/audio/index.js 9511 /** 9512 * WordPress dependencies 9513 */ 9514 9515 /** 9516 * Internal dependencies 9517 */ 9518 9519 9520 9521 const audio_metadata = { 9522 apiVersion: 2, 9523 name: "core/audio", 9524 title: "Audio", 9525 category: "media", 9526 description: "Embed a simple audio player.", 9527 keywords: ["music", "sound", "podcast", "recording"], 9528 textdomain: "default", 9529 attributes: { 9530 src: { 9531 type: "string", 9532 source: "attribute", 9533 selector: "audio", 9534 attribute: "src" 9535 }, 9536 caption: { 9537 type: "string", 9538 source: "html", 9539 selector: "figcaption" 9540 }, 9541 id: { 9542 type: "number" 9543 }, 9544 autoplay: { 9545 type: "boolean", 9546 source: "attribute", 9547 selector: "audio", 9548 attribute: "autoplay" 9549 }, 9550 loop: { 9551 type: "boolean", 9552 source: "attribute", 9553 selector: "audio", 9554 attribute: "loop" 9555 }, 9556 preload: { 9557 type: "string", 9558 source: "attribute", 9559 selector: "audio", 9560 attribute: "preload" 9561 } 9562 }, 9563 supports: { 9564 anchor: true, 9565 align: true 9566 }, 9567 editorStyle: "wp-block-audio-editor", 9568 style: "wp-block-audio" 9569 }; 9570 9571 9572 const { 9573 name: audio_name 9574 } = audio_metadata; 9575 9576 const audio_settings = { 9577 icon: library_audio, 9578 transforms: audio_transforms, 9579 deprecated: audio_deprecated, 9580 edit: audio_edit, 9581 save: audio_save_save 9582 }; 9583 9584 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/buttons.js 9585 9586 9587 /** 9588 * WordPress dependencies 9589 */ 9590 9591 const buttons_buttons = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 9592 viewBox: "0 0 24 24", 9593 xmlns: "http://www.w3.org/2000/svg" 9594 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 9595 d: "M17 3H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5V5c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5V6.2h-5v1.6zM17 13H7c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H7c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v4zm-8-1.2h5v-1.5h-5v1.5z" 9596 })); 9597 /* harmony default export */ var library_buttons = (buttons_buttons); 9598 9599 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/deprecated.js 9600 9601 9602 /** 9603 * WordPress dependencies 9604 */ 9605 9606 const buttons_deprecated_deprecated = [{ 9607 supports: { 9608 align: ['center', 'left', 'right'], 9609 anchor: true 9610 }, 9611 9612 save() { 9613 return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 9614 }, 9615 9616 isEligible({ 9617 align 9618 }) { 9619 return align && ['center', 'left', 'right'].includes(align); 9620 }, 9621 9622 migrate(attributes) { 9623 return { ...attributes, 9624 align: undefined, 9625 // Floating Buttons blocks shouldn't have been supported in the 9626 // first place. Most users using them probably expected them to 9627 // act like content justification controls, so these blocks are 9628 // migrated to use content justification. 9629 // As for center-aligned Buttons blocks, the content justification 9630 // equivalent will create an identical end result in most cases. 9631 contentJustification: attributes.align 9632 }; 9633 } 9634 9635 }]; 9636 /* harmony default export */ var buttons_deprecated = (buttons_deprecated_deprecated); 9637 9638 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/transforms.js 9639 /** 9640 * WordPress dependencies 9641 */ 9642 9643 9644 /** 9645 * Internal dependencies 9646 */ 9647 9648 const { 9649 name: buttons_transforms_name 9650 } = { 9651 apiVersion: 2, 9652 name: "core/buttons", 9653 title: "Buttons", 9654 category: "design", 9655 description: "Prompt visitors to take action with a group of button-style links.", 9656 keywords: ["link"], 9657 textdomain: "default", 9658 attributes: { 9659 contentJustification: { 9660 type: "string" 9661 }, 9662 orientation: { 9663 type: "string", 9664 "default": "horizontal" 9665 } 9666 }, 9667 supports: { 9668 anchor: true, 9669 align: ["wide", "full"] 9670 }, 9671 editorStyle: "wp-block-buttons-editor", 9672 style: "wp-block-buttons" 9673 }; 9674 const buttons_transforms_transforms = { 9675 from: [{ 9676 type: 'block', 9677 isMultiBlock: true, 9678 blocks: ['core/button'], 9679 transform: buttons => // Creates the buttons block 9680 Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons 9681 buttons.map(attributes => // Create singular button in the buttons block 9682 Object(external_wp_blocks_["createBlock"])('core/button', attributes))) 9683 }, { 9684 type: 'block', 9685 isMultiBlock: true, 9686 blocks: ['core/paragraph'], 9687 transform: buttons => // Creates the buttons block 9688 Object(external_wp_blocks_["createBlock"])(buttons_transforms_name, {}, // Loop the selected buttons 9689 buttons.map(attributes => { 9690 const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); // Remove any HTML tags 9691 9692 const text = element.innerText || ''; // Get first url 9693 9694 const link = element.querySelector('a'); 9695 const url = link === null || link === void 0 ? void 0 : link.getAttribute('href'); // Create singular button in the buttons block 9696 9697 return Object(external_wp_blocks_["createBlock"])('core/button', { 9698 text, 9699 url 9700 }); 9701 })), 9702 isMatch: paragraphs => { 9703 return paragraphs.every(attributes => { 9704 const element = Object(external_wp_richText_["__unstableCreateElement"])(document, attributes.content); 9705 const text = element.innerText || ''; 9706 const links = element.querySelectorAll('a'); 9707 return text.length <= 30 && links.length <= 1; 9708 }); 9709 } 9710 }] 9711 }; 9712 /* harmony default export */ var buttons_transforms = (buttons_transforms_transforms); 9713 9714 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/button.js 9715 var library_button = __webpack_require__("oMoS"); 9716 9717 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/deprecated.js 9718 9719 9720 /** 9721 * External dependencies 9722 */ 9723 9724 9725 /** 9726 * WordPress dependencies 9727 */ 9728 9729 9730 9731 9732 const migrateBorderRadius = attributes => { 9733 const { 9734 borderRadius, 9735 ...newAttributes 9736 } = attributes; 9737 9738 if (!borderRadius && borderRadius !== 0) { 9739 return newAttributes; 9740 } 9741 9742 return { ...newAttributes, 9743 style: { ...newAttributes.style, 9744 border: { 9745 radius: borderRadius 9746 } 9747 } 9748 }; 9749 }; 9750 9751 const migrateCustomColorsAndGradients = attributes => { 9752 if (!attributes.customTextColor && !attributes.customBackgroundColor && !attributes.customGradient) { 9753 return attributes; 9754 } 9755 9756 const style = { 9757 color: {} 9758 }; 9759 9760 if (attributes.customTextColor) { 9761 style.color.text = attributes.customTextColor; 9762 } 9763 9764 if (attributes.customBackgroundColor) { 9765 style.color.background = attributes.customBackgroundColor; 9766 } 9767 9768 if (attributes.customGradient) { 9769 style.color.gradient = attributes.customGradient; 9770 } 9771 9772 return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor', 'customGradient']), 9773 style 9774 }; 9775 }; 9776 9777 const oldColorsMigration = attributes => { 9778 return migrateCustomColorsAndGradients(Object(external_lodash_["omit"])({ ...attributes, 9779 customTextColor: attributes.textColor && '#' === attributes.textColor[0] ? attributes.textColor : undefined, 9780 customBackgroundColor: attributes.color && '#' === attributes.color[0] ? attributes.color : undefined 9781 }, ['color', 'textColor'])); 9782 }; 9783 9784 const button_deprecated_blockAttributes = { 9785 url: { 9786 type: 'string', 9787 source: 'attribute', 9788 selector: 'a', 9789 attribute: 'href' 9790 }, 9791 title: { 9792 type: 'string', 9793 source: 'attribute', 9794 selector: 'a', 9795 attribute: 'title' 9796 }, 9797 text: { 9798 type: 'string', 9799 source: 'html', 9800 selector: 'a' 9801 } 9802 }; 9803 const button_deprecated_deprecated = [{ 9804 supports: { 9805 anchor: true, 9806 align: true, 9807 alignWide: false, 9808 color: { 9809 __experimentalSkipSerialization: true 9810 }, 9811 reusable: false, 9812 __experimentalSelector: '.wp-block-button__link' 9813 }, 9814 attributes: { ...button_deprecated_blockAttributes, 9815 linkTarget: { 9816 type: 'string', 9817 source: 'attribute', 9818 selector: 'a', 9819 attribute: 'target' 9820 }, 9821 rel: { 9822 type: 'string', 9823 source: 'attribute', 9824 selector: 'a', 9825 attribute: 'rel' 9826 }, 9827 placeholder: { 9828 type: 'string' 9829 }, 9830 borderRadius: { 9831 type: 'number' 9832 }, 9833 backgroundColor: { 9834 type: 'string' 9835 }, 9836 textColor: { 9837 type: 'string' 9838 }, 9839 gradient: { 9840 type: 'string' 9841 }, 9842 style: { 9843 type: 'object' 9844 }, 9845 width: { 9846 type: 'number' 9847 } 9848 }, 9849 9850 save({ 9851 attributes, 9852 className 9853 }) { 9854 const { 9855 borderRadius, 9856 linkTarget, 9857 rel, 9858 text, 9859 title, 9860 url, 9861 width 9862 } = attributes; 9863 const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); 9864 const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 9865 'no-border-radius': borderRadius === 0 9866 }); 9867 const buttonStyle = { 9868 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 9869 ...colorProps.style 9870 }; // The use of a `title` attribute here is soft-deprecated, but still applied 9871 // if it had already been assigned, for the sake of backward-compatibility. 9872 // A title will no longer be assigned for new or updated button block links. 9873 9874 const wrapperClasses = classnames_default()(className, { 9875 [`has-custom-width wp-block-button__width-${width}`]: width 9876 }); 9877 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 9878 className: wrapperClasses 9879 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 9880 tagName: "a", 9881 className: buttonClasses, 9882 href: url, 9883 title: title, 9884 style: buttonStyle, 9885 value: text, 9886 target: linkTarget, 9887 rel: rel 9888 })); 9889 }, 9890 9891 migrate: migrateBorderRadius 9892 }, { 9893 supports: { 9894 anchor: true, 9895 align: true, 9896 alignWide: false, 9897 color: { 9898 __experimentalSkipSerialization: true 9899 }, 9900 reusable: false, 9901 __experimentalSelector: '.wp-block-button__link' 9902 }, 9903 attributes: { ...button_deprecated_blockAttributes, 9904 linkTarget: { 9905 type: 'string', 9906 source: 'attribute', 9907 selector: 'a', 9908 attribute: 'target' 9909 }, 9910 rel: { 9911 type: 'string', 9912 source: 'attribute', 9913 selector: 'a', 9914 attribute: 'rel' 9915 }, 9916 placeholder: { 9917 type: 'string' 9918 }, 9919 borderRadius: { 9920 type: 'number' 9921 }, 9922 backgroundColor: { 9923 type: 'string' 9924 }, 9925 textColor: { 9926 type: 'string' 9927 }, 9928 gradient: { 9929 type: 'string' 9930 }, 9931 style: { 9932 type: 'object' 9933 }, 9934 width: { 9935 type: 'number' 9936 } 9937 }, 9938 9939 save({ 9940 attributes, 9941 className 9942 }) { 9943 const { 9944 borderRadius, 9945 linkTarget, 9946 rel, 9947 text, 9948 title, 9949 url, 9950 width 9951 } = attributes; 9952 const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); 9953 const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 9954 'no-border-radius': borderRadius === 0 9955 }); 9956 const buttonStyle = { 9957 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 9958 ...colorProps.style 9959 }; // The use of a `title` attribute here is soft-deprecated, but still applied 9960 // if it had already been assigned, for the sake of backward-compatibility. 9961 // A title will no longer be assigned for new or updated button block links. 9962 9963 const wrapperClasses = classnames_default()(className, { 9964 [`has-custom-width wp-block-button__width-${width}`]: width 9965 }); 9966 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 9967 className: wrapperClasses 9968 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 9969 tagName: "a", 9970 className: buttonClasses, 9971 href: url, 9972 title: title, 9973 style: buttonStyle, 9974 value: text, 9975 target: linkTarget, 9976 rel: rel 9977 })); 9978 }, 9979 9980 migrate: migrateBorderRadius 9981 }, { 9982 supports: { 9983 align: true, 9984 alignWide: false, 9985 color: { 9986 gradients: true 9987 } 9988 }, 9989 attributes: { ...button_deprecated_blockAttributes, 9990 linkTarget: { 9991 type: 'string', 9992 source: 'attribute', 9993 selector: 'a', 9994 attribute: 'target' 9995 }, 9996 rel: { 9997 type: 'string', 9998 source: 'attribute', 9999 selector: 'a', 10000 attribute: 'rel' 10001 }, 10002 placeholder: { 10003 type: 'string' 10004 }, 10005 borderRadius: { 10006 type: 'number' 10007 }, 10008 backgroundColor: { 10009 type: 'string' 10010 }, 10011 textColor: { 10012 type: 'string' 10013 }, 10014 gradient: { 10015 type: 'string' 10016 }, 10017 style: { 10018 type: 'object' 10019 } 10020 }, 10021 10022 save({ 10023 attributes 10024 }) { 10025 const { 10026 borderRadius, 10027 linkTarget, 10028 rel, 10029 text, 10030 title, 10031 url 10032 } = attributes; 10033 const buttonClasses = classnames_default()('wp-block-button__link', { 10034 'no-border-radius': borderRadius === 0 10035 }); 10036 const buttonStyle = { 10037 borderRadius: borderRadius ? borderRadius + 'px' : undefined 10038 }; 10039 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10040 tagName: "a", 10041 className: buttonClasses, 10042 href: url, 10043 title: title, 10044 style: buttonStyle, 10045 value: text, 10046 target: linkTarget, 10047 rel: rel 10048 }); 10049 }, 10050 10051 migrate: migrateBorderRadius 10052 }, { 10053 supports: { 10054 align: true, 10055 alignWide: false 10056 }, 10057 attributes: { ...button_deprecated_blockAttributes, 10058 linkTarget: { 10059 type: 'string', 10060 source: 'attribute', 10061 selector: 'a', 10062 attribute: 'target' 10063 }, 10064 rel: { 10065 type: 'string', 10066 source: 'attribute', 10067 selector: 'a', 10068 attribute: 'rel' 10069 }, 10070 placeholder: { 10071 type: 'string' 10072 }, 10073 borderRadius: { 10074 type: 'number' 10075 }, 10076 backgroundColor: { 10077 type: 'string' 10078 }, 10079 textColor: { 10080 type: 'string' 10081 }, 10082 customBackgroundColor: { 10083 type: 'string' 10084 }, 10085 customTextColor: { 10086 type: 'string' 10087 }, 10088 customGradient: { 10089 type: 'string' 10090 }, 10091 gradient: { 10092 type: 'string' 10093 } 10094 }, 10095 isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient, 10096 migrate: Object(external_wp_compose_["compose"])(migrateBorderRadius, migrateCustomColorsAndGradients), 10097 10098 save({ 10099 attributes 10100 }) { 10101 const { 10102 backgroundColor, 10103 borderRadius, 10104 customBackgroundColor, 10105 customTextColor, 10106 customGradient, 10107 linkTarget, 10108 gradient, 10109 rel, 10110 text, 10111 textColor, 10112 title, 10113 url 10114 } = attributes; 10115 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 10116 const backgroundClass = !customGradient && Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 10117 10118 const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); 10119 10120 const buttonClasses = classnames_default()('wp-block-button__link', { 10121 'has-text-color': textColor || customTextColor, 10122 [textClass]: textClass, 10123 'has-background': backgroundColor || customBackgroundColor || customGradient || gradient, 10124 [backgroundClass]: backgroundClass, 10125 'no-border-radius': borderRadius === 0, 10126 [gradientClass]: gradientClass 10127 }); 10128 const buttonStyle = { 10129 background: customGradient ? customGradient : undefined, 10130 backgroundColor: backgroundClass || customGradient || gradient ? undefined : customBackgroundColor, 10131 color: textClass ? undefined : customTextColor, 10132 borderRadius: borderRadius ? borderRadius + 'px' : undefined 10133 }; // The use of a `title` attribute here is soft-deprecated, but still applied 10134 // if it had already been assigned, for the sake of backward-compatibility. 10135 // A title will no longer be assigned for new or updated button block links. 10136 10137 return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10138 tagName: "a", 10139 className: buttonClasses, 10140 href: url, 10141 title: title, 10142 style: buttonStyle, 10143 value: text, 10144 target: linkTarget, 10145 rel: rel 10146 })); 10147 } 10148 10149 }, { 10150 attributes: { ...button_deprecated_blockAttributes, 10151 align: { 10152 type: 'string', 10153 default: 'none' 10154 }, 10155 backgroundColor: { 10156 type: 'string' 10157 }, 10158 textColor: { 10159 type: 'string' 10160 }, 10161 customBackgroundColor: { 10162 type: 'string' 10163 }, 10164 customTextColor: { 10165 type: 'string' 10166 }, 10167 linkTarget: { 10168 type: 'string', 10169 source: 'attribute', 10170 selector: 'a', 10171 attribute: 'target' 10172 }, 10173 rel: { 10174 type: 'string', 10175 source: 'attribute', 10176 selector: 'a', 10177 attribute: 'rel' 10178 }, 10179 placeholder: { 10180 type: 'string' 10181 } 10182 }, 10183 10184 isEligible(attribute) { 10185 return attribute.className && attribute.className.includes('is-style-squared'); 10186 }, 10187 10188 migrate(attributes) { 10189 let newClassName = attributes.className; 10190 10191 if (newClassName) { 10192 newClassName = newClassName.replace(/is-style-squared[\s]?/, '').trim(); 10193 } 10194 10195 return migrateBorderRadius(migrateCustomColorsAndGradients({ ...attributes, 10196 className: newClassName ? newClassName : undefined, 10197 borderRadius: 0 10198 })); 10199 }, 10200 10201 save({ 10202 attributes 10203 }) { 10204 const { 10205 backgroundColor, 10206 customBackgroundColor, 10207 customTextColor, 10208 linkTarget, 10209 rel, 10210 text, 10211 textColor, 10212 title, 10213 url 10214 } = attributes; 10215 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 10216 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 10217 const buttonClasses = classnames_default()('wp-block-button__link', { 10218 'has-text-color': textColor || customTextColor, 10219 [textClass]: textClass, 10220 'has-background': backgroundColor || customBackgroundColor, 10221 [backgroundClass]: backgroundClass 10222 }); 10223 const buttonStyle = { 10224 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 10225 color: textClass ? undefined : customTextColor 10226 }; 10227 return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10228 tagName: "a", 10229 className: buttonClasses, 10230 href: url, 10231 title: title, 10232 style: buttonStyle, 10233 value: text, 10234 target: linkTarget, 10235 rel: rel 10236 })); 10237 } 10238 10239 }, { 10240 attributes: { ...button_deprecated_blockAttributes, 10241 align: { 10242 type: 'string', 10243 default: 'none' 10244 }, 10245 backgroundColor: { 10246 type: 'string' 10247 }, 10248 textColor: { 10249 type: 'string' 10250 }, 10251 customBackgroundColor: { 10252 type: 'string' 10253 }, 10254 customTextColor: { 10255 type: 'string' 10256 } 10257 }, 10258 migrate: oldColorsMigration, 10259 10260 save({ 10261 attributes 10262 }) { 10263 const { 10264 url, 10265 text, 10266 title, 10267 backgroundColor, 10268 textColor, 10269 customBackgroundColor, 10270 customTextColor 10271 } = attributes; 10272 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 10273 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 10274 const buttonClasses = classnames_default()('wp-block-button__link', { 10275 'has-text-color': textColor || customTextColor, 10276 [textClass]: textClass, 10277 'has-background': backgroundColor || customBackgroundColor, 10278 [backgroundClass]: backgroundClass 10279 }); 10280 const buttonStyle = { 10281 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 10282 color: textClass ? undefined : customTextColor 10283 }; 10284 return Object(external_wp_element_["createElement"])("div", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10285 tagName: "a", 10286 className: buttonClasses, 10287 href: url, 10288 title: title, 10289 style: buttonStyle, 10290 value: text 10291 })); 10292 } 10293 10294 }, { 10295 attributes: { ...button_deprecated_blockAttributes, 10296 color: { 10297 type: 'string' 10298 }, 10299 textColor: { 10300 type: 'string' 10301 }, 10302 align: { 10303 type: 'string', 10304 default: 'none' 10305 } 10306 }, 10307 10308 save({ 10309 attributes 10310 }) { 10311 const { 10312 url, 10313 text, 10314 title, 10315 align, 10316 color, 10317 textColor 10318 } = attributes; 10319 const buttonStyle = { 10320 backgroundColor: color, 10321 color: textColor 10322 }; 10323 const linkClass = 'wp-block-button__link'; 10324 return Object(external_wp_element_["createElement"])("div", { 10325 className: `align${align}` 10326 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10327 tagName: "a", 10328 className: linkClass, 10329 href: url, 10330 title: title, 10331 style: buttonStyle, 10332 value: text 10333 })); 10334 }, 10335 10336 migrate: oldColorsMigration 10337 }, { 10338 attributes: { ...button_deprecated_blockAttributes, 10339 color: { 10340 type: 'string' 10341 }, 10342 textColor: { 10343 type: 'string' 10344 }, 10345 align: { 10346 type: 'string', 10347 default: 'none' 10348 } 10349 }, 10350 10351 save({ 10352 attributes 10353 }) { 10354 const { 10355 url, 10356 text, 10357 title, 10358 align, 10359 color, 10360 textColor 10361 } = attributes; 10362 return Object(external_wp_element_["createElement"])("div", { 10363 className: `align${align}`, 10364 style: { 10365 backgroundColor: color 10366 } 10367 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10368 tagName: "a", 10369 href: url, 10370 title: title, 10371 style: { 10372 color: textColor 10373 }, 10374 value: text 10375 })); 10376 }, 10377 10378 migrate: oldColorsMigration 10379 }]; 10380 /* harmony default export */ var button_deprecated = (button_deprecated_deprecated); 10381 10382 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link.js 10383 var library_link = __webpack_require__("Bpkj"); 10384 10385 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/link-off.js 10386 var link_off = __webpack_require__("Mp0b"); 10387 10388 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/edit.js 10389 10390 10391 10392 /** 10393 * External dependencies 10394 */ 10395 10396 /** 10397 * WordPress dependencies 10398 */ 10399 10400 10401 10402 10403 10404 10405 10406 10407 const edit_NEW_TAB_REL = 'noreferrer noopener'; 10408 10409 function WidthPanel({ 10410 selectedWidth, 10411 setAttributes 10412 }) { 10413 function handleChange(newWidth) { 10414 // Check if we are toggling the width off 10415 const width = selectedWidth === newWidth ? undefined : newWidth; // Update attributes 10416 10417 setAttributes({ 10418 width 10419 }); 10420 } 10421 10422 return Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 10423 title: Object(external_wp_i18n_["__"])('Width settings') 10424 }, Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { 10425 "aria-label": Object(external_wp_i18n_["__"])('Button width') 10426 }, [25, 50, 75, 100].map(widthValue => { 10427 return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 10428 key: widthValue, 10429 isSmall: true, 10430 isPrimary: widthValue === selectedWidth, 10431 onClick: () => handleChange(widthValue) 10432 }, widthValue, "%"); 10433 }))); 10434 } 10435 10436 function URLPicker({ 10437 isSelected, 10438 url, 10439 setAttributes, 10440 opensInNewTab, 10441 onToggleOpenInNewTab, 10442 anchorRef, 10443 richTextRef 10444 }) { 10445 const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); 10446 const isURLSet = !!url; 10447 10448 const startEditing = event => { 10449 event.preventDefault(); 10450 setIsEditingURL(true); 10451 }; 10452 10453 const unlink = () => { 10454 setAttributes({ 10455 url: undefined, 10456 linkTarget: undefined, 10457 rel: undefined 10458 }); 10459 setIsEditingURL(false); 10460 }; 10461 10462 Object(external_wp_element_["useEffect"])(() => { 10463 if (!isSelected) { 10464 setIsEditingURL(false); 10465 } 10466 }, [isSelected]); 10467 const isLinkControlVisible = isSelected && (isEditingURL || isURLSet); 10468 const linkControl = isLinkControlVisible && Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { 10469 position: "bottom center", 10470 onClose: () => { 10471 var _richTextRef$current; 10472 10473 setIsEditingURL(false); 10474 (_richTextRef$current = richTextRef.current) === null || _richTextRef$current === void 0 ? void 0 : _richTextRef$current.focus(); 10475 }, 10476 anchorRef: anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current, 10477 focusOnMount: isEditingURL ? 'firstElement' : false 10478 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalLinkControl"], { 10479 className: "wp-block-navigation-link__inline-link-input", 10480 value: { 10481 url, 10482 opensInNewTab 10483 }, 10484 onChange: ({ 10485 url: newURL = '', 10486 opensInNewTab: newOpensInNewTab 10487 }) => { 10488 setAttributes({ 10489 url: newURL 10490 }); 10491 10492 if (opensInNewTab !== newOpensInNewTab) { 10493 onToggleOpenInNewTab(newOpensInNewTab); 10494 } 10495 }, 10496 onRemove: () => { 10497 var _richTextRef$current2; 10498 10499 unlink(); 10500 (_richTextRef$current2 = richTextRef.current) === null || _richTextRef$current2 === void 0 ? void 0 : _richTextRef$current2.focus(); 10501 }, 10502 forceIsEditingLink: isEditingURL 10503 })); 10504 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 10505 group: "block" 10506 }, !isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 10507 name: "link", 10508 icon: library_link["a" /* default */], 10509 title: Object(external_wp_i18n_["__"])('Link'), 10510 shortcut: external_wp_keycodes_["displayShortcut"].primary('k'), 10511 onClick: startEditing 10512 }), isURLSet && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 10513 name: "link", 10514 icon: link_off["a" /* default */], 10515 title: Object(external_wp_i18n_["__"])('Unlink'), 10516 shortcut: external_wp_keycodes_["displayShortcut"].primaryShift('k'), 10517 onClick: unlink, 10518 isActive: true 10519 })), isSelected && Object(external_wp_element_["createElement"])(external_wp_components_["KeyboardShortcuts"], { 10520 bindGlobal: true, 10521 shortcuts: { 10522 [external_wp_keycodes_["rawShortcut"].primary('k')]: startEditing, 10523 [external_wp_keycodes_["rawShortcut"].primaryShift('k')]: () => { 10524 var _richTextRef$current3; 10525 10526 unlink(); 10527 (_richTextRef$current3 = richTextRef.current) === null || _richTextRef$current3 === void 0 ? void 0 : _richTextRef$current3.focus(); 10528 } 10529 } 10530 }), linkControl); 10531 } 10532 10533 function ButtonEdit(props) { 10534 var _style$border; 10535 10536 const { 10537 attributes, 10538 setAttributes, 10539 className, 10540 isSelected, 10541 onReplace, 10542 mergeBlocks 10543 } = props; 10544 const { 10545 linkTarget, 10546 placeholder, 10547 rel, 10548 style, 10549 text, 10550 url, 10551 width 10552 } = attributes; 10553 const onSetLinkRel = Object(external_wp_element_["useCallback"])(value => { 10554 setAttributes({ 10555 rel: value 10556 }); 10557 }, [setAttributes]); 10558 const onToggleOpenInNewTab = Object(external_wp_element_["useCallback"])(value => { 10559 const newLinkTarget = value ? '_blank' : undefined; 10560 let updatedRel = rel; 10561 10562 if (newLinkTarget && !rel) { 10563 updatedRel = edit_NEW_TAB_REL; 10564 } else if (!newLinkTarget && rel === edit_NEW_TAB_REL) { 10565 updatedRel = undefined; 10566 } 10567 10568 setAttributes({ 10569 linkTarget: newLinkTarget, 10570 rel: updatedRel 10571 }); 10572 }, [rel, setAttributes]); 10573 10574 const setButtonText = newText => { 10575 // Remove anchor tags from button text content. 10576 setAttributes({ 10577 text: newText.replace(/<\/?a[^>]*>/g, '') 10578 }); 10579 }; 10580 10581 const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; 10582 const colorProps = Object(external_wp_blockEditor_["__experimentalUseColorProps"])(attributes); 10583 const ref = Object(external_wp_element_["useRef"])(); 10584 const richTextRef = Object(external_wp_element_["useRef"])(); 10585 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 10586 ref 10587 }); 10588 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { 10589 className: classnames_default()(blockProps.className, { 10590 [`has-custom-width wp-block-button__width-${width}`]: width, 10591 [`has-custom-font-size`]: blockProps.style.fontSize 10592 }) 10593 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 10594 ref: richTextRef, 10595 "aria-label": Object(external_wp_i18n_["__"])('Button text'), 10596 placeholder: placeholder || Object(external_wp_i18n_["__"])('Add text…'), 10597 value: text, 10598 onChange: value => setButtonText(value), 10599 withoutInteractiveFormatting: true, 10600 className: classnames_default()(className, 'wp-block-button__link', colorProps.className, { 10601 'no-border-radius': borderRadius === 0 10602 }), 10603 style: { 10604 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 10605 ...colorProps.style 10606 }, 10607 onSplit: value => Object(external_wp_blocks_["createBlock"])('core/button', { ...attributes, 10608 text: value 10609 }), 10610 onReplace: onReplace, 10611 onMerge: mergeBlocks, 10612 identifier: "text" 10613 })), Object(external_wp_element_["createElement"])(URLPicker, { 10614 url: url, 10615 setAttributes: setAttributes, 10616 isSelected: isSelected, 10617 opensInNewTab: linkTarget === '_blank', 10618 onToggleOpenInNewTab: onToggleOpenInNewTab, 10619 anchorRef: ref, 10620 richTextRef: richTextRef 10621 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(WidthPanel, { 10622 selectedWidth: width, 10623 setAttributes: setAttributes 10624 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 10625 label: Object(external_wp_i18n_["__"])('Link rel'), 10626 value: rel || '', 10627 onChange: onSetLinkRel 10628 }))); 10629 } 10630 10631 /* harmony default export */ var button_edit = (ButtonEdit); 10632 10633 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/save.js 10634 10635 10636 /** 10637 * External dependencies 10638 */ 10639 10640 /** 10641 * WordPress dependencies 10642 */ 10643 10644 10645 function button_save_save({ 10646 attributes, 10647 className 10648 }) { 10649 var _style$border, _style$typography; 10650 10651 const { 10652 fontSize, 10653 linkTarget, 10654 rel, 10655 style, 10656 text, 10657 title, 10658 url, 10659 width 10660 } = attributes; 10661 10662 if (!text) { 10663 return null; 10664 } 10665 10666 const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; 10667 const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); 10668 const buttonClasses = classnames_default()('wp-block-button__link', colorProps.className, { 10669 'no-border-radius': borderRadius === 0 10670 }); 10671 const buttonStyle = { 10672 borderRadius: borderRadius ? borderRadius + 'px' : undefined, 10673 ...colorProps.style 10674 }; // The use of a `title` attribute here is soft-deprecated, but still applied 10675 // if it had already been assigned, for the sake of backward-compatibility. 10676 // A title will no longer be assigned for new or updated button block links. 10677 10678 const wrapperClasses = classnames_default()(className, { 10679 [`has-custom-width wp-block-button__width-${width}`]: width, 10680 [`has-custom-font-size`]: fontSize || (style === null || style === void 0 ? void 0 : (_style$typography = style.typography) === null || _style$typography === void 0 ? void 0 : _style$typography.fontSize) 10681 }); 10682 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 10683 className: wrapperClasses 10684 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 10685 tagName: "a", 10686 className: buttonClasses, 10687 href: url, 10688 title: title, 10689 style: buttonStyle, 10690 value: text, 10691 target: linkTarget, 10692 rel: rel 10693 })); 10694 } 10695 10696 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/button/index.js 10697 /** 10698 * WordPress dependencies 10699 */ 10700 10701 10702 /** 10703 * Internal dependencies 10704 */ 10705 10706 10707 10708 const button_metadata = { 10709 apiVersion: 2, 10710 name: "core/button", 10711 title: "Button", 10712 category: "design", 10713 parent: ["core/buttons"], 10714 description: "Prompt visitors to take action with a button-style link.", 10715 keywords: ["link"], 10716 textdomain: "default", 10717 attributes: { 10718 url: { 10719 type: "string", 10720 source: "attribute", 10721 selector: "a", 10722 attribute: "href" 10723 }, 10724 title: { 10725 type: "string", 10726 source: "attribute", 10727 selector: "a", 10728 attribute: "title" 10729 }, 10730 text: { 10731 type: "string", 10732 source: "html", 10733 selector: "a" 10734 }, 10735 linkTarget: { 10736 type: "string", 10737 source: "attribute", 10738 selector: "a", 10739 attribute: "target" 10740 }, 10741 rel: { 10742 type: "string", 10743 source: "attribute", 10744 selector: "a", 10745 attribute: "rel" 10746 }, 10747 placeholder: { 10748 type: "string" 10749 }, 10750 backgroundColor: { 10751 type: "string" 10752 }, 10753 textColor: { 10754 type: "string" 10755 }, 10756 gradient: { 10757 type: "string" 10758 }, 10759 width: { 10760 type: "number" 10761 } 10762 }, 10763 supports: { 10764 anchor: true, 10765 align: true, 10766 alignWide: false, 10767 color: { 10768 __experimentalSkipSerialization: true, 10769 gradients: true 10770 }, 10771 typography: { 10772 fontSize: true, 10773 __experimentalFontFamily: true 10774 }, 10775 reusable: false, 10776 __experimentalBorder: { 10777 radius: true, 10778 __experimentalSkipSerialization: true 10779 }, 10780 __experimentalSelector: ".wp-block-button__link" 10781 }, 10782 styles: [{ 10783 name: "fill", 10784 label: "Fill", 10785 isDefault: true 10786 }, { 10787 name: "outline", 10788 label: "Outline" 10789 }], 10790 editorStyle: "wp-block-button-editor", 10791 style: "wp-block-button" 10792 }; 10793 10794 const { 10795 name: button_name 10796 } = button_metadata; 10797 10798 const button_settings = { 10799 icon: library_button["a" /* default */], 10800 example: { 10801 attributes: { 10802 className: 'is-style-fill', 10803 backgroundColor: 'vivid-green-cyan', 10804 text: Object(external_wp_i18n_["__"])('Call to Action') 10805 } 10806 }, 10807 edit: button_edit, 10808 save: button_save_save, 10809 deprecated: button_deprecated, 10810 merge: (a, { 10811 text = '' 10812 }) => ({ ...a, 10813 text: (a.text || '') + text 10814 }) 10815 }; 10816 10817 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/edit.js 10818 10819 10820 /** 10821 * External dependencies 10822 */ 10823 10824 /** 10825 * WordPress dependencies 10826 */ 10827 10828 10829 /** 10830 * Internal dependencies 10831 */ 10832 10833 10834 const ALLOWED_BLOCKS = [button_name]; 10835 const BUTTONS_TEMPLATE = [['core/button']]; 10836 const LAYOUT = { 10837 type: 'default', 10838 alignments: [] 10839 }; 10840 const VERTICAL_JUSTIFY_CONTROLS = ['left', 'center', 'right']; 10841 const HORIZONTAL_JUSTIFY_CONTROLS = ['left', 'center', 'right', 'space-between']; 10842 10843 function ButtonsEdit({ 10844 attributes: { 10845 contentJustification, 10846 orientation 10847 }, 10848 setAttributes 10849 }) { 10850 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 10851 className: classnames_default()({ 10852 [`is-content-justification-${contentJustification}`]: contentJustification, 10853 'is-vertical': orientation === 'vertical' 10854 }) 10855 }); 10856 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { 10857 allowedBlocks: ALLOWED_BLOCKS, 10858 template: BUTTONS_TEMPLATE, 10859 orientation, 10860 __experimentalLayout: LAYOUT, 10861 templateInsertUpdatesSelection: true 10862 }); 10863 const justifyControls = orientation === 'vertical' ? VERTICAL_JUSTIFY_CONTROLS : HORIZONTAL_JUSTIFY_CONTROLS; 10864 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 10865 group: "block" 10866 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["JustifyContentControl"], { 10867 allowedControls: justifyControls, 10868 value: contentJustification, 10869 onChange: value => setAttributes({ 10870 contentJustification: value 10871 }), 10872 popoverProps: { 10873 position: 'bottom right', 10874 isAlternate: true 10875 } 10876 })), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); 10877 } 10878 10879 /* harmony default export */ var buttons_edit = (ButtonsEdit); 10880 10881 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/save.js 10882 10883 10884 /** 10885 * External dependencies 10886 */ 10887 10888 /** 10889 * WordPress dependencies 10890 */ 10891 10892 10893 function buttons_save_save({ 10894 attributes: { 10895 contentJustification, 10896 orientation 10897 } 10898 }) { 10899 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 10900 className: classnames_default()({ 10901 [`is-content-justification-${contentJustification}`]: contentJustification, 10902 'is-vertical': orientation === 'vertical' 10903 }) 10904 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 10905 } 10906 10907 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/variations.js 10908 /** 10909 * WordPress dependencies 10910 */ 10911 10912 const variations_variations = [{ 10913 name: 'buttons-horizontal', 10914 isDefault: true, 10915 title: Object(external_wp_i18n_["__"])('Horizontal'), 10916 description: Object(external_wp_i18n_["__"])('Buttons shown in a row.'), 10917 attributes: { 10918 orientation: 'horizontal' 10919 }, 10920 scope: ['transform'] 10921 }, { 10922 name: 'buttons-vertical', 10923 title: Object(external_wp_i18n_["__"])('Vertical'), 10924 description: Object(external_wp_i18n_["__"])('Buttons shown in a column.'), 10925 attributes: { 10926 orientation: 'vertical' 10927 }, 10928 scope: ['transform'] 10929 }]; 10930 /* harmony default export */ var buttons_variations = (variations_variations); 10931 10932 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/buttons/index.js 10933 /** 10934 * WordPress dependencies 10935 */ 10936 10937 10938 /** 10939 * Internal dependencies 10940 */ 10941 10942 10943 10944 10945 const buttons_metadata = { 10946 apiVersion: 2, 10947 name: "core/buttons", 10948 title: "Buttons", 10949 category: "design", 10950 description: "Prompt visitors to take action with a group of button-style links.", 10951 keywords: ["link"], 10952 textdomain: "default", 10953 attributes: { 10954 contentJustification: { 10955 type: "string" 10956 }, 10957 orientation: { 10958 type: "string", 10959 "default": "horizontal" 10960 } 10961 }, 10962 supports: { 10963 anchor: true, 10964 align: ["wide", "full"] 10965 }, 10966 editorStyle: "wp-block-buttons-editor", 10967 style: "wp-block-buttons" 10968 }; 10969 10970 10971 const { 10972 name: buttons_name 10973 } = buttons_metadata; 10974 10975 const buttons_settings = { 10976 icon: library_buttons, 10977 example: { 10978 innerBlocks: [{ 10979 name: 'core/button', 10980 attributes: { 10981 text: Object(external_wp_i18n_["__"])('Find out more') 10982 } 10983 }, { 10984 name: 'core/button', 10985 attributes: { 10986 text: Object(external_wp_i18n_["__"])('Contact us') 10987 } 10988 }] 10989 }, 10990 deprecated: buttons_deprecated, 10991 transforms: buttons_transforms, 10992 edit: buttons_edit, 10993 save: buttons_save_save, 10994 variations: buttons_variations 10995 }; 10996 10997 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/calendar.js 10998 10999 11000 /** 11001 * WordPress dependencies 11002 */ 11003 11004 const calendar = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 11005 viewBox: "0 0 24 24", 11006 xmlns: "http://www.w3.org/2000/svg" 11007 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 11008 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" 11009 })); 11010 /* harmony default export */ var library_calendar = (calendar); 11011 11012 // EXTERNAL MODULE: external "moment" 11013 var external_moment_ = __webpack_require__("wy2R"); 11014 var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_); 11015 11016 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/edit.js 11017 11018 11019 /** 11020 * External dependencies 11021 */ 11022 11023 11024 /** 11025 * WordPress dependencies 11026 */ 11027 11028 11029 11030 11031 11032 const getYearMonth = memize_default()(date => { 11033 if (!date) { 11034 return {}; 11035 } 11036 11037 const momentDate = external_moment_default()(date); 11038 return { 11039 year: momentDate.year(), 11040 month: momentDate.month() + 1 11041 }; 11042 }); 11043 function CalendarEdit({ 11044 attributes 11045 }) { 11046 const date = Object(external_wp_data_["useSelect"])(select => { 11047 // FIXME: @wordpress/block-library should not depend on @wordpress/editor. 11048 // Blocks can be loaded into a *non-post* block editor. 11049 // eslint-disable-next-line @wordpress/data-no-store-string-literals 11050 const editorSelectors = select('core/editor'); 11051 11052 let _date; 11053 11054 if (editorSelectors) { 11055 const postType = editorSelectors.getEditedPostAttribute('type'); // Dates are used to overwrite year and month used on the calendar. 11056 // This overwrite should only happen for 'post' post types. 11057 // For other post types the calendar always displays the current month. 11058 11059 if (postType === 'post') { 11060 _date = editorSelectors.getEditedPostAttribute('date'); 11061 } 11062 } 11063 11064 return _date; 11065 }, []); 11066 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 11067 block: "core/calendar", 11068 attributes: { ...attributes, 11069 ...getYearMonth(date) 11070 } 11071 }))); 11072 } 11073 11074 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/calendar/index.js 11075 /** 11076 * WordPress dependencies 11077 */ 11078 11079 /** 11080 * Internal dependencies 11081 */ 11082 11083 const calendar_metadata = { 11084 apiVersion: 2, 11085 name: "core/calendar", 11086 title: "Calendar", 11087 category: "widgets", 11088 description: "A calendar of your site\u2019s posts.", 11089 keywords: ["posts", "archive"], 11090 textdomain: "default", 11091 attributes: { 11092 month: { 11093 type: "integer" 11094 }, 11095 year: { 11096 type: "integer" 11097 } 11098 }, 11099 supports: { 11100 align: true 11101 }, 11102 style: "wp-block-calendar" 11103 }; 11104 11105 const { 11106 name: calendar_name 11107 } = calendar_metadata; 11108 11109 const calendar_settings = { 11110 icon: library_calendar, 11111 example: {}, 11112 edit: CalendarEdit 11113 }; 11114 11115 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/category.js 11116 11117 11118 /** 11119 * WordPress dependencies 11120 */ 11121 11122 const category_category = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 11123 viewBox: "0 0 24 24", 11124 xmlns: "http://www.w3.org/2000/svg" 11125 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 11126 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", 11127 fillRule: "evenodd", 11128 clipRule: "evenodd" 11129 })); 11130 /* harmony default export */ var library_category = (category_category); 11131 11132 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pin.js 11133 11134 11135 /** 11136 * WordPress dependencies 11137 */ 11138 11139 const pin = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 11140 xmlns: "http://www.w3.org/2000/svg", 11141 viewBox: "-2 -2 24 24" 11142 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 11143 d: "M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z" 11144 })); 11145 /* harmony default export */ var library_pin = (pin); 11146 11147 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/edit.js 11148 11149 11150 /** 11151 * External dependencies 11152 */ 11153 11154 /** 11155 * WordPress dependencies 11156 */ 11157 11158 11159 11160 11161 11162 11163 11164 11165 function CategoriesEdit({ 11166 attributes: { 11167 displayAsDropdown, 11168 showHierarchy, 11169 showPostCounts 11170 }, 11171 setAttributes 11172 }) { 11173 const selectId = Object(external_wp_compose_["useInstanceId"])(CategoriesEdit, 'blocks-category-select'); 11174 const { 11175 categories, 11176 isRequesting 11177 } = Object(external_wp_data_["useSelect"])(select => { 11178 const { 11179 getEntityRecords 11180 } = select(external_wp_coreData_["store"]); 11181 const { 11182 isResolving 11183 } = select('core/data'); 11184 const query = { 11185 per_page: -1, 11186 hide_empty: true, 11187 context: 'view' 11188 }; 11189 return { 11190 categories: getEntityRecords('taxonomy', 'category', query), 11191 isRequesting: isResolving('core', 'getEntityRecords', ['taxonomy', 'category', query]) 11192 }; 11193 }, []); 11194 11195 const getCategoriesList = parentId => { 11196 if (!(categories !== null && categories !== void 0 && categories.length)) { 11197 return []; 11198 } 11199 11200 if (parentId === null) { 11201 return categories; 11202 } 11203 11204 return categories.filter(({ 11205 parent 11206 }) => parent === parentId); 11207 }; 11208 11209 const getCategoryListClassName = level => { 11210 return `wp-block-categories__list wp-block-categories__list-level-${level}`; 11211 }; 11212 11213 const toggleAttribute = attributeName => newValue => setAttributes({ 11214 [attributeName]: newValue 11215 }); 11216 11217 const renderCategoryName = name => !name ? Object(external_wp_i18n_["__"])('(Untitled)') : Object(external_lodash_["unescape"])(name).trim(); 11218 11219 const renderCategoryList = () => { 11220 const parentId = showHierarchy ? 0 : null; 11221 const categoriesList = getCategoriesList(parentId); 11222 return Object(external_wp_element_["createElement"])("ul", { 11223 className: getCategoryListClassName(0) 11224 }, categoriesList.map(category => renderCategoryListItem(category, 0))); 11225 }; 11226 11227 const renderCategoryListItem = (category, level) => { 11228 const childCategories = getCategoriesList(category.id); 11229 const { 11230 id, 11231 link, 11232 count, 11233 name 11234 } = category; 11235 return Object(external_wp_element_["createElement"])("li", { 11236 key: id 11237 }, Object(external_wp_element_["createElement"])("a", { 11238 href: link, 11239 target: "_blank", 11240 rel: "noreferrer noopener" 11241 }, renderCategoryName(name)), showPostCounts && Object(external_wp_element_["createElement"])("span", { 11242 className: "wp-block-categories__post-count" 11243 }, ` (${count})`), showHierarchy && !!childCategories.length && Object(external_wp_element_["createElement"])("ul", { 11244 className: getCategoryListClassName(level + 1) 11245 }, childCategories.map(childCategory => renderCategoryListItem(childCategory, level + 1)))); 11246 }; 11247 11248 const renderCategoryDropdown = () => { 11249 const parentId = showHierarchy ? 0 : null; 11250 const categoriesList = getCategoriesList(parentId); 11251 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["VisuallyHidden"], { 11252 as: "label", 11253 htmlFor: selectId 11254 }, Object(external_wp_i18n_["__"])('Categories')), Object(external_wp_element_["createElement"])("select", { 11255 id: selectId, 11256 className: "wp-block-categories__dropdown" 11257 }, categoriesList.map(category => renderCategoryDropdownItem(category, 0)))); 11258 }; 11259 11260 const renderCategoryDropdownItem = (category, level) => { 11261 const { 11262 id, 11263 count, 11264 name 11265 } = category; 11266 const childCategories = getCategoriesList(id); 11267 return [Object(external_wp_element_["createElement"])("option", { 11268 key: id 11269 }, Object(external_lodash_["times"])(level * 3, () => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))]; 11270 }; 11271 11272 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 11273 title: Object(external_wp_i18n_["__"])('Categories settings') 11274 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 11275 label: Object(external_wp_i18n_["__"])('Display as dropdown'), 11276 checked: displayAsDropdown, 11277 onChange: toggleAttribute('displayAsDropdown') 11278 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 11279 label: Object(external_wp_i18n_["__"])('Show hierarchy'), 11280 checked: showHierarchy, 11281 onChange: toggleAttribute('showHierarchy') 11282 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 11283 label: Object(external_wp_i18n_["__"])('Show post counts'), 11284 checked: showPostCounts, 11285 onChange: toggleAttribute('showPostCounts') 11286 }))), isRequesting && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 11287 icon: library_pin, 11288 label: Object(external_wp_i18n_["__"])('Categories') 11289 }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) === 0 && Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Your site does not have any posts, so there is nothing to display here at the moment.')), !isRequesting && (categories === null || categories === void 0 ? void 0 : categories.length) > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())); 11290 } 11291 11292 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/categories/index.js 11293 /** 11294 * WordPress dependencies 11295 */ 11296 11297 /** 11298 * Internal dependencies 11299 */ 11300 11301 const categories_metadata = { 11302 apiVersion: 2, 11303 name: "core/categories", 11304 title: "Categories", 11305 category: "widgets", 11306 description: "Display a list of all categories.", 11307 textdomain: "default", 11308 attributes: { 11309 displayAsDropdown: { 11310 type: "boolean", 11311 "default": false 11312 }, 11313 showHierarchy: { 11314 type: "boolean", 11315 "default": false 11316 }, 11317 showPostCounts: { 11318 type: "boolean", 11319 "default": false 11320 } 11321 }, 11322 supports: { 11323 align: true, 11324 html: false 11325 }, 11326 editorStyle: "wp-block-categories-editor", 11327 style: "wp-block-categories" 11328 }; 11329 11330 const { 11331 name: categories_name 11332 } = categories_metadata; 11333 11334 const categories_settings = { 11335 icon: library_category, 11336 example: {}, 11337 edit: CategoriesEdit 11338 }; 11339 11340 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/code.js 11341 var code = __webpack_require__("1Yn1"); 11342 11343 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/edit.js 11344 11345 11346 /** 11347 * WordPress dependencies 11348 */ 11349 11350 11351 function CodeEdit({ 11352 attributes, 11353 setAttributes, 11354 onRemove 11355 }) { 11356 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 11357 return Object(external_wp_element_["createElement"])("pre", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 11358 tagName: "code", 11359 value: attributes.content, 11360 onChange: content => setAttributes({ 11361 content 11362 }), 11363 onRemove: onRemove, 11364 placeholder: Object(external_wp_i18n_["__"])('Write code…'), 11365 "aria-label": Object(external_wp_i18n_["__"])('Code'), 11366 preserveWhiteSpace: true, 11367 __unstablePastePlainText: true 11368 })); 11369 } 11370 11371 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/utils.js 11372 /** 11373 * External dependencies 11374 */ 11375 11376 /** 11377 * Escapes ampersands, shortcodes, and links. 11378 * 11379 * @param {string} content The content of a code block. 11380 * @return {string} The given content with some characters escaped. 11381 */ 11382 11383 function utils_escape(content) { 11384 return Object(external_lodash_["flow"])(escapeOpeningSquareBrackets, escapeProtocolInIsolatedUrls)(content || ''); 11385 } 11386 /** 11387 * Returns the given content with all opening shortcode characters converted 11388 * into their HTML entity counterpart (i.e. [ => [). For instance, a 11389 * shortcode like [embed] becomes [embed] 11390 * 11391 * This function replicates the escaping of HTML tags, where a tag like 11392 * <strong> becomes <strong>. 11393 * 11394 * @param {string} content The content of a code block. 11395 * @return {string} The given content with its opening shortcode characters 11396 * converted into their HTML entity counterpart 11397 * (i.e. [ => [) 11398 */ 11399 11400 function escapeOpeningSquareBrackets(content) { 11401 return content.replace(/\[/g, '['); 11402 } 11403 /** 11404 * Converts the first two forward slashes of any isolated URL into their HTML 11405 * counterparts (i.e. // => //). For instance, https://youtube.com/watch?x 11406 * becomes https://youtube.com/watch?x. 11407 * 11408 * An isolated URL is a URL that sits in its own line, surrounded only by spacing 11409 * characters. 11410 * 11411 * See https://github.com/WordPress/wordpress-develop/blob/5.1.1/src/wp-includes/class-wp-embed.php#L403 11412 * 11413 * @param {string} content The content of a code block. 11414 * @return {string} The given content with its ampersands converted into 11415 * their HTML entity counterpart (i.e. & => &) 11416 */ 11417 11418 11419 function escapeProtocolInIsolatedUrls(content) { 11420 return content.replace(/^(\s*https?:)\/\/([^\s<>"]+\s*)$/m, '$1//$2'); 11421 } 11422 11423 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/save.js 11424 11425 11426 /** 11427 * WordPress dependencies 11428 */ 11429 11430 /** 11431 * Internal dependencies 11432 */ 11433 11434 11435 function code_save_save({ 11436 attributes 11437 }) { 11438 return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 11439 tagName: "code", 11440 value: utils_escape(attributes.content) 11441 })); 11442 } 11443 11444 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/transforms.js 11445 /** 11446 * WordPress dependencies 11447 */ 11448 11449 const code_transforms_transforms = { 11450 from: [{ 11451 type: 'enter', 11452 regExp: /^```$/, 11453 transform: () => Object(external_wp_blocks_["createBlock"])('core/code') 11454 }, { 11455 type: 'block', 11456 blocks: ['core/html'], 11457 transform: ({ 11458 content 11459 }) => { 11460 return Object(external_wp_blocks_["createBlock"])('core/code', { 11461 content 11462 }); 11463 } 11464 }, { 11465 type: 'raw', 11466 isMatch: node => node.nodeName === 'PRE' && node.children.length === 1 && node.firstChild.nodeName === 'CODE', 11467 schema: { 11468 pre: { 11469 children: { 11470 code: { 11471 children: { 11472 '#text': {} 11473 } 11474 } 11475 } 11476 } 11477 } 11478 }] 11479 }; 11480 /* harmony default export */ var code_transforms = (code_transforms_transforms); 11481 11482 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/code/index.js 11483 /** 11484 * WordPress dependencies 11485 */ 11486 11487 11488 /** 11489 * Internal dependencies 11490 */ 11491 11492 11493 const code_metadata = { 11494 apiVersion: 2, 11495 name: "core/code", 11496 title: "Code", 11497 category: "text", 11498 description: "Display code snippets that respect your spacing and tabs.", 11499 textdomain: "default", 11500 attributes: { 11501 content: { 11502 type: "string", 11503 source: "html", 11504 selector: "code" 11505 } 11506 }, 11507 supports: { 11508 anchor: true, 11509 typography: { 11510 fontSize: true 11511 } 11512 }, 11513 style: "wp-block-code" 11514 }; 11515 11516 11517 const { 11518 name: code_name 11519 } = code_metadata; 11520 11521 const code_settings = { 11522 icon: code["a" /* default */], 11523 example: { 11524 attributes: { 11525 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 11526 // translators: Preserve \n markers for line breaks 11527 content: Object(external_wp_i18n_["__"])('// 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 );') 11528 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 11529 11530 } 11531 }, 11532 transforms: code_transforms, 11533 edit: CodeEdit, 11534 save: code_save_save 11535 }; 11536 11537 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/columns.js 11538 11539 11540 /** 11541 * WordPress dependencies 11542 */ 11543 11544 const columns_columns = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 11545 viewBox: "0 0 24 24", 11546 xmlns: "http://www.w3.org/2000/svg" 11547 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 11548 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-2zm-4.1 1.5v10H10v-10h4.9zM5.5 17V8c0-.3.2-.5.5-.5h2.5v10H6c-.3 0-.5-.2-.5-.5zm14 0c0 .3-.2.5-.5.5h-2.6v-10H19c.3 0 .5.2.5.5v9z" 11549 })); 11550 /* harmony default export */ var library_columns = (columns_columns); 11551 11552 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/deprecated.js 11553 11554 11555 /** 11556 * External dependencies 11557 */ 11558 11559 11560 /** 11561 * WordPress dependencies 11562 */ 11563 11564 11565 11566 /** 11567 * Given an HTML string for a deprecated columns inner block, returns the 11568 * column index to which the migrated inner block should be assigned. Returns 11569 * undefined if the inner block was not assigned to a column. 11570 * 11571 * @param {string} originalContent Deprecated Columns inner block HTML. 11572 * 11573 * @return {?number} Column to which inner block is to be assigned. 11574 */ 11575 11576 function getDeprecatedLayoutColumn(originalContent) { 11577 let { 11578 doc 11579 } = getDeprecatedLayoutColumn; 11580 11581 if (!doc) { 11582 doc = document.implementation.createHTMLDocument(''); 11583 getDeprecatedLayoutColumn.doc = doc; 11584 } 11585 11586 let columnMatch; 11587 doc.body.innerHTML = originalContent; 11588 11589 for (const classListItem of doc.body.firstChild.classList) { 11590 if (columnMatch = classListItem.match(/^layout-column-(\d+)$/)) { 11591 return Number(columnMatch[1]) - 1; 11592 } 11593 } 11594 } 11595 11596 const deprecated_migrateCustomColors = attributes => { 11597 if (!attributes.customTextColor && !attributes.customBackgroundColor) { 11598 return attributes; 11599 } 11600 11601 const style = { 11602 color: {} 11603 }; 11604 11605 if (attributes.customTextColor) { 11606 style.color.text = attributes.customTextColor; 11607 } 11608 11609 if (attributes.customBackgroundColor) { 11610 style.color.background = attributes.customBackgroundColor; 11611 } 11612 11613 return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor']), 11614 style 11615 }; 11616 }; 11617 11618 /* harmony default export */ var columns_deprecated = ([{ 11619 attributes: { 11620 verticalAlignment: { 11621 type: 'string' 11622 }, 11623 backgroundColor: { 11624 type: 'string' 11625 }, 11626 customBackgroundColor: { 11627 type: 'string' 11628 }, 11629 customTextColor: { 11630 type: 'string' 11631 }, 11632 textColor: { 11633 type: 'string' 11634 } 11635 }, 11636 migrate: deprecated_migrateCustomColors, 11637 11638 save({ 11639 attributes 11640 }) { 11641 const { 11642 verticalAlignment, 11643 backgroundColor, 11644 customBackgroundColor, 11645 textColor, 11646 customTextColor 11647 } = attributes; 11648 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 11649 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 11650 const className = classnames_default()({ 11651 'has-background': backgroundColor || customBackgroundColor, 11652 'has-text-color': textColor || customTextColor, 11653 [backgroundClass]: backgroundClass, 11654 [textClass]: textClass, 11655 [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment 11656 }); 11657 const style = { 11658 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 11659 color: textClass ? undefined : customTextColor 11660 }; 11661 return Object(external_wp_element_["createElement"])("div", { 11662 className: className ? className : undefined, 11663 style: style 11664 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 11665 } 11666 11667 }, { 11668 attributes: { 11669 columns: { 11670 type: 'number', 11671 default: 2 11672 } 11673 }, 11674 11675 isEligible(attributes, innerBlocks) { 11676 // Since isEligible is called on every valid instance of the 11677 // Columns block and a deprecation is the unlikely case due to 11678 // its subsequent migration, optimize for the `false` condition 11679 // by performing a naive, inaccurate pass at inner blocks. 11680 const isFastPassEligible = innerBlocks.some(innerBlock => /layout-column-\d+/.test(innerBlock.originalContent)); 11681 11682 if (!isFastPassEligible) { 11683 return false; 11684 } // Only if the fast pass is considered eligible is the more 11685 // accurate, durable, slower condition performed. 11686 11687 11688 return innerBlocks.some(innerBlock => getDeprecatedLayoutColumn(innerBlock.originalContent) !== undefined); 11689 }, 11690 11691 migrate(attributes, innerBlocks) { 11692 const columns = innerBlocks.reduce((accumulator, innerBlock) => { 11693 const { 11694 originalContent 11695 } = innerBlock; 11696 let columnIndex = getDeprecatedLayoutColumn(originalContent); 11697 11698 if (columnIndex === undefined) { 11699 columnIndex = 0; 11700 } 11701 11702 if (!accumulator[columnIndex]) { 11703 accumulator[columnIndex] = []; 11704 } 11705 11706 accumulator[columnIndex].push(innerBlock); 11707 return accumulator; 11708 }, []); 11709 const migratedInnerBlocks = columns.map(columnBlocks => Object(external_wp_blocks_["createBlock"])('core/column', {}, columnBlocks)); 11710 return [Object(external_lodash_["omit"])(attributes, ['columns']), migratedInnerBlocks]; 11711 }, 11712 11713 save({ 11714 attributes 11715 }) { 11716 const { 11717 columns 11718 } = attributes; 11719 return Object(external_wp_element_["createElement"])("div", { 11720 className: `has-${columns}-columns` 11721 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 11722 } 11723 11724 }, { 11725 attributes: { 11726 columns: { 11727 type: 'number', 11728 default: 2 11729 } 11730 }, 11731 11732 migrate(attributes, innerBlocks) { 11733 attributes = Object(external_lodash_["omit"])(attributes, ['columns']); 11734 return [attributes, innerBlocks]; 11735 }, 11736 11737 save({ 11738 attributes 11739 }) { 11740 const { 11741 verticalAlignment, 11742 columns 11743 } = attributes; 11744 const wrapperClasses = classnames_default()(`has-${columns}-columns`, { 11745 [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment 11746 }); 11747 return Object(external_wp_element_["createElement"])("div", { 11748 className: wrapperClasses 11749 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 11750 } 11751 11752 }]); 11753 11754 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/utils.js 11755 /** 11756 * External dependencies 11757 */ 11758 11759 /** 11760 * Returns a column width attribute value rounded to standard precision. 11761 * Returns `undefined` if the value is not a valid finite number. 11762 * 11763 * @param {?number} value Raw value. 11764 * 11765 * @return {number} Value rounded to standard precision. 11766 */ 11767 11768 const toWidthPrecision = value => { 11769 const unitlessValue = parseFloat(value); 11770 return Number.isFinite(unitlessValue) ? parseFloat(unitlessValue.toFixed(2)) : undefined; 11771 }; 11772 /** 11773 * Returns an effective width for a given block. An effective width is equal to 11774 * its attribute value if set, or a computed value assuming equal distribution. 11775 * 11776 * @param {WPBlock} block Block object. 11777 * @param {number} totalBlockCount Total number of blocks in Columns. 11778 * 11779 * @return {number} Effective column width. 11780 */ 11781 11782 function getEffectiveColumnWidth(block, totalBlockCount) { 11783 const { 11784 width = 100 / totalBlockCount 11785 } = block.attributes; 11786 return toWidthPrecision(width); 11787 } 11788 /** 11789 * Returns the total width occupied by the given set of column blocks. 11790 * 11791 * @param {WPBlock[]} blocks Block objects. 11792 * @param {?number} totalBlockCount Total number of blocks in Columns. 11793 * Defaults to number of blocks passed. 11794 * 11795 * @return {number} Total width occupied by blocks. 11796 */ 11797 11798 function getTotalColumnsWidth(blocks, totalBlockCount = blocks.length) { 11799 return Object(external_lodash_["sumBy"])(blocks, block => getEffectiveColumnWidth(block, totalBlockCount)); 11800 } 11801 /** 11802 * Returns an object of `clientId` → `width` of effective column widths. 11803 * 11804 * @param {WPBlock[]} blocks Block objects. 11805 * @param {?number} totalBlockCount Total number of blocks in Columns. 11806 * Defaults to number of blocks passed. 11807 * 11808 * @return {Object<string,number>} Column widths. 11809 */ 11810 11811 function getColumnWidths(blocks, totalBlockCount = blocks.length) { 11812 return blocks.reduce((accumulator, block) => { 11813 const width = getEffectiveColumnWidth(block, totalBlockCount); 11814 return Object.assign(accumulator, { 11815 [block.clientId]: width 11816 }); 11817 }, {}); 11818 } 11819 /** 11820 * Returns an object of `clientId` → `width` of column widths as redistributed 11821 * proportional to their current widths, constrained or expanded to fit within 11822 * the given available width. 11823 * 11824 * @param {WPBlock[]} blocks Block objects. 11825 * @param {number} availableWidth Maximum width to fit within. 11826 * @param {?number} totalBlockCount Total number of blocks in Columns. 11827 * Defaults to number of blocks passed. 11828 * 11829 * @return {Object<string,number>} Redistributed column widths. 11830 */ 11831 11832 function getRedistributedColumnWidths(blocks, availableWidth, totalBlockCount = blocks.length) { 11833 const totalWidth = getTotalColumnsWidth(blocks, totalBlockCount); 11834 return Object(external_lodash_["mapValues"])(getColumnWidths(blocks, totalBlockCount), width => { 11835 const newWidth = availableWidth * width / totalWidth; 11836 return toWidthPrecision(newWidth); 11837 }); 11838 } 11839 /** 11840 * Returns true if column blocks within the provided set are assigned with 11841 * explicit widths, or false otherwise. 11842 * 11843 * @param {WPBlock[]} blocks Block objects. 11844 * 11845 * @return {boolean} Whether columns have explicit widths. 11846 */ 11847 11848 function hasExplicitPercentColumnWidths(blocks) { 11849 return blocks.every(block => { 11850 var _blockWidth$endsWith; 11851 11852 const blockWidth = block.attributes.width; 11853 return Number.isFinite(blockWidth !== null && blockWidth !== void 0 && (_blockWidth$endsWith = blockWidth.endsWith) !== null && _blockWidth$endsWith !== void 0 && _blockWidth$endsWith.call(blockWidth, '%') ? parseFloat(blockWidth) : blockWidth); 11854 }); 11855 } 11856 /** 11857 * Returns a copy of the given set of blocks with new widths assigned from the 11858 * provided object of redistributed column widths. 11859 * 11860 * @param {WPBlock[]} blocks Block objects. 11861 * @param {Object<string,number>} widths Redistributed column widths. 11862 * 11863 * @return {WPBlock[]} blocks Mapped block objects. 11864 */ 11865 11866 function getMappedColumnWidths(blocks, widths) { 11867 return blocks.map(block => Object(external_lodash_["merge"])({}, block, { 11868 attributes: { 11869 width: widths[block.clientId] 11870 } 11871 })); 11872 } 11873 /** 11874 * Returns an array with columns widths values, parsed or no depends on `withParsing` flag. 11875 * 11876 * @param {WPBlock[]} blocks Block objects. 11877 * @param {?boolean} withParsing Whether value has to be parsed. 11878 * 11879 * @return {Array<number,string>} Column widths. 11880 */ 11881 11882 function getWidths(blocks, withParsing = true) { 11883 return blocks.map(innerColumn => { 11884 const innerColumnWidth = innerColumn.attributes.width || 100 / blocks.length; 11885 return withParsing ? parseFloat(innerColumnWidth) : innerColumnWidth; 11886 }); 11887 } 11888 /** 11889 * Returns a column width with unit. 11890 * 11891 * @param {string} width Column width. 11892 * @param {string} unit Column width unit. 11893 * 11894 * @return {string} Column width with unit. 11895 */ 11896 11897 function getWidthWithUnit(width, unit) { 11898 width = 0 > parseFloat(width) ? '0' : width; 11899 11900 if (isPercentageUnit(unit)) { 11901 width = Math.min(width, 100); 11902 } 11903 11904 return `${width}${unit}`; 11905 } 11906 /** 11907 * Returns a boolean whether passed unit is percentage 11908 * 11909 * @param {string} unit Column width unit. 11910 * 11911 * @return {boolean} Whether unit is '%'. 11912 */ 11913 11914 function isPercentageUnit(unit) { 11915 return unit === '%'; 11916 } 11917 11918 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/edit.js 11919 11920 11921 /** 11922 * External dependencies 11923 */ 11924 11925 11926 /** 11927 * WordPress dependencies 11928 */ 11929 11930 11931 11932 11933 11934 11935 /** 11936 * Internal dependencies 11937 */ 11938 11939 11940 /** 11941 * Allowed blocks constant is passed to InnerBlocks precisely as specified here. 11942 * The contents of the array should never change. 11943 * The array should contain the name of each block that is allowed. 11944 * In columns block, the only block we allow is 'core/column'. 11945 * 11946 * @constant 11947 * @type {string[]} 11948 */ 11949 11950 const edit_ALLOWED_BLOCKS = ['core/column']; 11951 11952 function ColumnsEditContainer({ 11953 attributes, 11954 updateAlignment, 11955 updateColumns, 11956 clientId 11957 }) { 11958 const { 11959 verticalAlignment 11960 } = attributes; 11961 const { 11962 count 11963 } = Object(external_wp_data_["useSelect"])(select => { 11964 return { 11965 count: select(external_wp_blockEditor_["store"]).getBlockCount(clientId) 11966 }; 11967 }, [clientId]); 11968 const classes = classnames_default()({ 11969 [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment 11970 }); 11971 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 11972 className: classes 11973 }); 11974 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { 11975 allowedBlocks: edit_ALLOWED_BLOCKS, 11976 orientation: 'horizontal', 11977 renderAppender: false 11978 }); 11979 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { 11980 onChange: updateAlignment, 11981 value: verticalAlignment 11982 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 11983 label: Object(external_wp_i18n_["__"])('Columns'), 11984 value: count, 11985 onChange: value => updateColumns(count, value), 11986 min: 1, 11987 max: Math.max(6, count) 11988 }), count > 6 && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { 11989 status: "warning", 11990 isDismissible: false 11991 }, Object(external_wp_i18n_["__"])('This column count exceeds the recommended amount and may cause visual breakage.')))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); 11992 } 11993 11994 const ColumnsEditContainerWrapper = Object(external_wp_data_["withDispatch"])((dispatch, ownProps, registry) => ({ 11995 /** 11996 * Update all child Column blocks with a new vertical alignment setting 11997 * based on whatever alignment is passed in. This allows change to parent 11998 * to overide anything set on a individual column basis. 11999 * 12000 * @param {string} verticalAlignment the vertical alignment setting 12001 */ 12002 updateAlignment(verticalAlignment) { 12003 const { 12004 clientId, 12005 setAttributes 12006 } = ownProps; 12007 const { 12008 updateBlockAttributes 12009 } = dispatch(external_wp_blockEditor_["store"]); 12010 const { 12011 getBlockOrder 12012 } = registry.select(external_wp_blockEditor_["store"]); // Update own alignment. 12013 12014 setAttributes({ 12015 verticalAlignment 12016 }); // Update all child Column Blocks to match 12017 12018 const innerBlockClientIds = getBlockOrder(clientId); 12019 innerBlockClientIds.forEach(innerBlockClientId => { 12020 updateBlockAttributes(innerBlockClientId, { 12021 verticalAlignment 12022 }); 12023 }); 12024 }, 12025 12026 /** 12027 * Updates the column count, including necessary revisions to child Column 12028 * blocks to grant required or redistribute available space. 12029 * 12030 * @param {number} previousColumns Previous column count. 12031 * @param {number} newColumns New column count. 12032 */ 12033 updateColumns(previousColumns, newColumns) { 12034 const { 12035 clientId 12036 } = ownProps; 12037 const { 12038 replaceInnerBlocks 12039 } = dispatch(external_wp_blockEditor_["store"]); 12040 const { 12041 getBlocks 12042 } = registry.select(external_wp_blockEditor_["store"]); 12043 let innerBlocks = getBlocks(clientId); 12044 const hasExplicitWidths = hasExplicitPercentColumnWidths(innerBlocks); // Redistribute available width for existing inner blocks. 12045 12046 const isAddingColumn = newColumns > previousColumns; 12047 12048 if (isAddingColumn && hasExplicitWidths) { 12049 // If adding a new column, assign width to the new column equal to 12050 // as if it were `1 / columns` of the total available space. 12051 const newColumnWidth = toWidthPrecision(100 / newColumns); // Redistribute in consideration of pending block insertion as 12052 // constraining the available working width. 12053 12054 const widths = getRedistributedColumnWidths(innerBlocks, 100 - newColumnWidth); 12055 innerBlocks = [...getMappedColumnWidths(innerBlocks, widths), ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { 12056 return Object(external_wp_blocks_["createBlock"])('core/column', { 12057 width: newColumnWidth 12058 }); 12059 })]; 12060 } else if (isAddingColumn) { 12061 innerBlocks = [...innerBlocks, ...Object(external_lodash_["times"])(newColumns - previousColumns, () => { 12062 return Object(external_wp_blocks_["createBlock"])('core/column'); 12063 })]; 12064 } else { 12065 // The removed column will be the last of the inner blocks. 12066 innerBlocks = Object(external_lodash_["dropRight"])(innerBlocks, previousColumns - newColumns); 12067 12068 if (hasExplicitWidths) { 12069 // Redistribute as if block is already removed. 12070 const widths = getRedistributedColumnWidths(innerBlocks, 100); 12071 innerBlocks = getMappedColumnWidths(innerBlocks, widths); 12072 } 12073 } 12074 12075 replaceInnerBlocks(clientId, innerBlocks); 12076 } 12077 12078 }))(ColumnsEditContainer); 12079 12080 function Placeholder({ 12081 clientId, 12082 name, 12083 setAttributes 12084 }) { 12085 const { 12086 blockType, 12087 defaultVariation, 12088 variations 12089 } = Object(external_wp_data_["useSelect"])(select => { 12090 const { 12091 getBlockVariations, 12092 getBlockType, 12093 getDefaultBlockVariation 12094 } = select(external_wp_blocks_["store"]); 12095 return { 12096 blockType: getBlockType(name), 12097 defaultVariation: getDefaultBlockVariation(name, 'block'), 12098 variations: getBlockVariations(name, 'block') 12099 }; 12100 }, [name]); 12101 const { 12102 replaceInnerBlocks 12103 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 12104 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 12105 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockVariationPicker"], { 12106 icon: Object(external_lodash_["get"])(blockType, ['icon', 'src']), 12107 label: Object(external_lodash_["get"])(blockType, ['title']), 12108 variations: variations, 12109 onSelect: (nextVariation = defaultVariation) => { 12110 if (nextVariation.attributes) { 12111 setAttributes(nextVariation.attributes); 12112 } 12113 12114 if (nextVariation.innerBlocks) { 12115 replaceInnerBlocks(clientId, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(nextVariation.innerBlocks), true); 12116 } 12117 }, 12118 allowSkip: true 12119 })); 12120 } 12121 12122 const ColumnsEdit = props => { 12123 const { 12124 clientId 12125 } = props; 12126 const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlocks(clientId).length > 0, [clientId]); 12127 const Component = hasInnerBlocks ? ColumnsEditContainerWrapper : Placeholder; 12128 return Object(external_wp_element_["createElement"])(Component, props); 12129 }; 12130 12131 /* harmony default export */ var columns_edit = (ColumnsEdit); 12132 12133 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/save.js 12134 12135 12136 /** 12137 * External dependencies 12138 */ 12139 12140 /** 12141 * WordPress dependencies 12142 */ 12143 12144 12145 function columns_save_save({ 12146 attributes 12147 }) { 12148 const { 12149 verticalAlignment 12150 } = attributes; 12151 const className = classnames_default()({ 12152 [`are-vertically-aligned-${verticalAlignment}`]: verticalAlignment 12153 }); 12154 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 12155 className 12156 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 12157 } 12158 12159 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/variations.js 12160 12161 12162 /** 12163 * WordPress dependencies 12164 */ 12165 12166 12167 /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ 12168 12169 /** 12170 * Template option choices for predefined columns layouts. 12171 * 12172 * @type {WPBlockVariation[]} 12173 */ 12174 12175 const columns_variations_variations = [{ 12176 name: 'one-column-full', 12177 title: Object(external_wp_i18n_["__"])('100'), 12178 description: Object(external_wp_i18n_["__"])('One column'), 12179 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12180 width: "48", 12181 height: "48", 12182 viewBox: "0 0 48 48", 12183 xmlns: "http://www.w3.org/2000/svg" 12184 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12185 fillRule: "evenodd", 12186 clipRule: "evenodd", 12187 d: "m39.0625 14h-30.0625v20.0938h30.0625zm-30.0625-2c-1.10457 0-2 .8954-2 2v20.0938c0 1.1045.89543 2 2 2h30.0625c1.1046 0 2-.8955 2-2v-20.0938c0-1.1046-.8954-2-2-2z" 12188 })), 12189 innerBlocks: [['core/column']], 12190 scope: ['block'] 12191 }, { 12192 name: 'two-columns-equal', 12193 title: Object(external_wp_i18n_["__"])('50 / 50'), 12194 description: Object(external_wp_i18n_["__"])('Two columns; equal split'), 12195 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12196 width: "48", 12197 height: "48", 12198 viewBox: "0 0 48 48", 12199 xmlns: "http://www.w3.org/2000/svg" 12200 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12201 fillRule: "evenodd", 12202 clipRule: "evenodd", 12203 d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H25V34H39ZM23 34H9V14H23V34Z" 12204 })), 12205 isDefault: true, 12206 innerBlocks: [['core/column'], ['core/column']], 12207 scope: ['block'] 12208 }, { 12209 name: 'two-columns-one-third-two-thirds', 12210 title: Object(external_wp_i18n_["__"])('30 / 70'), 12211 description: Object(external_wp_i18n_["__"])('Two columns; one-third, two-thirds split'), 12212 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12213 width: "48", 12214 height: "48", 12215 viewBox: "0 0 48 48", 12216 xmlns: "http://www.w3.org/2000/svg" 12217 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12218 fillRule: "evenodd", 12219 clipRule: "evenodd", 12220 d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H20V34H39ZM18 34H9V14H18V34Z" 12221 })), 12222 innerBlocks: [['core/column', { 12223 width: '33.33%' 12224 }], ['core/column', { 12225 width: '66.66%' 12226 }]], 12227 scope: ['block'] 12228 }, { 12229 name: 'two-columns-two-thirds-one-third', 12230 title: Object(external_wp_i18n_["__"])('70 / 30'), 12231 description: Object(external_wp_i18n_["__"])('Two columns; two-thirds, one-third split'), 12232 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12233 width: "48", 12234 height: "48", 12235 viewBox: "0 0 48 48", 12236 xmlns: "http://www.w3.org/2000/svg" 12237 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12238 fillRule: "evenodd", 12239 clipRule: "evenodd", 12240 d: "M39 12C40.1046 12 41 12.8954 41 14V34C41 35.1046 40.1046 36 39 36H9C7.89543 36 7 35.1046 7 34V14C7 12.8954 7.89543 12 9 12H39ZM39 34V14H30V34H39ZM28 34H9V14H28V34Z" 12241 })), 12242 innerBlocks: [['core/column', { 12243 width: '66.66%' 12244 }], ['core/column', { 12245 width: '33.33%' 12246 }]], 12247 scope: ['block'] 12248 }, { 12249 name: 'three-columns-equal', 12250 title: Object(external_wp_i18n_["__"])('33 / 33 / 33'), 12251 description: Object(external_wp_i18n_["__"])('Three columns; equal split'), 12252 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12253 width: "48", 12254 height: "48", 12255 viewBox: "0 0 48 48", 12256 xmlns: "http://www.w3.org/2000/svg" 12257 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12258 fillRule: "evenodd", 12259 d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM28.5 34h-9V14h9v20zm2 0V14H39v20h-8.5zm-13 0H9V14h8.5v20z" 12260 })), 12261 innerBlocks: [['core/column'], ['core/column'], ['core/column']], 12262 scope: ['block'] 12263 }, { 12264 name: 'three-columns-wider-center', 12265 title: Object(external_wp_i18n_["__"])('25 / 50 / 25'), 12266 description: Object(external_wp_i18n_["__"])('Three columns; wide center column'), 12267 icon: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 12268 width: "48", 12269 height: "48", 12270 viewBox: "0 0 48 48", 12271 xmlns: "http://www.w3.org/2000/svg" 12272 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 12273 fillRule: "evenodd", 12274 d: "M41 14a2 2 0 0 0-2-2H9a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h30a2 2 0 0 0 2-2V14zM31 34H17V14h14v20zm2 0V14h6v20h-6zm-18 0H9V14h6v20z" 12275 })), 12276 innerBlocks: [['core/column', { 12277 width: '25%' 12278 }], ['core/column', { 12279 width: '50%' 12280 }], ['core/column', { 12281 width: '25%' 12282 }]], 12283 scope: ['block'] 12284 }]; 12285 /* harmony default export */ var columns_variations = (columns_variations_variations); 12286 12287 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/transforms.js 12288 /** 12289 * WordPress dependencies 12290 */ 12291 12292 const MAXIMUM_SELECTED_BLOCKS = 6; 12293 const columns_transforms_transforms = { 12294 from: [{ 12295 type: 'block', 12296 isMultiBlock: true, 12297 blocks: ['*'], 12298 __experimentalConvert: blocks => { 12299 const columnWidth = +(100 / blocks.length).toFixed(2); 12300 const innerBlocksTemplate = blocks.map(({ 12301 name, 12302 attributes, 12303 innerBlocks 12304 }) => ['core/column', { 12305 width: `${columnWidth}%` 12306 }, [[name, { ...attributes 12307 }, innerBlocks]]]); 12308 return Object(external_wp_blocks_["createBlock"])('core/columns', {}, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); 12309 }, 12310 isMatch: ({ 12311 length: selectedBlocksLength 12312 }) => selectedBlocksLength && selectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS 12313 }, { 12314 type: 'block', 12315 blocks: ['core/media-text'], 12316 priority: 1, 12317 transform: (attributes, innerBlocks) => { 12318 const { 12319 align, 12320 backgroundColor, 12321 textColor, 12322 style, 12323 mediaAlt: alt, 12324 mediaId: id, 12325 mediaPosition, 12326 mediaSizeSlug: sizeSlug, 12327 mediaType, 12328 mediaUrl: url, 12329 mediaWidth, 12330 verticalAlignment 12331 } = attributes; 12332 let media; 12333 12334 if (mediaType === 'image' || !mediaType) { 12335 const imageAttrs = { 12336 id, 12337 alt, 12338 url, 12339 sizeSlug 12340 }; 12341 const linkAttrs = { 12342 href: attributes.href, 12343 linkClass: attributes.linkClass, 12344 linkDestination: attributes.linkDestination, 12345 linkTarget: attributes.linkTarget, 12346 rel: attributes.rel 12347 }; 12348 media = ['core/image', { ...imageAttrs, 12349 ...linkAttrs 12350 }]; 12351 } else { 12352 media = ['core/video', { 12353 id, 12354 src: url 12355 }]; 12356 } 12357 12358 const innerBlocksTemplate = [['core/column', { 12359 width: `${mediaWidth}%` 12360 }, [media]], ['core/column', { 12361 width: `${100 - mediaWidth}%` 12362 }, innerBlocks]]; 12363 12364 if (mediaPosition === 'right') { 12365 innerBlocksTemplate.reverse(); 12366 } 12367 12368 return Object(external_wp_blocks_["createBlock"])('core/columns', { 12369 align, 12370 backgroundColor, 12371 textColor, 12372 style, 12373 verticalAlignment 12374 }, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(innerBlocksTemplate)); 12375 } 12376 }] 12377 }; 12378 /* harmony default export */ var columns_transforms = (columns_transforms_transforms); 12379 12380 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/columns/index.js 12381 /** 12382 * WordPress dependencies 12383 */ 12384 12385 12386 /** 12387 * Internal dependencies 12388 */ 12389 12390 12391 12392 const columns_metadata = { 12393 apiVersion: 2, 12394 name: "core/columns", 12395 title: "Columns", 12396 category: "design", 12397 description: "Add a block that displays content in multiple columns, then add whatever content blocks you\u2019d like.", 12398 textdomain: "default", 12399 attributes: { 12400 verticalAlignment: { 12401 type: "string" 12402 } 12403 }, 12404 supports: { 12405 anchor: true, 12406 align: ["wide", "full"], 12407 html: false, 12408 color: { 12409 gradients: true, 12410 link: true 12411 } 12412 }, 12413 editorStyle: "wp-block-columns-editor", 12414 style: "wp-block-columns" 12415 }; 12416 12417 12418 12419 const { 12420 name: columns_name 12421 } = columns_metadata; 12422 12423 const columns_settings = { 12424 icon: library_columns, 12425 variations: columns_variations, 12426 example: { 12427 innerBlocks: [{ 12428 name: 'core/column', 12429 innerBlocks: [{ 12430 name: 'core/paragraph', 12431 attributes: { 12432 /* translators: example text. */ 12433 content: Object(external_wp_i18n_["__"])('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.') 12434 } 12435 }, { 12436 name: 'core/image', 12437 attributes: { 12438 url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' 12439 } 12440 }, { 12441 name: 'core/paragraph', 12442 attributes: { 12443 /* translators: example text. */ 12444 content: Object(external_wp_i18n_["__"])('Suspendisse commodo neque lacus, a dictum orci interdum et.') 12445 } 12446 }] 12447 }, { 12448 name: 'core/column', 12449 innerBlocks: [{ 12450 name: 'core/paragraph', 12451 attributes: { 12452 /* translators: example text. */ 12453 content: Object(external_wp_i18n_["__"])('Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.') 12454 } 12455 }, { 12456 name: 'core/paragraph', 12457 attributes: { 12458 /* translators: example text. */ 12459 content: Object(external_wp_i18n_["__"])('Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.') 12460 } 12461 }] 12462 }] 12463 }, 12464 deprecated: columns_deprecated, 12465 edit: columns_edit, 12466 save: columns_save_save, 12467 transforms: columns_transforms 12468 }; 12469 12470 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/column.js 12471 12472 12473 /** 12474 * WordPress dependencies 12475 */ 12476 12477 const column = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 12478 xmlns: "http://www.w3.org/2000/svg", 12479 viewBox: "0 0 24 24" 12480 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 12481 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" 12482 })); 12483 /* harmony default export */ var library_column = (column); 12484 12485 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/deprecated.js 12486 12487 12488 /** 12489 * External dependencies 12490 */ 12491 12492 /** 12493 * WordPress dependencies 12494 */ 12495 12496 12497 const column_deprecated_deprecated = [{ 12498 attributes: { 12499 verticalAlignment: { 12500 type: 'string' 12501 }, 12502 width: { 12503 type: 'number', 12504 min: 0, 12505 max: 100 12506 } 12507 }, 12508 12509 isEligible({ 12510 width 12511 }) { 12512 return isFinite(width); 12513 }, 12514 12515 migrate(attributes) { 12516 return { ...attributes, 12517 width: `${attributes.width}%` 12518 }; 12519 }, 12520 12521 save({ 12522 attributes 12523 }) { 12524 const { 12525 verticalAlignment, 12526 width 12527 } = attributes; 12528 const wrapperClasses = classnames_default()({ 12529 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment 12530 }); 12531 const style = { 12532 flexBasis: width + '%' 12533 }; 12534 return Object(external_wp_element_["createElement"])("div", { 12535 className: wrapperClasses, 12536 style: style 12537 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 12538 } 12539 12540 }]; 12541 /* harmony default export */ var column_deprecated = (column_deprecated_deprecated); 12542 12543 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/edit.js 12544 12545 12546 /** 12547 * External dependencies 12548 */ 12549 12550 /** 12551 * WordPress dependencies 12552 */ 12553 12554 12555 12556 12557 12558 12559 function ColumnEdit({ 12560 attributes: { 12561 verticalAlignment, 12562 width, 12563 templateLock = false 12564 }, 12565 setAttributes, 12566 clientId 12567 }) { 12568 const classes = classnames_default()('block-core-columns', { 12569 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment 12570 }); 12571 const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ 12572 availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['%', 'px', 'em', 'rem', 'vw'] 12573 }); 12574 const { 12575 columnsIds, 12576 hasChildBlocks, 12577 rootClientId 12578 } = Object(external_wp_data_["useSelect"])(select => { 12579 const { 12580 getBlockOrder, 12581 getBlockRootClientId 12582 } = select(external_wp_blockEditor_["store"]); 12583 const rootId = getBlockRootClientId(clientId); 12584 return { 12585 hasChildBlocks: getBlockOrder(clientId).length > 0, 12586 rootClientId: rootId, 12587 columnsIds: getBlockOrder(rootId) 12588 }; 12589 }, [clientId]); 12590 const { 12591 updateBlockAttributes 12592 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 12593 12594 const updateAlignment = value => { 12595 // Update own alignment. 12596 setAttributes({ 12597 verticalAlignment: value 12598 }); // Reset parent Columns block. 12599 12600 updateBlockAttributes(rootClientId, { 12601 verticalAlignment: null 12602 }); 12603 }; 12604 12605 const widthWithUnit = Number.isFinite(width) ? width + '%' : width; 12606 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 12607 className: classes, 12608 style: widthWithUnit ? { 12609 flexBasis: widthWithUnit 12610 } : undefined 12611 }); 12612 const columnsCount = columnsIds.length; 12613 const currentColumnPosition = columnsIds.indexOf(clientId) + 1; 12614 const label = Object(external_wp_i18n_["sprintf"])( 12615 /* translators: 1: Block label (i.e. "Block: Column"), 2: Position of the selected block, 3: Total number of sibling blocks of the same type */ 12616 Object(external_wp_i18n_["__"])('%1$s (%2$d of %3$d)'), blockProps['aria-label'], currentColumnPosition, columnsCount); 12617 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ ...blockProps, 12618 'aria-label': label 12619 }, { 12620 templateLock, 12621 renderAppender: hasChildBlocks ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender 12622 }); 12623 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentToolbar"], { 12624 onChange: updateAlignment, 12625 value: verticalAlignment 12626 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 12627 title: Object(external_wp_i18n_["__"])('Column settings') 12628 }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalUnitControl"], { 12629 label: Object(external_wp_i18n_["__"])('Width'), 12630 labelPosition: "edge", 12631 __unstableInputWidth: "80px", 12632 value: width || '', 12633 onChange: nextWidth => { 12634 nextWidth = 0 > parseFloat(nextWidth) ? '0' : nextWidth; 12635 setAttributes({ 12636 width: nextWidth 12637 }); 12638 }, 12639 units: units 12640 }))), Object(external_wp_element_["createElement"])("div", innerBlocksProps)); 12641 } 12642 12643 /* harmony default export */ var column_edit = (ColumnEdit); 12644 12645 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/save.js 12646 12647 12648 /** 12649 * External dependencies 12650 */ 12651 12652 /** 12653 * WordPress dependencies 12654 */ 12655 12656 12657 function column_save_save({ 12658 attributes 12659 }) { 12660 const { 12661 verticalAlignment, 12662 width 12663 } = attributes; 12664 const wrapperClasses = classnames_default()({ 12665 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment 12666 }); 12667 let style; 12668 12669 if (width) { 12670 // Numbers are handled for backward compatibility as they can be still provided with templates. 12671 style = { 12672 flexBasis: Number.isFinite(width) ? width + '%' : width 12673 }; 12674 } 12675 12676 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 12677 className: wrapperClasses, 12678 style 12679 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 12680 } 12681 12682 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/column/index.js 12683 /** 12684 * WordPress dependencies 12685 */ 12686 12687 /** 12688 * Internal dependencies 12689 */ 12690 12691 12692 12693 const column_metadata = { 12694 apiVersion: 2, 12695 name: "core/column", 12696 title: "Column", 12697 category: "text", 12698 parent: ["core/columns"], 12699 description: "A single column within a columns block.", 12700 textdomain: "default", 12701 attributes: { 12702 verticalAlignment: { 12703 type: "string" 12704 }, 12705 width: { 12706 type: "string" 12707 }, 12708 templateLock: { 12709 "enum": ["all", "insert", false] 12710 } 12711 }, 12712 supports: { 12713 anchor: true, 12714 reusable: false, 12715 html: false, 12716 color: { 12717 gradients: true, 12718 link: true 12719 }, 12720 spacing: { 12721 padding: true 12722 } 12723 } 12724 }; 12725 12726 const { 12727 name: column_name 12728 } = column_metadata; 12729 12730 const column_settings = { 12731 icon: library_column, 12732 edit: column_edit, 12733 save: column_save_save, 12734 deprecated: column_deprecated 12735 }; 12736 12737 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/cover.js 12738 12739 12740 /** 12741 * WordPress dependencies 12742 */ 12743 12744 const cover = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 12745 xmlns: "http://www.w3.org/2000/svg", 12746 viewBox: "0 0 24 24" 12747 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 12748 d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h6.2v8.9l2.5-3.1 2.5 3.1V4.5h2.2c.4 0 .8.4.8.8v13.4z" 12749 })); 12750 /* harmony default export */ var library_cover = (cover); 12751 12752 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/shared.js 12753 /** 12754 * WordPress dependencies 12755 */ 12756 12757 const POSITION_CLASSNAMES = { 12758 'top left': 'is-position-top-left', 12759 'top center': 'is-position-top-center', 12760 'top right': 'is-position-top-right', 12761 'center left': 'is-position-center-left', 12762 'center center': 'is-position-center-center', 12763 center: 'is-position-center-center', 12764 'center right': 'is-position-center-right', 12765 'bottom left': 'is-position-bottom-left', 12766 'bottom center': 'is-position-bottom-center', 12767 'bottom right': 'is-position-bottom-right' 12768 }; 12769 const IMAGE_BACKGROUND_TYPE = 'image'; 12770 const VIDEO_BACKGROUND_TYPE = 'video'; 12771 const COVER_MIN_HEIGHT = 50; 12772 const COVER_MAX_HEIGHT = 1000; 12773 const COVER_DEFAULT_HEIGHT = 300; 12774 function backgroundImageStyles(url) { 12775 return url ? { 12776 backgroundImage: `url(${url})` 12777 } : {}; 12778 } 12779 const shared_ALLOWED_MEDIA_TYPES = ['image', 'video']; 12780 function dimRatioToClass(ratio) { 12781 return ratio === 0 || ratio === 50 || !ratio ? null : 'has-background-dim-' + 10 * Math.round(ratio / 10); 12782 } 12783 function attributesFromMedia(setAttributes) { 12784 return media => { 12785 if (!media || !media.url) { 12786 setAttributes({ 12787 url: undefined, 12788 id: undefined 12789 }); 12790 return; 12791 } 12792 12793 if (Object(external_wp_blob_["isBlobURL"])(media.url)) { 12794 media.type = Object(external_wp_blob_["getBlobTypeByURL"])(media.url); 12795 } 12796 12797 let mediaType; // for media selections originated from a file upload. 12798 12799 if (media.media_type) { 12800 if (media.media_type === IMAGE_BACKGROUND_TYPE) { 12801 mediaType = IMAGE_BACKGROUND_TYPE; 12802 } else { 12803 // only images and videos are accepted so if the media_type is not an image we can assume it is a video. 12804 // Videos contain the media type of 'file' in the object returned from the rest api. 12805 mediaType = VIDEO_BACKGROUND_TYPE; 12806 } 12807 } else { 12808 // for media selections originated from existing files in the media library. 12809 if (media.type !== IMAGE_BACKGROUND_TYPE && media.type !== VIDEO_BACKGROUND_TYPE) { 12810 return; 12811 } 12812 12813 mediaType = media.type; 12814 } 12815 12816 setAttributes({ 12817 url: media.url, 12818 id: media.id, 12819 backgroundType: mediaType, 12820 ...(mediaType === VIDEO_BACKGROUND_TYPE ? { 12821 focalPoint: undefined, 12822 hasParallax: undefined 12823 } : {}) 12824 }); 12825 }; 12826 } 12827 /** 12828 * Checks of the contentPosition is the center (default) position. 12829 * 12830 * @param {string} contentPosition The current content position. 12831 * @return {boolean} Whether the contentPosition is center. 12832 */ 12833 12834 function isContentPositionCenter(contentPosition) { 12835 return !contentPosition || contentPosition === 'center center' || contentPosition === 'center'; 12836 } 12837 /** 12838 * Retrieves the className for the current contentPosition. 12839 * The default position (center) will not have a className. 12840 * 12841 * @param {string} contentPosition The current content position. 12842 * @return {string} The className assigned to the contentPosition. 12843 */ 12844 12845 function getPositionClassName(contentPosition) { 12846 /* 12847 * Only render a className if the contentPosition is not center (the default). 12848 */ 12849 if (isContentPositionCenter(contentPosition)) return ''; 12850 return POSITION_CLASSNAMES[contentPosition]; 12851 } 12852 12853 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/deprecated.js 12854 12855 12856 /** 12857 * External dependencies 12858 */ 12859 12860 12861 /** 12862 * WordPress dependencies 12863 */ 12864 12865 12866 12867 12868 /** 12869 * Internal dependencies 12870 */ 12871 12872 12873 const cover_deprecated_blockAttributes = { 12874 url: { 12875 type: 'string' 12876 }, 12877 id: { 12878 type: 'number' 12879 }, 12880 hasParallax: { 12881 type: 'boolean', 12882 default: false 12883 }, 12884 dimRatio: { 12885 type: 'number', 12886 default: 50 12887 }, 12888 overlayColor: { 12889 type: 'string' 12890 }, 12891 customOverlayColor: { 12892 type: 'string' 12893 }, 12894 backgroundType: { 12895 type: 'string', 12896 default: 'image' 12897 }, 12898 focalPoint: { 12899 type: 'object' 12900 } 12901 }; 12902 const cover_deprecated_deprecated = [{ 12903 attributes: { ...cover_deprecated_blockAttributes, 12904 title: { 12905 type: 'string', 12906 source: 'html', 12907 selector: 'p' 12908 }, 12909 contentAlign: { 12910 type: 'string', 12911 default: 'center' 12912 }, 12913 isRepeated: { 12914 type: 'boolean', 12915 default: false 12916 }, 12917 minHeight: { 12918 type: 'number' 12919 }, 12920 minHeightUnit: { 12921 type: 'string' 12922 }, 12923 gradient: { 12924 type: 'string' 12925 }, 12926 customGradient: { 12927 type: 'string' 12928 }, 12929 contentPosition: { 12930 type: 'string' 12931 } 12932 }, 12933 supports: { 12934 align: true 12935 }, 12936 12937 save({ 12938 attributes 12939 }) { 12940 const { 12941 backgroundType, 12942 gradient, 12943 contentPosition, 12944 customGradient, 12945 customOverlayColor, 12946 dimRatio, 12947 focalPoint, 12948 hasParallax, 12949 isRepeated, 12950 overlayColor, 12951 url, 12952 minHeight: minHeightProp, 12953 minHeightUnit 12954 } = attributes; 12955 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 12956 12957 const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); 12958 12959 const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; 12960 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 12961 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 12962 const style = isImageBackground ? backgroundImageStyles(url) : {}; 12963 const videoStyle = {}; 12964 12965 if (!overlayColorClass) { 12966 style.backgroundColor = customOverlayColor; 12967 } 12968 12969 if (customGradient && !url) { 12970 style.background = customGradient; 12971 } 12972 12973 style.minHeight = minHeight || undefined; 12974 let positionValue; 12975 12976 if (focalPoint) { 12977 positionValue = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; 12978 12979 if (isImageBackground && !hasParallax) { 12980 style.backgroundPosition = positionValue; 12981 } 12982 12983 if (isVideoBackground) { 12984 videoStyle.objectPosition = positionValue; 12985 } 12986 } 12987 12988 const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 12989 'has-background-dim': dimRatio !== 0, 12990 'has-parallax': hasParallax, 12991 'is-repeated': isRepeated, 12992 'has-background-gradient': gradient || customGradient, 12993 [gradientClass]: !url && gradientClass, 12994 'has-custom-content-position': !isContentPositionCenter(contentPosition) 12995 }, getPositionClassName(contentPosition)); 12996 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 12997 className: classes, 12998 style 12999 }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { 13000 "aria-hidden": "true", 13001 className: classnames_default()('wp-block-cover__gradient-background', gradientClass), 13002 style: customGradient ? { 13003 background: customGradient 13004 } : undefined 13005 }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { 13006 className: "wp-block-cover__video-background", 13007 autoPlay: true, 13008 muted: true, 13009 loop: true, 13010 playsInline: true, 13011 src: url, 13012 style: videoStyle 13013 }), Object(external_wp_element_["createElement"])("div", { 13014 className: "wp-block-cover__inner-container" 13015 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 13016 } 13017 13018 }, { 13019 attributes: { ...cover_deprecated_blockAttributes, 13020 title: { 13021 type: 'string', 13022 source: 'html', 13023 selector: 'p' 13024 }, 13025 contentAlign: { 13026 type: 'string', 13027 default: 'center' 13028 }, 13029 minHeight: { 13030 type: 'number' 13031 }, 13032 gradient: { 13033 type: 'string' 13034 }, 13035 customGradient: { 13036 type: 'string' 13037 } 13038 }, 13039 supports: { 13040 align: true 13041 }, 13042 13043 save({ 13044 attributes 13045 }) { 13046 const { 13047 backgroundType, 13048 gradient, 13049 customGradient, 13050 customOverlayColor, 13051 dimRatio, 13052 focalPoint, 13053 hasParallax, 13054 overlayColor, 13055 url, 13056 minHeight 13057 } = attributes; 13058 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 13059 13060 const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); 13061 13062 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 13063 13064 if (!overlayColorClass) { 13065 style.backgroundColor = customOverlayColor; 13066 } 13067 13068 if (focalPoint && !hasParallax) { 13069 style.backgroundPosition = `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%`; 13070 } 13071 13072 if (customGradient && !url) { 13073 style.background = customGradient; 13074 } 13075 13076 style.minHeight = minHeight || undefined; 13077 const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 13078 'has-background-dim': dimRatio !== 0, 13079 'has-parallax': hasParallax, 13080 'has-background-gradient': customGradient, 13081 [gradientClass]: !url && gradientClass 13082 }); 13083 return Object(external_wp_element_["createElement"])("div", { 13084 className: classes, 13085 style: style 13086 }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { 13087 "aria-hidden": "true", 13088 className: classnames_default()('wp-block-cover__gradient-background', gradientClass), 13089 style: customGradient ? { 13090 background: customGradient 13091 } : undefined 13092 }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { 13093 className: "wp-block-cover__video-background", 13094 autoPlay: true, 13095 muted: true, 13096 loop: true, 13097 src: url 13098 }), Object(external_wp_element_["createElement"])("div", { 13099 className: "wp-block-cover__inner-container" 13100 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 13101 } 13102 13103 }, { 13104 attributes: { ...cover_deprecated_blockAttributes, 13105 title: { 13106 type: 'string', 13107 source: 'html', 13108 selector: 'p' 13109 }, 13110 contentAlign: { 13111 type: 'string', 13112 default: 'center' 13113 }, 13114 minHeight: { 13115 type: 'number' 13116 }, 13117 gradient: { 13118 type: 'string' 13119 }, 13120 customGradient: { 13121 type: 'string' 13122 } 13123 }, 13124 supports: { 13125 align: true 13126 }, 13127 13128 save({ 13129 attributes 13130 }) { 13131 const { 13132 backgroundType, 13133 gradient, 13134 customGradient, 13135 customOverlayColor, 13136 dimRatio, 13137 focalPoint, 13138 hasParallax, 13139 overlayColor, 13140 url, 13141 minHeight 13142 } = attributes; 13143 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 13144 13145 const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); 13146 13147 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 13148 13149 if (!overlayColorClass) { 13150 style.backgroundColor = customOverlayColor; 13151 } 13152 13153 if (focalPoint && !hasParallax) { 13154 style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; 13155 } 13156 13157 if (customGradient && !url) { 13158 style.background = customGradient; 13159 } 13160 13161 style.minHeight = minHeight || undefined; 13162 const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 13163 'has-background-dim': dimRatio !== 0, 13164 'has-parallax': hasParallax, 13165 'has-background-gradient': customGradient, 13166 [gradientClass]: !url && gradientClass 13167 }); 13168 return Object(external_wp_element_["createElement"])("div", { 13169 className: classes, 13170 style: style 13171 }, url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { 13172 "aria-hidden": "true", 13173 className: classnames_default()('wp-block-cover__gradient-background', gradientClass), 13174 style: customGradient ? { 13175 background: customGradient 13176 } : undefined 13177 }), VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { 13178 className: "wp-block-cover__video-background", 13179 autoPlay: true, 13180 muted: true, 13181 loop: true, 13182 src: url 13183 }), Object(external_wp_element_["createElement"])("div", { 13184 className: "wp-block-cover__inner-container" 13185 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 13186 } 13187 13188 }, { 13189 attributes: { ...cover_deprecated_blockAttributes, 13190 title: { 13191 type: 'string', 13192 source: 'html', 13193 selector: 'p' 13194 }, 13195 contentAlign: { 13196 type: 'string', 13197 default: 'center' 13198 } 13199 }, 13200 supports: { 13201 align: true 13202 }, 13203 13204 save({ 13205 attributes 13206 }) { 13207 const { 13208 backgroundType, 13209 contentAlign, 13210 customOverlayColor, 13211 dimRatio, 13212 focalPoint, 13213 hasParallax, 13214 overlayColor, 13215 title, 13216 url 13217 } = attributes; 13218 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 13219 const style = backgroundType === IMAGE_BACKGROUND_TYPE ? backgroundImageStyles(url) : {}; 13220 13221 if (!overlayColorClass) { 13222 style.backgroundColor = customOverlayColor; 13223 } 13224 13225 if (focalPoint && !hasParallax) { 13226 style.backgroundPosition = `${focalPoint.x * 100}% ${focalPoint.y * 100}%`; 13227 } 13228 13229 const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 13230 'has-background-dim': dimRatio !== 0, 13231 'has-parallax': hasParallax, 13232 [`has-${contentAlign}-content`]: contentAlign !== 'center' 13233 }); 13234 return Object(external_wp_element_["createElement"])("div", { 13235 className: classes, 13236 style: style 13237 }, VIDEO_BACKGROUND_TYPE === backgroundType && url && Object(external_wp_element_["createElement"])("video", { 13238 className: "wp-block-cover__video-background", 13239 autoPlay: true, 13240 muted: true, 13241 loop: true, 13242 src: url 13243 }), !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 13244 tagName: "p", 13245 className: "wp-block-cover-text", 13246 value: title 13247 })); 13248 }, 13249 13250 migrate(attributes) { 13251 return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 13252 content: attributes.title, 13253 align: attributes.contentAlign, 13254 fontSize: 'large', 13255 placeholder: Object(external_wp_i18n_["__"])('Write title…') 13256 })]]; 13257 } 13258 13259 }, { 13260 attributes: { ...cover_deprecated_blockAttributes, 13261 title: { 13262 type: 'string', 13263 source: 'html', 13264 selector: 'p' 13265 }, 13266 contentAlign: { 13267 type: 'string', 13268 default: 'center' 13269 }, 13270 align: { 13271 type: 'string' 13272 } 13273 }, 13274 supports: { 13275 className: false 13276 }, 13277 13278 save({ 13279 attributes 13280 }) { 13281 const { 13282 url, 13283 title, 13284 hasParallax, 13285 dimRatio, 13286 align, 13287 contentAlign, 13288 overlayColor, 13289 customOverlayColor 13290 } = attributes; 13291 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 13292 const style = backgroundImageStyles(url); 13293 13294 if (!overlayColorClass) { 13295 style.backgroundColor = customOverlayColor; 13296 } 13297 13298 const classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), overlayColorClass, { 13299 'has-background-dim': dimRatio !== 0, 13300 'has-parallax': hasParallax, 13301 [`has-${contentAlign}-content`]: contentAlign !== 'center' 13302 }, align ? `align${align}` : null); 13303 return Object(external_wp_element_["createElement"])("div", { 13304 className: classes, 13305 style: style 13306 }, !external_wp_blockEditor_["RichText"].isEmpty(title) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 13307 tagName: "p", 13308 className: "wp-block-cover-image-text", 13309 value: title 13310 })); 13311 }, 13312 13313 migrate(attributes) { 13314 return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 13315 content: attributes.title, 13316 align: attributes.contentAlign, 13317 fontSize: 'large', 13318 placeholder: Object(external_wp_i18n_["__"])('Write title…') 13319 })]]; 13320 } 13321 13322 }, { 13323 attributes: { ...cover_deprecated_blockAttributes, 13324 title: { 13325 type: 'string', 13326 source: 'html', 13327 selector: 'h2' 13328 }, 13329 align: { 13330 type: 'string' 13331 }, 13332 contentAlign: { 13333 type: 'string', 13334 default: 'center' 13335 } 13336 }, 13337 supports: { 13338 className: false 13339 }, 13340 13341 save({ 13342 attributes 13343 }) { 13344 const { 13345 url, 13346 title, 13347 hasParallax, 13348 dimRatio, 13349 align 13350 } = attributes; 13351 const style = backgroundImageStyles(url); 13352 const classes = classnames_default()('wp-block-cover-image', dimRatioToClass(dimRatio), { 13353 'has-background-dim': dimRatio !== 0, 13354 'has-parallax': hasParallax 13355 }, align ? `align${align}` : null); 13356 return Object(external_wp_element_["createElement"])("section", { 13357 className: classes, 13358 style: style 13359 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 13360 tagName: "h2", 13361 value: title 13362 })); 13363 }, 13364 13365 migrate(attributes) { 13366 return [Object(external_lodash_["omit"])(attributes, ['title', 'contentAlign', 'align']), [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 13367 content: attributes.title, 13368 align: attributes.contentAlign, 13369 fontSize: 'large', 13370 placeholder: Object(external_wp_i18n_["__"])('Write title…') 13371 })]]; 13372 } 13373 13374 }]; 13375 /* harmony default export */ var cover_deprecated = (cover_deprecated_deprecated); 13376 13377 // EXTERNAL MODULE: ./node_modules/fast-average-color/dist/index.js 13378 var dist = __webpack_require__("FEKF"); 13379 var dist_default = /*#__PURE__*/__webpack_require__.n(dist); 13380 13381 // EXTERNAL MODULE: ./node_modules/tinycolor2/tinycolor.js 13382 var tinycolor = __webpack_require__("Zss7"); 13383 var tinycolor_default = /*#__PURE__*/__webpack_require__.n(tinycolor); 13384 13385 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/edit.js 13386 13387 13388 13389 /** 13390 * External dependencies 13391 */ 13392 13393 13394 13395 /** 13396 * WordPress dependencies 13397 */ 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 /** 13408 * Internal dependencies 13409 */ 13410 13411 13412 /** 13413 * Module Constants 13414 */ 13415 13416 const INNER_BLOCKS_TEMPLATE = [['core/paragraph', { 13417 align: 'center', 13418 fontSize: 'large', 13419 placeholder: Object(external_wp_i18n_["__"])('Write title…') 13420 }]]; 13421 const { 13422 __Visualizer: BoxControlVisualizer 13423 } = external_wp_components_["__experimentalBoxControl"]; 13424 13425 function retrieveFastAverageColor() { 13426 if (!retrieveFastAverageColor.fastAverageColor) { 13427 retrieveFastAverageColor.fastAverageColor = new dist_default.a(); 13428 } 13429 13430 return retrieveFastAverageColor.fastAverageColor; 13431 } 13432 13433 function CoverHeightInput({ 13434 onChange, 13435 onUnitChange, 13436 unit = 'px', 13437 value = '' 13438 }) { 13439 const [temporaryInput, setTemporaryInput] = Object(external_wp_element_["useState"])(null); 13440 const instanceId = Object(external_wp_compose_["useInstanceId"])(external_wp_blockEditor_["__experimentalUnitControl"]); 13441 const inputId = `block-cover-height-input-${instanceId}`; 13442 const isPx = unit === 'px'; 13443 const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ 13444 availableUnits: Object(external_wp_blockEditor_["useSetting"])('spacing.units') || ['px', 'em', 'rem', 'vw', 'vh'], 13445 defaultValues: { 13446 px: '430', 13447 em: '20', 13448 rem: '20', 13449 vw: '20', 13450 vh: '50' 13451 } 13452 }); 13453 13454 const handleOnChange = unprocessedValue => { 13455 const inputValue = unprocessedValue !== '' ? parseInt(unprocessedValue, 10) : undefined; 13456 13457 if (isNaN(inputValue) && inputValue !== undefined) { 13458 setTemporaryInput(unprocessedValue); 13459 return; 13460 } 13461 13462 setTemporaryInput(null); 13463 onChange(inputValue); 13464 13465 if (inputValue === undefined) { 13466 onUnitChange(); 13467 } 13468 }; 13469 13470 const handleOnBlur = () => { 13471 if (temporaryInput !== null) { 13472 setTemporaryInput(null); 13473 } 13474 }; 13475 13476 const inputValue = temporaryInput !== null ? temporaryInput : value; 13477 const min = isPx ? COVER_MIN_HEIGHT : 0; 13478 return Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { 13479 label: Object(external_wp_i18n_["__"])('Minimum height of cover'), 13480 id: inputId 13481 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalUnitControl"], { 13482 id: inputId, 13483 isResetValueOnUnitChange: true, 13484 min: min, 13485 onBlur: handleOnBlur, 13486 onChange: handleOnChange, 13487 onUnitChange: onUnitChange, 13488 step: "1", 13489 style: { 13490 maxWidth: 80 13491 }, 13492 unit: unit, 13493 units: units, 13494 value: inputValue 13495 })); 13496 } 13497 13498 const RESIZABLE_BOX_ENABLE_OPTION = { 13499 top: false, 13500 right: false, 13501 bottom: true, 13502 left: false, 13503 topRight: false, 13504 bottomRight: false, 13505 bottomLeft: false, 13506 topLeft: false 13507 }; 13508 13509 function ResizableCover({ 13510 className, 13511 onResizeStart, 13512 onResize, 13513 onResizeStop, 13514 ...props 13515 }) { 13516 const [isResizing, setIsResizing] = Object(external_wp_element_["useState"])(false); 13517 return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], Object(esm_extends["a" /* default */])({ 13518 className: classnames_default()(className, { 13519 'is-resizing': isResizing 13520 }), 13521 enable: RESIZABLE_BOX_ENABLE_OPTION, 13522 onResizeStart: (_event, _direction, elt) => { 13523 onResizeStart(elt.clientHeight); 13524 onResize(elt.clientHeight); 13525 }, 13526 onResize: (_event, _direction, elt) => { 13527 onResize(elt.clientHeight); 13528 13529 if (!isResizing) { 13530 setIsResizing(true); 13531 } 13532 }, 13533 onResizeStop: (_event, _direction, elt) => { 13534 onResizeStop(elt.clientHeight); 13535 setIsResizing(false); 13536 }, 13537 minHeight: COVER_MIN_HEIGHT 13538 }, props)); 13539 } 13540 /** 13541 * useCoverIsDark is a hook that returns a boolean variable specifying if the cover 13542 * background is dark or not. 13543 * 13544 * @param {?string} url Url of the media background. 13545 * @param {?number} dimRatio Transparency of the overlay color. If an image and 13546 * color are set, dimRatio is used to decide what is used 13547 * for background darkness checking purposes. 13548 * @param {?string} overlayColor String containing the overlay color value if one exists. 13549 * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a 13550 * dom element that renders that media. 13551 * 13552 * @return {boolean} True if the cover background is considered "dark" and false otherwise. 13553 */ 13554 13555 13556 function useCoverIsDark(url, dimRatio = 50, overlayColor, elementRef) { 13557 const [isDark, setIsDark] = Object(external_wp_element_["useState"])(false); 13558 Object(external_wp_element_["useEffect"])(() => { 13559 // If opacity is lower than 50 the dominant color is the image or video color, 13560 // so use that color for the dark mode computation. 13561 if (url && dimRatio <= 50 && elementRef.current) { 13562 retrieveFastAverageColor().getColorAsync(elementRef.current, color => { 13563 setIsDark(color.isDark); 13564 }); 13565 } 13566 }, [url, url && dimRatio <= 50 && elementRef.current, setIsDark]); 13567 Object(external_wp_element_["useEffect"])(() => { 13568 // If opacity is greater than 50 the dominant color is the overlay color, 13569 // so use that color for the dark mode computation. 13570 if (dimRatio > 50 || !url) { 13571 if (!overlayColor) { 13572 // If no overlay color exists the overlay color is black (isDark ) 13573 setIsDark(true); 13574 return; 13575 } 13576 13577 setIsDark(tinycolor_default()(overlayColor).isDark()); 13578 } 13579 }, [overlayColor, dimRatio > 50 || !url, setIsDark]); 13580 Object(external_wp_element_["useEffect"])(() => { 13581 if (!url && !overlayColor) { 13582 // Reset isDark 13583 setIsDark(false); 13584 } 13585 }, [!url && !overlayColor, setIsDark]); 13586 return isDark; 13587 } 13588 13589 function edit_mediaPosition({ 13590 x, 13591 y 13592 }) { 13593 return `${Math.round(x * 100)}% ${Math.round(y * 100)}%`; 13594 } 13595 /** 13596 * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while 13597 * the media (image or video) is being uploaded and will not have an id allocated yet. 13598 * 13599 * @param {number} id The id of the media. 13600 * @param {string} url The url of the media. 13601 * 13602 * @return {boolean} Is the URL a Blob URL. 13603 */ 13604 13605 13606 const isTemporaryMedia = (id, url) => !id && Object(external_wp_blob_["isBlobURL"])(url); 13607 13608 function CoverPlaceholder({ 13609 disableMediaButtons = false, 13610 children, 13611 noticeUI, 13612 noticeOperations, 13613 onSelectMedia 13614 }) { 13615 const { 13616 removeAllNotices, 13617 createErrorNotice 13618 } = noticeOperations; 13619 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 13620 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 13621 icon: library_cover 13622 }), 13623 labels: { 13624 title: Object(external_wp_i18n_["__"])('Cover'), 13625 instructions: Object(external_wp_i18n_["__"])('Upload an image or video file, or pick one from your media library.') 13626 }, 13627 onSelect: onSelectMedia, 13628 accept: "image/*,video/*", 13629 allowedTypes: shared_ALLOWED_MEDIA_TYPES, 13630 notices: noticeUI, 13631 disableMediaButtons: disableMediaButtons, 13632 onError: message => { 13633 removeAllNotices(); 13634 createErrorNotice(message); 13635 } 13636 }, children); 13637 } 13638 13639 function CoverEdit({ 13640 attributes, 13641 clientId, 13642 isSelected, 13643 noticeUI, 13644 noticeOperations, 13645 overlayColor, 13646 setAttributes, 13647 setOverlayColor, 13648 toggleSelection 13649 }) { 13650 var _styleAttribute$spaci, _styleAttribute$visua; 13651 13652 const { 13653 contentPosition, 13654 id, 13655 backgroundType, 13656 dimRatio, 13657 focalPoint, 13658 hasParallax, 13659 isRepeated, 13660 minHeight, 13661 minHeightUnit, 13662 style: styleAttribute, 13663 url 13664 } = attributes; 13665 13666 const { 13667 gradientClass, 13668 gradientValue, 13669 setGradient 13670 } = Object(external_wp_blockEditor_["__experimentalUseGradient"])(); 13671 13672 const onSelectMedia = attributesFromMedia(setAttributes); 13673 const isUploadingMedia = isTemporaryMedia(id, url); 13674 const [prevMinHeightValue, setPrevMinHeightValue] = Object(external_wp_element_["useState"])(minHeight); 13675 const [prevMinHeightUnit, setPrevMinHeightUnit] = Object(external_wp_element_["useState"])(minHeightUnit); 13676 const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100; 13677 13678 const toggleMinFullHeight = () => { 13679 if (isMinFullHeight) { 13680 // If there aren't previous values, take the default ones. 13681 if (prevMinHeightUnit === 'vh' && prevMinHeightValue === 100) { 13682 return setAttributes({ 13683 minHeight: undefined, 13684 minHeightUnit: undefined 13685 }); 13686 } // Set the previous values of height. 13687 13688 13689 return setAttributes({ 13690 minHeight: prevMinHeightValue, 13691 minHeightUnit: prevMinHeightUnit 13692 }); 13693 } 13694 13695 setPrevMinHeightValue(minHeight); 13696 setPrevMinHeightUnit(minHeightUnit); // Set full height. 13697 13698 return setAttributes({ 13699 minHeight: 100, 13700 minHeightUnit: 'vh' 13701 }); 13702 }; 13703 13704 const toggleParallax = () => { 13705 setAttributes({ 13706 hasParallax: !hasParallax, 13707 ...(!hasParallax ? { 13708 focalPoint: undefined 13709 } : {}) 13710 }); 13711 }; 13712 13713 const toggleIsRepeated = () => { 13714 setAttributes({ 13715 isRepeated: !isRepeated 13716 }); 13717 }; 13718 13719 const isDarkElement = Object(external_wp_element_["useRef"])(); 13720 const isDark = useCoverIsDark(url, dimRatio, overlayColor.color, isDarkElement); 13721 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 13722 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 13723 const [temporaryMinHeight, setTemporaryMinHeight] = Object(external_wp_element_["useState"])(null); 13724 const minHeightWithUnit = minHeightUnit ? `${minHeight}${minHeightUnit}` : minHeight; 13725 const isImgElement = !(hasParallax || isRepeated); 13726 const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : { 13727 backgroundImage: gradientValue ? gradientValue : undefined 13728 }), 13729 backgroundColor: overlayColor.color, 13730 minHeight: temporaryMinHeight || minHeightWithUnit || undefined 13731 }; 13732 const mediaStyle = { 13733 objectPosition: focalPoint && isImgElement ? edit_mediaPosition(focalPoint) : undefined 13734 }; 13735 const hasBackground = !!(url || overlayColor.color || gradientValue); 13736 const showFocalPointPicker = isVideoBackground || isImageBackground && (!hasParallax || isRepeated); 13737 13738 const imperativeFocalPointPreview = value => { 13739 const [styleOfRef, property] = isDarkElement.current ? [isDarkElement.current.style, 'objectPosition'] : [ref.current.style, 'backgroundPosition']; 13740 styleOfRef[property] = edit_mediaPosition(value); 13741 }; 13742 13743 const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getBlock(clientId).innerBlocks.length > 0, [clientId]); 13744 const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 13745 group: "block" 13746 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockAlignmentMatrixControl"], { 13747 label: Object(external_wp_i18n_["__"])('Change content position'), 13748 value: contentPosition, 13749 onChange: nextPosition => setAttributes({ 13750 contentPosition: nextPosition 13751 }), 13752 isDisabled: !hasInnerBlocks 13753 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockFullHeightAligmentControl"], { 13754 isActive: isMinFullHeight, 13755 onToggle: toggleMinFullHeight, 13756 isDisabled: !hasInnerBlocks 13757 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 13758 group: "other" 13759 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 13760 mediaId: id, 13761 mediaURL: url, 13762 allowedTypes: shared_ALLOWED_MEDIA_TYPES, 13763 accept: "image/*,video/*", 13764 onSelect: onSelectMedia, 13765 name: !url ? Object(external_wp_i18n_["__"])('Add Media') : Object(external_wp_i18n_["__"])('Replace') 13766 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, !!url && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 13767 title: Object(external_wp_i18n_["__"])('Media settings') 13768 }, isImageBackground && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 13769 label: Object(external_wp_i18n_["__"])('Fixed background'), 13770 checked: hasParallax, 13771 onChange: toggleParallax 13772 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 13773 label: Object(external_wp_i18n_["__"])('Repeated background'), 13774 checked: isRepeated, 13775 onChange: toggleIsRepeated 13776 })), showFocalPointPicker && Object(external_wp_element_["createElement"])(external_wp_components_["FocalPointPicker"], { 13777 label: Object(external_wp_i18n_["__"])('Focal point picker'), 13778 url: url, 13779 value: focalPoint, 13780 onDragStart: imperativeFocalPointPreview, 13781 onDrag: imperativeFocalPointPreview, 13782 onChange: newFocalPoint => setAttributes({ 13783 focalPoint: newFocalPoint 13784 }) 13785 }), Object(external_wp_element_["createElement"])(external_wp_components_["PanelRow"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 13786 isSecondary: true, 13787 isSmall: true, 13788 className: "block-library-cover__reset-button", 13789 onClick: () => setAttributes({ 13790 url: undefined, 13791 id: undefined, 13792 backgroundType: undefined, 13793 dimRatio: undefined, 13794 focalPoint: undefined, 13795 hasParallax: undefined, 13796 isRepeated: undefined 13797 }) 13798 }, Object(external_wp_i18n_["__"])('Clear Media')))), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 13799 title: Object(external_wp_i18n_["__"])('Dimensions') 13800 }, Object(external_wp_element_["createElement"])(CoverHeightInput, { 13801 value: temporaryMinHeight || minHeight, 13802 unit: minHeightUnit, 13803 onChange: newMinHeight => setAttributes({ 13804 minHeight: newMinHeight 13805 }), 13806 onUnitChange: nextUnit => setAttributes({ 13807 minHeightUnit: nextUnit 13808 }) 13809 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalPanelColorGradientSettings"], { 13810 title: Object(external_wp_i18n_["__"])('Overlay'), 13811 initialOpen: true, 13812 settings: [{ 13813 colorValue: overlayColor.color, 13814 gradientValue, 13815 onColorChange: setOverlayColor, 13816 onGradientChange: setGradient, 13817 label: Object(external_wp_i18n_["__"])('Color') 13818 }] 13819 }, !!url && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 13820 label: Object(external_wp_i18n_["__"])('Opacity'), 13821 value: dimRatio, 13822 onChange: newDimRation => setAttributes({ 13823 dimRatio: newDimRation 13824 }), 13825 min: 0, 13826 max: 100, 13827 step: 10, 13828 required: true 13829 })))); 13830 const ref = Object(external_wp_element_["useRef"])(); 13831 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 13832 ref 13833 }); 13834 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ 13835 className: 'wp-block-cover__inner-container' 13836 }, { 13837 template: INNER_BLOCKS_TEMPLATE, 13838 templateInsertUpdatesSelection: true 13839 }); 13840 13841 if (!hasInnerBlocks && !hasBackground) { 13842 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { 13843 className: classnames_default()('is-placeholder', blockProps.className) 13844 }), Object(external_wp_element_["createElement"])(CoverPlaceholder, { 13845 noticeUI: noticeUI, 13846 onSelectMedia: onSelectMedia, 13847 noticeOperations: noticeOperations 13848 }, Object(external_wp_element_["createElement"])("div", { 13849 className: "wp-block-cover__placeholder-background-options" 13850 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ColorPalette"], { 13851 disableCustomColors: true, 13852 value: overlayColor.color, 13853 onChange: setOverlayColor, 13854 clearable: false 13855 }))))); 13856 } 13857 13858 const classes = classnames_default()(dimRatioToClass(dimRatio), { 13859 'is-dark-theme': isDark, 13860 'has-background-dim': dimRatio !== 0, 13861 'is-transient': isUploadingMedia, 13862 'has-parallax': hasParallax, 13863 'is-repeated': isRepeated, 13864 [overlayColor.class]: overlayColor.class, 13865 'has-background-gradient': gradientValue, 13866 [gradientClass]: !url && gradientClass, 13867 'has-custom-content-position': !isContentPositionCenter(contentPosition) 13868 }, getPositionClassName(contentPosition)); 13869 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, controls, Object(external_wp_element_["createElement"])("div", Object(esm_extends["a" /* default */])({}, blockProps, { 13870 className: classnames_default()(classes, blockProps.className), 13871 style: { ...style, 13872 ...blockProps.style 13873 }, 13874 "data-url": url 13875 }), Object(external_wp_element_["createElement"])(BoxControlVisualizer, { 13876 values: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$spaci = styleAttribute.spacing) === null || _styleAttribute$spaci === void 0 ? void 0 : _styleAttribute$spaci.padding, 13877 showValues: styleAttribute === null || styleAttribute === void 0 ? void 0 : (_styleAttribute$visua = styleAttribute.visualizers) === null || _styleAttribute$visua === void 0 ? void 0 : _styleAttribute$visua.padding 13878 }), Object(external_wp_element_["createElement"])(ResizableCover, { 13879 className: "block-library-cover__resize-container", 13880 onResizeStart: () => { 13881 setAttributes({ 13882 minHeightUnit: 'px' 13883 }); 13884 toggleSelection(false); 13885 }, 13886 onResize: setTemporaryMinHeight, 13887 onResizeStop: newMinHeight => { 13888 toggleSelection(true); 13889 setAttributes({ 13890 minHeight: newMinHeight 13891 }); 13892 setTemporaryMinHeight(null); 13893 }, 13894 showHandle: isSelected 13895 }), url && gradientValue && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { 13896 "aria-hidden": "true", 13897 className: classnames_default()('wp-block-cover__gradient-background', gradientClass), 13898 style: { 13899 backgroundImage: gradientValue 13900 } 13901 }), url && isImageBackground && isImgElement && Object(external_wp_element_["createElement"])("img", { 13902 ref: isDarkElement, 13903 className: "wp-block-cover__image-background", 13904 alt: "", 13905 src: url, 13906 style: mediaStyle 13907 }), url && isVideoBackground && Object(external_wp_element_["createElement"])("video", { 13908 ref: isDarkElement, 13909 className: "wp-block-cover__video-background", 13910 autoPlay: true, 13911 muted: true, 13912 loop: true, 13913 src: url, 13914 style: mediaStyle 13915 }), isUploadingMedia && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])(CoverPlaceholder, { 13916 disableMediaButtons: true, 13917 noticeUI: noticeUI, 13918 onSelectMedia: onSelectMedia, 13919 noticeOperations: noticeOperations 13920 }), Object(external_wp_element_["createElement"])("div", innerBlocksProps))); 13921 } 13922 13923 /* harmony default export */ var cover_edit = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { 13924 const { 13925 toggleSelection 13926 } = dispatch(external_wp_blockEditor_["store"]); 13927 return { 13928 toggleSelection 13929 }; 13930 }), Object(external_wp_blockEditor_["withColors"])({ 13931 overlayColor: 'background-color' 13932 }), external_wp_components_["withNotices"], external_wp_compose_["withInstanceId"]])(CoverEdit)); 13933 13934 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/save.js 13935 13936 13937 /** 13938 * External dependencies 13939 */ 13940 13941 /** 13942 * WordPress dependencies 13943 */ 13944 13945 13946 /** 13947 * Internal dependencies 13948 */ 13949 13950 13951 function cover_save_save({ 13952 attributes 13953 }) { 13954 const { 13955 backgroundType, 13956 gradient, 13957 contentPosition, 13958 customGradient, 13959 customOverlayColor, 13960 dimRatio, 13961 focalPoint, 13962 hasParallax, 13963 isRepeated, 13964 overlayColor, 13965 url, 13966 id, 13967 minHeight: minHeightProp, 13968 minHeightUnit 13969 } = attributes; 13970 const overlayColorClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', overlayColor); 13971 13972 const gradientClass = Object(external_wp_blockEditor_["__experimentalGetGradientClass"])(gradient); 13973 13974 const minHeight = minHeightUnit ? `${minHeightProp}${minHeightUnit}` : minHeightProp; 13975 const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType; 13976 const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType; 13977 const isImgElement = !(hasParallax || isRepeated); 13978 const style = { ...(isImageBackground && !isImgElement ? backgroundImageStyles(url) : {}), 13979 backgroundColor: !overlayColorClass ? customOverlayColor : undefined, 13980 background: customGradient && !url ? customGradient : undefined, 13981 minHeight: minHeight || undefined 13982 }; 13983 const objectPosition = // prettier-ignore 13984 focalPoint && isImgElement ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : undefined; 13985 const classes = classnames_default()(dimRatioToClass(dimRatio), overlayColorClass, { 13986 'has-background-dim': dimRatio !== 0, 13987 'has-parallax': hasParallax, 13988 'is-repeated': isRepeated, 13989 'has-background-gradient': gradient || customGradient, 13990 [gradientClass]: !url && gradientClass, 13991 'has-custom-content-position': !isContentPositionCenter(contentPosition) 13992 }, getPositionClassName(contentPosition)); 13993 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 13994 className: classes, 13995 style 13996 }), url && (gradient || customGradient) && dimRatio !== 0 && Object(external_wp_element_["createElement"])("span", { 13997 "aria-hidden": "true", 13998 className: classnames_default()('wp-block-cover__gradient-background', gradientClass), 13999 style: customGradient ? { 14000 background: customGradient 14001 } : undefined 14002 }), isImageBackground && isImgElement && url && Object(external_wp_element_["createElement"])("img", { 14003 className: classnames_default()('wp-block-cover__image-background', id ? `wp-image-${id}` : null), 14004 alt: "", 14005 src: url, 14006 style: { 14007 objectPosition 14008 }, 14009 "data-object-fit": "cover", 14010 "data-object-position": objectPosition 14011 }), isVideoBackground && url && Object(external_wp_element_["createElement"])("video", { 14012 className: classnames_default()('wp-block-cover__video-background', 'intrinsic-ignore'), 14013 autoPlay: true, 14014 muted: true, 14015 loop: true, 14016 playsInline: true, 14017 src: url, 14018 style: { 14019 objectPosition 14020 }, 14021 "data-object-fit": "cover", 14022 "data-object-position": objectPosition 14023 }), Object(external_wp_element_["createElement"])("div", { 14024 className: "wp-block-cover__inner-container" 14025 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 14026 } 14027 14028 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/transforms.js 14029 /** 14030 * WordPress dependencies 14031 */ 14032 14033 /** 14034 * Internal dependencies 14035 */ 14036 14037 14038 const cover_transforms_transforms = { 14039 from: [{ 14040 type: 'block', 14041 blocks: ['core/image'], 14042 transform: ({ 14043 caption, 14044 url, 14045 align, 14046 id, 14047 anchor, 14048 style 14049 }) => { 14050 var _style$color; 14051 14052 return Object(external_wp_blocks_["createBlock"])('core/cover', { 14053 url, 14054 align, 14055 id, 14056 anchor, 14057 style: { 14058 color: { 14059 duotone: style === null || style === void 0 ? void 0 : (_style$color = style.color) === null || _style$color === void 0 ? void 0 : _style$color.duotone 14060 } 14061 } 14062 }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 14063 content: caption, 14064 fontSize: 'large' 14065 })]); 14066 } 14067 }, { 14068 type: 'block', 14069 blocks: ['core/video'], 14070 transform: ({ 14071 caption, 14072 src, 14073 align, 14074 id, 14075 anchor 14076 }) => Object(external_wp_blocks_["createBlock"])('core/cover', { 14077 url: src, 14078 align, 14079 id, 14080 backgroundType: VIDEO_BACKGROUND_TYPE, 14081 anchor 14082 }, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 14083 content: caption, 14084 fontSize: 'large' 14085 })]) 14086 }, { 14087 type: 'block', 14088 blocks: ['core/group'], 14089 isMatch: ({ 14090 backgroundColor, 14091 gradient, 14092 style 14093 }) => { 14094 var _style$color2, _style$color3; 14095 14096 /* 14097 * Make this transformation available only if the Group has background 14098 * or gradient set, because otherwise `Cover` block displays a Placeholder. 14099 * 14100 * This helps avoid arbitrary decisions about the Cover block's background 14101 * and user confusion about the existence of previous content. 14102 */ 14103 return backgroundColor || (style === null || style === void 0 ? void 0 : (_style$color2 = style.color) === null || _style$color2 === void 0 ? void 0 : _style$color2.background) || (style === null || style === void 0 ? void 0 : (_style$color3 = style.color) === null || _style$color3 === void 0 ? void 0 : _style$color3.gradient) || gradient; 14104 }, 14105 transform: ({ 14106 align, 14107 anchor, 14108 backgroundColor, 14109 gradient, 14110 style 14111 }, innerBlocks) => { 14112 var _style$color4, _style$color5; 14113 14114 return Object(external_wp_blocks_["createBlock"])('core/cover', { 14115 align, 14116 anchor, 14117 overlayColor: backgroundColor, 14118 customOverlayColor: style === null || style === void 0 ? void 0 : (_style$color4 = style.color) === null || _style$color4 === void 0 ? void 0 : _style$color4.background, 14119 gradient, 14120 customGradient: style === null || style === void 0 ? void 0 : (_style$color5 = style.color) === null || _style$color5 === void 0 ? void 0 : _style$color5.gradient 14121 }, innerBlocks); 14122 } 14123 }], 14124 to: [{ 14125 type: 'block', 14126 blocks: ['core/image'], 14127 isMatch: ({ 14128 backgroundType, 14129 url, 14130 overlayColor, 14131 customOverlayColor, 14132 gradient, 14133 customGradient 14134 }) => { 14135 if (url) { 14136 // If a url exists the transform could happen if that URL represents an image background. 14137 return backgroundType === IMAGE_BACKGROUND_TYPE; 14138 } // If a url is not set the transform could happen if the cover has no background color or gradient; 14139 14140 14141 return !overlayColor && !customOverlayColor && !gradient && !customGradient; 14142 }, 14143 transform: ({ 14144 title, 14145 url, 14146 align, 14147 id, 14148 anchor, 14149 style 14150 }) => { 14151 var _style$color6; 14152 14153 return Object(external_wp_blocks_["createBlock"])('core/image', { 14154 caption: title, 14155 url, 14156 align, 14157 id, 14158 anchor, 14159 style: { 14160 color: { 14161 duotone: style === null || style === void 0 ? void 0 : (_style$color6 = style.color) === null || _style$color6 === void 0 ? void 0 : _style$color6.duotone 14162 } 14163 } 14164 }); 14165 } 14166 }, { 14167 type: 'block', 14168 blocks: ['core/video'], 14169 isMatch: ({ 14170 backgroundType, 14171 url, 14172 overlayColor, 14173 customOverlayColor, 14174 gradient, 14175 customGradient 14176 }) => { 14177 if (url) { 14178 // If a url exists the transform could happen if that URL represents a video background. 14179 return backgroundType === VIDEO_BACKGROUND_TYPE; 14180 } // If a url is not set the transform could happen if the cover has no background color or gradient; 14181 14182 14183 return !overlayColor && !customOverlayColor && !gradient && !customGradient; 14184 }, 14185 transform: ({ 14186 title, 14187 url, 14188 align, 14189 id, 14190 anchor 14191 }) => Object(external_wp_blocks_["createBlock"])('core/video', { 14192 caption: title, 14193 src: url, 14194 id, 14195 align, 14196 anchor 14197 }) 14198 }] 14199 }; 14200 /* harmony default export */ var cover_transforms = (cover_transforms_transforms); 14201 14202 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/cover/index.js 14203 /** 14204 * WordPress dependencies 14205 */ 14206 14207 14208 /** 14209 * Internal dependencies 14210 */ 14211 14212 14213 14214 const cover_metadata = { 14215 apiVersion: 2, 14216 name: "core/cover", 14217 title: "Cover", 14218 category: "media", 14219 description: "Add an image or video with a text overlay \u2014 great for headers.", 14220 textdomain: "default", 14221 attributes: { 14222 url: { 14223 type: "string" 14224 }, 14225 id: { 14226 type: "number" 14227 }, 14228 hasParallax: { 14229 type: "boolean", 14230 "default": false 14231 }, 14232 isRepeated: { 14233 type: "boolean", 14234 "default": false 14235 }, 14236 dimRatio: { 14237 type: "number", 14238 "default": 50 14239 }, 14240 overlayColor: { 14241 type: "string" 14242 }, 14243 customOverlayColor: { 14244 type: "string" 14245 }, 14246 backgroundType: { 14247 type: "string", 14248 "default": "image" 14249 }, 14250 focalPoint: { 14251 type: "object" 14252 }, 14253 minHeight: { 14254 type: "number" 14255 }, 14256 minHeightUnit: { 14257 type: "string" 14258 }, 14259 gradient: { 14260 type: "string" 14261 }, 14262 customGradient: { 14263 type: "string" 14264 }, 14265 contentPosition: { 14266 type: "string" 14267 } 14268 }, 14269 supports: { 14270 anchor: true, 14271 align: true, 14272 html: false, 14273 spacing: { 14274 padding: true 14275 }, 14276 color: { 14277 __experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background", 14278 text: false, 14279 background: false 14280 } 14281 }, 14282 editorStyle: "wp-block-cover-editor", 14283 style: "wp-block-cover" 14284 }; 14285 14286 14287 const { 14288 name: cover_name 14289 } = cover_metadata; 14290 14291 const cover_settings = { 14292 icon: library_cover, 14293 example: { 14294 attributes: { 14295 customOverlayColor: '#065174', 14296 dimRatio: 40, 14297 url: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg' 14298 }, 14299 innerBlocks: [{ 14300 name: 'core/paragraph', 14301 attributes: { 14302 customFontSize: 48, 14303 content: Object(external_wp_i18n_["__"])('<strong>Snow Patrol</strong>'), 14304 align: 'center' 14305 } 14306 }] 14307 }, 14308 transforms: cover_transforms, 14309 save: cover_save_save, 14310 edit: cover_edit, 14311 deprecated: cover_deprecated 14312 }; 14313 14314 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-controls.js 14315 14316 14317 /** 14318 * WordPress dependencies 14319 */ 14320 14321 14322 14323 14324 14325 const EmbedControls = ({ 14326 blockSupportsResponsive, 14327 showEditButton, 14328 themeSupportsResponsive, 14329 allowResponsive, 14330 getResponsiveHelp, 14331 toggleResponsive, 14332 switchBackToURLInput 14333 }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, showEditButton && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 14334 className: "components-toolbar__control", 14335 label: Object(external_wp_i18n_["__"])('Edit URL'), 14336 icon: library_edit["a" /* default */], 14337 onClick: switchBackToURLInput 14338 }))), themeSupportsResponsive && blockSupportsResponsive && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 14339 title: Object(external_wp_i18n_["__"])('Media settings'), 14340 className: "blocks-responsive" 14341 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 14342 label: Object(external_wp_i18n_["__"])('Resize for smaller devices'), 14343 checked: allowResponsive, 14344 help: getResponsiveHelp, 14345 onChange: toggleResponsive 14346 })))); 14347 14348 /* harmony default export */ var embed_controls = (EmbedControls); 14349 14350 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/icons.js 14351 14352 14353 /** 14354 * WordPress dependencies 14355 */ 14356 14357 const embedContentIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14358 viewBox: "0 0 24 24", 14359 xmlns: "http://www.w3.org/2000/svg" 14360 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14361 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zm-6-9.5L16 12l-2.5 2.8 1.1 1L18 12l-3.5-3.5-1 1zm-3 0l-1-1L6 12l3.5 3.8 1.1-1L8 12l2.5-2.5z" 14362 })); 14363 const embedAudioIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14364 viewBox: "0 0 24 24", 14365 xmlns: "http://www.w3.org/2000/svg" 14366 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14367 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM13.2 7.7c-.4.4-.7 1.1-.7 1.9v3.7c-.4-.3-.8-.4-1.3-.4-1.2 0-2.2 1-2.2 2.2 0 1.2 1 2.2 2.2 2.2.5 0 1-.2 1.4-.5.9-.6 1.4-1.6 1.4-2.6V9.6c0-.4.1-.6.2-.8.3-.3 1-.3 1.6-.3h.2V7h-.2c-.7 0-1.8 0-2.6.7z" 14368 })); 14369 const embedPhotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14370 viewBox: "0 0 24 24", 14371 xmlns: "http://www.w3.org/2000/svg" 14372 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14373 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9.2 4.5H19c.3 0 .5.2.5.5v8.4l-3-2.9c-.3-.3-.8-.3-1 0L11.9 14 9 12c-.3-.2-.6-.2-.8 0l-3.6 2.6V9.8l4.6-5.3zm9.8 15H5c-.3 0-.5-.2-.5-.5v-2.4l4.1-3 3 1.9c.3.2.7.2.9-.1L16 12l3.5 3.4V19c0 .3-.2.5-.5.5z" 14374 })); 14375 const embedVideoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14376 viewBox: "0 0 24 24", 14377 xmlns: "http://www.w3.org/2000/svg" 14378 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14379 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm.5 16c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V9.8l4.7-5.3H19c.3 0 .5.2.5.5v14zM10 15l5-3-5-3v6z" 14380 })); 14381 const embedTwitterIcon = { 14382 foreground: '#1da1f2', 14383 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14384 xmlns: "http://www.w3.org/2000/svg", 14385 viewBox: "0 0 24 24" 14386 }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14387 d: "M22.23 5.924c-.736.326-1.527.547-2.357.646.847-.508 1.498-1.312 1.804-2.27-.793.47-1.67.812-2.606.996C18.325 4.498 17.258 4 16.078 4c-2.266 0-4.103 1.837-4.103 4.103 0 .322.036.635.106.935-3.41-.17-6.433-1.804-8.457-4.287-.353.607-.556 1.312-.556 2.064 0 1.424.724 2.68 1.825 3.415-.673-.022-1.305-.207-1.86-.514v.052c0 1.988 1.415 3.647 3.293 4.023-.344.095-.707.145-1.08.145-.265 0-.522-.026-.773-.074.522 1.63 2.038 2.817 3.833 2.85-1.404 1.1-3.174 1.757-5.096 1.757-.332 0-.66-.02-.98-.057 1.816 1.164 3.973 1.843 6.29 1.843 7.547 0 11.675-6.252 11.675-11.675 0-.178-.004-.355-.012-.53.802-.578 1.497-1.3 2.047-2.124z" 14388 }))) 14389 }; 14390 const embedYouTubeIcon = { 14391 foreground: '#ff0000', 14392 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14393 viewBox: "0 0 24 24" 14394 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14395 d: "M21.8 8s-.195-1.377-.795-1.984c-.76-.797-1.613-.8-2.004-.847-2.798-.203-6.996-.203-6.996-.203h-.01s-4.197 0-6.996.202c-.39.046-1.242.05-2.003.846C2.395 6.623 2.2 8 2.2 8S2 9.62 2 11.24v1.517c0 1.618.2 3.237.2 3.237s.195 1.378.795 1.985c.76.797 1.76.77 2.205.855 1.6.153 6.8.2 6.8.2s4.203-.005 7-.208c.392-.047 1.244-.05 2.005-.847.6-.607.795-1.985.795-1.985s.2-1.618.2-3.237v-1.517C22 9.62 21.8 8 21.8 8zM9.935 14.595v-5.62l5.403 2.82-5.403 2.8z" 14396 })) 14397 }; 14398 const embedFacebookIcon = { 14399 foreground: '#3b5998', 14400 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14401 viewBox: "0 0 24 24" 14402 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14403 d: "M20 3H4c-.6 0-1 .4-1 1v16c0 .5.4 1 1 1h8.6v-7h-2.3v-2.7h2.3v-2c0-2.3 1.4-3.6 3.5-3.6 1 0 1.8.1 2.1.1v2.4h-1.4c-1.1 0-1.3.5-1.3 1.3v1.7h2.7l-.4 2.8h-2.3v7H20c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1z" 14404 })) 14405 }; 14406 const embedInstagramIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14407 viewBox: "0 0 24 24" 14408 }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14409 d: "M12 4.622c2.403 0 2.688.01 3.637.052.877.04 1.354.187 1.67.31.42.163.72.358 1.036.673.315.315.51.615.673 1.035.123.317.27.794.31 1.67.043.95.052 1.235.052 3.638s-.01 2.688-.052 3.637c-.04.877-.187 1.354-.31 1.67-.163.42-.358.72-.673 1.036-.315.315-.615.51-1.035.673-.317.123-.794.27-1.67.31-.95.043-1.234.052-3.638.052s-2.688-.01-3.637-.052c-.877-.04-1.354-.187-1.67-.31-.42-.163-.72-.358-1.036-.673-.315-.315-.51-.615-.673-1.035-.123-.317-.27-.794-.31-1.67-.043-.95-.052-1.235-.052-3.638s.01-2.688.052-3.637c.04-.877.187-1.354.31-1.67.163-.42.358-.72.673-1.036.315-.315.615-.51 1.035-.673.317-.123.794-.27 1.67-.31.95-.043 1.235-.052 3.638-.052M12 3c-2.444 0-2.75.01-3.71.054s-1.613.196-2.185.418c-.592.23-1.094.538-1.594 1.04-.5.5-.807 1-1.037 1.593-.223.572-.375 1.226-.42 2.184C3.01 9.25 3 9.555 3 12s.01 2.75.054 3.71.196 1.613.418 2.186c.23.592.538 1.094 1.038 1.594s1.002.808 1.594 1.038c.572.222 1.227.375 2.185.418.96.044 1.266.054 3.71.054s2.75-.01 3.71-.054 1.613-.196 2.186-.418c.592-.23 1.094-.538 1.594-1.038s.808-1.002 1.038-1.594c.222-.572.375-1.227.418-2.185.044-.96.054-1.266.054-3.71s-.01-2.75-.054-3.71-.196-1.613-.418-2.186c-.23-.592-.538-1.094-1.038-1.594s-1.002-.808-1.594-1.038c-.572-.222-1.227-.375-2.185-.418C14.75 3.01 14.445 3 12 3zm0 4.378c-2.552 0-4.622 2.07-4.622 4.622s2.07 4.622 4.622 4.622 4.622-2.07 4.622-4.622S14.552 7.378 12 7.378zM12 15c-1.657 0-3-1.343-3-3s1.343-3 3-3 3 1.343 3 3-1.343 3-3 3zm4.804-8.884c-.596 0-1.08.484-1.08 1.08s.484 1.08 1.08 1.08c.596 0 1.08-.484 1.08-1.08s-.483-1.08-1.08-1.08z" 14410 }))); 14411 const embedWordPressIcon = { 14412 foreground: '#0073AA', 14413 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14414 viewBox: "0 0 24 24" 14415 }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14416 d: "M12.158 12.786l-2.698 7.84c.806.236 1.657.365 2.54.365 1.047 0 2.05-.18 2.986-.51-.024-.037-.046-.078-.065-.123l-2.762-7.57zM3.008 12c0 3.56 2.07 6.634 5.068 8.092L3.788 8.342c-.5 1.117-.78 2.354-.78 3.658zm15.06-.454c0-1.112-.398-1.88-.74-2.48-.456-.74-.883-1.368-.883-2.11 0-.825.627-1.595 1.51-1.595.04 0 .078.006.116.008-1.598-1.464-3.73-2.36-6.07-2.36-3.14 0-5.904 1.613-7.512 4.053.21.008.41.012.58.012.94 0 2.395-.114 2.395-.114.484-.028.54.684.057.74 0 0-.487.058-1.03.086l3.275 9.74 1.968-5.902-1.4-3.838c-.485-.028-.944-.085-.944-.085-.486-.03-.43-.77.056-.742 0 0 1.484.114 2.368.114.94 0 2.397-.114 2.397-.114.486-.028.543.684.058.74 0 0-.488.058-1.03.086l3.25 9.665.897-2.997c.456-1.17.684-2.137.684-2.907zm1.82-3.86c.04.286.06.593.06.924 0 .912-.17 1.938-.683 3.22l-2.746 7.94c2.672-1.558 4.47-4.454 4.47-7.77 0-1.564-.4-3.033-1.1-4.314zM12 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10z" 14417 }))) 14418 }; 14419 const embedSpotifyIcon = { 14420 foreground: '#1db954', 14421 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14422 viewBox: "0 0 24 24" 14423 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14424 d: "M12 2C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m4.586 14.424c-.18.295-.563.387-.857.207-2.35-1.434-5.305-1.76-8.786-.963-.335.077-.67-.133-.746-.47-.077-.334.132-.67.47-.745 3.808-.87 7.076-.496 9.712 1.115.293.18.386.563.206.857M17.81 13.7c-.226.367-.706.482-1.072.257-2.687-1.652-6.785-2.13-9.965-1.166-.413.127-.848-.106-.973-.517-.125-.413.108-.848.52-.973 3.632-1.102 8.147-.568 11.234 1.328.366.226.48.707.256 1.072m.105-2.835C14.692 8.95 9.375 8.775 6.297 9.71c-.493.15-1.016-.13-1.166-.624-.148-.495.13-1.017.625-1.167 3.532-1.073 9.404-.866 13.115 1.337.445.264.59.838.327 1.282-.264.443-.838.59-1.282.325" 14425 })) 14426 }; 14427 const embedFlickrIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14428 viewBox: "0 0 24 24" 14429 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14430 d: "m6.5 7c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5zm11 0c-2.75 0-5 2.25-5 5s2.25 5 5 5 5-2.25 5-5-2.25-5-5-5z" 14431 })); 14432 const embedVimeoIcon = { 14433 foreground: '#1ab7ea', 14434 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14435 xmlns: "http://www.w3.org/2000/svg", 14436 viewBox: "0 0 24 24" 14437 }, Object(external_wp_element_["createElement"])(external_wp_components_["G"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14438 d: "M22.396 7.164c-.093 2.026-1.507 4.8-4.245 8.32C15.323 19.16 12.93 21 10.97 21c-1.214 0-2.24-1.12-3.08-3.36-.56-2.052-1.118-4.105-1.68-6.158-.622-2.24-1.29-3.36-2.004-3.36-.156 0-.7.328-1.634.98l-.978-1.26c1.027-.903 2.04-1.806 3.037-2.71C6 3.95 7.03 3.328 7.716 3.265c1.62-.156 2.616.95 2.99 3.32.404 2.558.685 4.148.84 4.77.468 2.12.982 3.18 1.543 3.18.435 0 1.09-.687 1.963-2.064.872-1.376 1.34-2.422 1.402-3.142.125-1.187-.343-1.782-1.4-1.782-.5 0-1.013.115-1.542.34 1.023-3.35 2.977-4.976 5.862-4.883 2.14.063 3.148 1.45 3.024 4.16z" 14439 }))) 14440 }; 14441 const embedRedditIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14442 viewBox: "0 0 24 24" 14443 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14444 d: "M22 11.816c0-1.256-1.02-2.277-2.277-2.277-.593 0-1.122.24-1.526.613-1.48-.965-3.455-1.594-5.647-1.69l1.17-3.702 3.18.75c.01 1.027.847 1.86 1.877 1.86 1.035 0 1.877-.84 1.877-1.877 0-1.035-.842-1.877-1.877-1.877-.77 0-1.43.466-1.72 1.13L13.55 3.92c-.204-.047-.4.067-.46.26l-1.35 4.27c-2.317.037-4.412.67-5.97 1.67-.402-.355-.917-.58-1.493-.58C3.02 9.54 2 10.56 2 11.815c0 .814.433 1.523 1.078 1.925-.037.222-.06.445-.06.673 0 3.292 4.01 5.97 8.94 5.97s8.94-2.678 8.94-5.97c0-.214-.02-.424-.052-.632.687-.39 1.154-1.12 1.154-1.964zm-3.224-7.422c.606 0 1.1.493 1.1 1.1s-.493 1.1-1.1 1.1-1.1-.494-1.1-1.1.493-1.1 1.1-1.1zm-16 7.422c0-.827.673-1.5 1.5-1.5.313 0 .598.103.838.27-.85.675-1.477 1.478-1.812 2.36-.32-.274-.525-.676-.525-1.13zm9.183 7.79c-4.502 0-8.165-2.33-8.165-5.193S7.457 9.22 11.96 9.22s8.163 2.33 8.163 5.193-3.663 5.193-8.164 5.193zM20.635 13c-.326-.89-.948-1.7-1.797-2.383.247-.186.55-.3.882-.3.827 0 1.5.672 1.5 1.5 0 .482-.23.91-.586 1.184zm-11.64 1.704c-.76 0-1.397-.616-1.397-1.376 0-.76.636-1.397 1.396-1.397.76 0 1.376.638 1.376 1.398 0 .76-.616 1.376-1.376 1.376zm7.405-1.376c0 .76-.615 1.376-1.375 1.376s-1.4-.616-1.4-1.376c0-.76.64-1.397 1.4-1.397.76 0 1.376.638 1.376 1.398zm-1.17 3.38c.15.152.15.398 0 .55-.675.674-1.728 1.002-3.22 1.002l-.01-.002-.012.002c-1.492 0-2.544-.328-3.218-1.002-.152-.152-.152-.398 0-.55.152-.152.4-.15.55 0 .52.52 1.394.775 2.67.775l.01.002.01-.002c1.276 0 2.15-.253 2.67-.775.15-.152.398-.152.55 0z" 14445 })); 14446 const embedTumblrIcon = { 14447 foreground: '#35465c', 14448 src: Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14449 viewBox: "0 0 24 24" 14450 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14451 d: "M19 3H5a2 2 0 00-2 2v14c0 1.1.9 2 2 2h14a2 2 0 002-2V5a2 2 0 00-2-2zm-5.69 14.66c-2.72 0-3.1-1.9-3.1-3.16v-3.56H8.49V8.99c1.7-.62 2.54-1.99 2.64-2.87 0-.06.06-.41.06-.58h1.9v3.1h2.17v2.3h-2.18v3.1c0 .47.13 1.3 1.2 1.26h1.1v2.36c-1.01.02-2.07 0-2.07 0z" 14452 })) 14453 }; 14454 const embedAmazonIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14455 viewBox: "0 0 24 24" 14456 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14457 d: "M18.42 14.58c-.51-.66-1.05-1.23-1.05-2.5V7.87c0-1.8.15-3.45-1.2-4.68-1.05-1.02-2.79-1.35-4.14-1.35-2.6 0-5.52.96-6.12 4.14-.06.36.18.54.4.57l2.66.3c.24-.03.42-.27.48-.5.24-1.12 1.17-1.63 2.2-1.63.56 0 1.22.21 1.55.7.4.56.33 1.31.33 1.97v.36c-1.59.18-3.66.27-5.16.93a4.63 4.63 0 0 0-2.93 4.44c0 2.82 1.8 4.23 4.1 4.23 1.95 0 3.03-.45 4.53-1.98.51.72.66 1.08 1.59 1.83.18.09.45.09.63-.1v.04l2.1-1.8c.24-.21.2-.48.03-.75zm-5.4-1.2c-.45.75-1.14 1.23-1.92 1.23-1.05 0-1.65-.81-1.65-1.98 0-2.31 2.1-2.73 4.08-2.73v.6c0 1.05.03 1.92-.5 2.88z" 14458 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14459 d: "M21.69 19.2a17.62 17.62 0 0 1-21.6-1.57c-.23-.2 0-.5.28-.33a23.88 23.88 0 0 0 20.93 1.3c.45-.19.84.3.39.6z" 14460 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14461 d: "M22.8 17.96c-.36-.45-2.22-.2-3.1-.12-.23.03-.3-.18-.05-.36 1.5-1.05 3.96-.75 4.26-.39.3.36-.1 2.82-1.5 4.02-.21.18-.42.1-.3-.15.3-.8 1.02-2.58.69-3z" 14462 })); 14463 const embedAnimotoIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14464 viewBox: "0 0 24 24" 14465 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14466 d: "m.0206909 21 19.8160091-13.07806 3.5831 6.20826z", 14467 fill: "#4bc7ee" 14468 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14469 d: "m23.7254 19.0205-10.1074-17.18468c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418h22.5655c1.279 0 1.8019-.8905 1.1599-1.9795z", 14470 fill: "#d4cdcb" 14471 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14472 d: "m.0206909 21 15.2439091-16.38571 4.3029 7.32271z", 14473 fill: "#c3d82e" 14474 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14475 d: "m13.618 1.83582c-.6421-1.114428-1.7087-1.114428-2.3249 0l-11.2931 19.16418 15.2646-16.38573z", 14476 fill: "#e4ecb0" 14477 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14478 d: "m.0206909 21 19.5468091-9.063 1.6621 2.8344z", 14479 fill: "#209dbd" 14480 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14481 d: "m.0206909 21 17.9209091-11.82623 1.6259 2.76323z", 14482 fill: "#7cb3c9" 14483 })); 14484 const embedDailymotionIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 14485 viewBox: "0 0 24 24" 14486 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 14487 d: "m12.1479 18.5957c-2.4949 0-4.28131-1.7558-4.28131-4.0658 0-2.2176 1.78641-4.0965 4.09651-4.0965 2.2793 0 4.0349 1.7864 4.0349 4.1581 0 2.2794-1.7556 4.0042-3.8501 4.0042zm8.3521-18.5957-4.5329 1v7c-1.1088-1.41691-2.8028-1.8787-4.8049-1.8787-2.09443 0-3.97329.76993-5.5133 2.27917-1.72483 1.66323-2.6489 3.78863-2.6489 6.16033 0 2.5873.98562 4.8049 2.89526 6.499 1.44763 1.2936 3.17251 1.9402 5.17454 1.9402 1.9713 0 3.4498-.5236 4.8973-1.9402v1.9402h4.5329c0-7.6359 0-15.3641 0-23z", 14488 fill: "#333436" 14489 })); 14490 14491 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-loading.js 14492 14493 14494 /** 14495 * WordPress dependencies 14496 */ 14497 14498 14499 14500 const EmbedLoading = () => Object(external_wp_element_["createElement"])("div", { 14501 className: "wp-block-embed is-loading" 14502 }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])('Embedding…'))); 14503 14504 /* harmony default export */ var embed_loading = (EmbedLoading); 14505 14506 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-placeholder.js 14507 14508 14509 /** 14510 * WordPress dependencies 14511 */ 14512 14513 14514 14515 14516 const EmbedPlaceholder = ({ 14517 icon, 14518 label, 14519 value, 14520 onSubmit, 14521 onChange, 14522 cannotEmbed, 14523 fallback, 14524 tryAgain 14525 }) => { 14526 return Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 14527 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 14528 icon: icon, 14529 showColors: true 14530 }), 14531 label: label, 14532 className: "wp-block-embed", 14533 instructions: Object(external_wp_i18n_["__"])('Paste a link to the content you want to display on your site.') 14534 }, Object(external_wp_element_["createElement"])("form", { 14535 onSubmit: onSubmit 14536 }, Object(external_wp_element_["createElement"])("input", { 14537 type: "url", 14538 value: value || '', 14539 className: "components-placeholder__input", 14540 "aria-label": label, 14541 placeholder: Object(external_wp_i18n_["__"])('Enter URL to embed here…'), 14542 onChange: onChange 14543 }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 14544 isPrimary: true, 14545 type: "submit" 14546 }, Object(external_wp_i18n_["_x"])('Embed', 'button label'))), Object(external_wp_element_["createElement"])("div", { 14547 className: "components-placeholder__learn-more" 14548 }, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { 14549 href: Object(external_wp_i18n_["__"])('https://wordpress.org/support/article/embeds/') 14550 }, Object(external_wp_i18n_["__"])('Learn more about embeds'))), cannotEmbed && Object(external_wp_element_["createElement"])("div", { 14551 className: "components-placeholder__error" 14552 }, Object(external_wp_element_["createElement"])("div", { 14553 className: "components-placeholder__instructions" 14554 }, Object(external_wp_i18n_["__"])('Sorry, this content could not be embedded.')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 14555 isSecondary: true, 14556 onClick: tryAgain 14557 }, Object(external_wp_i18n_["_x"])('Try again', 'button label')), ' ', Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 14558 isSecondary: true, 14559 onClick: fallback 14560 }, Object(external_wp_i18n_["_x"])('Convert to link', 'button label')))); 14561 }; 14562 14563 /* harmony default export */ var embed_placeholder = (EmbedPlaceholder); 14564 14565 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/wp-embed-preview.js 14566 14567 14568 /** 14569 * WordPress dependencies 14570 */ 14571 14572 /** @typedef {import('@wordpress/element').WPSyntheticEvent} WPSyntheticEvent */ 14573 14574 function WpEmbedPreview({ 14575 html 14576 }) { 14577 const ref = Object(external_wp_element_["useRef"])(); 14578 Object(external_wp_element_["useEffect"])(() => { 14579 const { 14580 ownerDocument 14581 } = ref.current; 14582 const { 14583 defaultView 14584 } = ownerDocument; 14585 /** 14586 * Checks for WordPress embed events signaling the height change when iframe 14587 * content loads or iframe's window is resized. The event is sent from 14588 * WordPress core via the window.postMessage API. 14589 * 14590 * References: 14591 * window.postMessage: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage 14592 * WordPress core embed-template on load: https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L143 14593 * WordPress core embed-template on resize: https://github.com/WordPress/WordPress/blob/HEAD/wp-includes/js/wp-embed-template.js#L187 14594 * 14595 * @param {WPSyntheticEvent} event Message event. 14596 */ 14597 14598 function resizeWPembeds({ 14599 data: { 14600 secret, 14601 message, 14602 value 14603 } = {} 14604 }) { 14605 if ([secret, message, value].some(attribute => !attribute) || message !== 'height') { 14606 return; 14607 } 14608 14609 ownerDocument.querySelectorAll(`iframe[data-secret="${secret}"`).forEach(iframe => { 14610 if (+iframe.height !== value) { 14611 iframe.height = value; 14612 } 14613 }); 14614 } 14615 /** 14616 * Checks whether the wp embed iframe is the activeElement, 14617 * if it is dispatch a focus event. 14618 */ 14619 14620 14621 function checkFocus() { 14622 const { 14623 activeElement 14624 } = ownerDocument; 14625 14626 if (activeElement.tagName !== 'IFRAME' || activeElement.parentNode !== ref.current) { 14627 return; 14628 } 14629 14630 activeElement.focus(); 14631 } 14632 14633 defaultView.addEventListener('message', resizeWPembeds); 14634 defaultView.addEventListener('blur', checkFocus); 14635 return () => { 14636 defaultView.removeEventListener('message', resizeWPembeds); 14637 defaultView.removeEventListener('blur', checkFocus); 14638 }; 14639 }, []); 14640 14641 const __html = Object(external_wp_element_["useMemo"])(() => { 14642 const doc = new window.DOMParser().parseFromString(html, 'text/html'); 14643 const iframe = doc.querySelector('iframe'); 14644 14645 if (iframe) { 14646 iframe.removeAttribute('style'); 14647 } 14648 14649 const blockQuote = doc.querySelector('blockquote'); 14650 14651 if (blockQuote) { 14652 blockQuote.style.display = 'none'; 14653 } 14654 14655 return doc.body.innerHTML; 14656 }, [html]); 14657 14658 return Object(external_wp_element_["createElement"])("div", { 14659 ref: ref, 14660 className: "wp-block-embed__wrapper", 14661 dangerouslySetInnerHTML: { 14662 __html 14663 } 14664 }); 14665 } 14666 14667 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/embed-preview.js 14668 14669 14670 /** 14671 * Internal dependencies 14672 */ 14673 14674 /** 14675 * External dependencies 14676 */ 14677 14678 14679 /** 14680 * WordPress dependencies 14681 */ 14682 14683 14684 14685 14686 14687 14688 /** 14689 * Internal dependencies 14690 */ 14691 14692 14693 14694 class embed_preview_EmbedPreview extends external_wp_element_["Component"] { 14695 constructor() { 14696 super(...arguments); 14697 this.hideOverlay = this.hideOverlay.bind(this); 14698 this.state = { 14699 interactive: false 14700 }; 14701 } 14702 14703 static getDerivedStateFromProps(nextProps, state) { 14704 if (!nextProps.isSelected && state.interactive) { 14705 // We only want to change this when the block is not selected, because changing it when 14706 // the block becomes selected makes the overlap disappear too early. Hiding the overlay 14707 // happens on mouseup when the overlay is clicked. 14708 return { 14709 interactive: false 14710 }; 14711 } 14712 14713 return null; 14714 } 14715 14716 hideOverlay() { 14717 // This is called onMouseUp on the overlay. We can't respond to the `isSelected` prop 14718 // changing, because that happens on mouse down, and the overlay immediately disappears, 14719 // and the mouse event can end up in the preview content. We can't use onClick on 14720 // the overlay to hide it either, because then the editor misses the mouseup event, and 14721 // thinks we're multi-selecting blocks. 14722 this.setState({ 14723 interactive: true 14724 }); 14725 } 14726 14727 render() { 14728 const { 14729 preview, 14730 previewable, 14731 url, 14732 type, 14733 caption, 14734 onCaptionChange, 14735 isSelected, 14736 className, 14737 icon, 14738 label, 14739 insertBlocksAfter 14740 } = this.props; 14741 const { 14742 scripts 14743 } = preview; 14744 const { 14745 interactive 14746 } = this.state; 14747 const html = 'photo' === type ? getPhotoHtml(preview) : preview.html; 14748 const parsedHost = new URL(url).host.split('.'); 14749 const parsedHostBaseUrl = parsedHost.splice(parsedHost.length - 2, parsedHost.length - 1).join('.'); 14750 const iframeTitle = Object(external_wp_i18n_["sprintf"])( // translators: %s: host providing embed content e.g: www.youtube.com 14751 Object(external_wp_i18n_["__"])('Embedded content from %s'), parsedHostBaseUrl); 14752 const sandboxClassnames = dedupe_default()(type, className, 'wp-block-embed__wrapper'); // Disabled because the overlay div doesn't actually have a role or functionality 14753 // as far as the user is concerned. We're just catching the first click so that 14754 // the block can be selected without interacting with the embed preview that the overlay covers. 14755 14756 /* eslint-disable jsx-a11y/no-static-element-interactions */ 14757 14758 const embedWrapper = 'wp-embed' === type ? Object(external_wp_element_["createElement"])(WpEmbedPreview, { 14759 html: html 14760 }) : Object(external_wp_element_["createElement"])("div", { 14761 className: "wp-block-embed__wrapper" 14762 }, Object(external_wp_element_["createElement"])(external_wp_components_["SandBox"], { 14763 html: html, 14764 scripts: scripts, 14765 title: iframeTitle, 14766 type: sandboxClassnames, 14767 onFocus: this.hideOverlay 14768 }), !interactive && Object(external_wp_element_["createElement"])("div", { 14769 className: "block-library-embed__interactive-overlay", 14770 onMouseUp: this.hideOverlay 14771 })); 14772 /* eslint-enable jsx-a11y/no-static-element-interactions */ 14773 14774 return Object(external_wp_element_["createElement"])("figure", { 14775 className: dedupe_default()(className, 'wp-block-embed', { 14776 'is-type-video': 'video' === type 14777 }) 14778 }, previewable ? embedWrapper : Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 14779 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 14780 icon: icon, 14781 showColors: true 14782 }), 14783 label: label 14784 }, Object(external_wp_element_["createElement"])("p", { 14785 className: "components-placeholder__error" 14786 }, Object(external_wp_element_["createElement"])("a", { 14787 href: url 14788 }, url)), Object(external_wp_element_["createElement"])("p", { 14789 className: "components-placeholder__error" 14790 }, Object(external_wp_i18n_["sprintf"])( 14791 /* translators: %s: host providing embed content e.g: www.youtube.com */ 14792 Object(external_wp_i18n_["__"])("Embedded content from %s can't be previewed in the editor."), parsedHostBaseUrl))), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 14793 tagName: "figcaption", 14794 placeholder: Object(external_wp_i18n_["__"])('Add caption'), 14795 value: caption, 14796 onChange: onCaptionChange, 14797 inlineToolbar: true, 14798 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 14799 })); 14800 } 14801 14802 } 14803 14804 /* harmony default export */ var embed_preview = (embed_preview_EmbedPreview); 14805 14806 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/edit.js 14807 14808 14809 /** 14810 * Internal dependencies 14811 */ 14812 14813 14814 14815 14816 14817 14818 /** 14819 * External dependencies 14820 */ 14821 14822 14823 /** 14824 * WordPress dependencies 14825 */ 14826 14827 14828 14829 14830 14831 14832 14833 14834 function edit_getResponsiveHelp(checked) { 14835 return checked ? Object(external_wp_i18n_["__"])('This embed will preserve its aspect ratio when the browser is resized.') : Object(external_wp_i18n_["__"])('This embed may not preserve its aspect ratio when the browser is resized.'); 14836 } 14837 14838 const EmbedEdit = props => { 14839 const { 14840 attributes: { 14841 providerNameSlug, 14842 previewable, 14843 responsive, 14844 url: attributesUrl 14845 }, 14846 attributes, 14847 isSelected, 14848 onReplace, 14849 setAttributes, 14850 insertBlocksAfter, 14851 onFocus 14852 } = props; 14853 const defaultEmbedInfo = { 14854 title: Object(external_wp_i18n_["_x"])('Embed', 'block title'), 14855 icon: embedContentIcon 14856 }; 14857 const { 14858 icon, 14859 title 14860 } = getEmbedInfoByProvider(providerNameSlug) || defaultEmbedInfo; 14861 const [url, setURL] = Object(external_wp_element_["useState"])(attributesUrl); 14862 const [isEditingURL, setIsEditingURL] = Object(external_wp_element_["useState"])(false); 14863 const { 14864 invalidateResolution 14865 } = Object(external_wp_data_["useDispatch"])('core/data'); 14866 const { 14867 preview, 14868 fetching, 14869 themeSupportsResponsive, 14870 cannotEmbed 14871 } = Object(external_wp_data_["useSelect"])(select => { 14872 var _embedPreview$data; 14873 14874 const { 14875 getEmbedPreview, 14876 isPreviewEmbedFallback, 14877 isRequestingEmbedPreview, 14878 getThemeSupports 14879 } = select(external_wp_coreData_["store"]); 14880 14881 if (!attributesUrl) { 14882 return { 14883 fetching: false, 14884 cannotEmbed: false 14885 }; 14886 } 14887 14888 const embedPreview = getEmbedPreview(attributesUrl); 14889 const previewIsFallback = isPreviewEmbedFallback(attributesUrl); // The external oEmbed provider does not exist. We got no type info and no html. 14890 14891 const badEmbedProvider = (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.html) === false && (embedPreview === null || embedPreview === void 0 ? void 0 : embedPreview.type) === undefined; // Some WordPress URLs that can't be embedded will cause the API to return 14892 // a valid JSON response with no HTML and `data.status` set to 404, rather 14893 // than generating a fallback response as other embeds do. 14894 14895 const wordpressCantEmbed = (embedPreview === null || embedPreview === void 0 ? void 0 : (_embedPreview$data = embedPreview.data) === null || _embedPreview$data === void 0 ? void 0 : _embedPreview$data.status) === 404; 14896 const validPreview = !!embedPreview && !badEmbedProvider && !wordpressCantEmbed; 14897 return { 14898 preview: validPreview ? embedPreview : undefined, 14899 fetching: isRequestingEmbedPreview(attributesUrl), 14900 themeSupportsResponsive: getThemeSupports()['responsive-embeds'], 14901 cannotEmbed: !validPreview || previewIsFallback 14902 }; 14903 }, [attributesUrl]); 14904 /** 14905 * @return {Object} Attributes derived from the preview, merged with the current attributes. 14906 */ 14907 14908 const getMergedAttributes = () => { 14909 const { 14910 allowResponsive, 14911 className 14912 } = attributes; 14913 return { ...attributes, 14914 ...getAttributesFromPreview(preview, title, className, responsive, allowResponsive) 14915 }; 14916 }; 14917 14918 const toggleResponsive = () => { 14919 const { 14920 allowResponsive, 14921 className 14922 } = attributes; 14923 const { 14924 html 14925 } = preview; 14926 const newAllowResponsive = !allowResponsive; 14927 setAttributes({ 14928 allowResponsive: newAllowResponsive, 14929 className: getClassNames(html, className, responsive && newAllowResponsive) 14930 }); 14931 }; 14932 14933 Object(external_wp_element_["useEffect"])(() => { 14934 if (!(preview !== null && preview !== void 0 && preview.html) || !cannotEmbed || fetching) { 14935 return; 14936 } // At this stage, we're not fetching the preview and know it can't be embedded, 14937 // so try removing any trailing slash, and resubmit. 14938 14939 14940 const newURL = attributesUrl.replace(/\/$/, ''); 14941 setURL(newURL); 14942 setIsEditingURL(false); 14943 setAttributes({ 14944 url: newURL 14945 }); 14946 }, [preview === null || preview === void 0 ? void 0 : preview.html, attributesUrl]); // Handle incoming preview 14947 14948 Object(external_wp_element_["useEffect"])(() => { 14949 if (preview && !isEditingURL) { 14950 // Even though we set attributes that get derived from the preview, 14951 // we don't access them directly because for the initial render, 14952 // the `setAttributes` call will not have taken effect. If we're 14953 // rendering responsive content, setting the responsive classes 14954 // after the preview has been rendered can result in unwanted 14955 // clipping or scrollbars. The `getAttributesFromPreview` function 14956 // that `getMergedAttributes` uses is memoized so that we're not 14957 // calculating them on every render. 14958 setAttributes(getMergedAttributes()); 14959 14960 if (onReplace) { 14961 const upgradedBlock = createUpgradedEmbedBlock(props, getMergedAttributes()); 14962 14963 if (upgradedBlock) { 14964 onReplace(upgradedBlock); 14965 } 14966 } 14967 } 14968 }, [preview, isEditingURL]); 14969 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 14970 14971 if (fetching) { 14972 return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_loading, null)); 14973 } 14974 14975 const label = external_wp_element_["Platform"].select({ 14976 // translators: %s: type of embed e.g: "YouTube", "Twitter", etc. "Embed" is used when no specific type exists 14977 web: Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('%s URL'), title), 14978 native: title 14979 }); // No preview, or we can't embed the current URL, or we've clicked the edit button. 14980 14981 const showEmbedPlaceholder = !preview || cannotEmbed || isEditingURL; 14982 14983 if (showEmbedPlaceholder) { 14984 return Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_placeholder, { 14985 icon: icon, 14986 label: label, 14987 onFocus: onFocus, 14988 onSubmit: event => { 14989 if (event) { 14990 event.preventDefault(); 14991 } 14992 14993 setIsEditingURL(false); 14994 setAttributes({ 14995 url 14996 }); 14997 }, 14998 value: url, 14999 cannotEmbed: cannotEmbed, 15000 onChange: event => setURL(event.target.value), 15001 fallback: () => util_fallback(url, onReplace), 15002 tryAgain: () => { 15003 invalidateResolution('core', 'getEmbedPreview', [url]); 15004 } 15005 })); 15006 } // Even though we set attributes that get derived from the preview, 15007 // we don't access them directly because for the initial render, 15008 // the `setAttributes` call will not have taken effect. If we're 15009 // rendering responsive content, setting the responsive classes 15010 // after the preview has been rendered can result in unwanted 15011 // clipping or scrollbars. The `getAttributesFromPreview` function 15012 // that `getMergedAttributes` uses is memoized so that we're not 15013 15014 15015 const { 15016 caption, 15017 type, 15018 allowResponsive, 15019 className: classFromPreview 15020 } = getMergedAttributes(); 15021 const className = classnames_default()(classFromPreview, props.className); 15022 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(embed_controls, { 15023 showEditButton: preview && !cannotEmbed, 15024 themeSupportsResponsive: themeSupportsResponsive, 15025 blockSupportsResponsive: responsive, 15026 allowResponsive: allowResponsive, 15027 getResponsiveHelp: edit_getResponsiveHelp, 15028 toggleResponsive: toggleResponsive, 15029 switchBackToURLInput: () => setIsEditingURL(true) 15030 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], blockProps, Object(external_wp_element_["createElement"])(embed_preview, { 15031 preview: preview, 15032 previewable: previewable, 15033 className: className, 15034 url: url, 15035 type: type, 15036 caption: caption, 15037 onCaptionChange: value => setAttributes({ 15038 caption: value 15039 }), 15040 isSelected: isSelected, 15041 icon: icon, 15042 label: label, 15043 insertBlocksAfter: insertBlocksAfter 15044 }))); 15045 }; 15046 15047 /* harmony default export */ var embed_edit = (EmbedEdit); 15048 15049 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/save.js 15050 15051 15052 /** 15053 * External dependencies 15054 */ 15055 15056 /** 15057 * WordPress dependencies 15058 */ 15059 15060 15061 function embed_save_save({ 15062 attributes 15063 }) { 15064 const { 15065 url, 15066 caption, 15067 type, 15068 providerNameSlug 15069 } = attributes; 15070 15071 if (!url) { 15072 return null; 15073 } 15074 15075 const className = dedupe_default()('wp-block-embed', { 15076 [`is-type-${type}`]: type, 15077 [`is-provider-${providerNameSlug}`]: providerNameSlug, 15078 [`wp-block-embed-${providerNameSlug}`]: providerNameSlug 15079 }); 15080 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ 15081 className 15082 }), Object(external_wp_element_["createElement"])("div", { 15083 className: "wp-block-embed__wrapper" 15084 }, `\n${url}\n` 15085 /* URL needs to be on its own line. */ 15086 ), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 15087 tagName: "figcaption", 15088 value: caption 15089 })); 15090 } 15091 15092 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/transforms.js 15093 15094 15095 /** 15096 * WordPress dependencies 15097 */ 15098 15099 15100 /** 15101 * Internal dependencies 15102 */ 15103 15104 const transforms_metadata = { 15105 apiVersion: 2, 15106 name: "core/embed", 15107 title: "Embed", 15108 category: "embed", 15109 description: "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", 15110 textdomain: "default", 15111 attributes: { 15112 url: { 15113 type: "string" 15114 }, 15115 caption: { 15116 type: "string", 15117 source: "html", 15118 selector: "figcaption" 15119 }, 15120 type: { 15121 type: "string" 15122 }, 15123 providerNameSlug: { 15124 type: "string" 15125 }, 15126 allowResponsive: { 15127 type: "boolean", 15128 "default": true 15129 }, 15130 responsive: { 15131 type: "boolean", 15132 "default": false 15133 }, 15134 previewable: { 15135 type: "boolean", 15136 "default": true 15137 } 15138 }, 15139 supports: { 15140 align: true 15141 }, 15142 editorStyle: "wp-block-embed-editor", 15143 style: "wp-block-embed" 15144 }; 15145 const { 15146 name: EMBED_BLOCK 15147 } = transforms_metadata; 15148 /** 15149 * Default transforms for generic embeds. 15150 */ 15151 15152 const embed_transforms_transforms = { 15153 from: [{ 15154 type: 'raw', 15155 isMatch: node => { 15156 var _node$textContent, _node$textContent$mat; 15157 15158 return node.nodeName === 'P' && /^\s*(https?:\/\/\S+)\s*$/i.test(node.textContent) && ((_node$textContent = node.textContent) === null || _node$textContent === void 0 ? void 0 : (_node$textContent$mat = _node$textContent.match(/https/gi)) === null || _node$textContent$mat === void 0 ? void 0 : _node$textContent$mat.length) === 1; 15159 }, 15160 transform: node => { 15161 return Object(external_wp_blocks_["createBlock"])(EMBED_BLOCK, { 15162 url: node.textContent.trim() 15163 }); 15164 } 15165 }], 15166 to: [{ 15167 type: 'block', 15168 blocks: ['core/paragraph'], 15169 transform: ({ 15170 url, 15171 caption 15172 }) => { 15173 const link = Object(external_wp_element_["createElement"])("a", { 15174 href: url 15175 }, caption || url); 15176 return Object(external_wp_blocks_["createBlock"])('core/paragraph', { 15177 content: Object(external_wp_element_["renderToString"])(link) 15178 }); 15179 } 15180 }] 15181 }; 15182 /* harmony default export */ var embed_transforms = (embed_transforms_transforms); 15183 15184 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/variations.js 15185 /** 15186 * WordPress dependencies 15187 */ 15188 15189 /** 15190 * Internal dependencies 15191 */ 15192 15193 15194 /** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */ 15195 15196 /** 15197 * Template option choices for predefined columns layouts. 15198 * 15199 * @type {WPBlockVariation[]} 15200 */ 15201 15202 const embed_variations_variations = [{ 15203 name: 'twitter', 15204 title: 'Twitter', 15205 icon: embedTwitterIcon, 15206 keywords: ['tweet', Object(external_wp_i18n_["__"])('social')], 15207 description: Object(external_wp_i18n_["__"])('Embed a tweet.'), 15208 patterns: [/^https?:\/\/(www\.)?twitter\.com\/.+/i], 15209 attributes: { 15210 providerNameSlug: 'twitter', 15211 responsive: true 15212 } 15213 }, { 15214 name: 'youtube', 15215 title: 'YouTube', 15216 icon: embedYouTubeIcon, 15217 keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('video')], 15218 description: Object(external_wp_i18n_["__"])('Embed a YouTube video.'), 15219 patterns: [/^https?:\/\/((m|www)\.)?youtube\.com\/.+/i, /^https?:\/\/youtu\.be\/.+/i], 15220 attributes: { 15221 providerNameSlug: 'youtube', 15222 responsive: true 15223 } 15224 }, { 15225 // Deprecate Facebook Embed per FB policy 15226 // See: https://developers.facebook.com/docs/plugins/oembed-legacy 15227 name: 'facebook', 15228 title: 'Facebook', 15229 icon: embedFacebookIcon, 15230 keywords: [Object(external_wp_i18n_["__"])('social')], 15231 description: Object(external_wp_i18n_["__"])('Embed a Facebook post.'), 15232 scope: ['block'], 15233 patterns: [], 15234 attributes: { 15235 providerNameSlug: 'facebook', 15236 previewable: false, 15237 responsive: true 15238 } 15239 }, { 15240 // Deprecate Instagram per FB policy 15241 // See: https://developers.facebook.com/docs/instagram/oembed-legacy 15242 name: 'instagram', 15243 title: 'Instagram', 15244 icon: embedInstagramIcon, 15245 keywords: [Object(external_wp_i18n_["__"])('image'), Object(external_wp_i18n_["__"])('social')], 15246 description: Object(external_wp_i18n_["__"])('Embed an Instagram post.'), 15247 scope: ['block'], 15248 patterns: [], 15249 attributes: { 15250 providerNameSlug: 'instagram', 15251 responsive: true 15252 } 15253 }, { 15254 name: 'wordpress', 15255 title: 'WordPress', 15256 icon: embedWordPressIcon, 15257 keywords: [Object(external_wp_i18n_["__"])('post'), Object(external_wp_i18n_["__"])('blog')], 15258 description: Object(external_wp_i18n_["__"])('Embed a WordPress post.'), 15259 attributes: { 15260 providerNameSlug: 'wordpress' 15261 } 15262 }, { 15263 name: 'soundcloud', 15264 title: 'SoundCloud', 15265 icon: embedAudioIcon, 15266 keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], 15267 description: Object(external_wp_i18n_["__"])('Embed SoundCloud content.'), 15268 patterns: [/^https?:\/\/(www\.)?soundcloud\.com\/.+/i], 15269 attributes: { 15270 providerNameSlug: 'soundcloud', 15271 responsive: true 15272 } 15273 }, { 15274 name: 'spotify', 15275 title: 'Spotify', 15276 icon: embedSpotifyIcon, 15277 keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], 15278 description: Object(external_wp_i18n_["__"])('Embed Spotify content.'), 15279 patterns: [/^https?:\/\/(open|play)\.spotify\.com\/.+/i], 15280 attributes: { 15281 providerNameSlug: 'spotify', 15282 responsive: true 15283 } 15284 }, { 15285 name: 'flickr', 15286 title: 'Flickr', 15287 icon: embedFlickrIcon, 15288 keywords: [Object(external_wp_i18n_["__"])('image')], 15289 description: Object(external_wp_i18n_["__"])('Embed Flickr content.'), 15290 patterns: [/^https?:\/\/(www\.)?flickr\.com\/.+/i, /^https?:\/\/flic\.kr\/.+/i], 15291 attributes: { 15292 providerNameSlug: 'flickr', 15293 responsive: true 15294 } 15295 }, { 15296 name: 'vimeo', 15297 title: 'Vimeo', 15298 icon: embedVimeoIcon, 15299 keywords: [Object(external_wp_i18n_["__"])('video')], 15300 description: Object(external_wp_i18n_["__"])('Embed a Vimeo video.'), 15301 patterns: [/^https?:\/\/(www\.)?vimeo\.com\/.+/i], 15302 attributes: { 15303 providerNameSlug: 'vimeo', 15304 responsive: true 15305 } 15306 }, { 15307 name: 'animoto', 15308 title: 'Animoto', 15309 icon: embedAnimotoIcon, 15310 description: Object(external_wp_i18n_["__"])('Embed an Animoto video.'), 15311 patterns: [/^https?:\/\/(www\.)?(animoto|video214)\.com\/.+/i], 15312 attributes: { 15313 providerNameSlug: 'animoto', 15314 responsive: true 15315 } 15316 }, { 15317 name: 'cloudup', 15318 title: 'Cloudup', 15319 icon: embedContentIcon, 15320 description: Object(external_wp_i18n_["__"])('Embed Cloudup content.'), 15321 patterns: [/^https?:\/\/cloudup\.com\/.+/i], 15322 attributes: { 15323 providerNameSlug: 'cloudup', 15324 responsive: true 15325 } 15326 }, { 15327 // Deprecated since CollegeHumor content is now powered by YouTube 15328 name: 'collegehumor', 15329 title: 'CollegeHumor', 15330 icon: embedVideoIcon, 15331 description: Object(external_wp_i18n_["__"])('Embed CollegeHumor content.'), 15332 scope: ['block'], 15333 patterns: [], 15334 attributes: { 15335 providerNameSlug: 'collegehumor', 15336 responsive: true 15337 } 15338 }, { 15339 name: 'crowdsignal', 15340 title: 'Crowdsignal', 15341 icon: embedContentIcon, 15342 keywords: ['polldaddy', Object(external_wp_i18n_["__"])('survey')], 15343 description: Object(external_wp_i18n_["__"])('Embed Crowdsignal (formerly Polldaddy) content.'), 15344 patterns: [/^https?:\/\/((.+\.)?polldaddy\.com|poll\.fm|.+\.survey\.fm)\/.+/i], 15345 attributes: { 15346 providerNameSlug: 'crowdsignal', 15347 responsive: true 15348 } 15349 }, { 15350 name: 'dailymotion', 15351 title: 'Dailymotion', 15352 icon: embedDailymotionIcon, 15353 keywords: [Object(external_wp_i18n_["__"])('video')], 15354 description: Object(external_wp_i18n_["__"])('Embed a Dailymotion video.'), 15355 patterns: [/^https?:\/\/(www\.)?dailymotion\.com\/.+/i], 15356 attributes: { 15357 providerNameSlug: 'dailymotion', 15358 responsive: true 15359 } 15360 }, { 15361 name: 'imgur', 15362 title: 'Imgur', 15363 icon: embedPhotoIcon, 15364 description: Object(external_wp_i18n_["__"])('Embed Imgur content.'), 15365 patterns: [/^https?:\/\/(.+\.)?imgur\.com\/.+/i], 15366 attributes: { 15367 providerNameSlug: 'imgur', 15368 responsive: true 15369 } 15370 }, { 15371 name: 'issuu', 15372 title: 'Issuu', 15373 icon: embedContentIcon, 15374 description: Object(external_wp_i18n_["__"])('Embed Issuu content.'), 15375 patterns: [/^https?:\/\/(www\.)?issuu\.com\/.+/i], 15376 attributes: { 15377 providerNameSlug: 'issuu', 15378 responsive: true 15379 } 15380 }, { 15381 name: 'kickstarter', 15382 title: 'Kickstarter', 15383 icon: embedContentIcon, 15384 description: Object(external_wp_i18n_["__"])('Embed Kickstarter content.'), 15385 patterns: [/^https?:\/\/(www\.)?kickstarter\.com\/.+/i, /^https?:\/\/kck\.st\/.+/i], 15386 attributes: { 15387 providerNameSlug: 'kickstarter', 15388 responsive: true 15389 } 15390 }, { 15391 name: 'meetup-com', 15392 title: 'Meetup.com', 15393 icon: embedContentIcon, 15394 description: Object(external_wp_i18n_["__"])('Embed Meetup.com content.'), 15395 patterns: [/^https?:\/\/(www\.)?meetu(\.ps|p\.com)\/.+/i], 15396 attributes: { 15397 providerNameSlug: 'meetup-com', 15398 responsive: true 15399 } 15400 }, { 15401 name: 'mixcloud', 15402 title: 'Mixcloud', 15403 icon: embedAudioIcon, 15404 keywords: [Object(external_wp_i18n_["__"])('music'), Object(external_wp_i18n_["__"])('audio')], 15405 description: Object(external_wp_i18n_["__"])('Embed Mixcloud content.'), 15406 patterns: [/^https?:\/\/(www\.)?mixcloud\.com\/.+/i], 15407 attributes: { 15408 providerNameSlug: 'mixcloud', 15409 responsive: true 15410 } 15411 }, { 15412 name: 'reddit', 15413 title: 'Reddit', 15414 icon: embedRedditIcon, 15415 description: Object(external_wp_i18n_["__"])('Embed a Reddit thread.'), 15416 patterns: [/^https?:\/\/(www\.)?reddit\.com\/.+/i], 15417 attributes: { 15418 providerNameSlug: 'reddit', 15419 responsive: true 15420 } 15421 }, { 15422 name: 'reverbnation', 15423 title: 'ReverbNation', 15424 icon: embedAudioIcon, 15425 description: Object(external_wp_i18n_["__"])('Embed ReverbNation content.'), 15426 patterns: [/^https?:\/\/(www\.)?reverbnation\.com\/.+/i], 15427 attributes: { 15428 providerNameSlug: 'reverbnation', 15429 responsive: true 15430 } 15431 }, { 15432 name: 'screencast', 15433 title: 'Screencast', 15434 icon: embedVideoIcon, 15435 description: Object(external_wp_i18n_["__"])('Embed Screencast content.'), 15436 patterns: [/^https?:\/\/(www\.)?screencast\.com\/.+/i], 15437 attributes: { 15438 providerNameSlug: 'screencast', 15439 responsive: true 15440 } 15441 }, { 15442 name: 'scribd', 15443 title: 'Scribd', 15444 icon: embedContentIcon, 15445 description: Object(external_wp_i18n_["__"])('Embed Scribd content.'), 15446 patterns: [/^https?:\/\/(www\.)?scribd\.com\/.+/i], 15447 attributes: { 15448 providerNameSlug: 'scribd', 15449 responsive: true 15450 } 15451 }, { 15452 name: 'slideshare', 15453 title: 'Slideshare', 15454 icon: embedContentIcon, 15455 description: Object(external_wp_i18n_["__"])('Embed Slideshare content.'), 15456 patterns: [/^https?:\/\/(.+?\.)?slideshare\.net\/.+/i], 15457 attributes: { 15458 providerNameSlug: 'slideshare', 15459 responsive: true 15460 } 15461 }, { 15462 name: 'smugmug', 15463 title: 'SmugMug', 15464 icon: embedPhotoIcon, 15465 description: Object(external_wp_i18n_["__"])('Embed SmugMug content.'), 15466 patterns: [/^https?:\/\/(.+\.)?smugmug\.com\/.*/i], 15467 attributes: { 15468 providerNameSlug: 'smugmug', 15469 previewable: false, 15470 responsive: true 15471 } 15472 }, { 15473 name: 'speaker-deck', 15474 title: 'Speaker Deck', 15475 icon: embedContentIcon, 15476 description: Object(external_wp_i18n_["__"])('Embed Speaker Deck content.'), 15477 patterns: [/^https?:\/\/(www\.)?speakerdeck\.com\/.+/i], 15478 attributes: { 15479 providerNameSlug: 'speaker-deck', 15480 responsive: true 15481 } 15482 }, { 15483 name: 'tiktok', 15484 title: 'TikTok', 15485 icon: embedVideoIcon, 15486 keywords: [Object(external_wp_i18n_["__"])('video')], 15487 description: Object(external_wp_i18n_["__"])('Embed a TikTok video.'), 15488 patterns: [/^https?:\/\/(www\.)?tiktok\.com\/.+/i], 15489 attributes: { 15490 providerNameSlug: 'tiktok', 15491 responsive: true 15492 } 15493 }, { 15494 name: 'ted', 15495 title: 'TED', 15496 icon: embedVideoIcon, 15497 description: Object(external_wp_i18n_["__"])('Embed a TED video.'), 15498 patterns: [/^https?:\/\/(www\.|embed\.)?ted\.com\/.+/i], 15499 attributes: { 15500 providerNameSlug: 'ted', 15501 responsive: true 15502 } 15503 }, { 15504 name: 'tumblr', 15505 title: 'Tumblr', 15506 icon: embedTumblrIcon, 15507 keywords: [Object(external_wp_i18n_["__"])('social')], 15508 description: Object(external_wp_i18n_["__"])('Embed a Tumblr post.'), 15509 patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i], 15510 attributes: { 15511 providerNameSlug: 'tumblr', 15512 responsive: true 15513 } 15514 }, { 15515 name: 'videopress', 15516 title: 'VideoPress', 15517 icon: embedVideoIcon, 15518 keywords: [Object(external_wp_i18n_["__"])('video')], 15519 description: Object(external_wp_i18n_["__"])('Embed a VideoPress video.'), 15520 patterns: [/^https?:\/\/videopress\.com\/.+/i], 15521 attributes: { 15522 providerNameSlug: 'videopress', 15523 responsive: true 15524 } 15525 }, { 15526 name: 'wordpress-tv', 15527 title: 'WordPress.tv', 15528 icon: embedVideoIcon, 15529 description: Object(external_wp_i18n_["__"])('Embed a WordPress.tv video.'), 15530 patterns: [/^https?:\/\/wordpress\.tv\/.+/i], 15531 attributes: { 15532 providerNameSlug: 'wordpress-tv', 15533 responsive: true 15534 } 15535 }, { 15536 name: 'amazon-kindle', 15537 title: 'Amazon Kindle', 15538 icon: embedAmazonIcon, 15539 keywords: [Object(external_wp_i18n_["__"])('ebook')], 15540 description: Object(external_wp_i18n_["__"])('Embed Amazon Kindle content.'), 15541 patterns: [/^https?:\/\/([a-z0-9-]+\.)?(amazon|amzn)(\.[a-z]{2,4})+\/.+/i, /^https?:\/\/(www\.)?(a\.co|z\.cn)\/.+/i], 15542 attributes: { 15543 providerNameSlug: 'amazon-kindle' 15544 } 15545 }]; 15546 /** 15547 * Add `isActive` function to all `embed` variations, if not defined. 15548 * `isActive` function is used to find a variation match from a created 15549 * Block by providing its attributes. 15550 */ 15551 15552 embed_variations_variations.forEach(variation => { 15553 if (variation.isActive) return; 15554 15555 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.providerNameSlug === variationAttributes.providerNameSlug; 15556 }); 15557 /* harmony default export */ var embed_variations = (embed_variations_variations); 15558 15559 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/deprecated.js 15560 15561 15562 /** 15563 * External dependencies 15564 */ 15565 15566 /** 15567 * Internal dependencies 15568 */ 15569 15570 const deprecated_metadata = { 15571 apiVersion: 2, 15572 name: "core/embed", 15573 title: "Embed", 15574 category: "embed", 15575 description: "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", 15576 textdomain: "default", 15577 attributes: { 15578 url: { 15579 type: "string" 15580 }, 15581 caption: { 15582 type: "string", 15583 source: "html", 15584 selector: "figcaption" 15585 }, 15586 type: { 15587 type: "string" 15588 }, 15589 providerNameSlug: { 15590 type: "string" 15591 }, 15592 allowResponsive: { 15593 type: "boolean", 15594 "default": true 15595 }, 15596 responsive: { 15597 type: "boolean", 15598 "default": false 15599 }, 15600 previewable: { 15601 type: "boolean", 15602 "default": true 15603 } 15604 }, 15605 supports: { 15606 align: true 15607 }, 15608 editorStyle: "wp-block-embed-editor", 15609 style: "wp-block-embed" 15610 }; 15611 /** 15612 * WordPress dependencies 15613 */ 15614 15615 15616 const { 15617 attributes: embed_deprecated_blockAttributes 15618 } = deprecated_metadata; 15619 const embed_deprecated_deprecated = [{ 15620 attributes: embed_deprecated_blockAttributes, 15621 15622 save({ 15623 attributes: { 15624 url, 15625 caption, 15626 type, 15627 providerNameSlug 15628 } 15629 }) { 15630 if (!url) { 15631 return null; 15632 } 15633 15634 const embedClassName = classnames_default()('wp-block-embed', { 15635 [`is-type-${type}`]: type, 15636 [`is-provider-${providerNameSlug}`]: providerNameSlug 15637 }); 15638 return Object(external_wp_element_["createElement"])("figure", { 15639 className: embedClassName 15640 }, `\n${url}\n` 15641 /* URL needs to be on its own line. */ 15642 , !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 15643 tagName: "figcaption", 15644 value: caption 15645 })); 15646 } 15647 15648 }]; 15649 /* harmony default export */ var embed_deprecated = (embed_deprecated_deprecated); 15650 15651 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/embed/index.js 15652 /** 15653 * Internal dependencies 15654 */ 15655 15656 15657 const embed_metadata = { 15658 apiVersion: 2, 15659 name: "core/embed", 15660 title: "Embed", 15661 category: "embed", 15662 description: "Add a block that displays content pulled from other sites, like Twitter, Instagram or YouTube.", 15663 textdomain: "default", 15664 attributes: { 15665 url: { 15666 type: "string" 15667 }, 15668 caption: { 15669 type: "string", 15670 source: "html", 15671 selector: "figcaption" 15672 }, 15673 type: { 15674 type: "string" 15675 }, 15676 providerNameSlug: { 15677 type: "string" 15678 }, 15679 allowResponsive: { 15680 type: "boolean", 15681 "default": true 15682 }, 15683 responsive: { 15684 type: "boolean", 15685 "default": false 15686 }, 15687 previewable: { 15688 type: "boolean", 15689 "default": true 15690 } 15691 }, 15692 supports: { 15693 align: true 15694 }, 15695 editorStyle: "wp-block-embed-editor", 15696 style: "wp-block-embed" 15697 }; 15698 15699 15700 15701 15702 const { 15703 name: embed_name 15704 } = embed_metadata; 15705 15706 const embed_settings = { 15707 icon: embedContentIcon, 15708 edit: embed_edit, 15709 save: embed_save_save, 15710 transforms: embed_transforms, 15711 variations: embed_variations, 15712 deprecated: embed_deprecated 15713 }; 15714 15715 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/file.js 15716 15717 15718 /** 15719 * WordPress dependencies 15720 */ 15721 15722 const file_file = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 15723 viewBox: "0 0 24 24", 15724 xmlns: "http://www.w3.org/2000/svg" 15725 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 15726 d: "M19 6.2h-5.9l-.6-1.1c-.3-.7-1-1.1-1.8-1.1H5c-1.1 0-2 .9-2 2v11.8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8.2c0-1.1-.9-2-2-2zm.5 11.6c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h5.8c.2 0 .4.1.4.3l1 2H19c.3 0 .5.2.5.5v9.5z" 15727 })); 15728 /* harmony default export */ var library_file = (file_file); 15729 15730 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/inspector.js 15731 15732 15733 /** 15734 * WordPress dependencies 15735 */ 15736 15737 15738 15739 /** 15740 * Internal dependencies 15741 */ 15742 15743 15744 function FileBlockInspector({ 15745 hrefs, 15746 openInNewWindow, 15747 showDownloadButton, 15748 changeLinkDestinationOption, 15749 changeOpenInNewWindow, 15750 changeShowDownloadButton, 15751 displayPreview, 15752 changeDisplayPreview, 15753 previewHeight, 15754 changePreviewHeight 15755 }) { 15756 const { 15757 href, 15758 textLinkHref, 15759 attachmentPage 15760 } = hrefs; 15761 let linkDestinationOptions = [{ 15762 value: href, 15763 label: Object(external_wp_i18n_["__"])('URL') 15764 }]; 15765 15766 if (attachmentPage) { 15767 linkDestinationOptions = [{ 15768 value: href, 15769 label: Object(external_wp_i18n_["__"])('Media file') 15770 }, { 15771 value: attachmentPage, 15772 label: Object(external_wp_i18n_["__"])('Attachment page') 15773 }]; 15774 } 15775 15776 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, href.endsWith('.pdf') && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 15777 title: Object(external_wp_i18n_["__"])('PDF settings') 15778 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 15779 label: Object(external_wp_i18n_["__"])('Show inline embed'), 15780 help: displayPreview ? Object(external_wp_i18n_["__"])("Note: Most phone and tablet browsers won't display embedded PDFs.") : null, 15781 checked: !!displayPreview, 15782 onChange: changeDisplayPreview 15783 }), Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 15784 label: Object(external_wp_i18n_["__"])('Height in pixels'), 15785 min: MIN_PREVIEW_HEIGHT, 15786 max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight), 15787 value: previewHeight, 15788 onChange: changePreviewHeight 15789 })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 15790 title: Object(external_wp_i18n_["__"])('Text link settings') 15791 }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 15792 label: Object(external_wp_i18n_["__"])('Link to'), 15793 value: textLinkHref, 15794 options: linkDestinationOptions, 15795 onChange: changeLinkDestinationOption 15796 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 15797 label: Object(external_wp_i18n_["__"])('Open in new tab'), 15798 checked: openInNewWindow, 15799 onChange: changeOpenInNewWindow 15800 })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 15801 title: Object(external_wp_i18n_["__"])('Download button settings') 15802 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 15803 label: Object(external_wp_i18n_["__"])('Show download button'), 15804 checked: showDownloadButton, 15805 onChange: changeShowDownloadButton 15806 })))); 15807 } 15808 15809 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/utils.js 15810 /** 15811 * Uses a combination of user agent matching and feature detection to determine whether 15812 * the current browser supports rendering PDFs inline. 15813 * 15814 * @return {boolean} Whether or not the browser supports inline PDFs. 15815 */ 15816 const browserSupportsPdfs = () => { 15817 // Most mobile devices include "Mobi" in their UA. 15818 if (window.navigator.userAgent.indexOf('Mobi') > -1) { 15819 return false; 15820 } // Android tablets are the noteable exception. 15821 15822 15823 if (window.navigator.userAgent.indexOf('Android') > -1) { 15824 return false; 15825 } // iPad pretends to be a Mac. 15826 15827 15828 if (window.navigator.userAgent.indexOf('Macintosh') > -1 && window.navigator.maxTouchPoints && window.navigator.maxTouchPoints > 2) { 15829 return false; 15830 } // IE only supports PDFs when there's an ActiveX object available for it. 15831 15832 15833 if (!!(window.ActiveXObject || 'ActiveXObject' in window) && !(createActiveXObject('AcroPDF.PDF') || createActiveXObject('PDF.PdfCtrl'))) { 15834 return false; 15835 } 15836 15837 return true; 15838 }; 15839 /** 15840 * Helper function for creating ActiveX objects, catching any errors that are thrown 15841 * when it's generated. 15842 * 15843 * @param {string} type The name of the ActiveX object to create. 15844 * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed. 15845 */ 15846 15847 const createActiveXObject = type => { 15848 let ax; 15849 15850 try { 15851 ax = new window.ActiveXObject(type); 15852 } catch (e) { 15853 ax = undefined; 15854 } 15855 15856 return ax; 15857 }; 15858 /** 15859 * Hides all .wp-block-file__embed elements on the document. This function is only intended 15860 * to be run on the front-end, it may have weird side effects running in the block editor. 15861 */ 15862 15863 15864 const hidePdfEmbedsOnUnsupportedBrowsers = () => { 15865 if (!browserSupportsPdfs()) { 15866 const embeds = document.getElementsByClassName('wp-block-file__embed'); 15867 Array.from(embeds).forEach(embed => { 15868 embed.style.display = 'none'; 15869 }); 15870 } 15871 }; 15872 15873 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/edit.js 15874 15875 15876 /** 15877 * External dependencies 15878 */ 15879 15880 /** 15881 * WordPress dependencies 15882 */ 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 /** 15895 * Internal dependencies 15896 */ 15897 15898 15899 15900 const MIN_PREVIEW_HEIGHT = 200; 15901 const MAX_PREVIEW_HEIGHT = 2000; 15902 15903 function ClipboardToolbarButton({ 15904 text, 15905 disabled 15906 }) { 15907 const { 15908 createNotice 15909 } = Object(external_wp_data_["useDispatch"])(external_wp_notices_["store"]); 15910 const ref = Object(external_wp_compose_["useCopyToClipboard"])(text, () => { 15911 createNotice('info', Object(external_wp_i18n_["__"])('Copied URL to clipboard.'), { 15912 isDismissible: true, 15913 type: 'snackbar' 15914 }); 15915 }); 15916 return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 15917 className: "components-clipboard-toolbar-button", 15918 ref: ref, 15919 disabled: disabled 15920 }, Object(external_wp_i18n_["__"])('Copy URL')); 15921 } 15922 15923 function FileEdit({ 15924 attributes, 15925 isSelected, 15926 setAttributes, 15927 noticeUI, 15928 noticeOperations 15929 }) { 15930 const { 15931 id, 15932 fileName, 15933 href, 15934 textLinkHref, 15935 textLinkTarget, 15936 showDownloadButton, 15937 downloadButtonText, 15938 displayPreview, 15939 previewHeight 15940 } = attributes; 15941 const [hasError, setHasError] = Object(external_wp_element_["useState"])(false); 15942 const { 15943 media, 15944 mediaUpload 15945 } = Object(external_wp_data_["useSelect"])(select => ({ 15946 media: id === undefined ? undefined : select(external_wp_coreData_["store"]).getMedia(id), 15947 mediaUpload: select(external_wp_blockEditor_["store"]).getSettings().mediaUpload 15948 }), [id]); 15949 const { 15950 toggleSelection 15951 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 15952 Object(external_wp_element_["useEffect"])(() => { 15953 // Upload a file drag-and-dropped into the editor 15954 if (Object(external_wp_blob_["isBlobURL"])(href)) { 15955 const file = Object(external_wp_blob_["getBlobByURL"])(href); 15956 mediaUpload({ 15957 filesList: [file], 15958 onFileChange: ([newMedia]) => onSelectFile(newMedia), 15959 onError: message => { 15960 setHasError(true); 15961 noticeOperations.createErrorNotice(message); 15962 } 15963 }); 15964 Object(external_wp_blob_["revokeBlobURL"])(href); 15965 } 15966 15967 if (downloadButtonText === undefined) { 15968 changeDownloadButtonText(Object(external_wp_i18n_["_x"])('Download', 'button label')); 15969 } 15970 }, []); 15971 15972 function onSelectFile(newMedia) { 15973 if (newMedia && newMedia.url) { 15974 setHasError(false); 15975 const isPdf = newMedia.url.endsWith('.pdf'); 15976 setAttributes({ 15977 href: newMedia.url, 15978 fileName: newMedia.title, 15979 textLinkHref: newMedia.url, 15980 id: newMedia.id, 15981 displayPreview: isPdf ? true : undefined, 15982 previewHeight: isPdf ? 600 : undefined 15983 }); 15984 } 15985 } 15986 15987 function onUploadError(message) { 15988 setHasError(true); 15989 noticeOperations.removeAllNotices(); 15990 noticeOperations.createErrorNotice(message); 15991 } 15992 15993 function changeLinkDestinationOption(newHref) { 15994 // Choose Media File or Attachment Page (when file is in Media Library) 15995 setAttributes({ 15996 textLinkHref: newHref 15997 }); 15998 } 15999 16000 function changeOpenInNewWindow(newValue) { 16001 setAttributes({ 16002 textLinkTarget: newValue ? '_blank' : false 16003 }); 16004 } 16005 16006 function changeShowDownloadButton(newValue) { 16007 setAttributes({ 16008 showDownloadButton: newValue 16009 }); 16010 } 16011 16012 function changeDownloadButtonText(newValue) { 16013 // Remove anchor tags from button text content. 16014 setAttributes({ 16015 downloadButtonText: newValue.replace(/<\/?a[^>]*>/g, '') 16016 }); 16017 } 16018 16019 function changeDisplayPreview(newValue) { 16020 setAttributes({ 16021 displayPreview: newValue 16022 }); 16023 } 16024 16025 function handleOnResizeStop(event, direction, elt, delta) { 16026 toggleSelection(true); 16027 const newHeight = parseInt(previewHeight + delta.height, 10); 16028 setAttributes({ 16029 previewHeight: newHeight 16030 }); 16031 } 16032 16033 function changePreviewHeight(newValue) { 16034 const newHeight = Math.max(parseInt(newValue, 10), MIN_PREVIEW_HEIGHT); 16035 setAttributes({ 16036 previewHeight: newHeight 16037 }); 16038 } 16039 16040 const attachmentPage = media && media.link; 16041 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 16042 className: classnames_default()(Object(external_wp_blob_["isBlobURL"])(href) && Object(external_wp_components_["__unstableGetAnimateClassName"])({ 16043 type: 'loading' 16044 }), { 16045 'is-transient': Object(external_wp_blob_["isBlobURL"])(href) 16046 }) 16047 }); 16048 const displayPreviewInEditor = browserSupportsPdfs() && displayPreview; 16049 16050 if (!href || hasError) { 16051 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 16052 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 16053 icon: library_file 16054 }), 16055 labels: { 16056 title: Object(external_wp_i18n_["__"])('File'), 16057 instructions: Object(external_wp_i18n_["__"])('Upload a file or pick one from your media library.') 16058 }, 16059 onSelect: onSelectFile, 16060 notices: noticeUI, 16061 onError: onUploadError, 16062 accept: "*" 16063 })); 16064 } 16065 16066 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(FileBlockInspector, { 16067 hrefs: { 16068 href, 16069 textLinkHref, 16070 attachmentPage 16071 }, 16072 openInNewWindow: !!textLinkTarget, 16073 showDownloadButton, 16074 changeLinkDestinationOption, 16075 changeOpenInNewWindow, 16076 changeShowDownloadButton, 16077 displayPreview, 16078 changeDisplayPreview, 16079 previewHeight, 16080 changePreviewHeight 16081 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 16082 group: "other" 16083 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 16084 mediaId: id, 16085 mediaURL: href, 16086 accept: "*", 16087 onSelect: onSelectFile, 16088 onError: onUploadError 16089 }), Object(external_wp_element_["createElement"])(ClipboardToolbarButton, { 16090 text: href, 16091 disabled: Object(external_wp_blob_["isBlobURL"])(href) 16092 })), Object(external_wp_element_["createElement"])("div", blockProps, displayPreviewInEditor && Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 16093 size: { 16094 height: previewHeight 16095 }, 16096 minHeight: MIN_PREVIEW_HEIGHT, 16097 maxHeight: MAX_PREVIEW_HEIGHT, 16098 minWidth: "100%", 16099 grid: [10, 10], 16100 enable: { 16101 top: false, 16102 right: false, 16103 bottom: true, 16104 left: false, 16105 topRight: false, 16106 bottomRight: false, 16107 bottomLeft: false, 16108 topLeft: false 16109 }, 16110 onResizeStart: () => toggleSelection(false), 16111 onResizeStop: handleOnResizeStop, 16112 showHandle: isSelected 16113 }, Object(external_wp_element_["createElement"])("object", { 16114 className: "wp-block-file__preview", 16115 data: href, 16116 type: "application/pdf", 16117 "aria-label": Object(external_wp_i18n_["__"])('Embed of the selected PDF file.') 16118 }), !isSelected && Object(external_wp_element_["createElement"])("div", { 16119 className: "wp-block-file__preview-overlay" 16120 })), Object(external_wp_element_["createElement"])("div", { 16121 className: 'wp-block-file__content-wrapper' 16122 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 16123 style: { 16124 display: 'inline-block' 16125 }, 16126 tagName: "a" // must be block-level or else cursor disappears 16127 , 16128 value: fileName, 16129 placeholder: Object(external_wp_i18n_["__"])('Write file name…'), 16130 withoutInteractiveFormatting: true, 16131 onChange: text => setAttributes({ 16132 fileName: text 16133 }), 16134 href: textLinkHref 16135 }), showDownloadButton && Object(external_wp_element_["createElement"])("div", { 16136 className: 'wp-block-file__button-richtext-wrapper' 16137 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 16138 tagName: "div" // must be block-level or else cursor disappears 16139 , 16140 "aria-label": Object(external_wp_i18n_["__"])('Download button text'), 16141 className: 'wp-block-file__button', 16142 value: downloadButtonText, 16143 withoutInteractiveFormatting: true, 16144 placeholder: Object(external_wp_i18n_["__"])('Add text…'), 16145 onChange: text => changeDownloadButtonText(text) 16146 }))))); 16147 } 16148 16149 /* harmony default export */ var file_edit = (Object(external_wp_components_["withNotices"])(FileEdit)); 16150 16151 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/save.js 16152 16153 16154 /** 16155 * WordPress dependencies 16156 */ 16157 16158 16159 function file_save_save({ 16160 attributes 16161 }) { 16162 const { 16163 href, 16164 fileName, 16165 textLinkHref, 16166 textLinkTarget, 16167 showDownloadButton, 16168 downloadButtonText, 16169 displayPreview, 16170 previewHeight 16171 } = attributes; 16172 const pdfEmbedLabel = external_wp_blockEditor_["RichText"].isEmpty(fileName) ? Object(external_wp_i18n_["__"])('PDF embed') : Object(external_wp_i18n_["sprintf"])( 16173 /* translators: %s: filename. */ 16174 Object(external_wp_i18n_["__"])('Embed of %s.'), fileName); 16175 return href && Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), displayPreview && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])("object", { 16176 className: "wp-block-file__embed", 16177 data: href, 16178 type: "application/pdf", 16179 style: { 16180 width: '100%', 16181 height: `${previewHeight}px` 16182 }, 16183 "aria-label": pdfEmbedLabel 16184 })), !external_wp_blockEditor_["RichText"].isEmpty(fileName) && Object(external_wp_element_["createElement"])("a", { 16185 href: textLinkHref, 16186 target: textLinkTarget, 16187 rel: textLinkTarget ? 'noreferrer noopener' : undefined 16188 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 16189 value: fileName 16190 })), showDownloadButton && Object(external_wp_element_["createElement"])("a", { 16191 href: href, 16192 className: "wp-block-file__button", 16193 download: true 16194 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 16195 value: downloadButtonText 16196 }))); 16197 } 16198 16199 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/transforms.js 16200 /** 16201 * External dependencies 16202 */ 16203 16204 /** 16205 * WordPress dependencies 16206 */ 16207 16208 16209 16210 16211 16212 const file_transforms_transforms = { 16213 from: [{ 16214 type: 'files', 16215 16216 isMatch(files) { 16217 return files.length > 0; 16218 }, 16219 16220 // We define a lower priorty (higher number) than the default of 10. This 16221 // ensures that the File block is only created as a fallback. 16222 priority: 15, 16223 transform: files => { 16224 const blocks = []; 16225 files.forEach(file => { 16226 const blobURL = Object(external_wp_blob_["createBlobURL"])(file); // File will be uploaded in componentDidMount() 16227 16228 blocks.push(Object(external_wp_blocks_["createBlock"])('core/file', { 16229 href: blobURL, 16230 fileName: file.name, 16231 textLinkHref: blobURL 16232 })); 16233 }); 16234 return blocks; 16235 } 16236 }, { 16237 type: 'block', 16238 blocks: ['core/audio'], 16239 transform: attributes => { 16240 return Object(external_wp_blocks_["createBlock"])('core/file', { 16241 href: attributes.src, 16242 fileName: attributes.caption, 16243 textLinkHref: attributes.src, 16244 id: attributes.id, 16245 anchor: attributes.anchor 16246 }); 16247 } 16248 }, { 16249 type: 'block', 16250 blocks: ['core/video'], 16251 transform: attributes => { 16252 return Object(external_wp_blocks_["createBlock"])('core/file', { 16253 href: attributes.src, 16254 fileName: attributes.caption, 16255 textLinkHref: attributes.src, 16256 id: attributes.id, 16257 anchor: attributes.anchor 16258 }); 16259 } 16260 }, { 16261 type: 'block', 16262 blocks: ['core/image'], 16263 transform: attributes => { 16264 return Object(external_wp_blocks_["createBlock"])('core/file', { 16265 href: attributes.url, 16266 fileName: attributes.caption, 16267 textLinkHref: attributes.url, 16268 id: attributes.id, 16269 anchor: attributes.anchor 16270 }); 16271 } 16272 }], 16273 to: [{ 16274 type: 'block', 16275 blocks: ['core/audio'], 16276 isMatch: ({ 16277 id 16278 }) => { 16279 if (!id) { 16280 return false; 16281 } 16282 16283 const { 16284 getMedia 16285 } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); 16286 const media = getMedia(id); 16287 return !!media && Object(external_lodash_["includes"])(media.mime_type, 'audio'); 16288 }, 16289 transform: attributes => { 16290 return Object(external_wp_blocks_["createBlock"])('core/audio', { 16291 src: attributes.href, 16292 caption: attributes.fileName, 16293 id: attributes.id, 16294 anchor: attributes.anchor 16295 }); 16296 } 16297 }, { 16298 type: 'block', 16299 blocks: ['core/video'], 16300 isMatch: ({ 16301 id 16302 }) => { 16303 if (!id) { 16304 return false; 16305 } 16306 16307 const { 16308 getMedia 16309 } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); 16310 const media = getMedia(id); 16311 return !!media && Object(external_lodash_["includes"])(media.mime_type, 'video'); 16312 }, 16313 transform: attributes => { 16314 return Object(external_wp_blocks_["createBlock"])('core/video', { 16315 src: attributes.href, 16316 caption: attributes.fileName, 16317 id: attributes.id, 16318 anchor: attributes.anchor 16319 }); 16320 } 16321 }, { 16322 type: 'block', 16323 blocks: ['core/image'], 16324 isMatch: ({ 16325 id 16326 }) => { 16327 if (!id) { 16328 return false; 16329 } 16330 16331 const { 16332 getMedia 16333 } = Object(external_wp_data_["select"])(external_wp_coreData_["store"]); 16334 const media = getMedia(id); 16335 return !!media && Object(external_lodash_["includes"])(media.mime_type, 'image'); 16336 }, 16337 transform: attributes => { 16338 return Object(external_wp_blocks_["createBlock"])('core/image', { 16339 url: attributes.href, 16340 caption: attributes.fileName, 16341 id: attributes.id, 16342 anchor: attributes.anchor 16343 }); 16344 } 16345 }] 16346 }; 16347 /* harmony default export */ var file_transforms = (file_transforms_transforms); 16348 16349 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/file/index.js 16350 /** 16351 * WordPress dependencies 16352 */ 16353 16354 /** 16355 * Internal dependencies 16356 */ 16357 16358 16359 const file_metadata = { 16360 apiVersion: 2, 16361 name: "core/file", 16362 title: "File", 16363 category: "media", 16364 description: "Add a link to a downloadable file.", 16365 keywords: ["document", "pdf", "download"], 16366 textdomain: "default", 16367 attributes: { 16368 id: { 16369 type: "number" 16370 }, 16371 href: { 16372 type: "string" 16373 }, 16374 fileName: { 16375 type: "string", 16376 source: "html", 16377 selector: "a:not([download])" 16378 }, 16379 textLinkHref: { 16380 type: "string", 16381 source: "attribute", 16382 selector: "a:not([download])", 16383 attribute: "href" 16384 }, 16385 textLinkTarget: { 16386 type: "string", 16387 source: "attribute", 16388 selector: "a:not([download])", 16389 attribute: "target" 16390 }, 16391 showDownloadButton: { 16392 type: "boolean", 16393 "default": true 16394 }, 16395 downloadButtonText: { 16396 type: "string", 16397 source: "html", 16398 selector: "a[download]" 16399 }, 16400 displayPreview: { 16401 type: "boolean" 16402 }, 16403 previewHeight: { 16404 type: "number", 16405 "default": 600 16406 } 16407 }, 16408 supports: { 16409 anchor: true, 16410 align: true 16411 }, 16412 viewScript: "file:./view.min.js", 16413 editorStyle: "wp-block-file-editor", 16414 style: "wp-block-file" 16415 }; 16416 16417 16418 const { 16419 name: file_name 16420 } = file_metadata; 16421 16422 const file_settings = { 16423 icon: library_file, 16424 transforms: file_transforms, 16425 edit: file_edit, 16426 save: file_save_save 16427 }; 16428 16429 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/html.js 16430 16431 16432 /** 16433 * WordPress dependencies 16434 */ 16435 16436 const html_html = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 16437 viewBox: "0 0 24 24", 16438 xmlns: "http://www.w3.org/2000/svg" 16439 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 16440 d: "M4.8 11.4H2.1V9H1v6h1.1v-2.6h2.7V15h1.1V9H4.8v2.4zm1.9-1.3h1.7V15h1.1v-4.9h1.7V9H6.7v1.1zM16.2 9l-1.5 2.7L13.3 9h-.9l-.8 6h1.1l.5-4 1.5 2.8 1.5-2.8.5 4h1.1L17 9h-.8zm3.8 5V9h-1.1v6h3.6v-1H20z" 16441 })); 16442 /* harmony default export */ var library_html = (html_html); 16443 16444 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/edit.js 16445 16446 16447 /** 16448 * WordPress dependencies 16449 */ 16450 16451 16452 16453 16454 16455 function HTMLEdit({ 16456 attributes, 16457 setAttributes, 16458 isSelected 16459 }) { 16460 const [isPreview, setIsPreview] = Object(external_wp_element_["useState"])(); 16461 const styles = Object(external_wp_data_["useSelect"])(select => { 16462 // Default styles used to unset some of the styles 16463 // that might be inherited from the editor style. 16464 const defaultStyles = ` 16465 html,body,:root { 16466 margin: 0 !important; 16467 padding: 0 !important; 16468 overflow: visible !important; 16469 min-height: auto !important; 16470 } 16471 `; 16472 return [defaultStyles, ...Object(external_wp_blockEditor_["transformStyles"])(select(external_wp_blockEditor_["store"]).getSettings().styles)]; 16473 }, []); 16474 16475 function switchToPreview() { 16476 setIsPreview(true); 16477 } 16478 16479 function switchToHTML() { 16480 setIsPreview(false); 16481 } 16482 16483 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ 16484 className: 'block-library-html__edit' 16485 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 16486 className: "components-tab-button", 16487 isPressed: !isPreview, 16488 onClick: switchToHTML 16489 }, Object(external_wp_element_["createElement"])("span", null, "HTML")), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 16490 className: "components-tab-button", 16491 isPressed: isPreview, 16492 onClick: switchToPreview 16493 }, Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('Preview'))))), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"].Consumer, null, isDisabled => isPreview || isDisabled ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SandBox"], { 16494 html: attributes.content, 16495 styles: styles 16496 }), !isSelected && Object(external_wp_element_["createElement"])("div", { 16497 className: "block-library-html__preview-overlay" 16498 })) : Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], { 16499 value: attributes.content, 16500 onChange: content => setAttributes({ 16501 content 16502 }), 16503 placeholder: Object(external_wp_i18n_["__"])('Write HTML…'), 16504 "aria-label": Object(external_wp_i18n_["__"])('HTML') 16505 }))); 16506 } 16507 16508 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/save.js 16509 16510 16511 /** 16512 * WordPress dependencies 16513 */ 16514 16515 function html_save_save({ 16516 attributes 16517 }) { 16518 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.content); 16519 } 16520 16521 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/transforms.js 16522 /** 16523 * WordPress dependencies 16524 */ 16525 16526 const html_transforms_transforms = { 16527 from: [{ 16528 type: 'block', 16529 blocks: ['core/code'], 16530 transform: ({ 16531 content 16532 }) => { 16533 return Object(external_wp_blocks_["createBlock"])('core/html', { 16534 content 16535 }); 16536 } 16537 }] 16538 }; 16539 /* harmony default export */ var html_transforms = (html_transforms_transforms); 16540 16541 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/html/index.js 16542 /** 16543 * WordPress dependencies 16544 */ 16545 16546 16547 /** 16548 * Internal dependencies 16549 */ 16550 16551 16552 const html_metadata = { 16553 apiVersion: 2, 16554 name: "core/html", 16555 title: "Custom HTML", 16556 category: "widgets", 16557 description: "Add custom HTML code and preview it as you edit.", 16558 keywords: ["embed"], 16559 textdomain: "default", 16560 attributes: { 16561 content: { 16562 type: "string", 16563 source: "html" 16564 } 16565 }, 16566 supports: { 16567 customClassName: false, 16568 className: false, 16569 html: false 16570 }, 16571 editorStyle: "wp-block-html-editor" 16572 }; 16573 16574 16575 const { 16576 name: html_name 16577 } = html_metadata; 16578 16579 const html_settings = { 16580 icon: library_html, 16581 example: { 16582 attributes: { 16583 content: '<marquee>' + Object(external_wp_i18n_["__"])('Welcome to the wonderful world of blocks…') + '</marquee>' 16584 } 16585 }, 16586 edit: HTMLEdit, 16587 save: html_save_save, 16588 transforms: html_transforms 16589 }; 16590 16591 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/media-and-text.js 16592 16593 16594 /** 16595 * WordPress dependencies 16596 */ 16597 16598 const mediaAndText = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 16599 xmlns: "http://www.w3.org/2000/svg", 16600 viewBox: "0 0 24 24" 16601 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 16602 d: "M3 18h8V6H3v12zM14 7.5V9h7V7.5h-7zm0 5.3h7v-1.5h-7v1.5zm0 3.7h7V15h-7v1.5z" 16603 })); 16604 /* harmony default export */ var media_and_text = (mediaAndText); 16605 16606 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container-icon.js 16607 16608 16609 /** 16610 * WordPress dependencies 16611 */ 16612 16613 /* harmony default export */ var media_container_icon = (Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 16614 xmlns: "http://www.w3.org/2000/svg", 16615 viewBox: "0 0 24 24" 16616 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 16617 d: "M18 2l2 4h-2l-2-4h-3l2 4h-2l-2-4h-1a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V2zm2 12H10V4.4L11.8 8H20z" 16618 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 16619 d: "M14 20H4V10h3V8H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-3h-2z" 16620 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 16621 d: "M5 19h8l-1.59-2H9.24l-.84 1.1L7 16.3 5 19z" 16622 }))); 16623 16624 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/media-container.js 16625 16626 16627 16628 /** 16629 * External dependencies 16630 */ 16631 16632 16633 /** 16634 * WordPress dependencies 16635 */ 16636 16637 16638 16639 16640 16641 16642 16643 /** 16644 * Internal dependencies 16645 */ 16646 16647 16648 /** 16649 * Constants 16650 */ 16651 16652 const media_container_ALLOWED_MEDIA_TYPES = ['image', 'video']; 16653 function imageFillStyles(url, focalPoint) { 16654 return url ? { 16655 backgroundImage: `url(${url})`, 16656 backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%` 16657 } : {}; 16658 } 16659 const ResizableBoxContainer = Object(external_wp_element_["forwardRef"])(({ 16660 isSelected, 16661 isStackedOnMobile, 16662 ...props 16663 }, ref) => { 16664 const isMobile = Object(external_wp_compose_["useViewportMatch"])('small', '<'); 16665 return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], Object(esm_extends["a" /* default */])({ 16666 ref: ref, 16667 showHandle: isSelected && (!isMobile || !isStackedOnMobile) 16668 }, props)); 16669 }); 16670 16671 function ToolbarEditButton({ 16672 mediaId, 16673 mediaUrl, 16674 onSelectMedia 16675 }) { 16676 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 16677 group: "other" 16678 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 16679 mediaId: mediaId, 16680 mediaURL: mediaUrl, 16681 allowedTypes: media_container_ALLOWED_MEDIA_TYPES, 16682 accept: "image/*,video/*", 16683 onSelect: onSelectMedia 16684 })); 16685 } 16686 16687 function PlaceholderContainer({ 16688 className, 16689 noticeOperations, 16690 noticeUI, 16691 onSelectMedia 16692 }) { 16693 const onUploadError = message => { 16694 noticeOperations.removeAllNotices(); 16695 noticeOperations.createErrorNotice(message); 16696 }; 16697 16698 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 16699 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 16700 icon: media_container_icon 16701 }), 16702 labels: { 16703 title: Object(external_wp_i18n_["__"])('Media area') 16704 }, 16705 className: className, 16706 onSelect: onSelectMedia, 16707 accept: "image/*,video/*", 16708 allowedTypes: media_container_ALLOWED_MEDIA_TYPES, 16709 notices: noticeUI, 16710 onError: onUploadError 16711 }); 16712 } 16713 16714 function MediaContainer(props, ref) { 16715 const { 16716 className, 16717 commitWidthChange, 16718 focalPoint, 16719 imageFill, 16720 isSelected, 16721 isStackedOnMobile, 16722 mediaAlt, 16723 mediaId, 16724 mediaPosition, 16725 mediaType, 16726 mediaUrl, 16727 mediaWidth, 16728 onSelectMedia, 16729 onWidthChange 16730 } = props; 16731 const { 16732 toggleSelection 16733 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 16734 16735 if (mediaType && mediaUrl) { 16736 const onResizeStart = () => { 16737 toggleSelection(false); 16738 }; 16739 16740 const onResize = (event, direction, elt) => { 16741 onWidthChange(parseInt(elt.style.width)); 16742 }; 16743 16744 const onResizeStop = (event, direction, elt) => { 16745 toggleSelection(true); 16746 commitWidthChange(parseInt(elt.style.width)); 16747 }; 16748 16749 const enablePositions = { 16750 right: mediaPosition === 'left', 16751 left: mediaPosition === 'right' 16752 }; 16753 const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; 16754 const mediaTypeRenderers = { 16755 image: () => Object(external_wp_element_["createElement"])("img", { 16756 src: mediaUrl, 16757 alt: mediaAlt 16758 }), 16759 video: () => Object(external_wp_element_["createElement"])("video", { 16760 controls: true, 16761 src: mediaUrl 16762 }) 16763 }; 16764 return Object(external_wp_element_["createElement"])(ResizableBoxContainer, { 16765 as: "figure", 16766 className: classnames_default()(className, 'editor-media-container__resizer'), 16767 style: backgroundStyles, 16768 size: { 16769 width: mediaWidth + '%' 16770 }, 16771 minWidth: "10%", 16772 maxWidth: "100%", 16773 enable: enablePositions, 16774 onResizeStart: onResizeStart, 16775 onResize: onResize, 16776 onResizeStop: onResizeStop, 16777 axis: "x", 16778 isSelected: isSelected, 16779 isStackedOnMobile: isStackedOnMobile, 16780 ref: ref 16781 }, Object(external_wp_element_["createElement"])(ToolbarEditButton, { 16782 onSelectMedia: onSelectMedia, 16783 mediaUrl: mediaUrl, 16784 mediaId: mediaId 16785 }), (mediaTypeRenderers[mediaType] || external_lodash_["noop"])()); 16786 } 16787 16788 return Object(external_wp_element_["createElement"])(PlaceholderContainer, props); 16789 } 16790 16791 /* harmony default export */ var media_container = (Object(external_wp_components_["withNotices"])(Object(external_wp_element_["forwardRef"])(MediaContainer))); 16792 16793 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/deprecated.js 16794 16795 16796 /** 16797 * External dependencies 16798 */ 16799 16800 16801 /** 16802 * WordPress dependencies 16803 */ 16804 16805 16806 /** 16807 * Internal dependencies 16808 */ 16809 16810 16811 const DEFAULT_MEDIA_WIDTH = 50; 16812 16813 const media_text_deprecated_migrateCustomColors = attributes => { 16814 if (!attributes.customBackgroundColor) { 16815 return attributes; 16816 } 16817 16818 const style = { 16819 color: { 16820 background: attributes.customBackgroundColor 16821 } 16822 }; 16823 return { ...Object(external_lodash_["omit"])(attributes, ['customBackgroundColor']), 16824 style 16825 }; 16826 }; 16827 16828 const baseAttributes = { 16829 align: { 16830 type: 'string', 16831 default: 'wide' 16832 }, 16833 backgroundColor: { 16834 type: 'string' 16835 }, 16836 mediaAlt: { 16837 type: 'string', 16838 source: 'attribute', 16839 selector: 'figure img', 16840 attribute: 'alt', 16841 default: '' 16842 }, 16843 mediaPosition: { 16844 type: 'string', 16845 default: 'left' 16846 }, 16847 mediaId: { 16848 type: 'number' 16849 }, 16850 mediaType: { 16851 type: 'string' 16852 }, 16853 mediaWidth: { 16854 type: 'number', 16855 default: 50 16856 }, 16857 isStackedOnMobile: { 16858 type: 'boolean', 16859 default: true 16860 } 16861 }; 16862 /* harmony default export */ var media_text_deprecated = ([{ 16863 attributes: { ...baseAttributes, 16864 customBackgroundColor: { 16865 type: 'string' 16866 }, 16867 mediaLink: { 16868 type: 'string' 16869 }, 16870 linkDestination: { 16871 type: 'string' 16872 }, 16873 linkTarget: { 16874 type: 'string', 16875 source: 'attribute', 16876 selector: 'figure a', 16877 attribute: 'target' 16878 }, 16879 href: { 16880 type: 'string', 16881 source: 'attribute', 16882 selector: 'figure a', 16883 attribute: 'href' 16884 }, 16885 rel: { 16886 type: 'string', 16887 source: 'attribute', 16888 selector: 'figure a', 16889 attribute: 'rel' 16890 }, 16891 linkClass: { 16892 type: 'string', 16893 source: 'attribute', 16894 selector: 'figure a', 16895 attribute: 'class' 16896 }, 16897 verticalAlignment: { 16898 type: 'string' 16899 }, 16900 imageFill: { 16901 type: 'boolean' 16902 }, 16903 focalPoint: { 16904 type: 'object' 16905 } 16906 }, 16907 migrate: media_text_deprecated_migrateCustomColors, 16908 16909 save({ 16910 attributes 16911 }) { 16912 const { 16913 backgroundColor, 16914 customBackgroundColor, 16915 isStackedOnMobile, 16916 mediaAlt, 16917 mediaPosition, 16918 mediaType, 16919 mediaUrl, 16920 mediaWidth, 16921 mediaId, 16922 verticalAlignment, 16923 imageFill, 16924 focalPoint, 16925 linkClass, 16926 href, 16927 linkTarget, 16928 rel 16929 } = attributes; 16930 const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; 16931 let image = Object(external_wp_element_["createElement"])("img", { 16932 src: mediaUrl, 16933 alt: mediaAlt, 16934 className: mediaId && mediaType === 'image' ? `wp-image-${mediaId}` : null 16935 }); 16936 16937 if (href) { 16938 image = Object(external_wp_element_["createElement"])("a", { 16939 className: linkClass, 16940 href: href, 16941 target: linkTarget, 16942 rel: newRel 16943 }, image); 16944 } 16945 16946 const mediaTypeRenders = { 16947 image: () => image, 16948 video: () => Object(external_wp_element_["createElement"])("video", { 16949 controls: true, 16950 src: mediaUrl 16951 }) 16952 }; 16953 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 16954 const className = classnames_default()({ 16955 'has-media-on-the-right': 'right' === mediaPosition, 16956 'has-background': backgroundClass || customBackgroundColor, 16957 [backgroundClass]: backgroundClass, 16958 'is-stacked-on-mobile': isStackedOnMobile, 16959 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 16960 'is-image-fill': imageFill 16961 }); 16962 const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; 16963 let gridTemplateColumns; 16964 16965 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 16966 gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; 16967 } 16968 16969 const style = { 16970 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 16971 gridTemplateColumns 16972 }; 16973 return Object(external_wp_element_["createElement"])("div", { 16974 className: className, 16975 style: style 16976 }, Object(external_wp_element_["createElement"])("figure", { 16977 className: "wp-block-media-text__media", 16978 style: backgroundStyles 16979 }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { 16980 className: "wp-block-media-text__content" 16981 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 16982 } 16983 16984 }, { 16985 attributes: { ...baseAttributes, 16986 customBackgroundColor: { 16987 type: 'string' 16988 }, 16989 mediaUrl: { 16990 type: 'string', 16991 source: 'attribute', 16992 selector: 'figure video,figure img', 16993 attribute: 'src' 16994 }, 16995 verticalAlignment: { 16996 type: 'string' 16997 }, 16998 imageFill: { 16999 type: 'boolean' 17000 }, 17001 focalPoint: { 17002 type: 'object' 17003 } 17004 }, 17005 migrate: media_text_deprecated_migrateCustomColors, 17006 17007 save({ 17008 attributes 17009 }) { 17010 const { 17011 backgroundColor, 17012 customBackgroundColor, 17013 isStackedOnMobile, 17014 mediaAlt, 17015 mediaPosition, 17016 mediaType, 17017 mediaUrl, 17018 mediaWidth, 17019 mediaId, 17020 verticalAlignment, 17021 imageFill, 17022 focalPoint 17023 } = attributes; 17024 const mediaTypeRenders = { 17025 image: () => Object(external_wp_element_["createElement"])("img", { 17026 src: mediaUrl, 17027 alt: mediaAlt, 17028 className: mediaId && mediaType === 'image' ? `wp-image-${mediaId}` : null 17029 }), 17030 video: () => Object(external_wp_element_["createElement"])("video", { 17031 controls: true, 17032 src: mediaUrl 17033 }) 17034 }; 17035 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 17036 const className = classnames_default()({ 17037 'has-media-on-the-right': 'right' === mediaPosition, 17038 [backgroundClass]: backgroundClass, 17039 'is-stacked-on-mobile': isStackedOnMobile, 17040 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 17041 'is-image-fill': imageFill 17042 }); 17043 const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; 17044 let gridTemplateColumns; 17045 17046 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 17047 gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; 17048 } 17049 17050 const style = { 17051 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 17052 gridTemplateColumns 17053 }; 17054 return Object(external_wp_element_["createElement"])("div", { 17055 className: className, 17056 style: style 17057 }, Object(external_wp_element_["createElement"])("figure", { 17058 className: "wp-block-media-text__media", 17059 style: backgroundStyles 17060 }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { 17061 className: "wp-block-media-text__content" 17062 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 17063 } 17064 17065 }, { 17066 attributes: { ...baseAttributes, 17067 customBackgroundColor: { 17068 type: 'string' 17069 }, 17070 mediaUrl: { 17071 type: 'string', 17072 source: 'attribute', 17073 selector: 'figure video,figure img', 17074 attribute: 'src' 17075 } 17076 }, 17077 17078 save({ 17079 attributes 17080 }) { 17081 const { 17082 backgroundColor, 17083 customBackgroundColor, 17084 isStackedOnMobile, 17085 mediaAlt, 17086 mediaPosition, 17087 mediaType, 17088 mediaUrl, 17089 mediaWidth 17090 } = attributes; 17091 const mediaTypeRenders = { 17092 image: () => Object(external_wp_element_["createElement"])("img", { 17093 src: mediaUrl, 17094 alt: mediaAlt 17095 }), 17096 video: () => Object(external_wp_element_["createElement"])("video", { 17097 controls: true, 17098 src: mediaUrl 17099 }) 17100 }; 17101 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 17102 const className = classnames_default()({ 17103 'has-media-on-the-right': 'right' === mediaPosition, 17104 [backgroundClass]: backgroundClass, 17105 'is-stacked-on-mobile': isStackedOnMobile 17106 }); 17107 let gridTemplateColumns; 17108 17109 if (mediaWidth !== DEFAULT_MEDIA_WIDTH) { 17110 gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; 17111 } 17112 17113 const style = { 17114 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 17115 gridTemplateColumns 17116 }; 17117 return Object(external_wp_element_["createElement"])("div", { 17118 className: className, 17119 style: style 17120 }, Object(external_wp_element_["createElement"])("figure", { 17121 className: "wp-block-media-text__media" 17122 }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { 17123 className: "wp-block-media-text__content" 17124 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 17125 } 17126 17127 }]); 17128 17129 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pull-left.js 17130 17131 17132 /** 17133 * WordPress dependencies 17134 */ 17135 17136 const pullLeft = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 17137 xmlns: "http://www.w3.org/2000/svg", 17138 viewBox: "0 0 24 24" 17139 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 17140 d: "M4 18h6V6H4v12zm9-9.5V10h7V8.5h-7zm0 7h7V14h-7v1.5z" 17141 })); 17142 /* harmony default export */ var pull_left = (pullLeft); 17143 17144 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pull-right.js 17145 17146 17147 /** 17148 * WordPress dependencies 17149 */ 17150 17151 const pullRight = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 17152 xmlns: "http://www.w3.org/2000/svg", 17153 viewBox: "0 0 24 24" 17154 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 17155 d: "M14 6v12h6V6h-6zM4 10h7V8.5H4V10zm0 5.5h7V14H4v1.5z" 17156 })); 17157 /* harmony default export */ var pull_right = (pullRight); 17158 17159 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/constants.js 17160 const DEFAULT_MEDIA_SIZE_SLUG = 'full'; 17161 17162 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/edit.js 17163 17164 17165 /** 17166 * External dependencies 17167 */ 17168 17169 17170 /** 17171 * WordPress dependencies 17172 */ 17173 17174 17175 17176 17177 17178 17179 17180 17181 /** 17182 * Internal dependencies 17183 */ 17184 17185 17186 17187 /** 17188 * Constants 17189 */ 17190 17191 const TEMPLATE = [['core/paragraph', { 17192 fontSize: 'large', 17193 placeholder: Object(external_wp_i18n_["_x"])('Content…', 'content placeholder') 17194 }]]; // this limits the resize to a safe zone to avoid making broken layouts 17195 17196 const WIDTH_CONSTRAINT_PERCENTAGE = 15; 17197 17198 const applyWidthConstraints = width => Math.max(WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE)); 17199 17200 const edit_LINK_DESTINATION_MEDIA = 'media'; 17201 const edit_LINK_DESTINATION_ATTACHMENT = 'attachment'; 17202 17203 function getImageSourceUrlBySizeSlug(image, slug) { 17204 var _image$media_details, _image$media_details$, _image$media_details$2; 17205 17206 // eslint-disable-next-line camelcase 17207 return image === null || image === void 0 ? void 0 : (_image$media_details = image.media_details) === null || _image$media_details === void 0 ? void 0 : (_image$media_details$ = _image$media_details.sizes) === null || _image$media_details$ === void 0 ? void 0 : (_image$media_details$2 = _image$media_details$[slug]) === null || _image$media_details$2 === void 0 ? void 0 : _image$media_details$2.source_url; 17208 } 17209 17210 function edit_attributesFromMedia({ 17211 attributes: { 17212 linkDestination, 17213 href 17214 }, 17215 setAttributes 17216 }) { 17217 return media => { 17218 let mediaType; 17219 let src; // for media selections originated from a file upload. 17220 17221 if (media.media_type) { 17222 if (media.media_type === 'image') { 17223 mediaType = 'image'; 17224 } else { 17225 // only images and videos are accepted so if the media_type is not an image we can assume it is a video. 17226 // video contain the media type of 'file' in the object returned from the rest api. 17227 mediaType = 'video'; 17228 } 17229 } else { 17230 // for media selections originated from existing files in the media library. 17231 mediaType = media.type; 17232 } 17233 17234 if (mediaType === 'image') { 17235 var _media$sizes, _media$sizes$large, _media$media_details, _media$media_details$, _media$media_details$2; 17236 17237 // Try the "large" size URL, falling back to the "full" size URL below. 17238 src = ((_media$sizes = media.sizes) === null || _media$sizes === void 0 ? void 0 : (_media$sizes$large = _media$sizes.large) === null || _media$sizes$large === void 0 ? void 0 : _media$sizes$large.url) || ( // eslint-disable-next-line camelcase 17239 (_media$media_details = media.media_details) === null || _media$media_details === void 0 ? void 0 : (_media$media_details$ = _media$media_details.sizes) === null || _media$media_details$ === void 0 ? void 0 : (_media$media_details$2 = _media$media_details$.large) === null || _media$media_details$2 === void 0 ? void 0 : _media$media_details$2.source_url); 17240 } 17241 17242 let newHref = href; 17243 17244 if (linkDestination === edit_LINK_DESTINATION_MEDIA) { 17245 // Update the media link. 17246 newHref = media.url; 17247 } // Check if the image is linked to the attachment page. 17248 17249 17250 if (linkDestination === edit_LINK_DESTINATION_ATTACHMENT) { 17251 // Update the media link. 17252 newHref = media.link; 17253 } 17254 17255 setAttributes({ 17256 mediaAlt: media.alt, 17257 mediaId: media.id, 17258 mediaType, 17259 mediaUrl: src || media.url, 17260 mediaLink: media.link || undefined, 17261 href: newHref, 17262 focalPoint: undefined 17263 }); 17264 }; 17265 } 17266 17267 function MediaTextEdit({ 17268 attributes, 17269 isSelected, 17270 setAttributes 17271 }) { 17272 const { 17273 focalPoint, 17274 href, 17275 imageFill, 17276 isStackedOnMobile, 17277 linkClass, 17278 linkDestination, 17279 linkTarget, 17280 mediaAlt, 17281 mediaId, 17282 mediaPosition, 17283 mediaType, 17284 mediaUrl, 17285 mediaWidth, 17286 rel, 17287 verticalAlignment 17288 } = attributes; 17289 const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG; 17290 const image = Object(external_wp_data_["useSelect"])(select => mediaId && isSelected ? select(external_wp_coreData_["store"]).getMedia(mediaId) : null, [isSelected, mediaId]); 17291 const refMediaContainer = Object(external_wp_element_["useRef"])(); 17292 17293 const imperativeFocalPointPreview = value => { 17294 const { 17295 style 17296 } = refMediaContainer.current.resizable; 17297 const { 17298 x, 17299 y 17300 } = value; 17301 style.backgroundPosition = `${x * 100}% ${y * 100}%`; 17302 }; 17303 17304 const [temporaryMediaWidth, setTemporaryMediaWidth] = Object(external_wp_element_["useState"])(null); 17305 const onSelectMedia = edit_attributesFromMedia({ 17306 attributes, 17307 setAttributes 17308 }); 17309 17310 const onSetHref = props => { 17311 setAttributes(props); 17312 }; 17313 17314 const onWidthChange = width => { 17315 setTemporaryMediaWidth(applyWidthConstraints(width)); 17316 }; 17317 17318 const commitWidthChange = width => { 17319 setAttributes({ 17320 mediaWidth: applyWidthConstraints(width) 17321 }); 17322 setTemporaryMediaWidth(applyWidthConstraints(width)); 17323 }; 17324 17325 const classNames = classnames_default()({ 17326 'has-media-on-the-right': 'right' === mediaPosition, 17327 'is-selected': isSelected, 17328 'is-stacked-on-mobile': isStackedOnMobile, 17329 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 17330 'is-image-fill': imageFill 17331 }); 17332 const widthString = `${temporaryMediaWidth || mediaWidth}%`; 17333 const gridTemplateColumns = 'right' === mediaPosition ? `1fr ${widthString}` : `${widthString} 1fr`; 17334 const style = { 17335 gridTemplateColumns, 17336 msGridColumns: gridTemplateColumns 17337 }; 17338 17339 const onMediaAltChange = newMediaAlt => { 17340 setAttributes({ 17341 mediaAlt: newMediaAlt 17342 }); 17343 }; 17344 17345 const onVerticalAlignmentChange = alignment => { 17346 setAttributes({ 17347 verticalAlignment: alignment 17348 }); 17349 }; 17350 17351 const imageSizes = Object(external_wp_data_["useSelect"])(select => { 17352 const settings = select(external_wp_blockEditor_["store"]).getSettings(); 17353 return settings === null || settings === void 0 ? void 0 : settings.imageSizes; 17354 }); 17355 const imageSizeOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(imageSizes, ({ 17356 slug 17357 }) => getImageSourceUrlBySizeSlug(image, slug)), ({ 17358 name, 17359 slug 17360 }) => ({ 17361 value: slug, 17362 label: name 17363 })); 17364 17365 const updateImage = newMediaSizeSlug => { 17366 const newUrl = getImageSourceUrlBySizeSlug(image, newMediaSizeSlug); 17367 17368 if (!newUrl) { 17369 return null; 17370 } 17371 17372 setAttributes({ 17373 mediaUrl: newUrl, 17374 mediaSizeSlug: newMediaSizeSlug 17375 }); 17376 }; 17377 17378 const mediaTextGeneralSettings = Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 17379 title: Object(external_wp_i18n_["__"])('Media & Text settings') 17380 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 17381 label: Object(external_wp_i18n_["__"])('Stack on mobile'), 17382 checked: isStackedOnMobile, 17383 onChange: () => setAttributes({ 17384 isStackedOnMobile: !isStackedOnMobile 17385 }) 17386 }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 17387 label: Object(external_wp_i18n_["__"])('Crop image to fill entire column'), 17388 checked: imageFill, 17389 onChange: () => setAttributes({ 17390 imageFill: !imageFill 17391 }) 17392 }), imageFill && mediaUrl && mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["FocalPointPicker"], { 17393 label: Object(external_wp_i18n_["__"])('Focal point picker'), 17394 url: mediaUrl, 17395 value: focalPoint, 17396 onChange: value => setAttributes({ 17397 focalPoint: value 17398 }), 17399 onDragStart: imperativeFocalPointPreview, 17400 onDrag: imperativeFocalPointPreview 17401 }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_components_["TextareaControl"], { 17402 label: Object(external_wp_i18n_["__"])('Alt text (alternative text)'), 17403 value: mediaAlt, 17404 onChange: onMediaAltChange, 17405 help: Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ExternalLink"], { 17406 href: "https://www.w3.org/WAI/tutorials/images/decision-tree" 17407 }, Object(external_wp_i18n_["__"])('Describe the purpose of the image')), Object(external_wp_i18n_["__"])('Leave empty if the image is purely decorative.')) 17408 }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { 17409 onChangeImage: updateImage, 17410 slug: mediaSizeSlug, 17411 imageSizeOptions: imageSizeOptions, 17412 isResizable: false 17413 }), mediaUrl && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 17414 label: Object(external_wp_i18n_["__"])('Media width'), 17415 value: temporaryMediaWidth || mediaWidth, 17416 onChange: commitWidthChange, 17417 min: WIDTH_CONSTRAINT_PERCENTAGE, 17418 max: 100 - WIDTH_CONSTRAINT_PERCENTAGE 17419 })); 17420 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 17421 className: classNames, 17422 style 17423 }); 17424 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({ 17425 className: 'wp-block-media-text__content' 17426 }, { 17427 template: TEMPLATE 17428 }); 17429 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, mediaTextGeneralSettings), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 17430 group: "block" 17431 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockVerticalAlignmentControl"], { 17432 onChange: onVerticalAlignmentChange, 17433 value: verticalAlignment 17434 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 17435 icon: pull_left, 17436 title: Object(external_wp_i18n_["__"])('Show media on left'), 17437 isActive: mediaPosition === 'left', 17438 onClick: () => setAttributes({ 17439 mediaPosition: 'left' 17440 }) 17441 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 17442 icon: pull_right, 17443 title: Object(external_wp_i18n_["__"])('Show media on right'), 17444 isActive: mediaPosition === 'right', 17445 onClick: () => setAttributes({ 17446 mediaPosition: 'right' 17447 }) 17448 }), mediaType === 'image' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageURLInputUI"], { 17449 url: href || '', 17450 onChangeUrl: onSetHref, 17451 linkDestination: linkDestination, 17452 mediaType: mediaType, 17453 mediaUrl: image && image.source_url, 17454 mediaLink: image && image.link, 17455 linkTarget: linkTarget, 17456 linkClass: linkClass, 17457 rel: rel 17458 })), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(media_container, { 17459 className: "wp-block-media-text__media", 17460 onSelectMedia: onSelectMedia, 17461 onWidthChange: onWidthChange, 17462 commitWidthChange: commitWidthChange, 17463 ref: refMediaContainer, 17464 focalPoint, 17465 imageFill, 17466 isSelected, 17467 isStackedOnMobile, 17468 mediaAlt, 17469 mediaId, 17470 mediaPosition, 17471 mediaType, 17472 mediaUrl, 17473 mediaWidth 17474 }), Object(external_wp_element_["createElement"])("div", innerBlocksProps))); 17475 } 17476 17477 /* harmony default export */ var media_text_edit = (MediaTextEdit); 17478 17479 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/save.js 17480 17481 17482 /** 17483 * External dependencies 17484 */ 17485 17486 17487 /** 17488 * WordPress dependencies 17489 */ 17490 17491 17492 /** 17493 * Internal dependencies 17494 */ 17495 17496 17497 17498 const save_DEFAULT_MEDIA_WIDTH = 50; 17499 function media_text_save_save({ 17500 attributes 17501 }) { 17502 const { 17503 isStackedOnMobile, 17504 mediaAlt, 17505 mediaPosition, 17506 mediaType, 17507 mediaUrl, 17508 mediaWidth, 17509 mediaId, 17510 verticalAlignment, 17511 imageFill, 17512 focalPoint, 17513 linkClass, 17514 href, 17515 linkTarget, 17516 rel 17517 } = attributes; 17518 const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG; 17519 const newRel = Object(external_lodash_["isEmpty"])(rel) ? undefined : rel; 17520 const imageClasses = classnames_default()({ 17521 [`wp-image-${mediaId}`]: mediaId && mediaType === 'image', 17522 [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image' 17523 }); 17524 let image = Object(external_wp_element_["createElement"])("img", { 17525 src: mediaUrl, 17526 alt: mediaAlt, 17527 className: imageClasses || null 17528 }); 17529 17530 if (href) { 17531 image = Object(external_wp_element_["createElement"])("a", { 17532 className: linkClass, 17533 href: href, 17534 target: linkTarget, 17535 rel: newRel 17536 }, image); 17537 } 17538 17539 const mediaTypeRenders = { 17540 image: () => image, 17541 video: () => Object(external_wp_element_["createElement"])("video", { 17542 controls: true, 17543 src: mediaUrl 17544 }) 17545 }; 17546 const className = classnames_default()({ 17547 'has-media-on-the-right': 'right' === mediaPosition, 17548 'is-stacked-on-mobile': isStackedOnMobile, 17549 [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment, 17550 'is-image-fill': imageFill 17551 }); 17552 const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {}; 17553 let gridTemplateColumns; 17554 17555 if (mediaWidth !== save_DEFAULT_MEDIA_WIDTH) { 17556 gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`; 17557 } 17558 17559 const style = { 17560 gridTemplateColumns 17561 }; 17562 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 17563 className, 17564 style 17565 }), Object(external_wp_element_["createElement"])("figure", { 17566 className: "wp-block-media-text__media", 17567 style: backgroundStyles 17568 }, (mediaTypeRenders[mediaType] || external_lodash_["noop"])()), Object(external_wp_element_["createElement"])("div", { 17569 className: "wp-block-media-text__content" 17570 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 17571 } 17572 17573 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/transforms.js 17574 /** 17575 * WordPress dependencies 17576 */ 17577 17578 const media_text_transforms_transforms = { 17579 from: [{ 17580 type: 'block', 17581 blocks: ['core/image'], 17582 transform: ({ 17583 alt, 17584 url, 17585 id, 17586 anchor 17587 }) => Object(external_wp_blocks_["createBlock"])('core/media-text', { 17588 mediaAlt: alt, 17589 mediaId: id, 17590 mediaUrl: url, 17591 mediaType: 'image', 17592 anchor 17593 }) 17594 }, { 17595 type: 'block', 17596 blocks: ['core/video'], 17597 transform: ({ 17598 src, 17599 id, 17600 anchor 17601 }) => Object(external_wp_blocks_["createBlock"])('core/media-text', { 17602 mediaId: id, 17603 mediaUrl: src, 17604 mediaType: 'video', 17605 anchor 17606 }) 17607 }], 17608 to: [{ 17609 type: 'block', 17610 blocks: ['core/image'], 17611 isMatch: ({ 17612 mediaType, 17613 mediaUrl 17614 }) => { 17615 return !mediaUrl || mediaType === 'image'; 17616 }, 17617 transform: ({ 17618 mediaAlt, 17619 mediaId, 17620 mediaUrl, 17621 anchor 17622 }) => { 17623 return Object(external_wp_blocks_["createBlock"])('core/image', { 17624 alt: mediaAlt, 17625 id: mediaId, 17626 url: mediaUrl, 17627 anchor 17628 }); 17629 } 17630 }, { 17631 type: 'block', 17632 blocks: ['core/video'], 17633 isMatch: ({ 17634 mediaType, 17635 mediaUrl 17636 }) => { 17637 return !mediaUrl || mediaType === 'video'; 17638 }, 17639 transform: ({ 17640 mediaId, 17641 mediaUrl, 17642 anchor 17643 }) => { 17644 return Object(external_wp_blocks_["createBlock"])('core/video', { 17645 id: mediaId, 17646 src: mediaUrl, 17647 anchor 17648 }); 17649 } 17650 }] 17651 }; 17652 /* harmony default export */ var media_text_transforms = (media_text_transforms_transforms); 17653 17654 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/media-text/index.js 17655 /** 17656 * WordPress dependencies 17657 */ 17658 17659 17660 /** 17661 * Internal dependencies 17662 */ 17663 17664 17665 17666 const media_text_metadata = { 17667 apiVersion: 2, 17668 name: "core/media-text", 17669 title: "Media & Text", 17670 category: "media", 17671 description: "Set media and words side-by-side for a richer layout.", 17672 keywords: ["image", "video"], 17673 textdomain: "default", 17674 attributes: { 17675 align: { 17676 type: "string", 17677 "default": "wide" 17678 }, 17679 mediaAlt: { 17680 type: "string", 17681 source: "attribute", 17682 selector: "figure img", 17683 attribute: "alt", 17684 "default": "" 17685 }, 17686 mediaPosition: { 17687 type: "string", 17688 "default": "left" 17689 }, 17690 mediaId: { 17691 type: "number" 17692 }, 17693 mediaUrl: { 17694 type: "string", 17695 source: "attribute", 17696 selector: "figure video,figure img", 17697 attribute: "src" 17698 }, 17699 mediaLink: { 17700 type: "string" 17701 }, 17702 linkDestination: { 17703 type: "string" 17704 }, 17705 linkTarget: { 17706 type: "string", 17707 source: "attribute", 17708 selector: "figure a", 17709 attribute: "target" 17710 }, 17711 href: { 17712 type: "string", 17713 source: "attribute", 17714 selector: "figure a", 17715 attribute: "href" 17716 }, 17717 rel: { 17718 type: "string", 17719 source: "attribute", 17720 selector: "figure a", 17721 attribute: "rel" 17722 }, 17723 linkClass: { 17724 type: "string", 17725 source: "attribute", 17726 selector: "figure a", 17727 attribute: "class" 17728 }, 17729 mediaType: { 17730 type: "string" 17731 }, 17732 mediaWidth: { 17733 type: "number", 17734 "default": 50 17735 }, 17736 mediaSizeSlug: { 17737 type: "string" 17738 }, 17739 isStackedOnMobile: { 17740 type: "boolean", 17741 "default": true 17742 }, 17743 verticalAlignment: { 17744 type: "string" 17745 }, 17746 imageFill: { 17747 type: "boolean" 17748 }, 17749 focalPoint: { 17750 type: "object" 17751 } 17752 }, 17753 supports: { 17754 anchor: true, 17755 align: ["wide", "full"], 17756 html: false, 17757 color: { 17758 gradients: true, 17759 link: true 17760 } 17761 }, 17762 editorStyle: "wp-block-media-text-editor", 17763 style: "wp-block-media-text" 17764 }; 17765 17766 17767 const { 17768 name: media_text_name 17769 } = media_text_metadata; 17770 17771 const media_text_settings = { 17772 icon: media_and_text, 17773 example: { 17774 attributes: { 17775 mediaType: 'image', 17776 mediaUrl: 'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg' 17777 }, 17778 innerBlocks: [{ 17779 name: 'core/paragraph', 17780 attributes: { 17781 content: Object(external_wp_i18n_["__"])('The wren<br>Earns his living<br>Noiselessly.') 17782 } 17783 }, { 17784 name: 'core/paragraph', 17785 attributes: { 17786 content: Object(external_wp_i18n_["__"])('— Kobayashi Issa (一茶)') 17787 } 17788 }] 17789 }, 17790 transforms: media_text_transforms, 17791 edit: media_text_edit, 17792 save: media_text_save_save, 17793 deprecated: media_text_deprecated 17794 }; 17795 17796 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/comment.js 17797 17798 17799 /** 17800 * WordPress dependencies 17801 */ 17802 17803 const comment = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 17804 viewBox: "0 0 24 24", 17805 xmlns: "http://www.w3.org/2000/svg" 17806 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 17807 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" 17808 })); 17809 /* harmony default export */ var library_comment = (comment); 17810 17811 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/edit.js 17812 17813 17814 /** 17815 * WordPress dependencies 17816 */ 17817 17818 17819 17820 17821 /** 17822 * Minimum number of comments a user can show using this block. 17823 * 17824 * @type {number} 17825 */ 17826 17827 const MIN_COMMENTS = 1; 17828 /** 17829 * Maximum number of comments a user can show using this block. 17830 * 17831 * @type {number} 17832 */ 17833 17834 const MAX_COMMENTS = 100; 17835 function LatestComments({ 17836 attributes, 17837 setAttributes 17838 }) { 17839 const { 17840 commentsToShow, 17841 displayAvatar, 17842 displayDate, 17843 displayExcerpt 17844 } = attributes; 17845 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 17846 title: Object(external_wp_i18n_["__"])('Latest comments settings') 17847 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 17848 label: Object(external_wp_i18n_["__"])('Display avatar'), 17849 checked: displayAvatar, 17850 onChange: () => setAttributes({ 17851 displayAvatar: !displayAvatar 17852 }) 17853 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 17854 label: Object(external_wp_i18n_["__"])('Display date'), 17855 checked: displayDate, 17856 onChange: () => setAttributes({ 17857 displayDate: !displayDate 17858 }) 17859 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 17860 label: Object(external_wp_i18n_["__"])('Display excerpt'), 17861 checked: displayExcerpt, 17862 onChange: () => setAttributes({ 17863 displayExcerpt: !displayExcerpt 17864 }) 17865 }), Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 17866 label: Object(external_wp_i18n_["__"])('Number of comments'), 17867 value: commentsToShow, 17868 onChange: value => setAttributes({ 17869 commentsToShow: value 17870 }), 17871 min: MIN_COMMENTS, 17872 max: MAX_COMMENTS, 17873 required: true 17874 }))), Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 17875 block: "core/latest-comments", 17876 attributes: attributes 17877 }))); 17878 } 17879 17880 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-comments/index.js 17881 /** 17882 * WordPress dependencies 17883 */ 17884 17885 /** 17886 * Internal dependencies 17887 */ 17888 17889 const latest_comments_metadata = { 17890 apiVersion: 2, 17891 name: "core/latest-comments", 17892 title: "Latest Comments", 17893 category: "widgets", 17894 description: "Display a list of your most recent comments.", 17895 keywords: ["recent comments"], 17896 textdomain: "default", 17897 attributes: { 17898 commentsToShow: { 17899 type: "number", 17900 "default": 5, 17901 minimum: 1, 17902 maximum: 100 17903 }, 17904 displayAvatar: { 17905 type: "boolean", 17906 "default": true 17907 }, 17908 displayDate: { 17909 type: "boolean", 17910 "default": true 17911 }, 17912 displayExcerpt: { 17913 type: "boolean", 17914 "default": true 17915 } 17916 }, 17917 supports: { 17918 align: true, 17919 html: false 17920 }, 17921 editorStyle: "wp-block-latest-comments-editor", 17922 style: "wp-block-latest-comments" 17923 }; 17924 17925 const { 17926 name: latest_comments_name 17927 } = latest_comments_metadata; 17928 17929 const latest_comments_settings = { 17930 icon: library_comment, 17931 example: {}, 17932 edit: LatestComments 17933 }; 17934 17935 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-list.js 17936 17937 17938 /** 17939 * WordPress dependencies 17940 */ 17941 17942 const postList = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 17943 viewBox: "0 0 24 24", 17944 xmlns: "http://www.w3.org/2000/svg" 17945 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 17946 d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 11h2V9H7v2zm0 4h2v-2H7v2zm3-4h7V9h-7v2zm0 4h7v-2h-7v2z" 17947 })); 17948 /* harmony default export */ var post_list = (postList); 17949 17950 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/deprecated.js 17951 /** 17952 * Internal dependencies 17953 */ 17954 const latest_posts_deprecated_metadata = { 17955 apiVersion: 2, 17956 name: "core/latest-posts", 17957 title: "Latest Posts", 17958 category: "widgets", 17959 description: "Display a list of your most recent posts.", 17960 keywords: ["recent posts"], 17961 textdomain: "default", 17962 attributes: { 17963 categories: { 17964 type: "array", 17965 items: { 17966 type: "object" 17967 } 17968 }, 17969 selectedAuthor: { 17970 type: "number" 17971 }, 17972 postsToShow: { 17973 type: "number", 17974 "default": 5 17975 }, 17976 displayPostContent: { 17977 type: "boolean", 17978 "default": false 17979 }, 17980 displayPostContentRadio: { 17981 type: "string", 17982 "default": "excerpt" 17983 }, 17984 excerptLength: { 17985 type: "number", 17986 "default": 55 17987 }, 17988 displayAuthor: { 17989 type: "boolean", 17990 "default": false 17991 }, 17992 displayPostDate: { 17993 type: "boolean", 17994 "default": false 17995 }, 17996 postLayout: { 17997 type: "string", 17998 "default": "list" 17999 }, 18000 columns: { 18001 type: "number", 18002 "default": 3 18003 }, 18004 order: { 18005 type: "string", 18006 "default": "desc" 18007 }, 18008 orderBy: { 18009 type: "string", 18010 "default": "date" 18011 }, 18012 displayFeaturedImage: { 18013 type: "boolean", 18014 "default": false 18015 }, 18016 featuredImageAlign: { 18017 type: "string", 18018 "enum": ["left", "center", "right"] 18019 }, 18020 featuredImageSizeSlug: { 18021 type: "string", 18022 "default": "thumbnail" 18023 }, 18024 featuredImageSizeWidth: { 18025 type: "number", 18026 "default": null 18027 }, 18028 featuredImageSizeHeight: { 18029 type: "number", 18030 "default": null 18031 }, 18032 addLinkToFeaturedImage: { 18033 type: "boolean", 18034 "default": false 18035 } 18036 }, 18037 supports: { 18038 align: true, 18039 html: false 18040 }, 18041 editorStyle: "wp-block-latest-posts-editor", 18042 style: "wp-block-latest-posts" 18043 }; 18044 const { 18045 attributes: deprecated_attributes 18046 } = latest_posts_deprecated_metadata; 18047 /* harmony default export */ var latest_posts_deprecated = ([{ 18048 attributes: { ...deprecated_attributes, 18049 categories: { 18050 type: 'string' 18051 } 18052 }, 18053 supports: { 18054 align: true, 18055 html: false 18056 }, 18057 migrate: oldAttributes => { 18058 // This needs the full category object, not just the ID. 18059 return { ...oldAttributes, 18060 categories: [{ 18061 id: Number(oldAttributes.categories) 18062 }] 18063 }; 18064 }, 18065 isEligible: ({ 18066 categories 18067 }) => categories && 'string' === typeof categories, 18068 save: () => null 18069 }]); 18070 18071 // EXTERNAL MODULE: external ["wp","date"] 18072 var external_wp_date_ = __webpack_require__("FqII"); 18073 18074 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/list.js 18075 18076 18077 /** 18078 * WordPress dependencies 18079 */ 18080 18081 const list = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18082 viewBox: "0 0 24 24", 18083 xmlns: "http://www.w3.org/2000/svg" 18084 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18085 d: "M4 4v1.5h16V4H4zm8 8.5h8V11h-8v1.5zM4 20h16v-1.5H4V20zm4-8c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2z" 18086 })); 18087 /* harmony default export */ var library_list = (list); 18088 18089 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/grid.js 18090 var grid = __webpack_require__("b2RC"); 18091 18092 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/constants.js 18093 const MIN_EXCERPT_LENGTH = 10; 18094 const MAX_EXCERPT_LENGTH = 100; 18095 const MAX_POSTS_COLUMNS = 6; 18096 18097 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/edit.js 18098 18099 18100 /** 18101 * External dependencies 18102 */ 18103 18104 18105 /** 18106 * WordPress dependencies 18107 */ 18108 18109 18110 18111 18112 18113 18114 18115 18116 18117 18118 18119 /** 18120 * Internal dependencies 18121 */ 18122 18123 18124 /** 18125 * Module Constants 18126 */ 18127 18128 const CATEGORIES_LIST_QUERY = { 18129 per_page: -1 18130 }; 18131 const USERS_LIST_QUERY = { 18132 per_page: -1 18133 }; 18134 function LatestPostsEdit({ 18135 attributes, 18136 setAttributes 18137 }) { 18138 const { 18139 postsToShow, 18140 order, 18141 orderBy, 18142 categories, 18143 selectedAuthor, 18144 displayFeaturedImage, 18145 displayPostContentRadio, 18146 displayPostContent, 18147 displayPostDate, 18148 displayAuthor, 18149 postLayout, 18150 columns, 18151 excerptLength, 18152 featuredImageAlign, 18153 featuredImageSizeSlug, 18154 featuredImageSizeWidth, 18155 featuredImageSizeHeight, 18156 addLinkToFeaturedImage 18157 } = attributes; 18158 const { 18159 imageSizeOptions, 18160 latestPosts, 18161 defaultImageWidth, 18162 defaultImageHeight 18163 } = Object(external_wp_data_["useSelect"])(select => { 18164 const { 18165 getEntityRecords, 18166 getMedia 18167 } = select(external_wp_coreData_["store"]); 18168 const { 18169 getSettings 18170 } = select(external_wp_blockEditor_["store"]); 18171 const { 18172 imageSizes, 18173 imageDimensions 18174 } = getSettings(); 18175 const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : []; 18176 const latestPostsQuery = Object(external_lodash_["pickBy"])({ 18177 categories: catIds, 18178 author: selectedAuthor, 18179 order, 18180 orderby: orderBy, 18181 per_page: postsToShow 18182 }, value => !Object(external_lodash_["isUndefined"])(value)); 18183 const posts = getEntityRecords('postType', 'post', latestPostsQuery); 18184 return { 18185 defaultImageWidth: Object(external_lodash_["get"])(imageDimensions, [featuredImageSizeSlug, 'width'], 0), 18186 defaultImageHeight: Object(external_lodash_["get"])(imageDimensions, [featuredImageSizeSlug, 'height'], 0), 18187 imageSizeOptions: imageSizes.filter(({ 18188 slug 18189 }) => slug !== 'full').map(({ 18190 name, 18191 slug 18192 }) => ({ 18193 value: slug, 18194 label: name 18195 })), 18196 latestPosts: !Array.isArray(posts) ? posts : posts.map(post => { 18197 if (!post.featured_media) return post; 18198 const image = getMedia(post.featured_media); 18199 let url = Object(external_lodash_["get"])(image, ['media_details', 'sizes', featuredImageSizeSlug, 'source_url'], null); 18200 18201 if (!url) { 18202 url = Object(external_lodash_["get"])(image, 'source_url', null); 18203 } 18204 18205 const featuredImageInfo = { 18206 url, 18207 // eslint-disable-next-line camelcase 18208 alt: image === null || image === void 0 ? void 0 : image.alt_text 18209 }; 18210 return { ...post, 18211 featuredImageInfo 18212 }; 18213 }) 18214 }; 18215 }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]); 18216 const [categoriesList, setCategoriesList] = Object(external_wp_element_["useState"])([]); 18217 const [authorList, setAuthorList] = Object(external_wp_element_["useState"])([]); 18218 const categorySuggestions = categoriesList.reduce((accumulator, category) => ({ ...accumulator, 18219 [category.name]: category 18220 }), {}); 18221 18222 const selectCategories = tokens => { 18223 const hasNoSuggestion = tokens.some(token => typeof token === 'string' && !categorySuggestions[token]); 18224 18225 if (hasNoSuggestion) { 18226 return; 18227 } // Categories that are already will be objects, while new additions will be strings (the name). 18228 // allCategories nomalizes the array so that they are all objects. 18229 18230 18231 const allCategories = tokens.map(token => { 18232 return typeof token === 'string' ? categorySuggestions[token] : token; 18233 }); // We do nothing if the category is not selected 18234 // from suggestions. 18235 18236 if (Object(external_lodash_["includes"])(allCategories, null)) { 18237 return false; 18238 } 18239 18240 setAttributes({ 18241 categories: allCategories 18242 }); 18243 }; 18244 18245 const isStillMounted = Object(external_wp_element_["useRef"])(); 18246 Object(external_wp_element_["useEffect"])(() => { 18247 isStillMounted.current = true; 18248 external_wp_apiFetch_default()({ 18249 path: Object(external_wp_url_["addQueryArgs"])(`/wp/v2/categories`, CATEGORIES_LIST_QUERY) 18250 }).then(data => { 18251 if (isStillMounted.current) { 18252 setCategoriesList(data); 18253 } 18254 }).catch(() => { 18255 if (isStillMounted.current) { 18256 setCategoriesList([]); 18257 } 18258 }); 18259 external_wp_apiFetch_default()({ 18260 path: Object(external_wp_url_["addQueryArgs"])(`/wp/v2/users`, USERS_LIST_QUERY) 18261 }).then(data => { 18262 if (isStillMounted.current) { 18263 setAuthorList(data); 18264 } 18265 }).catch(() => { 18266 if (isStillMounted.current) { 18267 setAuthorList([]); 18268 } 18269 }); 18270 return () => { 18271 isStillMounted.current = false; 18272 }; 18273 }, []); 18274 const hasPosts = !!(latestPosts !== null && latestPosts !== void 0 && latestPosts.length); 18275 const inspectorControls = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18276 title: Object(external_wp_i18n_["__"])('Post content settings') 18277 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18278 label: Object(external_wp_i18n_["__"])('Post content'), 18279 checked: displayPostContent, 18280 onChange: value => setAttributes({ 18281 displayPostContent: value 18282 }) 18283 }), displayPostContent && Object(external_wp_element_["createElement"])(external_wp_components_["RadioControl"], { 18284 label: Object(external_wp_i18n_["__"])('Show:'), 18285 selected: displayPostContentRadio, 18286 options: [{ 18287 label: Object(external_wp_i18n_["__"])('Excerpt'), 18288 value: 'excerpt' 18289 }, { 18290 label: Object(external_wp_i18n_["__"])('Full post'), 18291 value: 'full_post' 18292 }], 18293 onChange: value => setAttributes({ 18294 displayPostContentRadio: value 18295 }) 18296 }), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 18297 label: Object(external_wp_i18n_["__"])('Max number of words in excerpt'), 18298 value: excerptLength, 18299 onChange: value => setAttributes({ 18300 excerptLength: value 18301 }), 18302 min: MIN_EXCERPT_LENGTH, 18303 max: MAX_EXCERPT_LENGTH 18304 })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18305 title: Object(external_wp_i18n_["__"])('Post meta settings') 18306 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18307 label: Object(external_wp_i18n_["__"])('Display author name'), 18308 checked: displayAuthor, 18309 onChange: value => setAttributes({ 18310 displayAuthor: value 18311 }) 18312 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18313 label: Object(external_wp_i18n_["__"])('Display post date'), 18314 checked: displayPostDate, 18315 onChange: value => setAttributes({ 18316 displayPostDate: value 18317 }) 18318 })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18319 title: Object(external_wp_i18n_["__"])('Featured image settings') 18320 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18321 label: Object(external_wp_i18n_["__"])('Display featured image'), 18322 checked: displayFeaturedImage, 18323 onChange: value => setAttributes({ 18324 displayFeaturedImage: value 18325 }) 18326 }), displayFeaturedImage && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalImageSizeControl"], { 18327 onChange: value => { 18328 const newAttrs = {}; 18329 18330 if (value.hasOwnProperty('width')) { 18331 newAttrs.featuredImageSizeWidth = value.width; 18332 } 18333 18334 if (value.hasOwnProperty('height')) { 18335 newAttrs.featuredImageSizeHeight = value.height; 18336 } 18337 18338 setAttributes(newAttrs); 18339 }, 18340 slug: featuredImageSizeSlug, 18341 width: featuredImageSizeWidth, 18342 height: featuredImageSizeHeight, 18343 imageWidth: defaultImageWidth, 18344 imageHeight: defaultImageHeight, 18345 imageSizeOptions: imageSizeOptions, 18346 onChangeImage: value => setAttributes({ 18347 featuredImageSizeSlug: value, 18348 featuredImageSizeWidth: undefined, 18349 featuredImageSizeHeight: undefined 18350 }) 18351 }), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { 18352 className: "block-editor-image-alignment-control__row" 18353 }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, Object(external_wp_i18n_["__"])('Image alignment')), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentToolbar"], { 18354 value: featuredImageAlign, 18355 onChange: value => setAttributes({ 18356 featuredImageAlign: value 18357 }), 18358 controls: ['left', 'center', 'right'], 18359 isCollapsed: false 18360 })), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18361 label: Object(external_wp_i18n_["__"])('Add link to featured image'), 18362 checked: addLinkToFeaturedImage, 18363 onChange: value => setAttributes({ 18364 addLinkToFeaturedImage: value 18365 }) 18366 }))), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18367 title: Object(external_wp_i18n_["__"])('Sorting and filtering') 18368 }, Object(external_wp_element_["createElement"])(external_wp_components_["QueryControls"], { 18369 order, 18370 orderBy, 18371 numberOfItems: postsToShow, 18372 onOrderChange: value => setAttributes({ 18373 order: value 18374 }), 18375 onOrderByChange: value => setAttributes({ 18376 orderBy: value 18377 }), 18378 onNumberOfItemsChange: value => setAttributes({ 18379 postsToShow: value 18380 }), 18381 categorySuggestions: categorySuggestions, 18382 onCategoryChange: selectCategories, 18383 selectedCategories: categories, 18384 onAuthorChange: value => setAttributes({ 18385 selectedAuthor: '' !== value ? Number(value) : undefined 18386 }), 18387 authorList: authorList, 18388 selectedAuthorId: selectedAuthor 18389 }), postLayout === 'grid' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 18390 label: Object(external_wp_i18n_["__"])('Columns'), 18391 value: columns, 18392 onChange: value => setAttributes({ 18393 columns: value 18394 }), 18395 min: 2, 18396 max: !hasPosts ? MAX_POSTS_COLUMNS : Math.min(MAX_POSTS_COLUMNS, latestPosts.length), 18397 required: true 18398 }))); 18399 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 18400 className: classnames_default()({ 18401 'wp-block-latest-posts__list': true, 18402 'is-grid': postLayout === 'grid', 18403 'has-dates': displayPostDate, 18404 'has-author': displayAuthor, 18405 [`columns-${columns}`]: postLayout === 'grid' 18406 }) 18407 }); 18408 18409 if (!hasPosts) { 18410 return Object(external_wp_element_["createElement"])("div", blockProps, inspectorControls, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 18411 icon: library_pin, 18412 label: Object(external_wp_i18n_["__"])('Latest Posts') 18413 }, !Array.isArray(latestPosts) ? Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null) : Object(external_wp_i18n_["__"])('No posts found.'))); 18414 } // Removing posts from display should be instant. 18415 18416 18417 const displayPosts = latestPosts.length > postsToShow ? latestPosts.slice(0, postsToShow) : latestPosts; 18418 const layoutControls = [{ 18419 icon: library_list, 18420 title: Object(external_wp_i18n_["__"])('List view'), 18421 onClick: () => setAttributes({ 18422 postLayout: 'list' 18423 }), 18424 isActive: postLayout === 'list' 18425 }, { 18426 icon: grid["a" /* default */], 18427 title: Object(external_wp_i18n_["__"])('Grid view'), 18428 onClick: () => setAttributes({ 18429 postLayout: 'grid' 18430 }), 18431 isActive: postLayout === 'grid' 18432 }]; 18433 18434 const dateFormat = Object(external_wp_date_["__experimentalGetSettings"])().formats.date; 18435 18436 return Object(external_wp_element_["createElement"])("div", null, inspectorControls, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { 18437 controls: layoutControls 18438 })), Object(external_wp_element_["createElement"])("ul", blockProps, displayPosts.map((post, i) => { 18439 const titleTrimmed = Object(external_lodash_["invoke"])(post, ['title', 'rendered', 'trim']); 18440 let excerpt = post.excerpt.rendered; 18441 const currentAuthor = authorList.find(author => author.id === post.author); 18442 const excerptElement = document.createElement('div'); 18443 excerptElement.innerHTML = excerpt; 18444 excerpt = excerptElement.textContent || excerptElement.innerText || ''; 18445 const { 18446 featuredImageInfo: { 18447 url: imageSourceUrl, 18448 alt: featuredImageAlt 18449 } = {} 18450 } = post; 18451 const imageClasses = classnames_default()({ 18452 'wp-block-latest-posts__featured-image': true, 18453 [`align${featuredImageAlign}`]: !!featuredImageAlign 18454 }); 18455 const renderFeaturedImage = displayFeaturedImage && imageSourceUrl; 18456 const featuredImage = renderFeaturedImage && Object(external_wp_element_["createElement"])("img", { 18457 src: imageSourceUrl, 18458 alt: featuredImageAlt, 18459 style: { 18460 maxWidth: featuredImageSizeWidth, 18461 maxHeight: featuredImageSizeHeight 18462 } 18463 }); 18464 const needsReadMore = excerptLength < excerpt.trim().split(' ').length && post.excerpt.raw === ''; 18465 const postExcerpt = needsReadMore ? Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, excerpt.trim().split(' ', excerptLength).join(' '), Object(external_wp_i18n_["__"])(' … '), Object(external_wp_element_["createElement"])("a", { 18466 href: post.link, 18467 rel: "noopener noreferrer" 18468 }, Object(external_wp_i18n_["__"])('Read more'))) : excerpt; 18469 return Object(external_wp_element_["createElement"])("li", { 18470 key: i 18471 }, renderFeaturedImage && Object(external_wp_element_["createElement"])("div", { 18472 className: imageClasses 18473 }, addLinkToFeaturedImage ? Object(external_wp_element_["createElement"])("a", { 18474 href: post.link, 18475 rel: "noreferrer noopener" 18476 }, featuredImage) : featuredImage), Object(external_wp_element_["createElement"])("a", { 18477 href: post.link, 18478 rel: "noreferrer noopener" 18479 }, titleTrimmed ? Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, titleTrimmed) : Object(external_wp_i18n_["__"])('(no title)')), displayAuthor && currentAuthor && Object(external_wp_element_["createElement"])("div", { 18480 className: "wp-block-latest-posts__post-author" 18481 }, Object(external_wp_i18n_["sprintf"])( 18482 /* translators: byline. %s: current author. */ 18483 Object(external_wp_i18n_["__"])('by %s'), currentAuthor.name)), displayPostDate && post.date_gmt && Object(external_wp_element_["createElement"])("time", { 18484 dateTime: Object(external_wp_date_["format"])('c', post.date_gmt), 18485 className: "wp-block-latest-posts__post-date" 18486 }, Object(external_wp_date_["dateI18n"])(dateFormat, post.date_gmt)), displayPostContent && displayPostContentRadio === 'excerpt' && Object(external_wp_element_["createElement"])("div", { 18487 className: "wp-block-latest-posts__post-excerpt" 18488 }, postExcerpt), displayPostContent && displayPostContentRadio === 'full_post' && Object(external_wp_element_["createElement"])("div", { 18489 className: "wp-block-latest-posts__post-full-content" 18490 }, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { 18491 key: "html" 18492 }, post.content.raw.trim()))); 18493 }))); 18494 } 18495 18496 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/latest-posts/index.js 18497 /** 18498 * WordPress dependencies 18499 */ 18500 18501 /** 18502 * Internal dependencies 18503 */ 18504 18505 18506 18507 const latest_posts_metadata = { 18508 apiVersion: 2, 18509 name: "core/latest-posts", 18510 title: "Latest Posts", 18511 category: "widgets", 18512 description: "Display a list of your most recent posts.", 18513 keywords: ["recent posts"], 18514 textdomain: "default", 18515 attributes: { 18516 categories: { 18517 type: "array", 18518 items: { 18519 type: "object" 18520 } 18521 }, 18522 selectedAuthor: { 18523 type: "number" 18524 }, 18525 postsToShow: { 18526 type: "number", 18527 "default": 5 18528 }, 18529 displayPostContent: { 18530 type: "boolean", 18531 "default": false 18532 }, 18533 displayPostContentRadio: { 18534 type: "string", 18535 "default": "excerpt" 18536 }, 18537 excerptLength: { 18538 type: "number", 18539 "default": 55 18540 }, 18541 displayAuthor: { 18542 type: "boolean", 18543 "default": false 18544 }, 18545 displayPostDate: { 18546 type: "boolean", 18547 "default": false 18548 }, 18549 postLayout: { 18550 type: "string", 18551 "default": "list" 18552 }, 18553 columns: { 18554 type: "number", 18555 "default": 3 18556 }, 18557 order: { 18558 type: "string", 18559 "default": "desc" 18560 }, 18561 orderBy: { 18562 type: "string", 18563 "default": "date" 18564 }, 18565 displayFeaturedImage: { 18566 type: "boolean", 18567 "default": false 18568 }, 18569 featuredImageAlign: { 18570 type: "string", 18571 "enum": ["left", "center", "right"] 18572 }, 18573 featuredImageSizeSlug: { 18574 type: "string", 18575 "default": "thumbnail" 18576 }, 18577 featuredImageSizeWidth: { 18578 type: "number", 18579 "default": null 18580 }, 18581 featuredImageSizeHeight: { 18582 type: "number", 18583 "default": null 18584 }, 18585 addLinkToFeaturedImage: { 18586 type: "boolean", 18587 "default": false 18588 } 18589 }, 18590 supports: { 18591 align: true, 18592 html: false 18593 }, 18594 editorStyle: "wp-block-latest-posts-editor", 18595 style: "wp-block-latest-posts" 18596 }; 18597 const { 18598 name: latest_posts_name 18599 } = latest_posts_metadata; 18600 18601 const latest_posts_settings = { 18602 icon: post_list, 18603 example: {}, 18604 edit: LatestPostsEdit, 18605 deprecated: latest_posts_deprecated 18606 }; 18607 18608 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/login.js 18609 18610 18611 /** 18612 * WordPress dependencies 18613 */ 18614 18615 const login = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18616 xmlns: "http://www.w3.org/2000/svg", 18617 viewBox: "0 0 24 24" 18618 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18619 d: "M11 14.5l1.1 1.1 3-3 .5-.5-.6-.6-3-3-1 1 1.7 1.7H5v1.5h7.7L11 14.5zM16.8 5h-7c-1.1 0-2 .9-2 2v1.5h1.5V7c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5v-1.5H7.8V17c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2z" 18620 })); 18621 /* harmony default export */ var library_login = (login); 18622 18623 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/loginout/edit.js 18624 18625 18626 /** 18627 * WordPress dependencies 18628 */ 18629 18630 18631 18632 function LoginOutEdit({ 18633 attributes, 18634 setAttributes 18635 }) { 18636 const { 18637 displayLoginAsForm, 18638 redirectToCurrent 18639 } = attributes; 18640 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18641 title: Object(external_wp_i18n_["__"])('Login/out settings') 18642 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18643 label: Object(external_wp_i18n_["__"])('Display login as form'), 18644 checked: displayLoginAsForm, 18645 onChange: () => setAttributes({ 18646 displayLoginAsForm: !displayLoginAsForm 18647 }) 18648 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18649 label: Object(external_wp_i18n_["__"])('Redirect to current URL'), 18650 checked: redirectToCurrent, 18651 onChange: () => setAttributes({ 18652 redirectToCurrent: !redirectToCurrent 18653 }) 18654 }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ 18655 className: 'logged-in' 18656 }), Object(external_wp_element_["createElement"])("a", { 18657 href: "#login-pseudo-link" 18658 }, Object(external_wp_i18n_["__"])('Log out')))); 18659 } 18660 18661 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/loginout/index.js 18662 /** 18663 * WordPress dependencies 18664 */ 18665 18666 /** 18667 * Internal dependencies 18668 */ 18669 18670 18671 const loginout_metadata = { 18672 apiVersion: 2, 18673 name: "core/loginout", 18674 title: "Login/out", 18675 category: "theme", 18676 description: "Show login & logout links.", 18677 keywords: ["login", "logout", "form"], 18678 textdomain: "default", 18679 attributes: { 18680 displayLoginAsForm: { 18681 type: "boolean", 18682 "default": false 18683 }, 18684 redirectToCurrent: { 18685 type: "boolean", 18686 "default": true 18687 } 18688 }, 18689 supports: { 18690 className: true, 18691 typography: { 18692 fontSize: false 18693 } 18694 } 18695 }; 18696 const { 18697 name: loginout_name 18698 } = loginout_metadata; 18699 18700 const loginout_settings = { 18701 icon: library_login, 18702 edit: LoginOutEdit 18703 }; 18704 18705 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-bullets-rtl.js 18706 18707 18708 /** 18709 * WordPress dependencies 18710 */ 18711 18712 const formatListBulletsRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18713 xmlns: "http://www.w3.org/2000/svg", 18714 viewBox: "0 0 24 24" 18715 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18716 d: "M4 8.8h8.9V7.2H4v1.6zm0 7h8.9v-1.5H4v1.5zM18 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-3c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" 18717 })); 18718 /* harmony default export */ var format_list_bullets_rtl = (formatListBulletsRTL); 18719 18720 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-bullets.js 18721 18722 18723 /** 18724 * WordPress dependencies 18725 */ 18726 18727 const formatListBullets = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18728 xmlns: "http://www.w3.org/2000/svg", 18729 viewBox: "0 0 24 24" 18730 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18731 d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM6 13c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-7c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" 18732 })); 18733 /* harmony default export */ var format_list_bullets = (formatListBullets); 18734 18735 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-numbered-rtl.js 18736 18737 18738 /** 18739 * WordPress dependencies 18740 */ 18741 18742 const formatListNumberedRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18743 xmlns: "http://www.w3.org/2000/svg", 18744 viewBox: "0 0 24 24" 18745 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18746 d: "M3.8 15.8h8.9v-1.5H3.8v1.5zm0-7h8.9V7.2H3.8v1.6zm14.7-2.1V10h1V5.3l-2.2.7.3 1 .9-.3zm1.2 6.1c-.5-.6-1.2-.5-1.7-.4-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5H20v-1h-.9c.3-.6.8-1.4.9-2.1 0-.3 0-.8-.3-1.1z" 18747 })); 18748 /* harmony default export */ var format_list_numbered_rtl = (formatListNumberedRTL); 18749 18750 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-list-numbered.js 18751 18752 18753 /** 18754 * WordPress dependencies 18755 */ 18756 18757 const formatListNumbered = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18758 xmlns: "http://www.w3.org/2000/svg", 18759 viewBox: "0 0 24 24" 18760 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18761 d: "M11.1 15.8H20v-1.5h-8.9v1.5zm0-8.6v1.5H20V7.2h-8.9zM5 6.7V10h1V5.3L3.8 6l.4 1 .8-.3zm-.4 5.7c-.3.1-.5.2-.7.3l.1 1.1c.2-.2.5-.4.8-.5.3-.1.6 0 .7.1.2.3 0 .8-.2 1.1-.5.8-.9 1.6-1.4 2.5h2.7v-1h-1c.3-.6.8-1.4.9-2.1.1-.3 0-.8-.2-1.1-.5-.6-1.3-.5-1.7-.4z" 18762 })); 18763 /* harmony default export */ var format_list_numbered = (formatListNumbered); 18764 18765 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-outdent-rtl.js 18766 18767 18768 /** 18769 * WordPress dependencies 18770 */ 18771 18772 const formatOutdentRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18773 xmlns: "http://www.w3.org/2000/svg", 18774 viewBox: "0 0 24 24" 18775 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18776 d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM15.4697 14.9697L18.4393 12L15.4697 9.03033L16.5303 7.96967L20.0303 11.4697L20.5607 12L20.0303 12.5303L16.5303 16.0303L15.4697 14.9697Z" 18777 })); 18778 /* harmony default export */ var format_outdent_rtl = (formatOutdentRTL); 18779 18780 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-outdent.js 18781 18782 18783 /** 18784 * WordPress dependencies 18785 */ 18786 18787 const formatOutdent = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18788 xmlns: "http://www.w3.org/2000/svg", 18789 viewBox: "0 0 24 24" 18790 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18791 d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-4-4.6l-4 4 4 4 1-1-3-3 3-3-1-1z" 18792 })); 18793 /* harmony default export */ var format_outdent = (formatOutdent); 18794 18795 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-indent-rtl.js 18796 18797 18798 /** 18799 * WordPress dependencies 18800 */ 18801 18802 const formatIndentRTL = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18803 xmlns: "http://www.w3.org/2000/svg", 18804 viewBox: "0 0 24 24" 18805 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18806 d: "M20 5.5H4V4H20V5.5ZM12 12.5H4V11H12V12.5ZM20 20V18.5H4V20H20ZM20.0303 9.03033L17.0607 12L20.0303 14.9697L18.9697 16.0303L15.4697 12.5303L14.9393 12L15.4697 11.4697L18.9697 7.96967L20.0303 9.03033Z" 18807 })); 18808 /* harmony default export */ var format_indent_rtl = (formatIndentRTL); 18809 18810 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/format-indent.js 18811 18812 18813 /** 18814 * WordPress dependencies 18815 */ 18816 18817 const formatIndent = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 18818 xmlns: "http://www.w3.org/2000/svg", 18819 viewBox: "0 0 24 24" 18820 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 18821 d: "M4 7.2v1.5h16V7.2H4zm8 8.6h8v-1.5h-8v1.5zm-8-3.5l3 3-3 3 1 1 4-4-4-4-1 1z" 18822 })); 18823 /* harmony default export */ var format_indent = (formatIndent); 18824 18825 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/ordered-list-settings.js 18826 18827 18828 /** 18829 * WordPress dependencies 18830 */ 18831 18832 18833 18834 18835 const OrderedListSettings = ({ 18836 setAttributes, 18837 reversed, 18838 start 18839 }) => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 18840 title: Object(external_wp_i18n_["__"])('Ordered list settings') 18841 }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 18842 label: Object(external_wp_i18n_["__"])('Start value'), 18843 type: "number", 18844 onChange: value => { 18845 const int = parseInt(value, 10); 18846 setAttributes({ 18847 // It should be possible to unset the value, 18848 // e.g. with an empty string. 18849 start: isNaN(int) ? undefined : int 18850 }); 18851 }, 18852 value: Number.isInteger(start) ? start.toString(10) : '', 18853 step: "1" 18854 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 18855 label: Object(external_wp_i18n_["__"])('Reverse list numbering'), 18856 checked: reversed || false, 18857 onChange: value => { 18858 setAttributes({ 18859 // Unset the attribute if not reversed. 18860 reversed: value || undefined 18861 }); 18862 } 18863 }))); 18864 18865 /* harmony default export */ var ordered_list_settings = (OrderedListSettings); 18866 18867 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/edit.js 18868 18869 18870 18871 /** 18872 * WordPress dependencies 18873 */ 18874 18875 18876 18877 18878 18879 18880 /** 18881 * Internal dependencies 18882 */ 18883 18884 18885 18886 function ListEdit({ 18887 attributes, 18888 setAttributes, 18889 mergeBlocks, 18890 onReplace 18891 }) { 18892 const { 18893 ordered, 18894 values, 18895 type, 18896 reversed, 18897 start, 18898 placeholder 18899 } = attributes; 18900 const tagName = ordered ? 'ol' : 'ul'; 18901 18902 const controls = ({ 18903 value, 18904 onChange, 18905 onFocus 18906 }) => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { 18907 type: "primary", 18908 character: "[", 18909 onUse: () => { 18910 onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); 18911 } 18912 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { 18913 type: "primary", 18914 character: "]", 18915 onUse: () => { 18916 onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { 18917 type: tagName 18918 })); 18919 } 18920 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { 18921 type: "primary", 18922 character: "m", 18923 onUse: () => { 18924 onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { 18925 type: tagName 18926 })); 18927 } 18928 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichTextShortcut"], { 18929 type: "primaryShift", 18930 character: "m", 18931 onUse: () => { 18932 onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); 18933 } 18934 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 18935 group: "block" 18936 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 18937 icon: Object(external_wp_i18n_["isRTL"])() ? format_list_bullets_rtl : format_list_bullets, 18938 title: Object(external_wp_i18n_["__"])('Unordered'), 18939 describedBy: Object(external_wp_i18n_["__"])('Convert to unordered list'), 18940 isActive: Object(external_wp_richText_["__unstableIsActiveListType"])(value, 'ul', tagName), 18941 onClick: () => { 18942 onChange(Object(external_wp_richText_["__unstableChangeListType"])(value, { 18943 type: 'ul' 18944 })); 18945 onFocus(); 18946 18947 if (Object(external_wp_richText_["__unstableIsListRootSelected"])(value)) { 18948 setAttributes({ 18949 ordered: false 18950 }); 18951 } 18952 } 18953 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 18954 icon: Object(external_wp_i18n_["isRTL"])() ? format_list_numbered_rtl : format_list_numbered, 18955 title: Object(external_wp_i18n_["__"])('Ordered'), 18956 describedBy: Object(external_wp_i18n_["__"])('Convert to ordered list'), 18957 isActive: Object(external_wp_richText_["__unstableIsActiveListType"])(value, 'ol', tagName), 18958 onClick: () => { 18959 onChange(Object(external_wp_richText_["__unstableChangeListType"])(value, { 18960 type: 'ol' 18961 })); 18962 onFocus(); 18963 18964 if (Object(external_wp_richText_["__unstableIsListRootSelected"])(value)) { 18965 setAttributes({ 18966 ordered: true 18967 }); 18968 } 18969 } 18970 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 18971 icon: Object(external_wp_i18n_["isRTL"])() ? format_outdent_rtl : format_outdent, 18972 title: Object(external_wp_i18n_["__"])('Outdent'), 18973 describedBy: Object(external_wp_i18n_["__"])('Outdent list item'), 18974 shortcut: Object(external_wp_i18n_["_x"])('Backspace', 'keyboard key'), 18975 isDisabled: !Object(external_wp_richText_["__unstableCanOutdentListItems"])(value), 18976 onClick: () => { 18977 onChange(Object(external_wp_richText_["__unstableOutdentListItems"])(value)); 18978 onFocus(); 18979 } 18980 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 18981 icon: Object(external_wp_i18n_["isRTL"])() ? format_indent_rtl : format_indent, 18982 title: Object(external_wp_i18n_["__"])('Indent'), 18983 describedBy: Object(external_wp_i18n_["__"])('Indent list item'), 18984 shortcut: Object(external_wp_i18n_["_x"])('Space', 'keyboard key'), 18985 isDisabled: !Object(external_wp_richText_["__unstableCanIndentListItems"])(value), 18986 onClick: () => { 18987 onChange(Object(external_wp_richText_["__unstableIndentListItems"])(value, { 18988 type: tagName 18989 })); 18990 onFocus(); 18991 } 18992 }))); 18993 18994 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 18995 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 18996 identifier: "values", 18997 multiline: "li", 18998 tagName: tagName, 18999 onChange: nextValues => setAttributes({ 19000 values: nextValues 19001 }), 19002 value: values, 19003 "aria-label": Object(external_wp_i18n_["__"])('List text'), 19004 placeholder: placeholder || Object(external_wp_i18n_["__"])('List'), 19005 onMerge: mergeBlocks, 19006 onSplit: value => Object(external_wp_blocks_["createBlock"])(list_name, { ...attributes, 19007 values: value 19008 }), 19009 __unstableOnSplitMiddle: () => Object(external_wp_blocks_["createBlock"])('core/paragraph'), 19010 onReplace: onReplace, 19011 onRemove: () => onReplace([]), 19012 start: start, 19013 reversed: reversed, 19014 type: type 19015 }, blockProps), controls), ordered && Object(external_wp_element_["createElement"])(ordered_list_settings, { 19016 setAttributes: setAttributes, 19017 ordered: ordered, 19018 reversed: reversed, 19019 start: start, 19020 placeholder: placeholder 19021 })); 19022 } 19023 19024 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/save.js 19025 19026 19027 /** 19028 * WordPress dependencies 19029 */ 19030 19031 function list_save_save({ 19032 attributes 19033 }) { 19034 const { 19035 ordered, 19036 values, 19037 type, 19038 reversed, 19039 start 19040 } = attributes; 19041 const TagName = ordered ? 'ol' : 'ul'; 19042 return Object(external_wp_element_["createElement"])(TagName, external_wp_blockEditor_["useBlockProps"].save({ 19043 type, 19044 reversed, 19045 start 19046 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 19047 value: values, 19048 multiline: "li" 19049 })); 19050 } 19051 19052 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/transforms.js 19053 /** 19054 * WordPress dependencies 19055 */ 19056 19057 19058 19059 function getListContentSchema({ 19060 phrasingContentSchema 19061 }) { 19062 const listContentSchema = { ...phrasingContentSchema, 19063 ul: {}, 19064 ol: { 19065 attributes: ['type', 'start', 'reversed'] 19066 } 19067 }; // Recursion is needed. 19068 // Possible: ul > li > ul. 19069 // Impossible: ul > ul. 19070 19071 ['ul', 'ol'].forEach(tag => { 19072 listContentSchema[tag].children = { 19073 li: { 19074 children: listContentSchema 19075 } 19076 }; 19077 }); 19078 return listContentSchema; 19079 } 19080 19081 const list_transforms_transforms = { 19082 from: [{ 19083 type: 'block', 19084 isMultiBlock: true, 19085 blocks: ['core/paragraph', 'core/heading'], 19086 transform: blockAttributes => { 19087 return Object(external_wp_blocks_["createBlock"])('core/list', { 19088 values: Object(external_wp_richText_["toHTMLString"])({ 19089 value: Object(external_wp_richText_["join"])(blockAttributes.map(({ 19090 content 19091 }) => { 19092 const value = Object(external_wp_richText_["create"])({ 19093 html: content 19094 }); 19095 19096 if (blockAttributes.length > 1) { 19097 return value; 19098 } // When converting only one block, transform 19099 // every line to a list item. 19100 19101 19102 return Object(external_wp_richText_["replace"])(value, /\n/g, external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]); 19103 }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]), 19104 multilineTag: 'li' 19105 }), 19106 anchor: blockAttributes.anchor 19107 }); 19108 } 19109 }, { 19110 type: 'block', 19111 blocks: ['core/quote', 'core/pullquote'], 19112 transform: ({ 19113 value, 19114 anchor 19115 }) => { 19116 return Object(external_wp_blocks_["createBlock"])('core/list', { 19117 values: Object(external_wp_richText_["toHTMLString"])({ 19118 value: Object(external_wp_richText_["create"])({ 19119 html: value, 19120 multilineTag: 'p' 19121 }), 19122 multilineTag: 'li' 19123 }), 19124 anchor 19125 }); 19126 } 19127 }, { 19128 type: 'raw', 19129 selector: 'ol,ul', 19130 schema: args => ({ 19131 ol: getListContentSchema(args).ol, 19132 ul: getListContentSchema(args).ul 19133 }), 19134 19135 transform(node) { 19136 const attributes = { 19137 ordered: node.nodeName === 'OL', 19138 anchor: node.id === '' ? undefined : node.id 19139 }; 19140 19141 if (attributes.ordered) { 19142 const type = node.getAttribute('type'); 19143 19144 if (type) { 19145 attributes.type = type; 19146 } 19147 19148 if (node.getAttribute('reversed') !== null) { 19149 attributes.reversed = true; 19150 } 19151 19152 const start = parseInt(node.getAttribute('start'), 10); 19153 19154 if (!isNaN(start) && ( // start=1 only makes sense if the list is reversed. 19155 start !== 1 || attributes.reversed)) { 19156 attributes.start = start; 19157 } 19158 } 19159 19160 return Object(external_wp_blocks_["createBlock"])('core/list', { ...Object(external_wp_blocks_["getBlockAttributes"])('core/list', node.outerHTML), 19161 ...attributes 19162 }); 19163 } 19164 19165 }, ...['*', '-'].map(prefix => ({ 19166 type: 'prefix', 19167 prefix, 19168 19169 transform(content) { 19170 return Object(external_wp_blocks_["createBlock"])('core/list', { 19171 values: `<li>${content}</li>` 19172 }); 19173 } 19174 19175 })), ...['1.', '1)'].map(prefix => ({ 19176 type: 'prefix', 19177 prefix, 19178 19179 transform(content) { 19180 return Object(external_wp_blocks_["createBlock"])('core/list', { 19181 ordered: true, 19182 values: `<li>${content}</li>` 19183 }); 19184 } 19185 19186 }))], 19187 to: [{ 19188 type: 'block', 19189 blocks: ['core/paragraph'], 19190 transform: ({ 19191 values 19192 }) => Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 19193 html: values, 19194 multilineTag: 'li', 19195 multilineWrapperTags: ['ul', 'ol'] 19196 }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]).map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { 19197 content: Object(external_wp_richText_["toHTMLString"])({ 19198 value: piece 19199 }) 19200 })) 19201 }, { 19202 type: 'block', 19203 blocks: ['core/heading'], 19204 transform: ({ 19205 values 19206 }) => Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 19207 html: values, 19208 multilineTag: 'li', 19209 multilineWrapperTags: ['ul', 'ol'] 19210 }), external_wp_richText_["__UNSTABLE_LINE_SEPARATOR"]).map(piece => Object(external_wp_blocks_["createBlock"])('core/heading', { 19211 content: Object(external_wp_richText_["toHTMLString"])({ 19212 value: piece 19213 }) 19214 })) 19215 }, { 19216 type: 'block', 19217 blocks: ['core/quote'], 19218 transform: ({ 19219 values, 19220 anchor 19221 }) => { 19222 return Object(external_wp_blocks_["createBlock"])('core/quote', { 19223 value: Object(external_wp_richText_["toHTMLString"])({ 19224 value: Object(external_wp_richText_["create"])({ 19225 html: values, 19226 multilineTag: 'li', 19227 multilineWrapperTags: ['ul', 'ol'] 19228 }), 19229 multilineTag: 'p' 19230 }), 19231 anchor 19232 }); 19233 } 19234 }, { 19235 type: 'block', 19236 blocks: ['core/pullquote'], 19237 transform: ({ 19238 values, 19239 anchor 19240 }) => { 19241 return Object(external_wp_blocks_["createBlock"])('core/pullquote', { 19242 value: Object(external_wp_richText_["toHTMLString"])({ 19243 value: Object(external_wp_richText_["create"])({ 19244 html: values, 19245 multilineTag: 'li', 19246 multilineWrapperTags: ['ul', 'ol'] 19247 }), 19248 multilineTag: 'p' 19249 }), 19250 anchor 19251 }); 19252 } 19253 }] 19254 }; 19255 /* harmony default export */ var list_transforms = (list_transforms_transforms); 19256 19257 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/list/index.js 19258 /** 19259 * WordPress dependencies 19260 */ 19261 19262 /** 19263 * Internal dependencies 19264 */ 19265 19266 19267 const list_metadata = { 19268 apiVersion: 2, 19269 name: "core/list", 19270 title: "List", 19271 category: "text", 19272 description: "Create a bulleted or numbered list.", 19273 keywords: ["bullet list", "ordered list", "numbered list"], 19274 textdomain: "default", 19275 attributes: { 19276 ordered: { 19277 type: "boolean", 19278 "default": false, 19279 __experimentalRole: "content" 19280 }, 19281 values: { 19282 type: "string", 19283 source: "html", 19284 selector: "ol,ul", 19285 multiline: "li", 19286 __unstableMultilineWrapperTags: ["ol", "ul"], 19287 "default": "", 19288 __experimentalRole: "content" 19289 }, 19290 type: { 19291 type: "string" 19292 }, 19293 start: { 19294 type: "number" 19295 }, 19296 reversed: { 19297 type: "boolean" 19298 }, 19299 placeholder: { 19300 type: "string" 19301 } 19302 }, 19303 supports: { 19304 anchor: true, 19305 className: false, 19306 typography: { 19307 fontSize: true, 19308 __experimentalFontFamily: true 19309 }, 19310 color: { 19311 gradients: true 19312 }, 19313 __unstablePasteTextInline: true, 19314 __experimentalSelector: "ol,ul" 19315 }, 19316 editorStyle: "wp-block-list-editor", 19317 style: "wp-block-list" 19318 }; 19319 19320 19321 const { 19322 name: list_name 19323 } = list_metadata; 19324 19325 const list_settings = { 19326 icon: library_list, 19327 example: { 19328 attributes: { 19329 values: '<li>Alice.</li><li>The White Rabbit.</li><li>The Cheshire Cat.</li><li>The Mad Hatter.</li><li>The Queen of Hearts.</li>' 19330 } 19331 }, 19332 transforms: list_transforms, 19333 19334 merge(attributes, attributesToMerge) { 19335 const { 19336 values 19337 } = attributesToMerge; 19338 19339 if (!values || values === '<li></li>') { 19340 return attributes; 19341 } 19342 19343 return { ...attributes, 19344 values: attributes.values + values 19345 }; 19346 }, 19347 19348 edit: ListEdit, 19349 save: list_save_save 19350 }; 19351 19352 // EXTERNAL MODULE: external ["wp","dom"] 19353 var external_wp_dom_ = __webpack_require__("1CF3"); 19354 19355 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/edit.js 19356 19357 19358 /** 19359 * WordPress dependencies 19360 */ 19361 19362 19363 19364 19365 19366 19367 19368 19369 function MissingBlockWarning({ 19370 attributes, 19371 convertToHTML 19372 }) { 19373 const { 19374 originalName, 19375 originalUndelimitedContent 19376 } = attributes; 19377 const hasContent = !!originalUndelimitedContent; 19378 const hasHTMLBlock = Object(external_wp_blocks_["getBlockType"])('core/html'); 19379 const actions = []; 19380 let messageHTML; 19381 19382 if (hasContent && hasHTMLBlock) { 19383 messageHTML = Object(external_wp_i18n_["sprintf"])( 19384 /* translators: %s: block name */ 19385 Object(external_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely.'), originalName); 19386 actions.push(Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 19387 key: "convert", 19388 onClick: convertToHTML, 19389 isPrimary: true 19390 }, Object(external_wp_i18n_["__"])('Keep as HTML'))); 19391 } else { 19392 messageHTML = Object(external_wp_i18n_["sprintf"])( 19393 /* translators: %s: block name */ 19394 Object(external_wp_i18n_["__"])('Your site doesn’t include support for the "%s" block. You can leave this block intact or remove it entirely.'), originalName); 19395 } 19396 19397 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ 19398 className: 'has-warning' 19399 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], { 19400 actions: actions 19401 }, messageHTML), Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_wp_dom_["safeHTML"])(originalUndelimitedContent))); 19402 } 19403 19404 const MissingEdit = Object(external_wp_data_["withDispatch"])((dispatch, { 19405 clientId, 19406 attributes 19407 }) => { 19408 const { 19409 replaceBlock 19410 } = dispatch(external_wp_blockEditor_["store"]); 19411 return { 19412 convertToHTML() { 19413 replaceBlock(clientId, Object(external_wp_blocks_["createBlock"])('core/html', { 19414 content: attributes.originalUndelimitedContent 19415 })); 19416 } 19417 19418 }; 19419 })(MissingBlockWarning); 19420 /* harmony default export */ var missing_edit = (MissingEdit); 19421 19422 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/save.js 19423 19424 19425 /** 19426 * WordPress dependencies 19427 */ 19428 19429 function missing_save_save({ 19430 attributes 19431 }) { 19432 // Preserve the missing block's content. 19433 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.originalContent); 19434 } 19435 19436 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/missing/index.js 19437 /** 19438 * WordPress dependencies 19439 */ 19440 19441 /** 19442 * Internal dependencies 19443 */ 19444 19445 19446 const missing_metadata = { 19447 apiVersion: 2, 19448 name: "core/missing", 19449 title: "Unsupported", 19450 category: "text", 19451 description: "Your site doesn\u2019t include support for this block.", 19452 textdomain: "default", 19453 attributes: { 19454 originalName: { 19455 type: "string" 19456 }, 19457 originalUndelimitedContent: { 19458 type: "string" 19459 }, 19460 originalContent: { 19461 type: "string", 19462 source: "html" 19463 } 19464 }, 19465 supports: { 19466 className: false, 19467 customClassName: false, 19468 inserter: false, 19469 html: false, 19470 reusable: false 19471 } 19472 }; 19473 19474 const { 19475 name: missing_name 19476 } = missing_metadata; 19477 19478 const missing_settings = { 19479 name: missing_name, 19480 19481 __experimentalLabel(attributes, { 19482 context 19483 }) { 19484 if (context === 'accessibility') { 19485 const { 19486 originalName 19487 } = attributes; 19488 const originalBlockType = originalName ? Object(external_wp_blocks_["getBlockType"])(originalName) : undefined; 19489 19490 if (originalBlockType) { 19491 return originalBlockType.settings.title || originalName; 19492 } 19493 19494 return ''; 19495 } 19496 }, 19497 19498 edit: missing_edit, 19499 save: missing_save_save 19500 }; 19501 19502 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/more.js 19503 19504 19505 /** 19506 * WordPress dependencies 19507 */ 19508 19509 const more = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 19510 viewBox: "0 0 24 24", 19511 xmlns: "http://www.w3.org/2000/svg" 19512 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 19513 d: "M4 9v1.5h16V9H4zm12 5.5h4V13h-4v1.5zm-6 0h4V13h-4v1.5zm-6 0h4V13H4v1.5z" 19514 })); 19515 /* harmony default export */ var library_more = (more); 19516 19517 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/edit.js 19518 19519 19520 /** 19521 * WordPress dependencies 19522 */ 19523 19524 19525 19526 19527 19528 19529 const DEFAULT_TEXT = Object(external_wp_i18n_["__"])('Read more'); 19530 19531 function MoreEdit({ 19532 attributes: { 19533 customText, 19534 noTeaser 19535 }, 19536 insertBlocksAfter, 19537 setAttributes 19538 }) { 19539 const onChangeInput = event => { 19540 setAttributes({ 19541 customText: event.target.value !== '' ? event.target.value : undefined 19542 }); 19543 }; 19544 19545 const onKeyDown = ({ 19546 keyCode 19547 }) => { 19548 if (keyCode === external_wp_keycodes_["ENTER"]) { 19549 insertBlocksAfter([Object(external_wp_blocks_["createBlock"])(Object(external_wp_blocks_["getDefaultBlockName"])())]); 19550 } 19551 }; 19552 19553 const getHideExcerptHelp = checked => checked ? Object(external_wp_i18n_["__"])('The excerpt is hidden.') : Object(external_wp_i18n_["__"])('The excerpt is visible.'); 19554 19555 const toggleHideExcerpt = () => setAttributes({ 19556 noTeaser: !noTeaser 19557 }); 19558 19559 const style = { 19560 width: `${(customText ? customText : DEFAULT_TEXT).length + 1.2}em` 19561 }; 19562 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 19563 label: Object(external_wp_i18n_["__"])('Hide the excerpt on the full content page'), 19564 checked: !!noTeaser, 19565 onChange: toggleHideExcerpt, 19566 help: getHideExcerptHelp 19567 }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { 19568 className: "wp-block-more" 19569 }, Object(external_wp_element_["createElement"])("input", { 19570 "aria-label": Object(external_wp_i18n_["__"])('Read more link text'), 19571 type: "text", 19572 value: customText, 19573 placeholder: DEFAULT_TEXT, 19574 onChange: onChangeInput, 19575 onKeyDown: onKeyDown, 19576 style: style 19577 })))); 19578 } 19579 19580 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/save.js 19581 19582 19583 /** 19584 * External dependencies 19585 */ 19586 19587 /** 19588 * WordPress dependencies 19589 */ 19590 19591 19592 function more_save_save({ 19593 attributes: { 19594 customText, 19595 noTeaser 19596 } 19597 }) { 19598 const moreTag = customText ? `<!--more ${customText}-->` : '<!--more-->'; 19599 const noTeaserTag = noTeaser ? '<!--noteaser-->' : ''; 19600 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, Object(external_lodash_["compact"])([moreTag, noTeaserTag]).join('\n')); 19601 } 19602 19603 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/transforms.js 19604 /** 19605 * WordPress dependencies 19606 */ 19607 19608 const more_transforms_transforms = { 19609 from: [{ 19610 type: 'raw', 19611 schema: { 19612 'wp-block': { 19613 attributes: ['data-block'] 19614 } 19615 }, 19616 isMatch: node => node.dataset && node.dataset.block === 'core/more', 19617 19618 transform(node) { 19619 const { 19620 customText, 19621 noTeaser 19622 } = node.dataset; 19623 const attrs = {}; // Don't copy unless defined and not an empty string 19624 19625 if (customText) { 19626 attrs.customText = customText; 19627 } // Special handling for boolean 19628 19629 19630 if (noTeaser === '') { 19631 attrs.noTeaser = true; 19632 } 19633 19634 return Object(external_wp_blocks_["createBlock"])('core/more', attrs); 19635 } 19636 19637 }] 19638 }; 19639 /* harmony default export */ var more_transforms = (more_transforms_transforms); 19640 19641 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/more/index.js 19642 /** 19643 * WordPress dependencies 19644 */ 19645 19646 /** 19647 * Internal dependencies 19648 */ 19649 19650 19651 const more_metadata = { 19652 apiVersion: 2, 19653 name: "core/more", 19654 title: "More", 19655 category: "design", 19656 description: "Content before this block will be shown in the excerpt on your archives page.", 19657 keywords: ["read more"], 19658 textdomain: "default", 19659 attributes: { 19660 customText: { 19661 type: "string" 19662 }, 19663 noTeaser: { 19664 type: "boolean", 19665 "default": false 19666 } 19667 }, 19668 supports: { 19669 customClassName: false, 19670 className: false, 19671 html: false, 19672 multiple: false 19673 }, 19674 editorStyle: "wp-block-more-editor" 19675 }; 19676 19677 19678 const { 19679 name: more_name 19680 } = more_metadata; 19681 19682 const more_settings = { 19683 icon: library_more, 19684 example: {}, 19685 19686 __experimentalLabel(attributes, { 19687 context 19688 }) { 19689 if (context === 'accessibility') { 19690 return attributes.customText; 19691 } 19692 }, 19693 19694 transforms: more_transforms, 19695 edit: MoreEdit, 19696 save: more_save_save 19697 }; 19698 19699 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/page-break.js 19700 19701 19702 /** 19703 * WordPress dependencies 19704 */ 19705 19706 const pageBreak = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 19707 xmlns: "http://www.w3.org/2000/svg", 19708 viewBox: "0 0 24 24" 19709 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 19710 d: "M7.8 6c0-.7.6-1.2 1.2-1.2h6c.7 0 1.2.6 1.2 1.2v3h1.5V6c0-1.5-1.2-2.8-2.8-2.8H9C7.5 3.2 6.2 4.5 6.2 6v3h1.5V6zm8.4 11c0 .7-.6 1.2-1.2 1.2H9c-.7 0-1.2-.6-1.2-1.2v-3H6.2v3c0 1.5 1.2 2.8 2.8 2.8h6c1.5 0 2.8-1.2 2.8-2.8v-3h-1.5v3zM4 11v1h16v-1H4z" 19711 })); 19712 /* harmony default export */ var page_break = (pageBreak); 19713 19714 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/edit.js 19715 19716 19717 /** 19718 * WordPress dependencies 19719 */ 19720 19721 19722 function NextPageEdit() { 19723 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { 19724 className: "wp-block-nextpage" 19725 }, Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('Page break')))); 19726 } 19727 19728 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/save.js 19729 19730 19731 /** 19732 * WordPress dependencies 19733 */ 19734 19735 function nextpage_save_save() { 19736 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, '<!--nextpage-->'); 19737 } 19738 19739 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/transforms.js 19740 /** 19741 * WordPress dependencies 19742 */ 19743 19744 const nextpage_transforms_transforms = { 19745 from: [{ 19746 type: 'raw', 19747 schema: { 19748 'wp-block': { 19749 attributes: ['data-block'] 19750 } 19751 }, 19752 isMatch: node => node.dataset && node.dataset.block === 'core/nextpage', 19753 19754 transform() { 19755 return Object(external_wp_blocks_["createBlock"])('core/nextpage', {}); 19756 } 19757 19758 }] 19759 }; 19760 /* harmony default export */ var nextpage_transforms = (nextpage_transforms_transforms); 19761 19762 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/nextpage/index.js 19763 /** 19764 * WordPress dependencies 19765 */ 19766 19767 /** 19768 * Internal dependencies 19769 */ 19770 19771 19772 const nextpage_metadata = { 19773 apiVersion: 2, 19774 name: "core/nextpage", 19775 title: "Page Break", 19776 category: "design", 19777 description: "Separate your content into a multi-page experience.", 19778 keywords: ["next page", "pagination"], 19779 parent: ["core/post-content"], 19780 textdomain: "default", 19781 supports: { 19782 customClassName: false, 19783 className: false, 19784 html: false 19785 }, 19786 editorStyle: "wp-block-nextpage-editor" 19787 }; 19788 19789 19790 const { 19791 name: nextpage_name 19792 } = nextpage_metadata; 19793 19794 const nextpage_settings = { 19795 icon: page_break, 19796 example: {}, 19797 transforms: nextpage_transforms, 19798 edit: NextPageEdit, 19799 save: nextpage_save_save 19800 }; 19801 19802 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pages.js 19803 19804 19805 /** 19806 * WordPress dependencies 19807 */ 19808 19809 const pages_pages = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 19810 xmlns: "http://www.w3.org/2000/svg", 19811 viewBox: "0 0 24 24" 19812 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 19813 d: "M7 13.8h6v-1.5H7v1.5zM18 16V4c0-1.1-.9-2-2-2H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2zM5.5 16V4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v12c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5zM7 10.5h8V9H7v1.5zm0-3.3h8V5.8H7v1.4zM20.2 6v13c0 .7-.6 1.2-1.2 1.2H8v1.5h11c1.5 0 2.7-1.2 2.7-2.8V6h-1.5z" 19814 })); 19815 /* harmony default export */ var library_pages = (pages_pages); 19816 19817 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/convert-to-links-modal.js 19818 19819 19820 /** 19821 * WordPress dependencies 19822 */ 19823 19824 19825 19826 19827 19828 19829 const PAGE_FIELDS = ['id', 'title', 'link', 'type', 'parent']; 19830 const MAX_PAGE_COUNT = 100; 19831 const convertSelectedBlockToNavigationLinks = ({ 19832 pages, 19833 clientId, 19834 replaceBlock, 19835 createBlock 19836 }) => () => { 19837 if (!pages) { 19838 return; 19839 } 19840 19841 const linkMap = {}; 19842 const navigationLinks = []; 19843 pages.forEach(({ 19844 id, 19845 title, 19846 link: url, 19847 type, 19848 parent 19849 }) => { 19850 var _linkMap$id$innerBloc, _linkMap$id; 19851 19852 // See if a placeholder exists. This is created if children appear before parents in list 19853 const innerBlocks = (_linkMap$id$innerBloc = (_linkMap$id = linkMap[id]) === null || _linkMap$id === void 0 ? void 0 : _linkMap$id.innerBlocks) !== null && _linkMap$id$innerBloc !== void 0 ? _linkMap$id$innerBloc : []; 19854 linkMap[id] = createBlock('core/navigation-link', { 19855 id, 19856 label: title.rendered, 19857 url, 19858 type, 19859 kind: 'post-type' 19860 }, innerBlocks); 19861 19862 if (!parent) { 19863 navigationLinks.push(linkMap[id]); 19864 } else { 19865 if (!linkMap[parent]) { 19866 // Use a placeholder if the child appears before parent in list 19867 linkMap[parent] = { 19868 innerBlocks: [] 19869 }; 19870 } 19871 19872 const parentLinkInnerBlocks = linkMap[parent].innerBlocks; 19873 parentLinkInnerBlocks.push(linkMap[id]); 19874 } 19875 }); 19876 replaceBlock(clientId, navigationLinks); 19877 }; 19878 function ConvertToLinksModal({ 19879 onClose, 19880 clientId 19881 }) { 19882 const { 19883 pages, 19884 pagesFinished 19885 } = Object(external_wp_data_["useSelect"])(select => { 19886 const { 19887 getEntityRecords, 19888 hasFinishedResolution 19889 } = select(external_wp_coreData_["store"]); 19890 const query = ['postType', 'page', { 19891 per_page: MAX_PAGE_COUNT, 19892 _fields: PAGE_FIELDS, 19893 // TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby 19894 // values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent 19895 // sort. 19896 orderby: 'menu_order', 19897 order: 'asc' 19898 }]; 19899 return { 19900 pages: getEntityRecords(...query), 19901 pagesFinished: hasFinishedResolution('getEntityRecords', query) 19902 }; 19903 }, [clientId]); 19904 const { 19905 replaceBlock 19906 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 19907 return Object(external_wp_element_["createElement"])(external_wp_components_["Modal"], { 19908 closeLabel: Object(external_wp_i18n_["__"])('Close'), 19909 onRequestClose: onClose, 19910 title: Object(external_wp_i18n_["__"])('Convert to links'), 19911 className: 'wp-block-page-list-modal', 19912 aria: { 19913 describedby: 'wp-block-page-list-modal__description' 19914 } 19915 }, Object(external_wp_element_["createElement"])("p", { 19916 id: 'wp-block-page-list-modal__description' 19917 }, Object(external_wp_i18n_["__"])('To edit this navigation menu, convert it to single page links. This allows you to add, re-order, remove items, or edit their labels.')), Object(external_wp_element_["createElement"])("p", null, Object(external_wp_i18n_["__"])("Note: if you add new pages to your site, you'll need to add them to your navigation menu.")), Object(external_wp_element_["createElement"])("div", { 19918 className: "wp-block-page-list-modal-buttons" 19919 }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 19920 isTertiary: true, 19921 onClick: onClose 19922 }, Object(external_wp_i18n_["__"])('Cancel')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 19923 isPrimary: true, 19924 disabled: !pagesFinished, 19925 onClick: convertSelectedBlockToNavigationLinks({ 19926 pages, 19927 replaceBlock, 19928 clientId, 19929 createBlock: external_wp_blocks_["createBlock"] 19930 }) 19931 }, Object(external_wp_i18n_["__"])('Convert')))); 19932 } 19933 19934 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/edit.js 19935 19936 19937 /** 19938 * External dependencies 19939 */ 19940 19941 /** 19942 * WordPress dependencies 19943 */ 19944 19945 19946 19947 19948 19949 19950 19951 19952 19953 /** 19954 * Internal dependencies 19955 */ 19956 19957 // We only show the edit option when page count is <= MAX_PAGE_COUNT 19958 // Performance of Navigation Links is not good past this value. 19959 19960 const edit_MAX_PAGE_COUNT = 100; 19961 function PageListEdit({ 19962 context, 19963 clientId 19964 }) { 19965 const { 19966 textColor, 19967 backgroundColor, 19968 showSubmenuIcon, 19969 style 19970 } = context || {}; 19971 const [allowConvertToLinks, setAllowConvertToLinks] = Object(external_wp_element_["useState"])(false); 19972 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 19973 className: classnames_default()({ 19974 'has-text-color': !!textColor, 19975 [`has-${textColor}-color`]: !!textColor, 19976 'has-background': !!backgroundColor, 19977 [`has-${backgroundColor}-background-color`]: !!backgroundColor, 19978 'show-submenu-icons': !!showSubmenuIcon 19979 }), 19980 style: { ...(style === null || style === void 0 ? void 0 : style.color) 19981 } 19982 }); 19983 const isParentNavigation = Object(external_wp_data_["useSelect"])(select => { 19984 const { 19985 getBlockParentsByBlockName 19986 } = select(external_wp_blockEditor_["store"]); 19987 return getBlockParentsByBlockName(clientId, 'core/navigation').length > 0; 19988 }, [clientId]); 19989 Object(external_wp_element_["useEffect"])(() => { 19990 if (isParentNavigation) { 19991 external_wp_apiFetch_default()({ 19992 path: Object(external_wp_url_["addQueryArgs"])('/wp/v2/pages', { 19993 per_page: 1, 19994 _fields: ['id'] 19995 }), 19996 parse: false 19997 }).then(res => { 19998 setAllowConvertToLinks(res.headers.get('X-WP-Total') <= edit_MAX_PAGE_COUNT); 19999 }); 20000 } else { 20001 setAllowConvertToLinks(false); 20002 } 20003 }, [isParentNavigation]); 20004 const [isOpen, setOpen] = Object(external_wp_element_["useState"])(false); 20005 20006 const openModal = () => setOpen(true); 20007 20008 const closeModal = () => setOpen(false); 20009 20010 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, allowConvertToLinks && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 20011 group: "other" 20012 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 20013 title: Object(external_wp_i18n_["__"])('Edit'), 20014 onClick: openModal 20015 }, Object(external_wp_i18n_["__"])('Edit'))), allowConvertToLinks && isOpen && Object(external_wp_element_["createElement"])(ConvertToLinksModal, { 20016 onClose: closeModal, 20017 clientId: clientId 20018 }), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 20019 block: "core/page-list" 20020 }))); 20021 } 20022 20023 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/page-list/index.js 20024 /** 20025 * WordPress dependencies 20026 */ 20027 20028 /** 20029 * Internal dependencies 20030 */ 20031 20032 const page_list_metadata = { 20033 apiVersion: 2, 20034 name: "core/page-list", 20035 title: "Page List", 20036 category: "widgets", 20037 description: "Display a list of all pages.", 20038 keywords: ["menu", "navigation"], 20039 textdomain: "default", 20040 usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style"], 20041 supports: { 20042 reusable: false, 20043 html: false 20044 }, 20045 editorStyle: "wp-block-page-list-editor", 20046 style: "wp-block-page-list" 20047 }; 20048 20049 const { 20050 name: page_list_name 20051 } = page_list_metadata; 20052 20053 const page_list_settings = { 20054 icon: library_pages, 20055 example: {}, 20056 edit: PageListEdit 20057 }; 20058 20059 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/preformatted.js 20060 20061 20062 /** 20063 * WordPress dependencies 20064 */ 20065 20066 const preformatted = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 20067 viewBox: "0 0 24 24", 20068 xmlns: "http://www.w3.org/2000/svg" 20069 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 20070 d: "M18 4H6c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v12zM7 16.5h6V15H7v1.5zm4-4h6V11h-6v1.5zM9 11H7v1.5h2V11zm6 5.5h2V15h-2v1.5z" 20071 })); 20072 /* harmony default export */ var library_preformatted = (preformatted); 20073 20074 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/edit.js 20075 20076 20077 20078 /** 20079 * WordPress dependencies 20080 */ 20081 20082 20083 function PreformattedEdit({ 20084 attributes, 20085 mergeBlocks, 20086 setAttributes, 20087 onRemove 20088 }) { 20089 const { 20090 content 20091 } = attributes; 20092 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 20093 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 20094 tagName: "pre", 20095 identifier: "content", 20096 preserveWhiteSpace: true, 20097 value: content, 20098 onChange: nextContent => { 20099 setAttributes({ 20100 content: nextContent 20101 }); 20102 }, 20103 onRemove: onRemove, 20104 "aria-label": Object(external_wp_i18n_["__"])('Preformatted text'), 20105 placeholder: Object(external_wp_i18n_["__"])('Write preformatted text…'), 20106 onMerge: mergeBlocks 20107 }, blockProps, { 20108 __unstablePastePlainText: true 20109 })); 20110 } 20111 20112 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/save.js 20113 20114 20115 /** 20116 * WordPress dependencies 20117 */ 20118 20119 function preformatted_save_save({ 20120 attributes 20121 }) { 20122 const { 20123 content 20124 } = attributes; 20125 return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20126 value: content 20127 })); 20128 } 20129 20130 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/transforms.js 20131 /** 20132 * WordPress dependencies 20133 */ 20134 20135 const preformatted_transforms_transforms = { 20136 from: [{ 20137 type: 'block', 20138 blocks: ['core/code', 'core/paragraph'], 20139 transform: ({ 20140 content, 20141 anchor 20142 }) => Object(external_wp_blocks_["createBlock"])('core/preformatted', { 20143 content, 20144 anchor 20145 }) 20146 }, { 20147 type: 'raw', 20148 isMatch: node => node.nodeName === 'PRE' && !(node.children.length === 1 && node.firstChild.nodeName === 'CODE'), 20149 schema: ({ 20150 phrasingContentSchema 20151 }) => ({ 20152 pre: { 20153 children: phrasingContentSchema 20154 } 20155 }) 20156 }], 20157 to: [{ 20158 type: 'block', 20159 blocks: ['core/paragraph'], 20160 transform: attributes => Object(external_wp_blocks_["createBlock"])('core/paragraph', attributes) 20161 }, { 20162 type: 'block', 20163 blocks: ['core/code'], 20164 transform: attributes => Object(external_wp_blocks_["createBlock"])('core/code', attributes) 20165 }] 20166 }; 20167 /* harmony default export */ var preformatted_transforms = (preformatted_transforms_transforms); 20168 20169 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/preformatted/index.js 20170 /** 20171 * WordPress dependencies 20172 */ 20173 20174 20175 /** 20176 * Internal dependencies 20177 */ 20178 20179 20180 const preformatted_metadata = { 20181 apiVersion: 2, 20182 name: "core/preformatted", 20183 title: "Preformatted", 20184 category: "text", 20185 description: "Add text that respects your spacing and tabs, and also allows styling.", 20186 textdomain: "default", 20187 attributes: { 20188 content: { 20189 type: "string", 20190 source: "html", 20191 selector: "pre", 20192 "default": "", 20193 __unstablePreserveWhiteSpace: true, 20194 __experimentalRole: "content" 20195 } 20196 }, 20197 supports: { 20198 anchor: true, 20199 color: { 20200 gradients: true 20201 }, 20202 typography: { 20203 fontSize: true 20204 } 20205 }, 20206 style: "wp-block-preformatted" 20207 }; 20208 20209 20210 const { 20211 name: preformatted_name 20212 } = preformatted_metadata; 20213 20214 const preformatted_settings = { 20215 icon: library_preformatted, 20216 example: { 20217 attributes: { 20218 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 20219 // translators: Sample content for the Preformatted block. Can be replaced with a more locale-adequate work. 20220 content: Object(external_wp_i18n_["__"])('EXT. XANADU - FAINT DAWN - 1940 (MINIATURE)\nWindow, very small in the distance, illuminated.\nAll around this is an almost totally black screen. Now, as the camera moves slowly towards the window which is almost a postage stamp in the frame, other forms appear;') 20221 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 20222 20223 } 20224 }, 20225 transforms: preformatted_transforms, 20226 edit: PreformattedEdit, 20227 save: preformatted_save_save, 20228 20229 merge(attributes, attributesToMerge) { 20230 return { 20231 content: attributes.content + attributesToMerge.content 20232 }; 20233 } 20234 20235 }; 20236 20237 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/pullquote.js 20238 20239 20240 /** 20241 * WordPress dependencies 20242 */ 20243 20244 const pullquote = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 20245 viewBox: "0 0 24 24", 20246 xmlns: "http://www.w3.org/2000/svg" 20247 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 20248 d: "M18 8H6c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2zm.5 6c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-4c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v4zM4 4v1.5h16V4H4zm0 16h16v-1.5H4V20z" 20249 })); 20250 /* harmony default export */ var library_pullquote = (pullquote); 20251 20252 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/shared.js 20253 const SOLID_COLOR_CLASS = `is-style-solid-color`; 20254 20255 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/deprecated.js 20256 20257 20258 /** 20259 * External dependencies 20260 */ 20261 20262 20263 /** 20264 * WordPress dependencies 20265 */ 20266 20267 20268 20269 /** 20270 * Internal dependencies 20271 */ 20272 20273 20274 const pullquote_deprecated_blockAttributes = { 20275 value: { 20276 type: 'string', 20277 source: 'html', 20278 selector: 'blockquote', 20279 multiline: 'p' 20280 }, 20281 citation: { 20282 type: 'string', 20283 source: 'html', 20284 selector: 'cite', 20285 default: '' 20286 }, 20287 mainColor: { 20288 type: 'string' 20289 }, 20290 customMainColor: { 20291 type: 'string' 20292 }, 20293 textColor: { 20294 type: 'string' 20295 }, 20296 customTextColor: { 20297 type: 'string' 20298 } 20299 }; 20300 20301 function parseBorderColor(styleString) { 20302 if (!styleString) { 20303 return; 20304 } 20305 20306 const matches = styleString.match(/border-color:([^;]+)[;]?/); 20307 20308 if (matches && matches[1]) { 20309 return matches[1]; 20310 } 20311 } 20312 20313 const pullquote_deprecated_deprecated = [{ 20314 attributes: { ...pullquote_deprecated_blockAttributes, 20315 // figureStyle is an attribute that never existed. 20316 // We are using it as a way to access the styles previously applied to the figure. 20317 figureStyle: { 20318 source: 'attribute', 20319 selector: 'figure', 20320 attribute: 'style' 20321 } 20322 }, 20323 20324 save({ 20325 attributes 20326 }) { 20327 const { 20328 mainColor, 20329 customMainColor, 20330 textColor, 20331 customTextColor, 20332 value, 20333 citation, 20334 className, 20335 figureStyle 20336 } = attributes; 20337 const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); 20338 let figureClasses, figureStyles; // Is solid color style 20339 20340 if (isSolidColorStyle) { 20341 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); 20342 figureClasses = classnames_default()({ 20343 'has-background': backgroundClass || customMainColor, 20344 [backgroundClass]: backgroundClass 20345 }); 20346 figureStyles = { 20347 backgroundColor: backgroundClass ? undefined : customMainColor 20348 }; // Is normal style and a custom color is being used ( we can set a style directly with its value) 20349 } else if (customMainColor) { 20350 figureStyles = { 20351 borderColor: customMainColor 20352 }; // If normal style and a named color are being used, we need to retrieve the color value to set the style, 20353 // as there is no expectation that themes create classes that set border colors. 20354 } else if (mainColor) { 20355 // Previously here we queried the color settings to know the color value 20356 // of a named color. This made the save function impure and the block was refactored, 20357 // because meanwhile a change in the editor made it impossible to query color settings in the save function. 20358 // Here instead of querying the color settings to know the color value, we retrieve the value 20359 // directly from the style previously serialized. 20360 const borderColor = parseBorderColor(figureStyle); 20361 figureStyles = { 20362 borderColor 20363 }; 20364 } 20365 20366 const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 20367 const blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', { 20368 [blockquoteTextColorClass]: blockquoteTextColorClass 20369 }); 20370 const blockquoteStyles = blockquoteTextColorClass ? undefined : { 20371 color: customTextColor 20372 }; 20373 return Object(external_wp_element_["createElement"])("figure", { 20374 className: figureClasses, 20375 style: figureStyles 20376 }, Object(external_wp_element_["createElement"])("blockquote", { 20377 className: blockquoteClasses, 20378 style: blockquoteStyles 20379 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20380 value: value, 20381 multiline: true 20382 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20383 tagName: "cite", 20384 value: citation 20385 }))); 20386 }, 20387 20388 migrate({ 20389 className, 20390 figureStyle, 20391 mainColor, 20392 ...attributes 20393 }) { 20394 const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); // If is the default style, and a main color is set, 20395 // migrate the main color value into a custom color. 20396 // The custom color value is retrived by parsing the figure styles. 20397 20398 if (!isSolidColorStyle && mainColor && figureStyle) { 20399 const borderColor = parseBorderColor(figureStyle); 20400 20401 if (borderColor) { 20402 return { ...attributes, 20403 className, 20404 customMainColor: borderColor 20405 }; 20406 } 20407 } 20408 20409 return { 20410 className, 20411 mainColor, 20412 ...attributes 20413 }; 20414 } 20415 20416 }, { 20417 attributes: pullquote_deprecated_blockAttributes, 20418 20419 save({ 20420 attributes 20421 }) { 20422 const { 20423 mainColor, 20424 customMainColor, 20425 textColor, 20426 customTextColor, 20427 value, 20428 citation, 20429 className 20430 } = attributes; 20431 const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); 20432 let figureClass, figureStyles; // Is solid color style 20433 20434 if (isSolidColorStyle) { 20435 figureClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); 20436 20437 if (!figureClass) { 20438 figureStyles = { 20439 backgroundColor: customMainColor 20440 }; 20441 } // Is normal style and a custom color is being used ( we can set a style directly with its value) 20442 20443 } else if (customMainColor) { 20444 figureStyles = { 20445 borderColor: customMainColor 20446 }; // Is normal style and a named color is being used, we need to retrieve the color value to set the style, 20447 // as there is no expectation that themes create classes that set border colors. 20448 } else if (mainColor) { 20449 const colors = Object(external_lodash_["get"])(Object(external_wp_data_["select"])(external_wp_blockEditor_["store"]).getSettings(), ['colors'], []); 20450 const colorObject = Object(external_wp_blockEditor_["getColorObjectByAttributeValues"])(colors, mainColor); 20451 figureStyles = { 20452 borderColor: colorObject.color 20453 }; 20454 } 20455 20456 const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 20457 const blockquoteClasses = textColor || customTextColor ? classnames_default()('has-text-color', { 20458 [blockquoteTextColorClass]: blockquoteTextColorClass 20459 }) : undefined; 20460 const blockquoteStyle = blockquoteTextColorClass ? undefined : { 20461 color: customTextColor 20462 }; 20463 return Object(external_wp_element_["createElement"])("figure", { 20464 className: figureClass, 20465 style: figureStyles 20466 }, Object(external_wp_element_["createElement"])("blockquote", { 20467 className: blockquoteClasses, 20468 style: blockquoteStyle 20469 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20470 value: value, 20471 multiline: true 20472 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20473 tagName: "cite", 20474 value: citation 20475 }))); 20476 } 20477 20478 }, { 20479 attributes: { ...pullquote_deprecated_blockAttributes 20480 }, 20481 20482 save({ 20483 attributes 20484 }) { 20485 const { 20486 value, 20487 citation 20488 } = attributes; 20489 return Object(external_wp_element_["createElement"])("blockquote", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20490 value: value, 20491 multiline: true 20492 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20493 tagName: "cite", 20494 value: citation 20495 })); 20496 } 20497 20498 }, { 20499 attributes: { ...pullquote_deprecated_blockAttributes, 20500 citation: { 20501 type: 'string', 20502 source: 'html', 20503 selector: 'footer' 20504 }, 20505 align: { 20506 type: 'string', 20507 default: 'none' 20508 } 20509 }, 20510 20511 save({ 20512 attributes 20513 }) { 20514 const { 20515 value, 20516 citation, 20517 align 20518 } = attributes; 20519 return Object(external_wp_element_["createElement"])("blockquote", { 20520 className: `align${align}` 20521 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20522 value: value, 20523 multiline: true 20524 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20525 tagName: "footer", 20526 value: citation 20527 })); 20528 } 20529 20530 }]; 20531 /* harmony default export */ var pullquote_deprecated = (pullquote_deprecated_deprecated); 20532 20533 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/figure.js 20534 const Figure = 'figure'; 20535 20536 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/blockquote.js 20537 const BlockQuote = 'blockquote'; 20538 20539 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/edit.js 20540 20541 20542 /** 20543 * External dependencies 20544 */ 20545 20546 20547 /** 20548 * WordPress dependencies 20549 */ 20550 20551 20552 20553 20554 20555 /** 20556 * Internal dependencies 20557 */ 20558 20559 20560 20561 /** 20562 * Internal dependencies 20563 */ 20564 20565 20566 20567 function PullQuoteEdit({ 20568 colorUtils, 20569 textColor, 20570 attributes: { 20571 value, 20572 citation 20573 }, 20574 setAttributes, 20575 setTextColor, 20576 setMainColor, 20577 mainColor, 20578 isSelected, 20579 insertBlocksAfter 20580 }) { 20581 const wasTextColorAutomaticallyComputed = Object(external_wp_element_["useRef"])(false); 20582 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 20583 const { 20584 style = {}, 20585 className 20586 } = blockProps; 20587 const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); 20588 const newBlockProps = { ...blockProps, 20589 className: classnames_default()(className, { 20590 'has-background': isSolidColorStyle && mainColor.color, 20591 [mainColor.class]: isSolidColorStyle && mainColor.class 20592 }), 20593 style: isSolidColorStyle ? { ...style, 20594 backgroundColor: mainColor.color 20595 } : { ...style, 20596 borderColor: mainColor.color 20597 } 20598 }; 20599 20600 function pullQuoteMainColorSetter(colorValue) { 20601 const needTextColor = !textColor.color || wasTextColorAutomaticallyComputed.current; 20602 const shouldSetTextColor = isSolidColorStyle && needTextColor; 20603 20604 if (isSolidColorStyle) { 20605 // If we use the solid color style, set the color using the normal mechanism. 20606 setMainColor(colorValue); 20607 } else { 20608 // If we use the default style, set the color as a custom color to force the usage of an inline style. 20609 // Default style uses a border color for which classes are not available. 20610 setAttributes({ 20611 customMainColor: colorValue 20612 }); 20613 } 20614 20615 if (shouldSetTextColor) { 20616 if (colorValue) { 20617 wasTextColorAutomaticallyComputed.current = true; 20618 setTextColor(colorUtils.getMostReadableColor(colorValue)); 20619 } else if (wasTextColorAutomaticallyComputed.current) { 20620 // We have to unset our previously computed text color on unsetting the main color. 20621 wasTextColorAutomaticallyComputed.current = false; 20622 setTextColor(); 20623 } 20624 } 20625 } 20626 20627 function pullQuoteTextColorSetter(colorValue) { 20628 setTextColor(colorValue); 20629 wasTextColorAutomaticallyComputed.current = false; 20630 } 20631 20632 Object(external_wp_element_["useEffect"])(() => { 20633 // If the block includes a named color and we switched from the 20634 // solid color style to the default style. 20635 if (mainColor && !isSolidColorStyle) { 20636 // Remove the named color, and set the color as a custom color. 20637 // This is done because named colors use classes, in the default style we use a border color, 20638 // and themes don't set classes for border colors. 20639 setAttributes({ 20640 mainColor: undefined, 20641 customMainColor: mainColor.color 20642 }); 20643 } 20644 }, [isSolidColorStyle, mainColor]); 20645 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(Figure, newBlockProps, Object(external_wp_element_["createElement"])(BlockQuote, { 20646 style: { 20647 color: textColor.color 20648 }, 20649 className: textColor.color && classnames_default()('has-text-color', { 20650 [textColor.class]: textColor.class 20651 }) 20652 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 20653 identifier: "value", 20654 multiline: true, 20655 value: value, 20656 onChange: nextValue => setAttributes({ 20657 value: nextValue 20658 }), 20659 "aria-label": Object(external_wp_i18n_["__"])('Pullquote text'), 20660 placeholder: // translators: placeholder text used for the quote 20661 Object(external_wp_i18n_["__"])('Add quote'), 20662 textAlign: "center" 20663 }), (!external_wp_blockEditor_["RichText"].isEmpty(citation) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 20664 identifier: "citation", 20665 value: citation, 20666 "aria-label": Object(external_wp_i18n_["__"])('Pullquote citation text'), 20667 placeholder: // translators: placeholder text used for the citation 20668 Object(external_wp_i18n_["__"])('Add citation'), 20669 onChange: nextCitation => setAttributes({ 20670 citation: nextCitation 20671 }), 20672 className: "wp-block-pullquote__citation", 20673 __unstableMobileNoFocusOnMount: true, 20674 textAlign: "center", 20675 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 20676 }))), external_wp_element_["Platform"].OS === 'web' && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PanelColorSettings"], { 20677 title: Object(external_wp_i18n_["__"])('Color'), 20678 colorSettings: [{ 20679 value: mainColor.color, 20680 onChange: pullQuoteMainColorSetter, 20681 label: Object(external_wp_i18n_["__"])('Main color') 20682 }, { 20683 value: textColor.color, 20684 onChange: pullQuoteTextColorSetter, 20685 label: Object(external_wp_i18n_["__"])('Text color') 20686 }] 20687 }, isSolidColorStyle && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ContrastChecker"], { 20688 textColor: textColor.color, 20689 backgroundColor: mainColor.color, 20690 isLargeText: false 20691 })))); 20692 } 20693 20694 /* harmony default export */ var pullquote_edit = (Object(external_wp_blockEditor_["withColors"])({ 20695 mainColor: 'background-color', 20696 textColor: 'color' 20697 })(PullQuoteEdit)); 20698 20699 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/save.js 20700 20701 20702 /** 20703 * External dependencies 20704 */ 20705 20706 20707 /** 20708 * WordPress dependencies 20709 */ 20710 20711 20712 /** 20713 * Internal dependencies 20714 */ 20715 20716 20717 function pullquote_save_save({ 20718 attributes 20719 }) { 20720 const { 20721 mainColor, 20722 customMainColor, 20723 textColor, 20724 customTextColor, 20725 value, 20726 citation, 20727 className 20728 } = attributes; 20729 const isSolidColorStyle = Object(external_lodash_["includes"])(className, SOLID_COLOR_CLASS); 20730 let figureClasses, figureStyles; // Is solid color style 20731 20732 if (isSolidColorStyle) { 20733 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', mainColor); 20734 figureClasses = classnames_default()({ 20735 'has-background': backgroundClass || customMainColor, 20736 [backgroundClass]: backgroundClass 20737 }); 20738 figureStyles = { 20739 backgroundColor: backgroundClass ? undefined : customMainColor 20740 }; // Is normal style and a custom color is being used ( we can set a style directly with its value) 20741 } else if (customMainColor) { 20742 figureStyles = { 20743 borderColor: customMainColor 20744 }; 20745 } 20746 20747 const blockquoteTextColorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 20748 const blockquoteClasses = (textColor || customTextColor) && classnames_default()('has-text-color', { 20749 [blockquoteTextColorClass]: blockquoteTextColorClass 20750 }); 20751 const blockquoteStyles = blockquoteTextColorClass ? undefined : { 20752 color: customTextColor 20753 }; 20754 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save({ 20755 className: figureClasses, 20756 style: figureStyles 20757 }), Object(external_wp_element_["createElement"])("blockquote", { 20758 className: blockquoteClasses, 20759 style: blockquoteStyles 20760 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20761 value: value, 20762 multiline: true 20763 }), !external_wp_blockEditor_["RichText"].isEmpty(citation) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 20764 tagName: "cite", 20765 value: citation 20766 }))); 20767 } 20768 20769 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/transforms.js 20770 /** 20771 * WordPress dependencies 20772 */ 20773 20774 20775 const pullquote_transforms_transforms = { 20776 from: [{ 20777 type: 'block', 20778 isMultiBlock: true, 20779 blocks: ['core/paragraph'], 20780 transform: attributes => { 20781 return Object(external_wp_blocks_["createBlock"])('core/pullquote', { 20782 value: Object(external_wp_richText_["toHTMLString"])({ 20783 value: Object(external_wp_richText_["join"])(attributes.map(({ 20784 content 20785 }) => Object(external_wp_richText_["create"])({ 20786 html: content 20787 })), '\u2028'), 20788 multilineTag: 'p' 20789 }), 20790 anchor: attributes.anchor 20791 }); 20792 } 20793 }, { 20794 type: 'block', 20795 blocks: ['core/heading'], 20796 transform: ({ 20797 content, 20798 anchor 20799 }) => { 20800 return Object(external_wp_blocks_["createBlock"])('core/pullquote', { 20801 value: `<p>${content}</p>`, 20802 anchor 20803 }); 20804 } 20805 }], 20806 to: [{ 20807 type: 'block', 20808 blocks: ['core/paragraph'], 20809 transform: ({ 20810 value, 20811 citation 20812 }) => { 20813 const paragraphs = []; 20814 20815 if (value && value !== '<p></p>') { 20816 paragraphs.push(...Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 20817 html: value, 20818 multilineTag: 'p' 20819 }), '\u2028').map(piece => Object(external_wp_blocks_["createBlock"])('core/paragraph', { 20820 content: Object(external_wp_richText_["toHTMLString"])({ 20821 value: piece 20822 }) 20823 }))); 20824 } 20825 20826 if (citation && citation !== '<p></p>') { 20827 paragraphs.push(Object(external_wp_blocks_["createBlock"])('core/paragraph', { 20828 content: citation 20829 })); 20830 } 20831 20832 if (paragraphs.length === 0) { 20833 return Object(external_wp_blocks_["createBlock"])('core/paragraph', { 20834 content: '' 20835 }); 20836 } 20837 20838 return paragraphs; 20839 } 20840 }, { 20841 type: 'block', 20842 blocks: ['core/heading'], 20843 transform: ({ 20844 value, 20845 citation, 20846 ...attrs 20847 }) => { 20848 // If there is no pullquote content, use the citation as the 20849 // content of the resulting heading. A nonexistent citation 20850 // will result in an empty heading. 20851 if (value === '<p></p>') { 20852 return Object(external_wp_blocks_["createBlock"])('core/heading', { 20853 content: citation 20854 }); 20855 } 20856 20857 const pieces = Object(external_wp_richText_["split"])(Object(external_wp_richText_["create"])({ 20858 html: value, 20859 multilineTag: 'p' 20860 }), '\u2028'); 20861 const headingBlock = Object(external_wp_blocks_["createBlock"])('core/heading', { 20862 content: Object(external_wp_richText_["toHTMLString"])({ 20863 value: pieces[0] 20864 }) 20865 }); 20866 20867 if (!citation && pieces.length === 1) { 20868 return headingBlock; 20869 } 20870 20871 const quotePieces = pieces.slice(1); 20872 const pullquoteBlock = Object(external_wp_blocks_["createBlock"])('core/pullquote', { ...attrs, 20873 citation, 20874 value: Object(external_wp_richText_["toHTMLString"])({ 20875 value: quotePieces.length ? Object(external_wp_richText_["join"])(pieces.slice(1), '\u2028') : Object(external_wp_richText_["create"])(), 20876 multilineTag: 'p' 20877 }) 20878 }); 20879 return [headingBlock, pullquoteBlock]; 20880 } 20881 }] 20882 }; 20883 /* harmony default export */ var pullquote_transforms = (pullquote_transforms_transforms); 20884 20885 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/pullquote/index.js 20886 /** 20887 * WordPress dependencies 20888 */ 20889 20890 20891 /** 20892 * Internal dependencies 20893 */ 20894 20895 20896 20897 const pullquote_metadata = { 20898 apiVersion: 2, 20899 name: "core/pullquote", 20900 title: "Pullquote", 20901 category: "text", 20902 description: "Give special visual emphasis to a quote from your text.", 20903 textdomain: "default", 20904 attributes: { 20905 value: { 20906 type: "string", 20907 source: "html", 20908 selector: "blockquote", 20909 multiline: "p", 20910 __experimentalRole: "content" 20911 }, 20912 citation: { 20913 type: "string", 20914 source: "html", 20915 selector: "cite", 20916 "default": "", 20917 __experimentalRole: "content" 20918 }, 20919 mainColor: { 20920 type: "string" 20921 }, 20922 customMainColor: { 20923 type: "string" 20924 }, 20925 textColor: { 20926 type: "string" 20927 }, 20928 customTextColor: { 20929 type: "string" 20930 } 20931 }, 20932 supports: { 20933 anchor: true, 20934 align: ["left", "right", "wide", "full"] 20935 }, 20936 styles: [{ 20937 name: "default", 20938 label: "Default", 20939 isDefault: true 20940 }, { 20941 name: "solid-color", 20942 label: "Solid color" 20943 }], 20944 editorStyle: "wp-block-pullquote-editor", 20945 style: "wp-block-pullquote" 20946 }; 20947 20948 20949 const { 20950 name: pullquote_name 20951 } = pullquote_metadata; 20952 20953 const pullquote_settings = { 20954 icon: library_pullquote, 20955 example: { 20956 attributes: { 20957 value: '<p>' + // translators: Quote serving as example for the Pullquote block. Attributed to Matt Mullenweg. 20958 Object(external_wp_i18n_["__"])('One of the hardest things to do in technology is disrupt yourself.') + '</p>', 20959 citation: Object(external_wp_i18n_["__"])('Matt Mullenweg') 20960 } 20961 }, 20962 transforms: pullquote_transforms, 20963 edit: pullquote_edit, 20964 save: pullquote_save_save, 20965 deprecated: pullquote_deprecated 20966 }; 20967 20968 // EXTERNAL MODULE: external ["wp","reusableBlocks"] 20969 var external_wp_reusableBlocks_ = __webpack_require__("diJD"); 20970 20971 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/ungroup.js 20972 20973 20974 /** 20975 * WordPress dependencies 20976 */ 20977 20978 const ungroup = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 20979 xmlns: "http://www.w3.org/2000/svg", 20980 viewBox: "0 0 24 24" 20981 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 20982 d: "M18 4h-7c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5h-7c-.3 0-.5-.2-.5-.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7zm-5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h1V9H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-1h-1.5v1z" 20983 })); 20984 /* harmony default export */ var library_ungroup = (ungroup); 20985 20986 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/edit.js 20987 20988 20989 /** 20990 * WordPress dependencies 20991 */ 20992 20993 20994 20995 20996 20997 20998 20999 function ReusableBlockEdit({ 21000 attributes: { 21001 ref 21002 }, 21003 clientId 21004 }) { 21005 const [hasAlreadyRendered, RecursionProvider] = Object(external_wp_blockEditor_["__experimentalUseNoRecursiveRenders"])(ref); 21006 const { 21007 isMissing, 21008 hasResolved 21009 } = Object(external_wp_data_["useSelect"])(select => { 21010 const persistedBlock = select(external_wp_coreData_["store"]).getEntityRecord('postType', 'wp_block', ref); 21011 const hasResolvedBlock = select(external_wp_coreData_["store"]).hasFinishedResolution('getEntityRecord', ['postType', 'wp_block', ref]); 21012 return { 21013 hasResolved: hasResolvedBlock, 21014 isMissing: hasResolvedBlock && !persistedBlock 21015 }; 21016 }, [ref, clientId]); 21017 const { 21018 __experimentalConvertBlockToStatic: convertBlockToStatic 21019 } = Object(external_wp_data_["useDispatch"])(external_wp_reusableBlocks_["store"]); 21020 const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])('postType', 'wp_block', { 21021 id: ref 21022 }); 21023 const [title, setTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', 'wp_block', 'title', ref); 21024 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({}, { 21025 value: blocks, 21026 onInput, 21027 onChange, 21028 renderAppender: blocks !== null && blocks !== void 0 && blocks.length ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender 21029 }); 21030 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 21031 21032 if (hasAlreadyRendered) { 21033 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Block cannot be rendered inside itself.'))); 21034 } 21035 21036 if (isMissing) { 21037 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Block has been deleted or is unavailable.'))); 21038 } 21039 21040 if (!hasResolved) { 21041 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null))); 21042 } 21043 21044 return Object(external_wp_element_["createElement"])(RecursionProvider, null, Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 21045 onClick: () => convertBlockToStatic(clientId), 21046 label: Object(external_wp_i18n_["__"])('Convert to regular blocks'), 21047 icon: library_ungroup, 21048 showTooltip: true 21049 }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 21050 label: Object(external_wp_i18n_["__"])('Name'), 21051 value: title, 21052 onChange: setTitle 21053 }))), Object(external_wp_element_["createElement"])("div", { 21054 className: "block-library-block__reusable-block-container" 21055 }, Object(external_wp_element_["createElement"])("div", innerBlocksProps)))); 21056 } 21057 21058 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/block/index.js 21059 /** 21060 * Internal dependencies 21061 */ 21062 const block_metadata = { 21063 apiVersion: 2, 21064 name: "core/block", 21065 title: "Reusable block", 21066 category: "reusable", 21067 description: "Create and save content to reuse across your site. Update the block, and the changes apply everywhere it\u2019s used.", 21068 textdomain: "default", 21069 attributes: { 21070 ref: { 21071 type: "number" 21072 } 21073 }, 21074 supports: { 21075 customClassName: false, 21076 html: false, 21077 inserter: false 21078 }, 21079 editorStyle: "wp-block-editor" 21080 }; 21081 21082 const { 21083 name: block_name 21084 } = block_metadata; 21085 21086 const block_settings = { 21087 edit: ReusableBlockEdit 21088 }; 21089 21090 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/rss.js 21091 21092 21093 /** 21094 * WordPress dependencies 21095 */ 21096 21097 const rss = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 21098 xmlns: "http://www.w3.org/2000/svg", 21099 viewBox: "0 0 24 24" 21100 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 21101 d: "M5 10.2h-.8v1.5H5c1.9 0 3.8.8 5.1 2.1 1.4 1.4 2.1 3.2 2.1 5.1v.8h1.5V19c0-2.3-.9-4.5-2.6-6.2-1.6-1.6-3.8-2.6-6.1-2.6zm10.4-1.6C12.6 5.8 8.9 4.2 5 4.2h-.8v1.5H5c3.5 0 6.9 1.4 9.4 3.9s3.9 5.8 3.9 9.4v.8h1.5V19c0-3.9-1.6-7.6-4.4-10.4zM4 20h3v-3H4v3z" 21102 })); 21103 /* harmony default export */ var library_rss = (rss); 21104 21105 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/edit.js 21106 21107 21108 /** 21109 * WordPress dependencies 21110 */ 21111 21112 21113 21114 21115 21116 21117 const DEFAULT_MIN_ITEMS = 1; 21118 const DEFAULT_MAX_ITEMS = 10; 21119 function RSSEdit({ 21120 attributes, 21121 setAttributes 21122 }) { 21123 const [isEditing, setIsEditing] = Object(external_wp_element_["useState"])(!attributes.feedURL); 21124 const { 21125 blockLayout, 21126 columns, 21127 displayAuthor, 21128 displayDate, 21129 displayExcerpt, 21130 excerptLength, 21131 feedURL, 21132 itemsToShow 21133 } = attributes; 21134 21135 function toggleAttribute(propName) { 21136 return () => { 21137 const value = attributes[propName]; 21138 setAttributes({ 21139 [propName]: !value 21140 }); 21141 }; 21142 } 21143 21144 function onSubmitURL(event) { 21145 event.preventDefault(); 21146 21147 if (feedURL) { 21148 setIsEditing(false); 21149 } 21150 } 21151 21152 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 21153 21154 if (isEditing) { 21155 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 21156 icon: library_rss, 21157 label: "RSS" 21158 }, Object(external_wp_element_["createElement"])("form", { 21159 onSubmit: onSubmitURL, 21160 className: "wp-block-rss__placeholder-form" 21161 }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 21162 placeholder: Object(external_wp_i18n_["__"])('Enter URL here…'), 21163 value: feedURL, 21164 onChange: value => setAttributes({ 21165 feedURL: value 21166 }), 21167 className: "wp-block-rss__placeholder-input" 21168 }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 21169 isPrimary: true, 21170 type: "submit" 21171 }, Object(external_wp_i18n_["__"])('Use URL'))))); 21172 } 21173 21174 const toolbarControls = [{ 21175 icon: library_edit["a" /* default */], 21176 title: Object(external_wp_i18n_["__"])('Edit RSS URL'), 21177 onClick: () => setIsEditing(true) 21178 }, { 21179 icon: library_list, 21180 title: Object(external_wp_i18n_["__"])('List view'), 21181 onClick: () => setAttributes({ 21182 blockLayout: 'list' 21183 }), 21184 isActive: blockLayout === 'list' 21185 }, { 21186 icon: grid["a" /* default */], 21187 title: Object(external_wp_i18n_["__"])('Grid view'), 21188 onClick: () => setAttributes({ 21189 blockLayout: 'grid' 21190 }), 21191 isActive: blockLayout === 'grid' 21192 }]; 21193 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { 21194 controls: toolbarControls 21195 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 21196 title: Object(external_wp_i18n_["__"])('RSS settings') 21197 }, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 21198 label: Object(external_wp_i18n_["__"])('Number of items'), 21199 value: itemsToShow, 21200 onChange: value => setAttributes({ 21201 itemsToShow: value 21202 }), 21203 min: DEFAULT_MIN_ITEMS, 21204 max: DEFAULT_MAX_ITEMS, 21205 required: true 21206 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 21207 label: Object(external_wp_i18n_["__"])('Display author'), 21208 checked: displayAuthor, 21209 onChange: toggleAttribute('displayAuthor') 21210 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 21211 label: Object(external_wp_i18n_["__"])('Display date'), 21212 checked: displayDate, 21213 onChange: toggleAttribute('displayDate') 21214 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 21215 label: Object(external_wp_i18n_["__"])('Display excerpt'), 21216 checked: displayExcerpt, 21217 onChange: toggleAttribute('displayExcerpt') 21218 }), displayExcerpt && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 21219 label: Object(external_wp_i18n_["__"])('Max number of words in excerpt'), 21220 value: excerptLength, 21221 onChange: value => setAttributes({ 21222 excerptLength: value 21223 }), 21224 min: 10, 21225 max: 100, 21226 required: true 21227 }), blockLayout === 'grid' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 21228 label: Object(external_wp_i18n_["__"])('Columns'), 21229 value: columns, 21230 onChange: value => setAttributes({ 21231 columns: value 21232 }), 21233 min: 2, 21234 max: 6, 21235 required: true 21236 }))), Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 21237 block: "core/rss", 21238 attributes: attributes 21239 })))); 21240 } 21241 21242 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/rss/index.js 21243 /** 21244 * WordPress dependencies 21245 */ 21246 21247 /** 21248 * Internal dependencies 21249 */ 21250 21251 const rss_metadata = { 21252 apiVersion: 2, 21253 name: "core/rss", 21254 title: "RSS", 21255 category: "widgets", 21256 description: "Display entries from any RSS or Atom feed.", 21257 keywords: ["atom", "feed"], 21258 textdomain: "default", 21259 attributes: { 21260 columns: { 21261 type: "number", 21262 "default": 2 21263 }, 21264 blockLayout: { 21265 type: "string", 21266 "default": "list" 21267 }, 21268 feedURL: { 21269 type: "string", 21270 "default": "" 21271 }, 21272 itemsToShow: { 21273 type: "number", 21274 "default": 5 21275 }, 21276 displayExcerpt: { 21277 type: "boolean", 21278 "default": false 21279 }, 21280 displayAuthor: { 21281 type: "boolean", 21282 "default": false 21283 }, 21284 displayDate: { 21285 type: "boolean", 21286 "default": false 21287 }, 21288 excerptLength: { 21289 type: "number", 21290 "default": 55 21291 } 21292 }, 21293 supports: { 21294 align: true, 21295 html: false 21296 }, 21297 editorStyle: "wp-block-rss-editor", 21298 style: "wp-block-rss" 21299 }; 21300 21301 const { 21302 name: rss_name 21303 } = rss_metadata; 21304 21305 const rss_settings = { 21306 icon: library_rss, 21307 example: { 21308 attributes: { 21309 feedURL: 'https://wordpress.org' 21310 } 21311 }, 21312 edit: RSSEdit 21313 }; 21314 21315 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/icons.js 21316 21317 21318 /** 21319 * WordPress dependencies 21320 */ 21321 21322 const buttonOnly = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21323 xmlns: "http://www.w3.org/2000/svg", 21324 viewBox: "0 0 24 24" 21325 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21326 x: "7", 21327 y: "10", 21328 width: "10", 21329 height: "4", 21330 rx: "1", 21331 fill: "currentColor" 21332 })); 21333 const buttonOutside = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21334 xmlns: "http://www.w3.org/2000/svg", 21335 viewBox: "0 0 24 24" 21336 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21337 x: "4.75", 21338 y: "15.25", 21339 width: "6.5", 21340 height: "9.5", 21341 transform: "rotate(-90 4.75 15.25)", 21342 stroke: "currentColor", 21343 strokeWidth: "1.5", 21344 fill: "none" 21345 }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21346 x: "16", 21347 y: "10", 21348 width: "4", 21349 height: "4", 21350 rx: "1", 21351 fill: "currentColor" 21352 })); 21353 const buttonInside = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21354 xmlns: "http://www.w3.org/2000/svg", 21355 viewBox: "0 0 24 24" 21356 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21357 x: "4.75", 21358 y: "15.25", 21359 width: "6.5", 21360 height: "14.5", 21361 transform: "rotate(-90 4.75 15.25)", 21362 stroke: "currentColor", 21363 strokeWidth: "1.5", 21364 fill: "none" 21365 }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21366 x: "14", 21367 y: "10", 21368 width: "4", 21369 height: "4", 21370 rx: "1", 21371 fill: "currentColor" 21372 })); 21373 const noButton = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21374 xmlns: "http://www.w3.org/2000/svg", 21375 viewBox: "0 0 24 24" 21376 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21377 x: "4.75", 21378 y: "15.25", 21379 width: "6.5", 21380 height: "14.5", 21381 transform: "rotate(-90 4.75 15.25)", 21382 stroke: "currentColor", 21383 fill: "none", 21384 strokeWidth: "1.5" 21385 })); 21386 const buttonWithIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21387 xmlns: "http://www.w3.org/2000/svg", 21388 viewBox: "0 0 24 24" 21389 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21390 x: "4.75", 21391 y: "7.75", 21392 width: "14.5", 21393 height: "8.5", 21394 rx: "1.25", 21395 stroke: "currentColor", 21396 fill: "none", 21397 strokeWidth: "1.5" 21398 }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21399 x: "8", 21400 y: "11", 21401 width: "8", 21402 height: "2", 21403 fill: "currentColor" 21404 })); 21405 const toggleLabel = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 21406 xmlns: "http://www.w3.org/2000/svg", 21407 viewBox: "0 0 24 24" 21408 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21409 x: "4.75", 21410 y: "17.25", 21411 width: "5.5", 21412 height: "14.5", 21413 transform: "rotate(-90 4.75 17.25)", 21414 stroke: "currentColor", 21415 fill: "none", 21416 strokeWidth: "1.5" 21417 }), Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 21418 x: "4", 21419 y: "7", 21420 width: "10", 21421 height: "2", 21422 fill: "currentColor" 21423 })); 21424 21425 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/utils.js 21426 /** 21427 * Constants 21428 */ 21429 const PC_WIDTH_DEFAULT = 50; 21430 const PX_WIDTH_DEFAULT = 350; 21431 const MIN_WIDTH = 220; 21432 const MIN_WIDTH_UNIT = 'px'; 21433 /** 21434 * Returns a boolean whether passed unit is percentage 21435 * 21436 * @param {string} unit Block width unit. 21437 * 21438 * @return {boolean} Whether unit is '%'. 21439 */ 21440 21441 function utils_isPercentageUnit(unit) { 21442 return unit === '%'; 21443 } 21444 21445 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/edit.js 21446 21447 21448 /** 21449 * External dependencies 21450 */ 21451 21452 /** 21453 * WordPress dependencies 21454 */ 21455 21456 21457 21458 21459 21460 21461 /** 21462 * Internal dependencies 21463 */ 21464 21465 21466 // Used to calculate border radius adjustment to avoid "fat" corners when 21467 // button is placed inside wrapper. 21468 21469 const DEFAULT_INNER_PADDING = 4; 21470 function SearchEdit({ 21471 className, 21472 attributes, 21473 setAttributes, 21474 toggleSelection, 21475 isSelected 21476 }) { 21477 var _style$border; 21478 21479 const { 21480 label, 21481 showLabel, 21482 placeholder, 21483 width, 21484 widthUnit, 21485 align, 21486 buttonText, 21487 buttonPosition, 21488 buttonUseIcon, 21489 style 21490 } = attributes; 21491 const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius; 21492 const unitControlInstanceId = Object(external_wp_compose_["useInstanceId"])(external_wp_blockEditor_["__experimentalUnitControl"]); 21493 const unitControlInputId = `wp-block-search__width-${unitControlInstanceId}`; 21494 const units = Object(external_wp_components_["__experimentalUseCustomUnits"])({ 21495 availableUnits: ['%', 'px'], 21496 defaultValues: { 21497 '%': PC_WIDTH_DEFAULT, 21498 px: PX_WIDTH_DEFAULT 21499 } 21500 }); 21501 21502 const getBlockClassNames = () => { 21503 return classnames_default()(className, 'button-inside' === buttonPosition ? 'wp-block-search__button-inside' : undefined, 'button-outside' === buttonPosition ? 'wp-block-search__button-outside' : undefined, 'no-button' === buttonPosition ? 'wp-block-search__no-button' : undefined, 'button-only' === buttonPosition ? 'wp-block-search__button-only' : undefined, !buttonUseIcon && 'no-button' !== buttonPosition ? 'wp-block-search__text-button' : undefined, buttonUseIcon && 'no-button' !== buttonPosition ? 'wp-block-search__icon-button' : undefined); 21504 }; 21505 21506 const getButtonPositionIcon = () => { 21507 switch (buttonPosition) { 21508 case 'button-inside': 21509 return buttonInside; 21510 21511 case 'button-outside': 21512 return buttonOutside; 21513 21514 case 'no-button': 21515 return noButton; 21516 21517 case 'button-only': 21518 return buttonOnly; 21519 } 21520 }; 21521 21522 const getResizableSides = () => { 21523 if ('button-only' === buttonPosition) { 21524 return {}; 21525 } 21526 21527 return { 21528 right: align === 'right' ? false : true, 21529 left: align === 'right' ? true : false 21530 }; 21531 }; 21532 21533 const renderTextField = () => { 21534 return Object(external_wp_element_["createElement"])("input", { 21535 className: "wp-block-search__input", 21536 style: { 21537 borderRadius 21538 }, 21539 "aria-label": Object(external_wp_i18n_["__"])('Optional placeholder text') // We hide the placeholder field's placeholder when there is a value. This 21540 // stops screen readers from reading the placeholder field's placeholder 21541 // which is confusing. 21542 , 21543 placeholder: placeholder ? undefined : Object(external_wp_i18n_["__"])('Optional placeholder…'), 21544 value: placeholder, 21545 onChange: event => setAttributes({ 21546 placeholder: event.target.value 21547 }) 21548 }); 21549 }; 21550 21551 const renderButton = () => { 21552 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, buttonUseIcon && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 21553 icon: library_search["a" /* default */], 21554 className: "wp-block-search__button", 21555 style: { 21556 borderRadius 21557 } 21558 }), !buttonUseIcon && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 21559 className: "wp-block-search__button", 21560 style: { 21561 borderRadius 21562 }, 21563 "aria-label": Object(external_wp_i18n_["__"])('Button text'), 21564 placeholder: Object(external_wp_i18n_["__"])('Add button text…'), 21565 withoutInteractiveFormatting: true, 21566 value: buttonText, 21567 onChange: html => setAttributes({ 21568 buttonText: html 21569 }) 21570 })); 21571 }; 21572 21573 const controls = Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 21574 title: Object(external_wp_i18n_["__"])('Toggle search label'), 21575 icon: toggleLabel, 21576 onClick: () => { 21577 setAttributes({ 21578 showLabel: !showLabel 21579 }); 21580 }, 21581 className: showLabel ? 'is-pressed' : undefined 21582 }), Object(external_wp_element_["createElement"])(external_wp_components_["DropdownMenu"], { 21583 icon: getButtonPositionIcon(), 21584 label: Object(external_wp_i18n_["__"])('Change button position') 21585 }, ({ 21586 onClose 21587 }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { 21588 className: "wp-block-search__button-position-menu" 21589 }, Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 21590 icon: noButton, 21591 onClick: () => { 21592 setAttributes({ 21593 buttonPosition: 'no-button' 21594 }); 21595 onClose(); 21596 } 21597 }, Object(external_wp_i18n_["__"])('No Button')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 21598 icon: buttonOutside, 21599 onClick: () => { 21600 setAttributes({ 21601 buttonPosition: 'button-outside' 21602 }); 21603 onClose(); 21604 } 21605 }, Object(external_wp_i18n_["__"])('Button Outside')), Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 21606 icon: buttonInside, 21607 onClick: () => { 21608 setAttributes({ 21609 buttonPosition: 'button-inside' 21610 }); 21611 onClose(); 21612 } 21613 }, Object(external_wp_i18n_["__"])('Button Inside')))), 'no-button' !== buttonPosition && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 21614 title: Object(external_wp_i18n_["__"])('Use button with icon'), 21615 icon: buttonWithIcon, 21616 onClick: () => { 21617 setAttributes({ 21618 buttonUseIcon: !buttonUseIcon 21619 }); 21620 }, 21621 className: buttonUseIcon ? 'is-pressed' : undefined 21622 }))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 21623 title: Object(external_wp_i18n_["__"])('Display Settings') 21624 }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { 21625 label: Object(external_wp_i18n_["__"])('Width'), 21626 id: unitControlInputId 21627 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalUnitControl"], { 21628 id: unitControlInputId, 21629 min: `${MIN_WIDTH}${MIN_WIDTH_UNIT}`, 21630 onChange: newWidth => { 21631 const filteredWidth = widthUnit === '%' && parseInt(newWidth, 10) > 100 ? 100 : newWidth; 21632 setAttributes({ 21633 width: parseInt(filteredWidth, 10) 21634 }); 21635 }, 21636 onUnitChange: newUnit => { 21637 setAttributes({ 21638 width: '%' === newUnit ? PC_WIDTH_DEFAULT : PX_WIDTH_DEFAULT, 21639 widthUnit: newUnit 21640 }); 21641 }, 21642 style: { 21643 maxWidth: 80 21644 }, 21645 value: `${width}${widthUnit}`, 21646 unit: widthUnit, 21647 units: units 21648 }), Object(external_wp_element_["createElement"])(external_wp_components_["ButtonGroup"], { 21649 className: "wp-block-search__components-button-group", 21650 "aria-label": Object(external_wp_i18n_["__"])('Percentage Width') 21651 }, [25, 50, 75, 100].map(widthValue => { 21652 return Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 21653 key: widthValue, 21654 isSmall: true, 21655 isPrimary: `${widthValue}%` === `${width}${widthUnit}`, 21656 onClick: () => setAttributes({ 21657 width: widthValue, 21658 widthUnit: '%' 21659 }) 21660 }, widthValue, "%"); 21661 })))))); 21662 21663 const getWrapperStyles = () => { 21664 var _style$border2; 21665 21666 if ('button-inside' === buttonPosition && style !== null && style !== void 0 && (_style$border2 = style.border) !== null && _style$border2 !== void 0 && _style$border2.radius) { 21667 var _style$border3; 21668 21669 // We have button inside wrapper and a border radius value to apply. 21670 // Add default padding so we don't get "fat" corners. 21671 const outerRadius = parseInt(style === null || style === void 0 ? void 0 : (_style$border3 = style.border) === null || _style$border3 === void 0 ? void 0 : _style$border3.radius, 10) + DEFAULT_INNER_PADDING; 21672 return { 21673 borderRadius: `${outerRadius}px` 21674 }; 21675 } 21676 21677 return undefined; 21678 }; 21679 21680 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 21681 className: getBlockClassNames() 21682 }); 21683 return Object(external_wp_element_["createElement"])("div", blockProps, controls, showLabel && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 21684 className: "wp-block-search__label", 21685 "aria-label": Object(external_wp_i18n_["__"])('Label text'), 21686 placeholder: Object(external_wp_i18n_["__"])('Add label…'), 21687 withoutInteractiveFormatting: true, 21688 value: label, 21689 onChange: html => setAttributes({ 21690 label: html 21691 }) 21692 }), Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 21693 size: { 21694 width: `${width}${widthUnit}` 21695 }, 21696 className: "wp-block-search__inside-wrapper", 21697 style: getWrapperStyles(), 21698 minWidth: MIN_WIDTH, 21699 enable: getResizableSides(), 21700 onResizeStart: (event, direction, elt) => { 21701 setAttributes({ 21702 width: parseInt(elt.offsetWidth, 10), 21703 widthUnit: 'px' 21704 }); 21705 toggleSelection(false); 21706 }, 21707 onResizeStop: (event, direction, elt, delta) => { 21708 setAttributes({ 21709 width: parseInt(width + delta.width, 10) 21710 }); 21711 toggleSelection(true); 21712 }, 21713 showHandle: isSelected 21714 }, ('button-inside' === buttonPosition || 'button-outside' === buttonPosition) && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, renderTextField(), renderButton()), 'button-only' === buttonPosition && renderButton(), 'no-button' === buttonPosition && renderTextField())); 21715 } 21716 21717 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/variations.js 21718 /** 21719 * WordPress dependencies 21720 */ 21721 21722 const search_variations_variations = [{ 21723 name: 'default', 21724 isDefault: true, 21725 attributes: { 21726 buttonText: Object(external_wp_i18n_["__"])('Search'), 21727 label: Object(external_wp_i18n_["__"])('Search') 21728 } 21729 }]; 21730 /* harmony default export */ var search_variations = (search_variations_variations); 21731 21732 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/search/index.js 21733 /** 21734 * WordPress dependencies 21735 */ 21736 21737 /** 21738 * Internal dependencies 21739 */ 21740 21741 const search_metadata = { 21742 apiVersion: 2, 21743 name: "core/search", 21744 title: "Search", 21745 category: "widgets", 21746 description: "Help visitors find your content.", 21747 keywords: ["find"], 21748 textdomain: "default", 21749 attributes: { 21750 label: { 21751 type: "string", 21752 __experimentalRole: "content" 21753 }, 21754 showLabel: { 21755 type: "boolean", 21756 "default": true 21757 }, 21758 placeholder: { 21759 type: "string", 21760 "default": "", 21761 __experimentalRole: "content" 21762 }, 21763 width: { 21764 type: "number" 21765 }, 21766 widthUnit: { 21767 type: "string" 21768 }, 21769 buttonText: { 21770 type: "string", 21771 __experimentalRole: "content" 21772 }, 21773 buttonPosition: { 21774 type: "string", 21775 "default": "button-outside" 21776 }, 21777 buttonUseIcon: { 21778 type: "boolean", 21779 "default": false 21780 } 21781 }, 21782 supports: { 21783 align: ["left", "center", "right"], 21784 __experimentalBorder: { 21785 radius: true, 21786 __experimentalSkipSerialization: true 21787 }, 21788 html: false 21789 }, 21790 editorStyle: "wp-block-search-editor", 21791 style: "wp-block-search" 21792 }; 21793 21794 21795 const { 21796 name: search_name 21797 } = search_metadata; 21798 21799 const search_settings = { 21800 icon: library_search["a" /* default */], 21801 example: {}, 21802 variations: search_variations, 21803 edit: SearchEdit 21804 }; 21805 21806 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/group.js 21807 21808 21809 /** 21810 * WordPress dependencies 21811 */ 21812 21813 const group = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 21814 viewBox: "0 0 24 24", 21815 xmlns: "http://www.w3.org/2000/svg" 21816 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 21817 d: "M18 4h-7c-1.1 0-2 .9-2 2v3H6c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-4.5 14c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h3V13c0 1.1.9 2 2 2h2.5v3zm0-4.5H11c-.3 0-.5-.2-.5-.5v-2.5H13c.3 0 .5.2.5.5v2.5zm5-.5c0 .3-.2.5-.5.5h-3V11c0-1.1-.9-2-2-2h-2.5V6c0-.3.2-.5.5-.5h7c.3 0 .5.2.5.5v7z" 21818 })); 21819 /* harmony default export */ var library_group = (group); 21820 21821 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/deprecated.js 21822 21823 21824 /** 21825 * External dependencies 21826 */ 21827 21828 21829 /** 21830 * WordPress dependencies 21831 */ 21832 21833 21834 21835 const migrateAttributes = attributes => { 21836 if (!attributes.tagName) { 21837 attributes = { ...attributes, 21838 tagName: 'div' 21839 }; 21840 } 21841 21842 if (!attributes.customTextColor && !attributes.customBackgroundColor) { 21843 return attributes; 21844 } 21845 21846 const style = { 21847 color: {} 21848 }; 21849 21850 if (attributes.customTextColor) { 21851 style.color.text = attributes.customTextColor; 21852 } 21853 21854 if (attributes.customBackgroundColor) { 21855 style.color.background = attributes.customBackgroundColor; 21856 } 21857 21858 return { ...Object(external_lodash_["omit"])(attributes, ['customTextColor', 'customBackgroundColor']), 21859 style 21860 }; 21861 }; 21862 21863 const group_deprecated_deprecated = [// Version of the block with the double div. 21864 { 21865 attributes: { 21866 tagName: { 21867 type: 'string', 21868 default: 'div' 21869 }, 21870 templateLock: { 21871 type: 'string' 21872 } 21873 }, 21874 supports: { 21875 align: ['wide', 'full'], 21876 anchor: true, 21877 color: { 21878 gradients: true, 21879 link: true 21880 }, 21881 spacing: { 21882 padding: true 21883 }, 21884 __experimentalBorder: { 21885 radius: true 21886 } 21887 }, 21888 21889 save({ 21890 attributes 21891 }) { 21892 const { 21893 tagName: Tag 21894 } = attributes; 21895 return Object(external_wp_element_["createElement"])(Tag, external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("div", { 21896 className: "wp-block-group__inner-container" 21897 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 21898 } 21899 21900 }, // Version of the block without global styles support 21901 { 21902 attributes: { 21903 backgroundColor: { 21904 type: 'string' 21905 }, 21906 customBackgroundColor: { 21907 type: 'string' 21908 }, 21909 textColor: { 21910 type: 'string' 21911 }, 21912 customTextColor: { 21913 type: 'string' 21914 } 21915 }, 21916 supports: { 21917 align: ['wide', 'full'], 21918 anchor: true, 21919 html: false 21920 }, 21921 migrate: migrateAttributes, 21922 21923 save({ 21924 attributes 21925 }) { 21926 const { 21927 backgroundColor, 21928 customBackgroundColor, 21929 textColor, 21930 customTextColor 21931 } = attributes; 21932 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 21933 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 21934 const className = classnames_default()(backgroundClass, textClass, { 21935 'has-text-color': textColor || customTextColor, 21936 'has-background': backgroundColor || customBackgroundColor 21937 }); 21938 const styles = { 21939 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 21940 color: textClass ? undefined : customTextColor 21941 }; 21942 return Object(external_wp_element_["createElement"])("div", { 21943 className: className, 21944 style: styles 21945 }, Object(external_wp_element_["createElement"])("div", { 21946 className: "wp-block-group__inner-container" 21947 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 21948 } 21949 21950 }, // Version of the group block with a bug that made text color class not applied. 21951 { 21952 attributes: { 21953 backgroundColor: { 21954 type: 'string' 21955 }, 21956 customBackgroundColor: { 21957 type: 'string' 21958 }, 21959 textColor: { 21960 type: 'string' 21961 }, 21962 customTextColor: { 21963 type: 'string' 21964 } 21965 }, 21966 migrate: migrateAttributes, 21967 supports: { 21968 align: ['wide', 'full'], 21969 anchor: true, 21970 html: false 21971 }, 21972 21973 save({ 21974 attributes 21975 }) { 21976 const { 21977 backgroundColor, 21978 customBackgroundColor, 21979 textColor, 21980 customTextColor 21981 } = attributes; 21982 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 21983 const textClass = Object(external_wp_blockEditor_["getColorClassName"])('color', textColor); 21984 const className = classnames_default()(backgroundClass, { 21985 'has-text-color': textColor || customTextColor, 21986 'has-background': backgroundColor || customBackgroundColor 21987 }); 21988 const styles = { 21989 backgroundColor: backgroundClass ? undefined : customBackgroundColor, 21990 color: textClass ? undefined : customTextColor 21991 }; 21992 return Object(external_wp_element_["createElement"])("div", { 21993 className: className, 21994 style: styles 21995 }, Object(external_wp_element_["createElement"])("div", { 21996 className: "wp-block-group__inner-container" 21997 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null))); 21998 } 21999 22000 }, // v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`. 22001 { 22002 attributes: { 22003 backgroundColor: { 22004 type: 'string' 22005 }, 22006 customBackgroundColor: { 22007 type: 'string' 22008 } 22009 }, 22010 supports: { 22011 align: ['wide', 'full'], 22012 anchor: true, 22013 html: false 22014 }, 22015 migrate: migrateAttributes, 22016 22017 save({ 22018 attributes 22019 }) { 22020 const { 22021 backgroundColor, 22022 customBackgroundColor 22023 } = attributes; 22024 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 22025 const className = classnames_default()(backgroundClass, { 22026 'has-background': backgroundColor || customBackgroundColor 22027 }); 22028 const styles = { 22029 backgroundColor: backgroundClass ? undefined : customBackgroundColor 22030 }; 22031 return Object(external_wp_element_["createElement"])("div", { 22032 className: className, 22033 style: styles 22034 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 22035 } 22036 22037 }]; 22038 /* harmony default export */ var group_deprecated = (group_deprecated_deprecated); 22039 22040 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/edit.js 22041 22042 22043 /** 22044 * WordPress dependencies 22045 */ 22046 22047 22048 22049 22050 22051 22052 function GroupEdit({ 22053 attributes, 22054 setAttributes, 22055 clientId 22056 }) { 22057 const { 22058 hasInnerBlocks, 22059 themeSupportsLayout 22060 } = Object(external_wp_data_["useSelect"])(select => { 22061 var _getSettings; 22062 22063 const { 22064 getBlock, 22065 getSettings 22066 } = select(external_wp_blockEditor_["store"]); 22067 const block = getBlock(clientId); 22068 return { 22069 hasInnerBlocks: !!(block && block.innerBlocks.length), 22070 themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout 22071 }; 22072 }, [clientId]); 22073 const defaultLayout = Object(external_wp_blockEditor_["useSetting"])('layout') || {}; 22074 const { 22075 tagName: TagName = 'div', 22076 templateLock, 22077 layout = {} 22078 } = attributes; 22079 const usedLayout = !!layout && layout.inherit ? defaultLayout : layout; 22080 const { 22081 contentSize, 22082 wideSize 22083 } = usedLayout; 22084 22085 const _layout = Object(external_wp_element_["useMemo"])(() => { 22086 if (themeSupportsLayout) { 22087 const alignments = contentSize || wideSize ? ['wide', 'full', 'left', 'center', 'right'] : ['left', 'center', 'right']; 22088 return { 22089 type: 'default', 22090 // Find a way to inject this in the support flag code (hooks). 22091 alignments 22092 }; 22093 } 22094 22095 return undefined; 22096 }, [themeSupportsLayout, contentSize, wideSize]); 22097 22098 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 22099 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(themeSupportsLayout ? blockProps : { 22100 className: 'wp-block-group__inner-container' 22101 }, { 22102 templateLock, 22103 renderAppender: hasInnerBlocks ? undefined : external_wp_blockEditor_["InnerBlocks"].ButtonBlockAppender, 22104 __experimentalLayout: _layout 22105 }); 22106 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 22107 label: Object(external_wp_i18n_["__"])('HTML element'), 22108 options: [{ 22109 label: Object(external_wp_i18n_["__"])('Default (<div>)'), 22110 value: 'div' 22111 }, { 22112 label: '<header>', 22113 value: 'header' 22114 }, { 22115 label: '<main>', 22116 value: 'main' 22117 }, { 22118 label: '<section>', 22119 value: 'section' 22120 }, { 22121 label: '<article>', 22122 value: 'article' 22123 }, { 22124 label: '<aside>', 22125 value: 'aside' 22126 }, { 22127 label: '<footer>', 22128 value: 'footer' 22129 }], 22130 value: TagName, 22131 onChange: value => setAttributes({ 22132 tagName: value 22133 }) 22134 })), themeSupportsLayout && Object(external_wp_element_["createElement"])(TagName, innerBlocksProps), !themeSupportsLayout && Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_element_["createElement"])("div", innerBlocksProps))); 22135 } 22136 22137 /* harmony default export */ var group_edit = (GroupEdit); 22138 22139 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/save.js 22140 22141 22142 /** 22143 * WordPress dependencies 22144 */ 22145 22146 function group_save_save({ 22147 attributes 22148 }) { 22149 const { 22150 tagName: Tag 22151 } = attributes; 22152 return Object(external_wp_element_["createElement"])(Tag, external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 22153 } 22154 22155 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/group/index.js 22156 /** 22157 * WordPress dependencies 22158 */ 22159 22160 22161 22162 /** 22163 * Internal dependencies 22164 */ 22165 22166 22167 22168 const group_metadata = { 22169 apiVersion: 2, 22170 name: "core/group", 22171 title: "Group", 22172 category: "design", 22173 description: "Combine blocks into a group.", 22174 keywords: ["container", "wrapper", "row", "section"], 22175 textdomain: "default", 22176 attributes: { 22177 tagName: { 22178 type: "string", 22179 "default": "div" 22180 }, 22181 templateLock: { 22182 "enum": ["all", "insert", false] 22183 } 22184 }, 22185 supports: { 22186 align: ["wide", "full"], 22187 anchor: true, 22188 html: false, 22189 color: { 22190 gradients: true, 22191 link: true 22192 }, 22193 spacing: { 22194 padding: true 22195 }, 22196 __experimentalBorder: { 22197 color: true, 22198 radius: true, 22199 style: true, 22200 width: true 22201 }, 22202 __experimentalLayout: true 22203 }, 22204 editorStyle: "wp-block-group-editor", 22205 style: "wp-block-group" 22206 }; 22207 22208 const { 22209 name: group_name 22210 } = group_metadata; 22211 22212 const group_settings = { 22213 icon: library_group, 22214 example: { 22215 attributes: { 22216 style: { 22217 color: { 22218 text: '#000000', 22219 background: '#ffffff' 22220 } 22221 } 22222 }, 22223 innerBlocks: [{ 22224 name: 'core/paragraph', 22225 attributes: { 22226 customTextColor: '#cf2e2e', 22227 fontSize: 'large', 22228 content: Object(external_wp_i18n_["__"])('One.') 22229 } 22230 }, { 22231 name: 'core/paragraph', 22232 attributes: { 22233 customTextColor: '#ff6900', 22234 fontSize: 'large', 22235 content: Object(external_wp_i18n_["__"])('Two.') 22236 } 22237 }, { 22238 name: 'core/paragraph', 22239 attributes: { 22240 customTextColor: '#fcb900', 22241 fontSize: 'large', 22242 content: Object(external_wp_i18n_["__"])('Three.') 22243 } 22244 }, { 22245 name: 'core/paragraph', 22246 attributes: { 22247 customTextColor: '#00d084', 22248 fontSize: 'large', 22249 content: Object(external_wp_i18n_["__"])('Four.') 22250 } 22251 }, { 22252 name: 'core/paragraph', 22253 attributes: { 22254 customTextColor: '#0693e3', 22255 fontSize: 'large', 22256 content: Object(external_wp_i18n_["__"])('Five.') 22257 } 22258 }, { 22259 name: 'core/paragraph', 22260 attributes: { 22261 customTextColor: '#9b51e0', 22262 fontSize: 'large', 22263 content: Object(external_wp_i18n_["__"])('Six.') 22264 } 22265 }] 22266 }, 22267 transforms: { 22268 from: [{ 22269 type: 'block', 22270 isMultiBlock: true, 22271 blocks: ['*'], 22272 22273 __experimentalConvert(blocks) { 22274 // Avoid transforming a single `core/group` Block 22275 if (blocks.length === 1 && blocks[0].name === 'core/group') { 22276 return; 22277 } 22278 22279 const alignments = ['wide', 'full']; // Determine the widest setting of all the blocks to be grouped 22280 22281 const widestAlignment = blocks.reduce((accumulator, block) => { 22282 const { 22283 align 22284 } = block.attributes; 22285 return alignments.indexOf(align) > alignments.indexOf(accumulator) ? align : accumulator; 22286 }, undefined); // Clone the Blocks to be Grouped 22287 // Failing to create new block references causes the original blocks 22288 // to be replaced in the switchToBlockType call thereby meaning they 22289 // are removed both from their original location and within the 22290 // new group block. 22291 22292 const groupInnerBlocks = blocks.map(block => { 22293 return Object(external_wp_blocks_["createBlock"])(block.name, block.attributes, block.innerBlocks); 22294 }); 22295 return Object(external_wp_blocks_["createBlock"])('core/group', { 22296 align: widestAlignment 22297 }, groupInnerBlocks); 22298 } 22299 22300 }] 22301 }, 22302 edit: group_edit, 22303 save: group_save_save, 22304 deprecated: group_deprecated 22305 }; 22306 22307 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/separator.js 22308 22309 22310 /** 22311 * WordPress dependencies 22312 */ 22313 22314 const separator = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 22315 viewBox: "0 0 24 24", 22316 xmlns: "http://www.w3.org/2000/svg" 22317 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 22318 d: "M20.2 7v4H3.8V7H2.2v9h1.6v-3.5h16.4V16h1.6V7z" 22319 })); 22320 /* harmony default export */ var library_separator = (separator); 22321 22322 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/separator-settings.js 22323 22324 22325 /** 22326 * WordPress dependencies 22327 */ 22328 22329 22330 22331 const SeparatorSettings = ({ 22332 color, 22333 setColor 22334 }) => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PanelColorSettings"], { 22335 title: Object(external_wp_i18n_["__"])('Color'), 22336 colorSettings: [{ 22337 value: color.color, 22338 onChange: setColor, 22339 label: Object(external_wp_i18n_["__"])('Color') 22340 }] 22341 })); 22342 22343 /* harmony default export */ var separator_settings = (SeparatorSettings); 22344 22345 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/edit.js 22346 22347 22348 /** 22349 * External dependencies 22350 */ 22351 22352 /** 22353 * WordPress dependencies 22354 */ 22355 22356 22357 22358 /** 22359 * Internal dependencies 22360 */ 22361 22362 22363 22364 function SeparatorEdit({ 22365 color, 22366 setColor, 22367 className 22368 }) { 22369 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["HorizontalRule"], Object(external_wp_blockEditor_["useBlockProps"])({ 22370 className: classnames_default()(className, { 22371 'has-background': color.color, 22372 [color.class]: color.class 22373 }), 22374 style: { 22375 backgroundColor: color.color, 22376 color: color.color 22377 } 22378 })), Object(external_wp_element_["createElement"])(separator_settings, { 22379 color: color, 22380 setColor: setColor 22381 })); 22382 } 22383 22384 /* harmony default export */ var separator_edit = (Object(external_wp_blockEditor_["withColors"])('color', { 22385 textColor: 'color' 22386 })(SeparatorEdit)); 22387 22388 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/save.js 22389 22390 22391 /** 22392 * External dependencies 22393 */ 22394 22395 /** 22396 * WordPress dependencies 22397 */ 22398 22399 22400 function separatorSave({ 22401 attributes 22402 }) { 22403 const { 22404 color, 22405 customColor 22406 } = attributes; // the hr support changing color using border-color, since border-color 22407 // is not yet supported in the color palette, we use background-color 22408 22409 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', color); // the dots styles uses text for the dots, to change those dots color is 22410 // using color, not backgroundColor 22411 22412 const colorClass = Object(external_wp_blockEditor_["getColorClassName"])('color', color); 22413 const className = classnames_default()({ 22414 'has-text-color has-background': color || customColor, 22415 [backgroundClass]: backgroundClass, 22416 [colorClass]: colorClass 22417 }); 22418 const style = { 22419 backgroundColor: backgroundClass ? undefined : customColor, 22420 color: colorClass ? undefined : customColor 22421 }; 22422 return Object(external_wp_element_["createElement"])("hr", external_wp_blockEditor_["useBlockProps"].save({ 22423 className, 22424 style 22425 })); 22426 } 22427 22428 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/transforms.js 22429 /** 22430 * WordPress dependencies 22431 */ 22432 22433 const separator_transforms_transforms = { 22434 from: [{ 22435 type: 'enter', 22436 regExp: /^-{3,}$/, 22437 transform: () => Object(external_wp_blocks_["createBlock"])('core/separator') 22438 }, { 22439 type: 'raw', 22440 selector: 'hr', 22441 schema: { 22442 hr: {} 22443 } 22444 }] 22445 }; 22446 /* harmony default export */ var separator_transforms = (separator_transforms_transforms); 22447 22448 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/separator/index.js 22449 /** 22450 * WordPress dependencies 22451 */ 22452 22453 /** 22454 * Internal dependencies 22455 */ 22456 22457 22458 const separator_metadata = { 22459 apiVersion: 2, 22460 name: "core/separator", 22461 title: "Separator", 22462 category: "design", 22463 description: "Create a break between ideas or sections with a horizontal separator.", 22464 keywords: ["horizontal-line", "hr", "divider"], 22465 textdomain: "default", 22466 attributes: { 22467 color: { 22468 type: "string" 22469 }, 22470 customColor: { 22471 type: "string" 22472 } 22473 }, 22474 supports: { 22475 anchor: true, 22476 align: ["center", "wide", "full"] 22477 }, 22478 styles: [{ 22479 name: "default", 22480 label: "Default", 22481 isDefault: true 22482 }, { 22483 name: "wide", 22484 label: "Wide Line" 22485 }, { 22486 name: "dots", 22487 label: "Dots" 22488 }], 22489 editorStyle: "wp-block-separator-editor", 22490 style: "wp-block-separator" 22491 }; 22492 22493 22494 const { 22495 name: separator_name 22496 } = separator_metadata; 22497 22498 const build_module_separator_settings = { 22499 icon: library_separator, 22500 example: { 22501 attributes: { 22502 customColor: '#065174', 22503 className: 'is-style-wide' 22504 } 22505 }, 22506 transforms: separator_transforms, 22507 edit: separator_edit, 22508 save: separatorSave 22509 }; 22510 22511 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/shortcode.js 22512 22513 22514 /** 22515 * WordPress dependencies 22516 */ 22517 22518 const shortcode = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 22519 viewBox: "0 0 24 24", 22520 xmlns: "http://www.w3.org/2000/svg" 22521 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 22522 d: "M16 4.2v1.5h2.5v12.5H16v1.5h4V4.2h-4zM4.2 19.8h4v-1.5H5.8V5.8h2.5V4.2h-4l-.1 15.6zm5.1-3.1l1.4.6 4-10-1.4-.6-4 10z" 22523 })); 22524 /* harmony default export */ var library_shortcode = (shortcode); 22525 22526 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/icon/index.js 22527 var build_module_icon = __webpack_require__("iClF"); 22528 22529 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/edit.js 22530 22531 22532 /** 22533 * WordPress dependencies 22534 */ 22535 22536 22537 22538 22539 function ShortcodeEdit({ 22540 attributes, 22541 setAttributes 22542 }) { 22543 const instanceId = Object(external_wp_compose_["useInstanceId"])(ShortcodeEdit); 22544 const inputId = `blocks-shortcode-input-${instanceId}`; 22545 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ 22546 className: 'components-placeholder' 22547 }), Object(external_wp_element_["createElement"])("label", { 22548 htmlFor: inputId, 22549 className: "components-placeholder__label" 22550 }, Object(external_wp_element_["createElement"])(build_module_icon["a" /* default */], { 22551 icon: library_shortcode 22552 }), Object(external_wp_i18n_["__"])('Shortcode')), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], { 22553 className: "blocks-shortcode__textarea", 22554 id: inputId, 22555 value: attributes.text, 22556 "aria-label": Object(external_wp_i18n_["__"])('Shortcode text'), 22557 placeholder: Object(external_wp_i18n_["__"])('Write shortcode here…'), 22558 onChange: text => setAttributes({ 22559 text 22560 }) 22561 })); 22562 } 22563 22564 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/save.js 22565 22566 22567 /** 22568 * WordPress dependencies 22569 */ 22570 22571 function shortcode_save_save({ 22572 attributes 22573 }) { 22574 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, attributes.text); 22575 } 22576 22577 // EXTERNAL MODULE: external ["wp","autop"] 22578 var external_wp_autop_ = __webpack_require__("UuzZ"); 22579 22580 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/transforms.js 22581 /** 22582 * WordPress dependencies 22583 */ 22584 22585 const shortcode_transforms_transforms = { 22586 from: [{ 22587 type: 'shortcode', 22588 // Per "Shortcode names should be all lowercase and use all 22589 // letters, but numbers and underscores should work fine too. 22590 // Be wary of using hyphens (dashes), you'll be better off not 22591 // using them." in https://codex.wordpress.org/Shortcode_API 22592 // Require that the first character be a letter. This notably 22593 // prevents footnote markings ([1]) from being caught as 22594 // shortcodes. 22595 tag: '[a-z][a-z0-9_-]*', 22596 attributes: { 22597 text: { 22598 type: 'string', 22599 shortcode: (attrs, { 22600 content 22601 }) => { 22602 return Object(external_wp_autop_["removep"])(Object(external_wp_autop_["autop"])(content)); 22603 } 22604 } 22605 }, 22606 priority: 20 22607 }] 22608 }; 22609 /* harmony default export */ var shortcode_transforms = (shortcode_transforms_transforms); 22610 22611 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/shortcode/index.js 22612 /** 22613 * WordPress dependencies 22614 */ 22615 22616 /** 22617 * Internal dependencies 22618 */ 22619 22620 22621 22622 22623 const shortcode_metadata = { 22624 apiVersion: 2, 22625 name: "core/shortcode", 22626 title: "Shortcode", 22627 category: "widgets", 22628 description: "Insert additional custom elements with a WordPress shortcode.", 22629 textdomain: "default", 22630 attributes: { 22631 text: { 22632 type: "string", 22633 source: "html" 22634 } 22635 }, 22636 supports: { 22637 className: false, 22638 customClassName: false, 22639 html: false 22640 }, 22641 editorStyle: "wp-block-shortcode-editor" 22642 }; 22643 const { 22644 name: shortcode_name 22645 } = shortcode_metadata; 22646 22647 const shortcode_settings = { 22648 icon: library_shortcode, 22649 transforms: shortcode_transforms, 22650 edit: ShortcodeEdit, 22651 save: shortcode_save_save 22652 }; 22653 22654 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/resize-corner-n-e.js 22655 22656 22657 /** 22658 * WordPress dependencies 22659 */ 22660 22661 const resizeCornerNE = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 22662 viewBox: "0 0 24 24", 22663 xmlns: "http://www.w3.org/2000/svg" 22664 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 22665 d: "M12.5 4.2v1.6h4.7L5.8 17.2V12H4.2v7.8H12v-1.6H6.8L18.2 6.8v4.7h1.6V4.2z" 22666 })); 22667 /* harmony default export */ var resize_corner_n_e = (resizeCornerNE); 22668 22669 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/edit.js 22670 22671 22672 /** 22673 * External dependencies 22674 */ 22675 22676 /** 22677 * WordPress dependencies 22678 */ 22679 22680 22681 22682 22683 22684 22685 22686 22687 const MIN_SPACER_HEIGHT = 1; 22688 const MAX_SPACER_HEIGHT = 500; 22689 const MIN_SPACER_WIDTH = 1; 22690 const MAX_SPACER_WIDTH = 500; 22691 22692 const SpacerEdit = ({ 22693 attributes, 22694 isSelected, 22695 setAttributes, 22696 onResizeStart, 22697 onResizeStop, 22698 context 22699 }) => { 22700 const { 22701 orientation 22702 } = context; 22703 const [isResizing, setIsResizing] = Object(external_wp_element_["useState"])(false); 22704 const { 22705 height, 22706 width 22707 } = attributes; 22708 22709 const updateHeight = value => { 22710 setAttributes({ 22711 height: value 22712 }); 22713 }; 22714 22715 const updateWidth = value => { 22716 setAttributes({ 22717 width: value 22718 }); 22719 }; 22720 22721 const handleOnResizeStart = (...args) => { 22722 onResizeStart(...args); 22723 setIsResizing(true); 22724 }; 22725 22726 const handleOnVerticalResizeStop = (event, direction, elt, delta) => { 22727 onResizeStop(); 22728 const spacerHeight = Math.min(parseInt(height + delta.height, 10), MAX_SPACER_HEIGHT); 22729 updateHeight(spacerHeight); 22730 setIsResizing(false); 22731 }; 22732 22733 const handleOnHorizontalResizeStop = (event, direction, elt, delta) => { 22734 onResizeStop(); 22735 const spacerWidth = Math.min(parseInt(width + delta.width, 10), MAX_SPACER_WIDTH); 22736 updateWidth(spacerWidth); 22737 setIsResizing(false); 22738 }; 22739 22740 const resizableBoxWithOrientation = blockOrientation => { 22741 if (blockOrientation === 'horizontal') { 22742 return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 22743 className: classnames_default()('block-library-spacer__resize-container', 'resize-horizontal', { 22744 'is-selected': isSelected 22745 }), 22746 size: { 22747 width, 22748 height: 24 22749 }, 22750 minWidth: MIN_SPACER_WIDTH, 22751 enable: { 22752 top: false, 22753 right: true, 22754 bottom: false, 22755 left: false, 22756 topRight: false, 22757 bottomRight: false, 22758 bottomLeft: false, 22759 topLeft: false 22760 }, 22761 onResizeStart: handleOnResizeStart, 22762 onResizeStop: handleOnHorizontalResizeStop, 22763 showHandle: isSelected, 22764 __experimentalShowTooltip: true, 22765 __experimentalTooltipProps: { 22766 axis: 'x', 22767 position: 'corner', 22768 isVisible: isResizing 22769 } 22770 }); 22771 } 22772 22773 return Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 22774 className: classnames_default()('block-library-spacer__resize-container', { 22775 'is-selected': isSelected 22776 }), 22777 size: { 22778 height 22779 }, 22780 minHeight: MIN_SPACER_HEIGHT, 22781 enable: { 22782 top: false, 22783 right: false, 22784 bottom: true, 22785 left: false, 22786 topRight: false, 22787 bottomRight: false, 22788 bottomLeft: false, 22789 topLeft: false 22790 }, 22791 onResizeStart: handleOnResizeStart, 22792 onResizeStop: handleOnVerticalResizeStop, 22793 showHandle: isSelected, 22794 __experimentalShowTooltip: true, 22795 __experimentalTooltipProps: { 22796 axis: 'y', 22797 position: 'bottom', 22798 isVisible: isResizing 22799 } 22800 }); 22801 }; 22802 22803 Object(external_wp_element_["useEffect"])(() => { 22804 if (orientation === 'horizontal' && !width) { 22805 updateWidth(72); 22806 updateHeight(0); 22807 } 22808 }, []); 22809 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_primitives_["View"], Object(external_wp_blockEditor_["useBlockProps"])(), resizableBoxWithOrientation(orientation)), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 22810 title: Object(external_wp_i18n_["__"])('Spacer settings') 22811 }, orientation === 'horizontal' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 22812 label: Object(external_wp_i18n_["__"])('Width in pixels'), 22813 min: MIN_SPACER_WIDTH, 22814 max: Math.max(MAX_SPACER_WIDTH, width), 22815 value: width, 22816 onChange: updateWidth 22817 }), orientation !== 'horizontal' && Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 22818 label: Object(external_wp_i18n_["__"])('Height in pixels'), 22819 min: MIN_SPACER_HEIGHT, 22820 max: Math.max(MAX_SPACER_HEIGHT, height), 22821 value: height, 22822 onChange: updateHeight 22823 })))); 22824 }; 22825 22826 /* harmony default export */ var spacer_edit = (Object(external_wp_compose_["compose"])([Object(external_wp_data_["withDispatch"])(dispatch => { 22827 const { 22828 toggleSelection 22829 } = dispatch(external_wp_blockEditor_["store"]); 22830 return { 22831 onResizeStart: () => toggleSelection(false), 22832 onResizeStop: () => toggleSelection(true) 22833 }; 22834 }), external_wp_compose_["withInstanceId"]])(SpacerEdit)); 22835 22836 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/save.js 22837 22838 22839 /** 22840 * WordPress dependencies 22841 */ 22842 22843 function spacer_save_save({ 22844 attributes 22845 }) { 22846 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 22847 style: { 22848 height: attributes.height, 22849 width: attributes.width 22850 }, 22851 'aria-hidden': true 22852 })); 22853 } 22854 22855 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/spacer/index.js 22856 /** 22857 * WordPress dependencies 22858 */ 22859 22860 /** 22861 * Internal dependencies 22862 */ 22863 22864 22865 const spacer_metadata = { 22866 apiVersion: 2, 22867 name: "core/spacer", 22868 title: "Spacer", 22869 category: "design", 22870 description: "Add white space between blocks and customize its height.", 22871 textdomain: "default", 22872 attributes: { 22873 height: { 22874 type: "number", 22875 "default": 100 22876 }, 22877 width: { 22878 type: "number" 22879 } 22880 }, 22881 usesContext: ["orientation"], 22882 supports: { 22883 anchor: true 22884 }, 22885 editorStyle: "wp-block-spacer-editor", 22886 style: "wp-block-spacer" 22887 }; 22888 22889 const { 22890 name: spacer_name 22891 } = spacer_metadata; 22892 22893 const spacer_settings = { 22894 icon: resize_corner_n_e, 22895 edit: spacer_edit, 22896 save: spacer_save_save 22897 }; 22898 22899 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/block-table.js 22900 22901 22902 /** 22903 * WordPress dependencies 22904 */ 22905 22906 const blockTable = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 22907 viewBox: "0 0 24 24", 22908 xmlns: "http://www.w3.org/2000/svg" 22909 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 22910 d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM5 4.5h14c.3 0 .5.2.5.5v3.5h-15V5c0-.3.2-.5.5-.5zm8 5.5h6.5v3.5H13V10zm-1.5 3.5h-7V10h7v3.5zm-7 5.5v-4h7v4.5H5c-.3 0-.5-.2-.5-.5zm14.5.5h-6V15h6.5v4c0 .3-.2.5-.5.5z" 22911 })); 22912 /* harmony default export */ var block_table = (blockTable); 22913 22914 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/deprecated.js 22915 22916 22917 /** 22918 * External dependencies 22919 */ 22920 22921 /** 22922 * WordPress dependencies 22923 */ 22924 22925 22926 const deprecated_supports = { 22927 align: true 22928 }; // As the previous arbitrary colors won't match theme color palettes, the hex 22929 // value will be mapped to the style.color.background attribute as if it was 22930 // a custom color selection. 22931 22932 const oldColors = { 22933 'subtle-light-gray': '#f3f4f5', 22934 'subtle-pale-green': '#e9fbe5', 22935 'subtle-pale-blue': '#e7f5fe', 22936 'subtle-pale-pink': '#fcf0ef' 22937 }; 22938 const table_deprecated_deprecated = [// Deprecation migrating table block to use colors block support feature. 22939 { 22940 attributes: { 22941 hasFixedLayout: { 22942 type: 'boolean', 22943 default: false 22944 }, 22945 backgroundColor: { 22946 type: 'string' 22947 }, 22948 caption: { 22949 type: 'string', 22950 source: 'html', 22951 selector: 'figcaption', 22952 default: '' 22953 }, 22954 head: { 22955 type: 'array', 22956 default: [], 22957 source: 'query', 22958 selector: 'thead tr', 22959 query: { 22960 cells: { 22961 type: 'array', 22962 default: [], 22963 source: 'query', 22964 selector: 'td,th', 22965 query: { 22966 content: { 22967 type: 'string', 22968 source: 'html' 22969 }, 22970 tag: { 22971 type: 'string', 22972 default: 'td', 22973 source: 'tag' 22974 }, 22975 scope: { 22976 type: 'string', 22977 source: 'attribute', 22978 attribute: 'scope' 22979 }, 22980 align: { 22981 type: 'string', 22982 source: 'attribute', 22983 attribute: 'data-align' 22984 } 22985 } 22986 } 22987 } 22988 }, 22989 body: { 22990 type: 'array', 22991 default: [], 22992 source: 'query', 22993 selector: 'tbody tr', 22994 query: { 22995 cells: { 22996 type: 'array', 22997 default: [], 22998 source: 'query', 22999 selector: 'td,th', 23000 query: { 23001 content: { 23002 type: 'string', 23003 source: 'html' 23004 }, 23005 tag: { 23006 type: 'string', 23007 default: 'td', 23008 source: 'tag' 23009 }, 23010 scope: { 23011 type: 'string', 23012 source: 'attribute', 23013 attribute: 'scope' 23014 }, 23015 align: { 23016 type: 'string', 23017 source: 'attribute', 23018 attribute: 'data-align' 23019 } 23020 } 23021 } 23022 } 23023 }, 23024 foot: { 23025 type: 'array', 23026 default: [], 23027 source: 'query', 23028 selector: 'tfoot tr', 23029 query: { 23030 cells: { 23031 type: 'array', 23032 default: [], 23033 source: 'query', 23034 selector: 'td,th', 23035 query: { 23036 content: { 23037 type: 'string', 23038 source: 'html' 23039 }, 23040 tag: { 23041 type: 'string', 23042 default: 'td', 23043 source: 'tag' 23044 }, 23045 scope: { 23046 type: 'string', 23047 source: 'attribute', 23048 attribute: 'scope' 23049 }, 23050 align: { 23051 type: 'string', 23052 source: 'attribute', 23053 attribute: 'data-align' 23054 } 23055 } 23056 } 23057 } 23058 } 23059 }, 23060 supports: { 23061 anchor: true, 23062 align: true, 23063 __experimentalSelector: '.wp-block-table > table' 23064 }, 23065 save: ({ 23066 attributes 23067 }) => { 23068 const { 23069 hasFixedLayout, 23070 head, 23071 body, 23072 foot, 23073 backgroundColor, 23074 caption 23075 } = attributes; 23076 const isEmpty = !head.length && !body.length && !foot.length; 23077 23078 if (isEmpty) { 23079 return null; 23080 } 23081 23082 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 23083 const classes = classnames_default()(backgroundClass, { 23084 'has-fixed-layout': hasFixedLayout, 23085 'has-background': !!backgroundClass 23086 }); 23087 const hasCaption = !external_wp_blockEditor_["RichText"].isEmpty(caption); 23088 23089 const Section = ({ 23090 type, 23091 rows 23092 }) => { 23093 if (!rows.length) { 23094 return null; 23095 } 23096 23097 const Tag = `t${type}`; 23098 return Object(external_wp_element_["createElement"])(Tag, null, rows.map(({ 23099 cells 23100 }, rowIndex) => Object(external_wp_element_["createElement"])("tr", { 23101 key: rowIndex 23102 }, cells.map(({ 23103 content, 23104 tag, 23105 scope, 23106 align 23107 }, cellIndex) => { 23108 const cellClasses = classnames_default()({ 23109 [`has-text-align-${align}`]: align 23110 }); 23111 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 23112 className: cellClasses ? cellClasses : undefined, 23113 "data-align": align, 23114 tagName: tag, 23115 value: content, 23116 key: cellIndex, 23117 scope: tag === 'th' ? scope : undefined 23118 }); 23119 })))); 23120 }; 23121 23122 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("table", { 23123 className: classes === '' ? undefined : classes 23124 }, Object(external_wp_element_["createElement"])(Section, { 23125 type: "head", 23126 rows: head 23127 }), Object(external_wp_element_["createElement"])(Section, { 23128 type: "body", 23129 rows: body 23130 }), Object(external_wp_element_["createElement"])(Section, { 23131 type: "foot", 23132 rows: foot 23133 })), hasCaption && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 23134 tagName: "figcaption", 23135 value: caption 23136 })); 23137 }, 23138 isEligible: attributes => { 23139 return attributes.backgroundColor && !attributes.style; 23140 }, 23141 // This version is the first to introduce the style attribute to the 23142 // table block. As a result, we'll explicitly override that. 23143 migrate: attributes => { 23144 return { ...attributes, 23145 backgroundColor: undefined, 23146 style: { 23147 color: { 23148 background: oldColors[attributes.backgroundColor] 23149 } 23150 } 23151 }; 23152 } 23153 }, { 23154 attributes: { 23155 hasFixedLayout: { 23156 type: 'boolean', 23157 default: false 23158 }, 23159 backgroundColor: { 23160 type: 'string' 23161 }, 23162 head: { 23163 type: 'array', 23164 default: [], 23165 source: 'query', 23166 selector: 'thead tr', 23167 query: { 23168 cells: { 23169 type: 'array', 23170 default: [], 23171 source: 'query', 23172 selector: 'td,th', 23173 query: { 23174 content: { 23175 type: 'string', 23176 source: 'html' 23177 }, 23178 tag: { 23179 type: 'string', 23180 default: 'td', 23181 source: 'tag' 23182 }, 23183 scope: { 23184 type: 'string', 23185 source: 'attribute', 23186 attribute: 'scope' 23187 } 23188 } 23189 } 23190 } 23191 }, 23192 body: { 23193 type: 'array', 23194 default: [], 23195 source: 'query', 23196 selector: 'tbody tr', 23197 query: { 23198 cells: { 23199 type: 'array', 23200 default: [], 23201 source: 'query', 23202 selector: 'td,th', 23203 query: { 23204 content: { 23205 type: 'string', 23206 source: 'html' 23207 }, 23208 tag: { 23209 type: 'string', 23210 default: 'td', 23211 source: 'tag' 23212 }, 23213 scope: { 23214 type: 'string', 23215 source: 'attribute', 23216 attribute: 'scope' 23217 } 23218 } 23219 } 23220 } 23221 }, 23222 foot: { 23223 type: 'array', 23224 default: [], 23225 source: 'query', 23226 selector: 'tfoot tr', 23227 query: { 23228 cells: { 23229 type: 'array', 23230 default: [], 23231 source: 'query', 23232 selector: 'td,th', 23233 query: { 23234 content: { 23235 type: 'string', 23236 source: 'html' 23237 }, 23238 tag: { 23239 type: 'string', 23240 default: 'td', 23241 source: 'tag' 23242 }, 23243 scope: { 23244 type: 'string', 23245 source: 'attribute', 23246 attribute: 'scope' 23247 } 23248 } 23249 } 23250 } 23251 } 23252 }, 23253 supports: deprecated_supports, 23254 23255 save({ 23256 attributes 23257 }) { 23258 const { 23259 hasFixedLayout, 23260 head, 23261 body, 23262 foot, 23263 backgroundColor 23264 } = attributes; 23265 const isEmpty = !head.length && !body.length && !foot.length; 23266 23267 if (isEmpty) { 23268 return null; 23269 } 23270 23271 const backgroundClass = Object(external_wp_blockEditor_["getColorClassName"])('background-color', backgroundColor); 23272 const classes = classnames_default()(backgroundClass, { 23273 'has-fixed-layout': hasFixedLayout, 23274 'has-background': !!backgroundClass 23275 }); 23276 23277 const Section = ({ 23278 type, 23279 rows 23280 }) => { 23281 if (!rows.length) { 23282 return null; 23283 } 23284 23285 const Tag = `t${type}`; 23286 return Object(external_wp_element_["createElement"])(Tag, null, rows.map(({ 23287 cells 23288 }, rowIndex) => Object(external_wp_element_["createElement"])("tr", { 23289 key: rowIndex 23290 }, cells.map(({ 23291 content, 23292 tag, 23293 scope 23294 }, cellIndex) => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 23295 tagName: tag, 23296 value: content, 23297 key: cellIndex, 23298 scope: tag === 'th' ? scope : undefined 23299 }))))); 23300 }; 23301 23302 return Object(external_wp_element_["createElement"])("table", { 23303 className: classes 23304 }, Object(external_wp_element_["createElement"])(Section, { 23305 type: "head", 23306 rows: head 23307 }), Object(external_wp_element_["createElement"])(Section, { 23308 type: "body", 23309 rows: body 23310 }), Object(external_wp_element_["createElement"])(Section, { 23311 type: "foot", 23312 rows: foot 23313 })); 23314 } 23315 23316 }]; 23317 /* harmony default export */ var table_deprecated = (table_deprecated_deprecated); 23318 23319 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-left.js 23320 var align_left = __webpack_require__("fPbg"); 23321 23322 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-center.js 23323 var align_center = __webpack_require__("plpT"); 23324 23325 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/align-right.js 23326 var align_right = __webpack_require__("ziDm"); 23327 23328 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-row-before.js 23329 23330 23331 /** 23332 * WordPress dependencies 23333 */ 23334 23335 const tableRowBefore = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23336 xmlns: "http://www.w3.org/2000/svg", 23337 viewBox: "-2 -2 24 24" 23338 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23339 d: "M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84zM6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z" 23340 })); 23341 /* harmony default export */ var table_row_before = (tableRowBefore); 23342 23343 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-row-after.js 23344 23345 23346 /** 23347 * WordPress dependencies 23348 */ 23349 23350 const tableRowAfter = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23351 xmlns: "http://www.w3.org/2000/svg", 23352 viewBox: "-2 -2 24 24" 23353 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23354 d: "M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z" 23355 })); 23356 /* harmony default export */ var table_row_after = (tableRowAfter); 23357 23358 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-row-delete.js 23359 23360 23361 /** 23362 * WordPress dependencies 23363 */ 23364 23365 const tableRowDelete = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23366 xmlns: "http://www.w3.org/2000/svg", 23367 viewBox: "-2 -2 24 24" 23368 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23369 d: "M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z" 23370 })); 23371 /* harmony default export */ var table_row_delete = (tableRowDelete); 23372 23373 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-column-before.js 23374 23375 23376 /** 23377 * WordPress dependencies 23378 */ 23379 23380 const tableColumnBefore = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23381 xmlns: "http://www.w3.org/2000/svg", 23382 viewBox: "-2 -2 24 24" 23383 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23384 d: "M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z" 23385 })); 23386 /* harmony default export */ var table_column_before = (tableColumnBefore); 23387 23388 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-column-after.js 23389 23390 23391 /** 23392 * WordPress dependencies 23393 */ 23394 23395 const tableColumnAfter = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23396 xmlns: "http://www.w3.org/2000/svg", 23397 viewBox: "-2 -2 24 24" 23398 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23399 d: "M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z" 23400 })); 23401 /* harmony default export */ var table_column_after = (tableColumnAfter); 23402 23403 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table-column-delete.js 23404 23405 23406 /** 23407 * WordPress dependencies 23408 */ 23409 23410 const tableColumnDelete = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23411 xmlns: "http://www.w3.org/2000/svg", 23412 viewBox: "-2 -2 24 24" 23413 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23414 d: "M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z" 23415 })); 23416 /* harmony default export */ var table_column_delete = (tableColumnDelete); 23417 23418 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/table.js 23419 23420 23421 /** 23422 * WordPress dependencies 23423 */ 23424 23425 const table = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 23426 xmlns: "http://www.w3.org/2000/svg", 23427 viewBox: "0 0 24 24" 23428 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 23429 d: "M4 6v11.5h16V6H4zm1.5 1.5h6V11h-6V7.5zm0 8.5v-3.5h6V16h-6zm13 0H13v-3.5h5.5V16zM13 11V7.5h5.5V11H13z" 23430 })); 23431 /* harmony default export */ var library_table = (table); 23432 23433 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/state.js 23434 /** 23435 * External dependencies 23436 */ 23437 23438 const INHERITED_COLUMN_ATTRIBUTES = ['align']; 23439 /** 23440 * Creates a table state. 23441 * 23442 * @param {Object} options 23443 * @param {number} options.rowCount Row count for the table to create. 23444 * @param {number} options.columnCount Column count for the table to create. 23445 * 23446 * @return {Object} New table state. 23447 */ 23448 23449 function createTable({ 23450 rowCount, 23451 columnCount 23452 }) { 23453 return { 23454 body: Object(external_lodash_["times"])(rowCount, () => ({ 23455 cells: Object(external_lodash_["times"])(columnCount, () => ({ 23456 content: '', 23457 tag: 'td' 23458 })) 23459 })) 23460 }; 23461 } 23462 /** 23463 * Returns the first row in the table. 23464 * 23465 * @param {Object} state Current table state. 23466 * 23467 * @return {Object} The first table row. 23468 */ 23469 23470 function getFirstRow(state) { 23471 if (!isEmptyTableSection(state.head)) { 23472 return state.head[0]; 23473 } 23474 23475 if (!isEmptyTableSection(state.body)) { 23476 return state.body[0]; 23477 } 23478 23479 if (!isEmptyTableSection(state.foot)) { 23480 return state.foot[0]; 23481 } 23482 } 23483 /** 23484 * Gets an attribute for a cell. 23485 * 23486 * @param {Object} state Current table state. 23487 * @param {Object} cellLocation The location of the cell 23488 * @param {string} attributeName The name of the attribute to get the value of. 23489 * 23490 * @return {*} The attribute value. 23491 */ 23492 23493 function getCellAttribute(state, cellLocation, attributeName) { 23494 const { 23495 sectionName, 23496 rowIndex, 23497 columnIndex 23498 } = cellLocation; 23499 return Object(external_lodash_["get"])(state, [sectionName, rowIndex, 'cells', columnIndex, attributeName]); 23500 } 23501 /** 23502 * Returns updated cell attributes after applying the `updateCell` function to the selection. 23503 * 23504 * @param {Object} state The block attributes. 23505 * @param {Object} selection The selection of cells to update. 23506 * @param {Function} updateCell A function to update the selected cell attributes. 23507 * 23508 * @return {Object} New table state including the updated cells. 23509 */ 23510 23511 function updateSelectedCell(state, selection, updateCell) { 23512 if (!selection) { 23513 return state; 23514 } 23515 23516 const tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']); 23517 const { 23518 sectionName: selectionSectionName, 23519 rowIndex: selectionRowIndex 23520 } = selection; 23521 return Object(external_lodash_["mapValues"])(tableSections, (section, sectionName) => { 23522 if (selectionSectionName && selectionSectionName !== sectionName) { 23523 return section; 23524 } 23525 23526 return section.map((row, rowIndex) => { 23527 if (selectionRowIndex && selectionRowIndex !== rowIndex) { 23528 return row; 23529 } 23530 23531 return { 23532 cells: row.cells.map((cellAttributes, columnIndex) => { 23533 const cellLocation = { 23534 sectionName, 23535 columnIndex, 23536 rowIndex 23537 }; 23538 23539 if (!isCellSelected(cellLocation, selection)) { 23540 return cellAttributes; 23541 } 23542 23543 return updateCell(cellAttributes); 23544 }) 23545 }; 23546 }); 23547 }); 23548 } 23549 /** 23550 * Returns whether the cell at `cellLocation` is included in the selection `selection`. 23551 * 23552 * @param {Object} cellLocation An object containing cell location properties. 23553 * @param {Object} selection An object containing selection properties. 23554 * 23555 * @return {boolean} True if the cell is selected, false otherwise. 23556 */ 23557 23558 function isCellSelected(cellLocation, selection) { 23559 if (!cellLocation || !selection) { 23560 return false; 23561 } 23562 23563 switch (selection.type) { 23564 case 'column': 23565 return selection.type === 'column' && cellLocation.columnIndex === selection.columnIndex; 23566 23567 case 'cell': 23568 return selection.type === 'cell' && cellLocation.sectionName === selection.sectionName && cellLocation.columnIndex === selection.columnIndex && cellLocation.rowIndex === selection.rowIndex; 23569 } 23570 } 23571 /** 23572 * Inserts a row in the table state. 23573 * 23574 * @param {Object} state Current table state. 23575 * @param {Object} options 23576 * @param {string} options.sectionName Section in which to insert the row. 23577 * @param {number} options.rowIndex Row index at which to insert the row. 23578 * @param {number} options.columnCount Column count for the table to create. 23579 * 23580 * @return {Object} New table state. 23581 */ 23582 23583 function insertRow(state, { 23584 sectionName, 23585 rowIndex, 23586 columnCount 23587 }) { 23588 const firstRow = getFirstRow(state); 23589 const cellCount = columnCount === undefined ? Object(external_lodash_["get"])(firstRow, ['cells', 'length']) : columnCount; // Bail early if the function cannot determine how many cells to add. 23590 23591 if (!cellCount) { 23592 return state; 23593 } 23594 23595 return { 23596 [sectionName]: [...state[sectionName].slice(0, rowIndex), { 23597 cells: Object(external_lodash_["times"])(cellCount, index => { 23598 const firstCellInColumn = Object(external_lodash_["get"])(firstRow, ['cells', index], {}); 23599 const inheritedAttributes = Object(external_lodash_["pick"])(firstCellInColumn, INHERITED_COLUMN_ATTRIBUTES); 23600 return { ...inheritedAttributes, 23601 content: '', 23602 tag: sectionName === 'head' ? 'th' : 'td' 23603 }; 23604 }) 23605 }, ...state[sectionName].slice(rowIndex)] 23606 }; 23607 } 23608 /** 23609 * Deletes a row from the table state. 23610 * 23611 * @param {Object} state Current table state. 23612 * @param {Object} options 23613 * @param {string} options.sectionName Section in which to delete the row. 23614 * @param {number} options.rowIndex Row index to delete. 23615 * 23616 * @return {Object} New table state. 23617 */ 23618 23619 function deleteRow(state, { 23620 sectionName, 23621 rowIndex 23622 }) { 23623 return { 23624 [sectionName]: state[sectionName].filter((row, index) => index !== rowIndex) 23625 }; 23626 } 23627 /** 23628 * Inserts a column in the table state. 23629 * 23630 * @param {Object} state Current table state. 23631 * @param {Object} options 23632 * @param {number} options.columnIndex Column index at which to insert the column. 23633 * 23634 * @return {Object} New table state. 23635 */ 23636 23637 function insertColumn(state, { 23638 columnIndex 23639 }) { 23640 const tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']); 23641 return Object(external_lodash_["mapValues"])(tableSections, (section, sectionName) => { 23642 // Bail early if the table section is empty. 23643 if (isEmptyTableSection(section)) { 23644 return section; 23645 } 23646 23647 return section.map(row => { 23648 // Bail early if the row is empty or it's an attempt to insert past 23649 // the last possible index of the array. 23650 if (isEmptyRow(row) || row.cells.length < columnIndex) { 23651 return row; 23652 } 23653 23654 return { 23655 cells: [...row.cells.slice(0, columnIndex), { 23656 content: '', 23657 tag: sectionName === 'head' ? 'th' : 'td' 23658 }, ...row.cells.slice(columnIndex)] 23659 }; 23660 }); 23661 }); 23662 } 23663 /** 23664 * Deletes a column from the table state. 23665 * 23666 * @param {Object} state Current table state. 23667 * @param {Object} options 23668 * @param {number} options.columnIndex Column index to delete. 23669 * 23670 * @return {Object} New table state. 23671 */ 23672 23673 function deleteColumn(state, { 23674 columnIndex 23675 }) { 23676 const tableSections = Object(external_lodash_["pick"])(state, ['head', 'body', 'foot']); 23677 return Object(external_lodash_["mapValues"])(tableSections, section => { 23678 // Bail early if the table section is empty. 23679 if (isEmptyTableSection(section)) { 23680 return section; 23681 } 23682 23683 return section.map(row => ({ 23684 cells: row.cells.length >= columnIndex ? row.cells.filter((cell, index) => index !== columnIndex) : row.cells 23685 })).filter(row => row.cells.length); 23686 }); 23687 } 23688 /** 23689 * Toggles the existance of a section. 23690 * 23691 * @param {Object} state Current table state. 23692 * @param {string} sectionName Name of the section to toggle. 23693 * 23694 * @return {Object} New table state. 23695 */ 23696 23697 function toggleSection(state, sectionName) { 23698 // Section exists, replace it with an empty row to remove it. 23699 if (!isEmptyTableSection(state[sectionName])) { 23700 return { 23701 [sectionName]: [] 23702 }; 23703 } // Get the length of the first row of the body to use when creating the header. 23704 23705 23706 const columnCount = Object(external_lodash_["get"])(state, ['body', 0, 'cells', 'length'], 1); // Section doesn't exist, insert an empty row to create the section. 23707 23708 return insertRow(state, { 23709 sectionName, 23710 rowIndex: 0, 23711 columnCount 23712 }); 23713 } 23714 /** 23715 * Determines whether a table section is empty. 23716 * 23717 * @param {Object} section Table section state. 23718 * 23719 * @return {boolean} True if the table section is empty, false otherwise. 23720 */ 23721 23722 function isEmptyTableSection(section) { 23723 return !section || !section.length || Object(external_lodash_["every"])(section, isEmptyRow); 23724 } 23725 /** 23726 * Determines whether a table row is empty. 23727 * 23728 * @param {Object} row Table row state. 23729 * 23730 * @return {boolean} True if the table section is empty, false otherwise. 23731 */ 23732 23733 function isEmptyRow(row) { 23734 return !(row.cells && row.cells.length); 23735 } 23736 23737 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/edit.js 23738 23739 23740 /** 23741 * External dependencies 23742 */ 23743 23744 /** 23745 * WordPress dependencies 23746 */ 23747 23748 23749 23750 23751 23752 23753 23754 /** 23755 * Internal dependencies 23756 */ 23757 23758 23759 const ALIGNMENT_CONTROLS = [{ 23760 icon: align_left["a" /* default */], 23761 title: Object(external_wp_i18n_["__"])('Align column left'), 23762 align: 'left' 23763 }, { 23764 icon: align_center["a" /* default */], 23765 title: Object(external_wp_i18n_["__"])('Align column center'), 23766 align: 'center' 23767 }, { 23768 icon: align_right["a" /* default */], 23769 title: Object(external_wp_i18n_["__"])('Align column right'), 23770 align: 'right' 23771 }]; 23772 const cellAriaLabel = { 23773 head: Object(external_wp_i18n_["__"])('Header cell text'), 23774 body: Object(external_wp_i18n_["__"])('Body cell text'), 23775 foot: Object(external_wp_i18n_["__"])('Footer cell text') 23776 }; 23777 const edit_placeholder = { 23778 head: Object(external_wp_i18n_["__"])('Header label'), 23779 foot: Object(external_wp_i18n_["__"])('Footer label') 23780 }; 23781 23782 function TSection({ 23783 name, 23784 ...props 23785 }) { 23786 const TagName = `t${name}`; 23787 return Object(external_wp_element_["createElement"])(TagName, props); 23788 } 23789 23790 function TableEdit({ 23791 attributes, 23792 setAttributes, 23793 insertBlocksAfter, 23794 isSelected 23795 }) { 23796 const { 23797 hasFixedLayout, 23798 caption, 23799 head, 23800 foot 23801 } = attributes; 23802 const [initialRowCount, setInitialRowCount] = Object(external_wp_element_["useState"])(2); 23803 const [initialColumnCount, setInitialColumnCount] = Object(external_wp_element_["useState"])(2); 23804 const [selectedCell, setSelectedCell] = Object(external_wp_element_["useState"])(); 23805 const colorProps = Object(external_wp_blockEditor_["__experimentalUseColorProps"])(attributes); 23806 const borderProps = Object(external_wp_blockEditor_["__experimentalUseBorderProps"])(attributes); 23807 /** 23808 * Updates the initial column count used for table creation. 23809 * 23810 * @param {number} count New initial column count. 23811 */ 23812 23813 function onChangeInitialColumnCount(count) { 23814 setInitialColumnCount(count); 23815 } 23816 /** 23817 * Updates the initial row count used for table creation. 23818 * 23819 * @param {number} count New initial row count. 23820 */ 23821 23822 23823 function onChangeInitialRowCount(count) { 23824 setInitialRowCount(count); 23825 } 23826 /** 23827 * Creates a table based on dimensions in local state. 23828 * 23829 * @param {Object} event Form submit event. 23830 */ 23831 23832 23833 function onCreateTable(event) { 23834 event.preventDefault(); 23835 setAttributes(createTable({ 23836 rowCount: parseInt(initialRowCount, 10) || 2, 23837 columnCount: parseInt(initialColumnCount, 10) || 2 23838 })); 23839 } 23840 /** 23841 * Toggles whether the table has a fixed layout or not. 23842 */ 23843 23844 23845 function onChangeFixedLayout() { 23846 setAttributes({ 23847 hasFixedLayout: !hasFixedLayout 23848 }); 23849 } 23850 /** 23851 * Changes the content of the currently selected cell. 23852 * 23853 * @param {Array} content A RichText content value. 23854 */ 23855 23856 23857 function onChange(content) { 23858 if (!selectedCell) { 23859 return; 23860 } 23861 23862 setAttributes(updateSelectedCell(attributes, selectedCell, cellAttributes => ({ ...cellAttributes, 23863 content 23864 }))); 23865 } 23866 /** 23867 * Align text within the a column. 23868 * 23869 * @param {string} align The new alignment to apply to the column. 23870 */ 23871 23872 23873 function onChangeColumnAlignment(align) { 23874 if (!selectedCell) { 23875 return; 23876 } // Convert the cell selection to a column selection so that alignment 23877 // is applied to the entire column. 23878 23879 23880 const columnSelection = { 23881 type: 'column', 23882 columnIndex: selectedCell.columnIndex 23883 }; 23884 const newAttributes = updateSelectedCell(attributes, columnSelection, cellAttributes => ({ ...cellAttributes, 23885 align 23886 })); 23887 setAttributes(newAttributes); 23888 } 23889 /** 23890 * Get the alignment of the currently selected cell. 23891 * 23892 * @return {string} The new alignment to apply to the column. 23893 */ 23894 23895 23896 function getCellAlignment() { 23897 if (!selectedCell) { 23898 return; 23899 } 23900 23901 return getCellAttribute(attributes, selectedCell, 'align'); 23902 } 23903 /** 23904 * Add or remove a `head` table section. 23905 */ 23906 23907 23908 function onToggleHeaderSection() { 23909 setAttributes(toggleSection(attributes, 'head')); 23910 } 23911 /** 23912 * Add or remove a `foot` table section. 23913 */ 23914 23915 23916 function onToggleFooterSection() { 23917 setAttributes(toggleSection(attributes, 'foot')); 23918 } 23919 /** 23920 * Inserts a row at the currently selected row index, plus `delta`. 23921 * 23922 * @param {number} delta Offset for selected row index at which to insert. 23923 */ 23924 23925 23926 function onInsertRow(delta) { 23927 if (!selectedCell) { 23928 return; 23929 } 23930 23931 const { 23932 sectionName, 23933 rowIndex 23934 } = selectedCell; 23935 const newRowIndex = rowIndex + delta; 23936 setAttributes(insertRow(attributes, { 23937 sectionName, 23938 rowIndex: newRowIndex 23939 })); // Select the first cell of the new row 23940 23941 setSelectedCell({ 23942 sectionName, 23943 rowIndex: newRowIndex, 23944 columnIndex: 0, 23945 type: 'cell' 23946 }); 23947 } 23948 /** 23949 * Inserts a row before the currently selected row. 23950 */ 23951 23952 23953 function onInsertRowBefore() { 23954 onInsertRow(0); 23955 } 23956 /** 23957 * Inserts a row after the currently selected row. 23958 */ 23959 23960 23961 function onInsertRowAfter() { 23962 onInsertRow(1); 23963 } 23964 /** 23965 * Deletes the currently selected row. 23966 */ 23967 23968 23969 function onDeleteRow() { 23970 if (!selectedCell) { 23971 return; 23972 } 23973 23974 const { 23975 sectionName, 23976 rowIndex 23977 } = selectedCell; 23978 setSelectedCell(); 23979 setAttributes(deleteRow(attributes, { 23980 sectionName, 23981 rowIndex 23982 })); 23983 } 23984 /** 23985 * Inserts a column at the currently selected column index, plus `delta`. 23986 * 23987 * @param {number} delta Offset for selected column index at which to insert. 23988 */ 23989 23990 23991 function onInsertColumn(delta = 0) { 23992 if (!selectedCell) { 23993 return; 23994 } 23995 23996 const { 23997 columnIndex 23998 } = selectedCell; 23999 const newColumnIndex = columnIndex + delta; 24000 setAttributes(insertColumn(attributes, { 24001 columnIndex: newColumnIndex 24002 })); // Select the first cell of the new column 24003 24004 setSelectedCell({ 24005 rowIndex: 0, 24006 columnIndex: newColumnIndex, 24007 type: 'cell' 24008 }); 24009 } 24010 /** 24011 * Inserts a column before the currently selected column. 24012 */ 24013 24014 24015 function onInsertColumnBefore() { 24016 onInsertColumn(0); 24017 } 24018 /** 24019 * Inserts a column after the currently selected column. 24020 */ 24021 24022 24023 function onInsertColumnAfter() { 24024 onInsertColumn(1); 24025 } 24026 /** 24027 * Deletes the currently selected column. 24028 */ 24029 24030 24031 function onDeleteColumn() { 24032 if (!selectedCell) { 24033 return; 24034 } 24035 24036 const { 24037 sectionName, 24038 columnIndex 24039 } = selectedCell; 24040 setSelectedCell(); 24041 setAttributes(deleteColumn(attributes, { 24042 sectionName, 24043 columnIndex 24044 })); 24045 } 24046 24047 Object(external_wp_element_["useEffect"])(() => { 24048 if (!isSelected) { 24049 setSelectedCell(); 24050 } 24051 }, [isSelected]); 24052 const sections = ['head', 'body', 'foot'].filter(name => !isEmptyTableSection(attributes[name])); 24053 const tableControls = [{ 24054 icon: table_row_before, 24055 title: Object(external_wp_i18n_["__"])('Insert row before'), 24056 isDisabled: !selectedCell, 24057 onClick: onInsertRowBefore 24058 }, { 24059 icon: table_row_after, 24060 title: Object(external_wp_i18n_["__"])('Insert row after'), 24061 isDisabled: !selectedCell, 24062 onClick: onInsertRowAfter 24063 }, { 24064 icon: table_row_delete, 24065 title: Object(external_wp_i18n_["__"])('Delete row'), 24066 isDisabled: !selectedCell, 24067 onClick: onDeleteRow 24068 }, { 24069 icon: table_column_before, 24070 title: Object(external_wp_i18n_["__"])('Insert column before'), 24071 isDisabled: !selectedCell, 24072 onClick: onInsertColumnBefore 24073 }, { 24074 icon: table_column_after, 24075 title: Object(external_wp_i18n_["__"])('Insert column after'), 24076 isDisabled: !selectedCell, 24077 onClick: onInsertColumnAfter 24078 }, { 24079 icon: table_column_delete, 24080 title: Object(external_wp_i18n_["__"])('Delete column'), 24081 isDisabled: !selectedCell, 24082 onClick: onDeleteColumn 24083 }]; 24084 const renderedSections = ['head', 'body', 'foot'].map(name => Object(external_wp_element_["createElement"])(TSection, { 24085 name: name, 24086 key: name 24087 }, attributes[name].map(({ 24088 cells 24089 }, rowIndex) => Object(external_wp_element_["createElement"])("tr", { 24090 key: rowIndex 24091 }, cells.map(({ 24092 content, 24093 tag: CellTag, 24094 scope, 24095 align 24096 }, columnIndex) => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 24097 tagName: CellTag, 24098 key: columnIndex, 24099 className: classnames_default()({ 24100 [`has-text-align-${align}`]: align 24101 }, 'wp-block-table__cell-content'), 24102 scope: CellTag === 'th' ? scope : undefined, 24103 value: content, 24104 onChange: onChange, 24105 unstableOnFocus: () => { 24106 setSelectedCell({ 24107 sectionName: name, 24108 rowIndex, 24109 columnIndex, 24110 type: 'cell' 24111 }); 24112 }, 24113 "aria-label": cellAriaLabel[name], 24114 placeholder: edit_placeholder[name] 24115 })))))); 24116 const isEmpty = !sections.length; 24117 return Object(external_wp_element_["createElement"])("figure", Object(external_wp_blockEditor_["useBlockProps"])(), !isEmpty && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 24118 group: "block" 24119 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 24120 label: Object(external_wp_i18n_["__"])('Change column alignment'), 24121 alignmentControls: ALIGNMENT_CONTROLS, 24122 value: getCellAlignment(), 24123 onChange: nextAlign => onChangeColumnAlignment(nextAlign) 24124 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 24125 group: "other" 24126 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { 24127 hasArrowIndicator: true, 24128 icon: library_table, 24129 label: Object(external_wp_i18n_["__"])('Edit table'), 24130 controls: tableControls 24131 }))), !isEmpty && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 24132 title: Object(external_wp_i18n_["__"])('Table settings'), 24133 className: "blocks-table-settings" 24134 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 24135 label: Object(external_wp_i18n_["__"])('Fixed width table cells'), 24136 checked: !!hasFixedLayout, 24137 onChange: onChangeFixedLayout 24138 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 24139 label: Object(external_wp_i18n_["__"])('Header section'), 24140 checked: !!(head && head.length), 24141 onChange: onToggleHeaderSection 24142 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 24143 label: Object(external_wp_i18n_["__"])('Footer section'), 24144 checked: !!(foot && foot.length), 24145 onChange: onToggleFooterSection 24146 }))), !isEmpty && Object(external_wp_element_["createElement"])("table", { 24147 className: classnames_default()(colorProps.className, borderProps.className, { 24148 'has-fixed-layout': hasFixedLayout 24149 }), 24150 style: { ...colorProps.style, 24151 ...borderProps.style 24152 } 24153 }, renderedSections), !isEmpty && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 24154 tagName: "figcaption", 24155 "aria-label": Object(external_wp_i18n_["__"])('Table caption text'), 24156 placeholder: Object(external_wp_i18n_["__"])('Add caption'), 24157 value: caption, 24158 onChange: value => setAttributes({ 24159 caption: value 24160 }) // Deselect the selected table cell when the caption is focused. 24161 , 24162 unstableOnFocus: () => setSelectedCell(), 24163 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 24164 }), isEmpty && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 24165 label: Object(external_wp_i18n_["__"])('Table'), 24166 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 24167 icon: block_table, 24168 showColors: true 24169 }), 24170 instructions: Object(external_wp_i18n_["__"])('Insert a table for sharing data.') 24171 }, Object(external_wp_element_["createElement"])("form", { 24172 className: "blocks-table__placeholder-form", 24173 onSubmit: onCreateTable 24174 }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 24175 type: "number", 24176 label: Object(external_wp_i18n_["__"])('Column count'), 24177 value: initialColumnCount, 24178 onChange: onChangeInitialColumnCount, 24179 min: "1", 24180 className: "blocks-table__placeholder-input" 24181 }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 24182 type: "number", 24183 label: Object(external_wp_i18n_["__"])('Row count'), 24184 value: initialRowCount, 24185 onChange: onChangeInitialRowCount, 24186 min: "1", 24187 className: "blocks-table__placeholder-input" 24188 }), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 24189 className: "blocks-table__placeholder-button", 24190 isPrimary: true, 24191 type: "submit" 24192 }, Object(external_wp_i18n_["__"])('Create Table'))))); 24193 } 24194 24195 /* harmony default export */ var table_edit = (TableEdit); 24196 24197 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/save.js 24198 24199 24200 /** 24201 * External dependencies 24202 */ 24203 24204 /** 24205 * WordPress dependencies 24206 */ 24207 24208 24209 function table_save_save({ 24210 attributes 24211 }) { 24212 const { 24213 hasFixedLayout, 24214 head, 24215 body, 24216 foot, 24217 caption 24218 } = attributes; 24219 const isEmpty = !head.length && !body.length && !foot.length; 24220 24221 if (isEmpty) { 24222 return null; 24223 } 24224 24225 const colorProps = Object(external_wp_blockEditor_["__experimentalGetColorClassesAndStyles"])(attributes); 24226 const borderProps = Object(external_wp_blockEditor_["__experimentalGetBorderClassesAndStyles"])(attributes); 24227 const classes = classnames_default()(colorProps.className, borderProps.className, { 24228 'has-fixed-layout': hasFixedLayout 24229 }); 24230 const hasCaption = !external_wp_blockEditor_["RichText"].isEmpty(caption); 24231 24232 const Section = ({ 24233 type, 24234 rows 24235 }) => { 24236 if (!rows.length) { 24237 return null; 24238 } 24239 24240 const Tag = `t${type}`; 24241 return Object(external_wp_element_["createElement"])(Tag, null, rows.map(({ 24242 cells 24243 }, rowIndex) => Object(external_wp_element_["createElement"])("tr", { 24244 key: rowIndex 24245 }, cells.map(({ 24246 content, 24247 tag, 24248 scope, 24249 align 24250 }, cellIndex) => { 24251 const cellClasses = classnames_default()({ 24252 [`has-text-align-${align}`]: align 24253 }); 24254 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 24255 className: cellClasses ? cellClasses : undefined, 24256 "data-align": align, 24257 tagName: tag, 24258 value: content, 24259 key: cellIndex, 24260 scope: tag === 'th' ? scope : undefined 24261 }); 24262 })))); 24263 }; 24264 24265 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])("table", { 24266 className: classes === '' ? undefined : classes, 24267 style: { ...colorProps.style, 24268 ...borderProps.style 24269 } 24270 }, Object(external_wp_element_["createElement"])(Section, { 24271 type: "head", 24272 rows: head 24273 }), Object(external_wp_element_["createElement"])(Section, { 24274 type: "body", 24275 rows: body 24276 }), Object(external_wp_element_["createElement"])(Section, { 24277 type: "foot", 24278 rows: foot 24279 })), hasCaption && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 24280 tagName: "figcaption", 24281 value: caption 24282 })); 24283 } 24284 24285 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/transforms.js 24286 const tableContentPasteSchema = ({ 24287 phrasingContentSchema 24288 }) => ({ 24289 tr: { 24290 allowEmpty: true, 24291 children: { 24292 th: { 24293 allowEmpty: true, 24294 children: phrasingContentSchema, 24295 attributes: ['scope'] 24296 }, 24297 td: { 24298 allowEmpty: true, 24299 children: phrasingContentSchema 24300 } 24301 } 24302 } 24303 }); 24304 24305 const tablePasteSchema = args => ({ 24306 table: { 24307 children: { 24308 thead: { 24309 allowEmpty: true, 24310 children: tableContentPasteSchema(args) 24311 }, 24312 tfoot: { 24313 allowEmpty: true, 24314 children: tableContentPasteSchema(args) 24315 }, 24316 tbody: { 24317 allowEmpty: true, 24318 children: tableContentPasteSchema(args) 24319 } 24320 } 24321 } 24322 }); 24323 24324 const table_transforms_transforms = { 24325 from: [{ 24326 type: 'raw', 24327 selector: 'table', 24328 schema: tablePasteSchema 24329 }] 24330 }; 24331 /* harmony default export */ var table_transforms = (table_transforms_transforms); 24332 24333 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/table/index.js 24334 /** 24335 * WordPress dependencies 24336 */ 24337 24338 24339 /** 24340 * Internal dependencies 24341 */ 24342 24343 24344 24345 const table_metadata = { 24346 apiVersion: 2, 24347 name: "core/table", 24348 title: "Table", 24349 category: "text", 24350 description: "Insert a table \u2014 perfect for sharing charts and data.", 24351 textdomain: "default", 24352 attributes: { 24353 hasFixedLayout: { 24354 type: "boolean", 24355 "default": false 24356 }, 24357 caption: { 24358 type: "string", 24359 source: "html", 24360 selector: "figcaption", 24361 "default": "" 24362 }, 24363 head: { 24364 type: "array", 24365 "default": [], 24366 source: "query", 24367 selector: "thead tr", 24368 query: { 24369 cells: { 24370 type: "array", 24371 "default": [], 24372 source: "query", 24373 selector: "td,th", 24374 query: { 24375 content: { 24376 type: "string", 24377 source: "html" 24378 }, 24379 tag: { 24380 type: "string", 24381 "default": "td", 24382 source: "tag" 24383 }, 24384 scope: { 24385 type: "string", 24386 source: "attribute", 24387 attribute: "scope" 24388 }, 24389 align: { 24390 type: "string", 24391 source: "attribute", 24392 attribute: "data-align" 24393 } 24394 } 24395 } 24396 } 24397 }, 24398 body: { 24399 type: "array", 24400 "default": [], 24401 source: "query", 24402 selector: "tbody tr", 24403 query: { 24404 cells: { 24405 type: "array", 24406 "default": [], 24407 source: "query", 24408 selector: "td,th", 24409 query: { 24410 content: { 24411 type: "string", 24412 source: "html" 24413 }, 24414 tag: { 24415 type: "string", 24416 "default": "td", 24417 source: "tag" 24418 }, 24419 scope: { 24420 type: "string", 24421 source: "attribute", 24422 attribute: "scope" 24423 }, 24424 align: { 24425 type: "string", 24426 source: "attribute", 24427 attribute: "data-align" 24428 } 24429 } 24430 } 24431 } 24432 }, 24433 foot: { 24434 type: "array", 24435 "default": [], 24436 source: "query", 24437 selector: "tfoot tr", 24438 query: { 24439 cells: { 24440 type: "array", 24441 "default": [], 24442 source: "query", 24443 selector: "td,th", 24444 query: { 24445 content: { 24446 type: "string", 24447 source: "html" 24448 }, 24449 tag: { 24450 type: "string", 24451 "default": "td", 24452 source: "tag" 24453 }, 24454 scope: { 24455 type: "string", 24456 source: "attribute", 24457 attribute: "scope" 24458 }, 24459 align: { 24460 type: "string", 24461 source: "attribute", 24462 attribute: "data-align" 24463 } 24464 } 24465 } 24466 } 24467 } 24468 }, 24469 supports: { 24470 anchor: true, 24471 align: true, 24472 color: { 24473 __experimentalSkipSerialization: true, 24474 gradients: true 24475 }, 24476 __experimentalBorder: { 24477 __experimentalSkipSerialization: true, 24478 color: true, 24479 style: true, 24480 width: true 24481 }, 24482 __experimentalSelector: ".wp-block-table > table" 24483 }, 24484 styles: [{ 24485 name: "regular", 24486 label: "Default", 24487 isDefault: true 24488 }, { 24489 name: "stripes", 24490 label: "Stripes" 24491 }], 24492 editorStyle: "wp-block-table-editor", 24493 style: "wp-block-table" 24494 }; 24495 24496 24497 const { 24498 name: table_name 24499 } = table_metadata; 24500 24501 const table_settings = { 24502 icon: block_table, 24503 example: { 24504 attributes: { 24505 head: [{ 24506 cells: [{ 24507 content: Object(external_wp_i18n_["__"])('Version'), 24508 tag: 'th' 24509 }, { 24510 content: Object(external_wp_i18n_["__"])('Jazz Musician'), 24511 tag: 'th' 24512 }, { 24513 content: Object(external_wp_i18n_["__"])('Release Date'), 24514 tag: 'th' 24515 }] 24516 }], 24517 body: [{ 24518 cells: [{ 24519 content: '5.2', 24520 tag: 'td' 24521 }, { 24522 content: 'Jaco Pastorius', 24523 tag: 'td' 24524 }, { 24525 content: Object(external_wp_i18n_["__"])('May 7, 2019'), 24526 tag: 'td' 24527 }] 24528 }, { 24529 cells: [{ 24530 content: '5.1', 24531 tag: 'td' 24532 }, { 24533 content: 'Betty Carter', 24534 tag: 'td' 24535 }, { 24536 content: Object(external_wp_i18n_["__"])('February 21, 2019'), 24537 tag: 'td' 24538 }] 24539 }, { 24540 cells: [{ 24541 content: '5.0', 24542 tag: 'td' 24543 }, { 24544 content: 'Bebo Valdés', 24545 tag: 'td' 24546 }, { 24547 content: Object(external_wp_i18n_["__"])('December 6, 2018'), 24548 tag: 'td' 24549 }] 24550 }] 24551 } 24552 }, 24553 transforms: table_transforms, 24554 edit: table_edit, 24555 save: table_save_save, 24556 deprecated: table_deprecated 24557 }; 24558 24559 // EXTERNAL MODULE: external ["wp","deprecated"] 24560 var external_wp_deprecated_ = __webpack_require__("NMb1"); 24561 var external_wp_deprecated_default = /*#__PURE__*/__webpack_require__.n(external_wp_deprecated_); 24562 24563 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/edit.js 24564 24565 24566 /** 24567 * External dependencies 24568 */ 24569 24570 /** 24571 * WordPress dependencies 24572 */ 24573 24574 24575 24576 24577 24578 function TextColumnsEdit({ 24579 attributes, 24580 setAttributes 24581 }) { 24582 const { 24583 width, 24584 content, 24585 columns 24586 } = attributes; 24587 external_wp_deprecated_default()('The Text Columns block', { 24588 since: '5.3', 24589 alternative: 'the Columns block' 24590 }); 24591 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockAlignmentToolbar"], { 24592 value: width, 24593 onChange: nextWidth => setAttributes({ 24594 width: nextWidth 24595 }), 24596 controls: ['center', 'wide', 'full'] 24597 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 24598 label: Object(external_wp_i18n_["__"])('Columns'), 24599 value: columns, 24600 onChange: value => setAttributes({ 24601 columns: value 24602 }), 24603 min: 2, 24604 max: 4, 24605 required: true 24606 }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])({ 24607 className: `align${width} columns-${columns}` 24608 }), Object(external_lodash_["times"])(columns, index => { 24609 return Object(external_wp_element_["createElement"])("div", { 24610 className: "wp-block-column", 24611 key: `column-${index}` 24612 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 24613 tagName: "p", 24614 value: Object(external_lodash_["get"])(content, [index, 'children']), 24615 onChange: nextContent => { 24616 setAttributes({ 24617 content: [...content.slice(0, index), { 24618 children: nextContent 24619 }, ...content.slice(index + 1)] 24620 }); 24621 }, 24622 "aria-label": Object(external_wp_i18n_["sprintf"])( // translators: %d: column index (starting with 1) 24623 Object(external_wp_i18n_["__"])('Column %d text'), index + 1), 24624 placeholder: Object(external_wp_i18n_["__"])('New Column') 24625 })); 24626 }))); 24627 } 24628 24629 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/save.js 24630 24631 24632 /** 24633 * External dependencies 24634 */ 24635 24636 /** 24637 * WordPress dependencies 24638 */ 24639 24640 24641 function text_columns_save_save({ 24642 attributes 24643 }) { 24644 const { 24645 width, 24646 content, 24647 columns 24648 } = attributes; 24649 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save({ 24650 className: `align${width} columns-${columns}` 24651 }), Object(external_lodash_["times"])(columns, index => Object(external_wp_element_["createElement"])("div", { 24652 className: "wp-block-column", 24653 key: `column-${index}` 24654 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 24655 tagName: "p", 24656 value: Object(external_lodash_["get"])(content, [index, 'children']) 24657 })))); 24658 } 24659 24660 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/transforms.js 24661 /** 24662 * WordPress dependencies 24663 */ 24664 24665 const text_columns_transforms_transforms = { 24666 to: [{ 24667 type: 'block', 24668 blocks: ['core/columns'], 24669 transform: ({ 24670 className, 24671 columns, 24672 content, 24673 width 24674 }) => Object(external_wp_blocks_["createBlock"])('core/columns', { 24675 align: 'wide' === width || 'full' === width ? width : undefined, 24676 className, 24677 columns 24678 }, content.map(({ 24679 children 24680 }) => Object(external_wp_blocks_["createBlock"])('core/column', {}, [Object(external_wp_blocks_["createBlock"])('core/paragraph', { 24681 content: children 24682 })]))) 24683 }] 24684 }; 24685 /* harmony default export */ var text_columns_transforms = (text_columns_transforms_transforms); 24686 24687 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/text-columns/index.js 24688 /** 24689 * Internal dependencies 24690 */ 24691 24692 const text_columns_metadata = { 24693 apiVersion: 2, 24694 name: "core/text-columns", 24695 title: "Text Columns (deprecated)", 24696 icon: "columns", 24697 category: "design", 24698 description: "This block is deprecated. Please use the Columns block instead.", 24699 textdomain: "default", 24700 attributes: { 24701 content: { 24702 type: "array", 24703 source: "query", 24704 selector: "p", 24705 query: { 24706 children: { 24707 type: "string", 24708 source: "html" 24709 } 24710 }, 24711 "default": [{}, {}] 24712 }, 24713 columns: { 24714 type: "number", 24715 "default": 2 24716 }, 24717 width: { 24718 type: "string" 24719 } 24720 }, 24721 supports: { 24722 inserter: false 24723 }, 24724 editorStyle: "wp-block-text-columns-editor", 24725 style: "wp-block-text-columns" 24726 }; 24727 24728 24729 const { 24730 name: text_columns_name 24731 } = text_columns_metadata; 24732 24733 const text_columns_settings = { 24734 transforms: text_columns_transforms, 24735 24736 getEditWrapperProps(attributes) { 24737 const { 24738 width 24739 } = attributes; 24740 24741 if ('wide' === width || 'full' === width) { 24742 return { 24743 'data-align': width 24744 }; 24745 } 24746 }, 24747 24748 edit: TextColumnsEdit, 24749 save: text_columns_save_save 24750 }; 24751 24752 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/verse.js 24753 24754 24755 /** 24756 * WordPress dependencies 24757 */ 24758 24759 const verse = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 24760 viewBox: "0 0 24 24", 24761 xmlns: "http://www.w3.org/2000/svg" 24762 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 24763 d: "M17.8 2l-.9.3c-.1 0-3.6 1-5.2 2.1C10 5.5 9.3 6.5 8.9 7.1c-.6.9-1.7 4.7-1.7 6.3l-.9 2.3c-.2.4 0 .8.4 1 .1 0 .2.1.3.1.3 0 .6-.2.7-.5l.6-1.5c.3 0 .7-.1 1.2-.2.7-.1 1.4-.3 2.2-.5.8-.2 1.6-.5 2.4-.8.7-.3 1.4-.7 1.9-1.2s.8-1.2 1-1.9c.2-.7.3-1.6.4-2.4.1-.8.1-1.7.2-2.5 0-.8.1-1.5.2-2.1V2zm-1.9 5.6c-.1.8-.2 1.5-.3 2.1-.2.6-.4 1-.6 1.3-.3.3-.8.6-1.4.9-.7.3-1.4.5-2.2.8-.6.2-1.3.3-1.8.4L15 7.5c.3-.3.6-.7 1-1.1 0 .4 0 .8-.1 1.2zM6 20h8v-1.5H6V20z" 24764 })); 24765 /* harmony default export */ var library_verse = (verse); 24766 24767 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/deprecated.js 24768 24769 24770 /** 24771 * WordPress dependencies 24772 */ 24773 24774 const verse_deprecated_blockAttributes = { 24775 content: { 24776 type: 'string', 24777 source: 'html', 24778 selector: 'pre', 24779 default: '' 24780 }, 24781 textAlign: { 24782 type: 'string' 24783 } 24784 }; 24785 const verse_deprecated_deprecated = [{ 24786 attributes: verse_deprecated_blockAttributes, 24787 24788 save({ 24789 attributes 24790 }) { 24791 const { 24792 textAlign, 24793 content 24794 } = attributes; 24795 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 24796 tagName: "pre", 24797 style: { 24798 textAlign 24799 }, 24800 value: content 24801 }); 24802 } 24803 24804 }]; 24805 /* harmony default export */ var verse_deprecated = (verse_deprecated_deprecated); 24806 24807 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/edit.js 24808 24809 24810 24811 /** 24812 * External dependencies 24813 */ 24814 24815 /** 24816 * WordPress dependencies 24817 */ 24818 24819 24820 24821 function VerseEdit({ 24822 attributes, 24823 setAttributes, 24824 mergeBlocks, 24825 onRemove 24826 }) { 24827 const { 24828 textAlign, 24829 content 24830 } = attributes; 24831 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 24832 className: classnames_default()({ 24833 [`has-text-align-${textAlign}`]: textAlign 24834 }) 24835 }); 24836 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentToolbar"], { 24837 value: textAlign, 24838 onChange: nextAlign => { 24839 setAttributes({ 24840 textAlign: nextAlign 24841 }); 24842 } 24843 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 24844 tagName: "pre", 24845 identifier: "content", 24846 preserveWhiteSpace: true, 24847 value: content, 24848 onChange: nextContent => { 24849 setAttributes({ 24850 content: nextContent 24851 }); 24852 }, 24853 "aria-label": Object(external_wp_i18n_["__"])('Verse text'), 24854 placeholder: Object(external_wp_i18n_["__"])('Write verse…'), 24855 onRemove: onRemove, 24856 onMerge: mergeBlocks, 24857 textAlign: textAlign 24858 }, blockProps, { 24859 __unstablePastePlainText: true 24860 }))); 24861 } 24862 24863 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/save.js 24864 24865 24866 /** 24867 * External dependencies 24868 */ 24869 24870 /** 24871 * WordPress dependencies 24872 */ 24873 24874 24875 function verse_save_save({ 24876 attributes 24877 }) { 24878 const { 24879 textAlign, 24880 content 24881 } = attributes; 24882 const className = classnames_default()({ 24883 [`has-text-align-${textAlign}`]: textAlign 24884 }); 24885 return Object(external_wp_element_["createElement"])("pre", external_wp_blockEditor_["useBlockProps"].save({ 24886 className 24887 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 24888 value: content 24889 })); 24890 } 24891 24892 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/transforms.js 24893 /** 24894 * WordPress dependencies 24895 */ 24896 24897 const verse_transforms_transforms = { 24898 from: [{ 24899 type: 'block', 24900 blocks: ['core/paragraph'], 24901 transform: attributes => Object(external_wp_blocks_["createBlock"])('core/verse', attributes) 24902 }], 24903 to: [{ 24904 type: 'block', 24905 blocks: ['core/paragraph'], 24906 transform: attributes => Object(external_wp_blocks_["createBlock"])('core/paragraph', attributes) 24907 }] 24908 }; 24909 /* harmony default export */ var verse_transforms = (verse_transforms_transforms); 24910 24911 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/verse/index.js 24912 /** 24913 * WordPress dependencies 24914 */ 24915 24916 24917 /** 24918 * Internal dependencies 24919 */ 24920 24921 24922 24923 const verse_metadata = { 24924 apiVersion: 2, 24925 name: "core/verse", 24926 title: "Verse", 24927 category: "text", 24928 description: "Insert poetry. Use special spacing formats. Or quote song lyrics.", 24929 keywords: ["poetry", "poem"], 24930 textdomain: "default", 24931 attributes: { 24932 content: { 24933 type: "string", 24934 source: "html", 24935 selector: "pre", 24936 "default": "", 24937 __unstablePreserveWhiteSpace: true, 24938 __experimentalRole: "content" 24939 }, 24940 textAlign: { 24941 type: "string" 24942 } 24943 }, 24944 supports: { 24945 anchor: true, 24946 color: { 24947 gradients: true, 24948 link: true 24949 }, 24950 typography: { 24951 fontSize: true, 24952 __experimentalFontFamily: true 24953 }, 24954 spacing: { 24955 padding: true 24956 } 24957 }, 24958 style: "wp-block-verse", 24959 editorStyle: "wp-block-verse-editor" 24960 }; 24961 24962 24963 const { 24964 name: verse_name 24965 } = verse_metadata; 24966 24967 const verse_settings = { 24968 icon: library_verse, 24969 example: { 24970 attributes: { 24971 /* eslint-disable @wordpress/i18n-no-collapsible-whitespace */ 24972 // translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work. 24973 content: Object(external_wp_i18n_["__"])('WHAT was he doing, the great god Pan,\n Down in the reeds by the river?\nSpreading ruin and scattering ban,\nSplashing and paddling with hoofs of a goat,\nAnd breaking the golden lilies afloat\n With the dragon-fly on the river.') 24974 /* eslint-enable @wordpress/i18n-no-collapsible-whitespace */ 24975 24976 } 24977 }, 24978 transforms: verse_transforms, 24979 deprecated: verse_deprecated, 24980 24981 merge(attributes, attributesToMerge) { 24982 return { 24983 content: attributes.content + attributesToMerge.content 24984 }; 24985 }, 24986 24987 edit: VerseEdit, 24988 save: verse_save_save 24989 }; 24990 24991 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/video.js 24992 24993 24994 /** 24995 * WordPress dependencies 24996 */ 24997 24998 const video_video = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 24999 viewBox: "0 0 24 24", 25000 xmlns: "http://www.w3.org/2000/svg" 25001 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 25002 d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z" 25003 })); 25004 /* harmony default export */ var library_video = (video_video); 25005 25006 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/edit-common-settings.js 25007 25008 25009 /** 25010 * WordPress dependencies 25011 */ 25012 25013 25014 25015 const options = [{ 25016 value: 'auto', 25017 label: Object(external_wp_i18n_["__"])('Auto') 25018 }, { 25019 value: 'metadata', 25020 label: Object(external_wp_i18n_["__"])('Metadata') 25021 }, { 25022 value: 'none', 25023 label: Object(external_wp_i18n_["__"])('None') 25024 }]; 25025 25026 const VideoSettings = ({ 25027 setAttributes, 25028 attributes 25029 }) => { 25030 const { 25031 autoplay, 25032 controls, 25033 loop, 25034 muted, 25035 playsInline, 25036 preload 25037 } = attributes; 25038 25039 const autoPlayHelpText = Object(external_wp_i18n_["__"])('Autoplay may cause usability issues for some users.'); 25040 25041 const getAutoplayHelp = external_wp_element_["Platform"].select({ 25042 web: Object(external_wp_element_["useCallback"])(checked => { 25043 return checked ? autoPlayHelpText : null; 25044 }, []), 25045 native: autoPlayHelpText 25046 }); 25047 const toggleFactory = Object(external_wp_element_["useMemo"])(() => { 25048 const toggleAttribute = attribute => { 25049 return newValue => { 25050 setAttributes({ 25051 [attribute]: newValue 25052 }); 25053 }; 25054 }; 25055 25056 return { 25057 autoplay: toggleAttribute('autoplay'), 25058 loop: toggleAttribute('loop'), 25059 muted: toggleAttribute('muted'), 25060 controls: toggleAttribute('controls'), 25061 playsInline: toggleAttribute('playsInline') 25062 }; 25063 }, []); 25064 const onChangePreload = Object(external_wp_element_["useCallback"])(value => { 25065 setAttributes({ 25066 preload: value 25067 }); 25068 }, []); 25069 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25070 label: Object(external_wp_i18n_["__"])('Autoplay'), 25071 onChange: toggleFactory.autoplay, 25072 checked: autoplay, 25073 help: getAutoplayHelp 25074 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25075 label: Object(external_wp_i18n_["__"])('Loop'), 25076 onChange: toggleFactory.loop, 25077 checked: loop 25078 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25079 label: Object(external_wp_i18n_["__"])('Muted'), 25080 onChange: toggleFactory.muted, 25081 checked: muted 25082 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25083 label: Object(external_wp_i18n_["__"])('Playback controls'), 25084 onChange: toggleFactory.controls, 25085 checked: controls 25086 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25087 label: Object(external_wp_i18n_["__"])('Play inline'), 25088 onChange: toggleFactory.playsInline, 25089 checked: playsInline 25090 }), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 25091 label: Object(external_wp_i18n_["__"])('Preload'), 25092 value: preload, 25093 onChange: onChangePreload, 25094 options: options, 25095 hideCancelButton: true 25096 })); 25097 }; 25098 25099 /* harmony default export */ var edit_common_settings = (VideoSettings); 25100 25101 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/media.js 25102 var library_media = __webpack_require__("rH4q"); 25103 25104 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/tracks-editor.js 25105 25106 25107 /** 25108 * WordPress dependencies 25109 */ 25110 25111 25112 25113 25114 25115 25116 const ALLOWED_TYPES = ['text/vtt']; 25117 const DEFAULT_KIND = 'subtitles'; 25118 const KIND_OPTIONS = [{ 25119 label: Object(external_wp_i18n_["__"])('Subtitles'), 25120 value: 'subtitles' 25121 }, { 25122 label: Object(external_wp_i18n_["__"])('Captions'), 25123 value: 'captions' 25124 }, { 25125 label: Object(external_wp_i18n_["__"])('Descriptions'), 25126 value: 'descriptions' 25127 }, { 25128 label: Object(external_wp_i18n_["__"])('Chapters'), 25129 value: 'chapters' 25130 }, { 25131 label: Object(external_wp_i18n_["__"])('Metadata'), 25132 value: 'metadata' 25133 }]; 25134 const captionIcon = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 25135 width: "18", 25136 height: "14", 25137 viewBox: "0 0 18 14", 25138 role: "img", 25139 fill: "none" 25140 }, Object(external_wp_element_["createElement"])(external_wp_components_["Rect"], { 25141 x: "0.75", 25142 y: "0.75", 25143 width: "16.5", 25144 height: "12.5", 25145 rx: "1.25", 25146 stroke: "black", 25147 strokeWidth: "1.5", 25148 fill: "none" 25149 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 25150 d: "M3 7H15", 25151 stroke: "black", 25152 strokeWidth: "1.5" 25153 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 25154 d: "M3 10L15 10", 25155 stroke: "black", 25156 strokeWidth: "1.5" 25157 })); 25158 25159 function TrackList({ 25160 tracks, 25161 onEditPress 25162 }) { 25163 let content; 25164 25165 if (tracks.length === 0) { 25166 content = Object(external_wp_element_["createElement"])("p", { 25167 className: "block-library-video-tracks-editor__tracks-informative-message" 25168 }, Object(external_wp_i18n_["__"])('Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.')); 25169 } else { 25170 content = tracks.map((track, index) => { 25171 return Object(external_wp_element_["createElement"])("div", { 25172 key: index, 25173 className: "block-library-video-tracks-editor__track-list-track" 25174 }, Object(external_wp_element_["createElement"])("span", null, track.label, " "), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 25175 isTertiary: true, 25176 onClick: () => onEditPress(index), 25177 "aria-label": Object(external_wp_i18n_["sprintf"])( 25178 /* translators: %s: Label of the video text track e.g: "French subtitles" */ 25179 Object(external_wp_i18n_["__"])('Edit %s'), track.label) 25180 }, Object(external_wp_i18n_["__"])('Edit'))); 25181 }); 25182 } 25183 25184 return Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { 25185 label: Object(external_wp_i18n_["__"])('Text tracks'), 25186 className: "block-library-video-tracks-editor__track-list" 25187 }, content); 25188 } 25189 25190 function SingleTrackEditor({ 25191 track, 25192 onChange, 25193 onClose, 25194 onRemove 25195 }) { 25196 const { 25197 src = '', 25198 label = '', 25199 srcLang = '', 25200 kind = DEFAULT_KIND 25201 } = track; 25202 const fileName = src.startsWith('blob:') ? '' : src.substring(src.lastIndexOf('/') + 1); 25203 return Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], null, Object(external_wp_element_["createElement"])("div", { 25204 className: "block-library-video-tracks-editor__single-track-editor" 25205 }, Object(external_wp_element_["createElement"])("span", { 25206 className: "block-library-video-tracks-editor__single-track-editor-edit-track-label" 25207 }, Object(external_wp_i18n_["__"])('Edit track')), Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('File'), ": ", Object(external_wp_element_["createElement"])("b", null, fileName)), Object(external_wp_element_["createElement"])("div", { 25208 className: "block-library-video-tracks-editor__single-track-editor-label-language" 25209 }, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"] 25210 /* eslint-disable jsx-a11y/no-autofocus */ 25211 , { 25212 autoFocus: true 25213 /* eslint-enable jsx-a11y/no-autofocus */ 25214 , 25215 onChange: newLabel => onChange({ ...track, 25216 label: newLabel 25217 }), 25218 label: Object(external_wp_i18n_["__"])('Label'), 25219 value: label, 25220 help: Object(external_wp_i18n_["__"])('Title of track') 25221 }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 25222 onChange: newSrcLang => onChange({ ...track, 25223 srcLang: newSrcLang 25224 }), 25225 label: Object(external_wp_i18n_["__"])('Source language'), 25226 value: srcLang, 25227 help: Object(external_wp_i18n_["__"])('Language tag (en, fr, etc.)') 25228 })), Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 25229 className: "block-library-video-tracks-editor__single-track-editor-kind-select", 25230 options: KIND_OPTIONS, 25231 value: kind, 25232 label: Object(external_wp_i18n_["__"])('Kind'), 25233 onChange: newKind => { 25234 onChange({ ...track, 25235 kind: newKind 25236 }); 25237 } 25238 }), Object(external_wp_element_["createElement"])("div", { 25239 className: "block-library-video-tracks-editor__single-track-editor-buttons-container" 25240 }, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 25241 isSecondary: true, 25242 onClick: () => { 25243 const changes = {}; 25244 let hasChanges = false; 25245 25246 if (label === '') { 25247 changes.label = Object(external_wp_i18n_["__"])('English'); 25248 hasChanges = true; 25249 } 25250 25251 if (srcLang === '') { 25252 changes.srcLang = 'en'; 25253 hasChanges = true; 25254 } 25255 25256 if (track.kind === undefined) { 25257 changes.kind = DEFAULT_KIND; 25258 hasChanges = true; 25259 } 25260 25261 if (hasChanges) { 25262 onChange({ ...track, 25263 ...changes 25264 }); 25265 } 25266 25267 onClose(); 25268 } 25269 }, Object(external_wp_i18n_["__"])('Close')), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 25270 isDestructive: true, 25271 isLink: true, 25272 onClick: onRemove 25273 }, Object(external_wp_i18n_["__"])('Remove track'))))); 25274 } 25275 25276 function TracksEditor({ 25277 tracks = [], 25278 onChange 25279 }) { 25280 const mediaUpload = Object(external_wp_data_["useSelect"])(select => { 25281 return select(external_wp_blockEditor_["store"]).getSettings().mediaUpload; 25282 }, []); 25283 const [trackBeingEdited, setTrackBeingEdited] = Object(external_wp_element_["useState"])(null); 25284 25285 if (!mediaUpload) { 25286 return null; 25287 } 25288 25289 return Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { 25290 contentClassName: "block-library-video-tracks-editor", 25291 renderToggle: ({ 25292 isOpen, 25293 onToggle 25294 }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 25295 label: Object(external_wp_i18n_["__"])('Text tracks'), 25296 showTooltip: true, 25297 "aria-expanded": isOpen, 25298 "aria-haspopup": "true", 25299 onClick: onToggle, 25300 icon: captionIcon 25301 }), 25302 renderContent: ({}) => { 25303 if (trackBeingEdited !== null) { 25304 return Object(external_wp_element_["createElement"])(SingleTrackEditor, { 25305 track: tracks[trackBeingEdited], 25306 onChange: newTrack => { 25307 const newTracks = [...tracks]; 25308 newTracks[trackBeingEdited] = newTrack; 25309 onChange(newTracks); 25310 }, 25311 onClose: () => setTrackBeingEdited(null), 25312 onRemove: () => { 25313 onChange(tracks.filter((_track, index) => index !== trackBeingEdited)); 25314 setTrackBeingEdited(null); 25315 } 25316 }); 25317 } 25318 25319 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["NavigableMenu"], null, Object(external_wp_element_["createElement"])(TrackList, { 25320 tracks: tracks, 25321 onEditPress: setTrackBeingEdited 25322 }), Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], { 25323 className: "block-library-video-tracks-editor__add-tracks-container", 25324 label: Object(external_wp_i18n_["__"])('Add tracks') 25325 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaUpload"], { 25326 onSelect: ({ 25327 url 25328 }) => { 25329 const trackIndex = tracks.length; 25330 onChange([...tracks, { 25331 src: url 25332 }]); 25333 setTrackBeingEdited(trackIndex); 25334 }, 25335 allowedTypes: ALLOWED_TYPES, 25336 render: ({ 25337 open 25338 }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 25339 icon: library_media["a" /* default */], 25340 onClick: open 25341 }, Object(external_wp_i18n_["__"])('Open Media Library')) 25342 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaUploadCheck"], null, Object(external_wp_element_["createElement"])(external_wp_components_["FormFileUpload"], { 25343 onChange: event => { 25344 const files = event.target.files; 25345 const trackIndex = tracks.length; 25346 mediaUpload({ 25347 allowedTypes: ALLOWED_TYPES, 25348 filesList: files, 25349 onFileChange: ([{ 25350 url 25351 }]) => { 25352 const newTracks = [...tracks]; 25353 25354 if (!newTracks[trackIndex]) { 25355 newTracks[trackIndex] = {}; 25356 } 25357 25358 newTracks[trackIndex] = { ...tracks[trackIndex], 25359 src: url 25360 }; 25361 onChange(newTracks); 25362 setTrackBeingEdited(trackIndex); 25363 } 25364 }); 25365 }, 25366 accept: ".vtt,text/vtt", 25367 render: ({ 25368 openFileDialog 25369 }) => { 25370 return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 25371 icon: upload["a" /* default */], 25372 onClick: () => { 25373 openFileDialog(); 25374 } 25375 }, Object(external_wp_i18n_["__"])('Upload')); 25376 } 25377 }))))); 25378 } 25379 }); 25380 } 25381 25382 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/tracks.js 25383 25384 25385 function Tracks({ 25386 tracks = [] 25387 }) { 25388 return tracks.map(track => { 25389 return Object(external_wp_element_["createElement"])("track", Object(esm_extends["a" /* default */])({ 25390 key: track.src 25391 }, track)); 25392 }); 25393 } 25394 25395 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/edit.js 25396 25397 25398 /** 25399 * External dependencies 25400 */ 25401 25402 /** 25403 * WordPress dependencies 25404 */ 25405 25406 25407 25408 25409 25410 25411 25412 25413 25414 25415 /** 25416 * Internal dependencies 25417 */ 25418 25419 25420 25421 25422 25423 const video_edit_ALLOWED_MEDIA_TYPES = ['video']; 25424 const VIDEO_POSTER_ALLOWED_MEDIA_TYPES = ['image']; 25425 25426 function VideoEdit({ 25427 isSelected, 25428 noticeUI, 25429 attributes, 25430 className, 25431 setAttributes, 25432 insertBlocksAfter, 25433 onReplace, 25434 noticeOperations 25435 }) { 25436 const instanceId = Object(external_wp_compose_["useInstanceId"])(VideoEdit); 25437 const videoPlayer = Object(external_wp_element_["useRef"])(); 25438 const posterImageButton = Object(external_wp_element_["useRef"])(); 25439 const { 25440 id, 25441 caption, 25442 controls, 25443 poster, 25444 src, 25445 tracks 25446 } = attributes; 25447 const isTemporaryVideo = !id && Object(external_wp_blob_["isBlobURL"])(src); 25448 const mediaUpload = Object(external_wp_data_["useSelect"])(select => select(external_wp_blockEditor_["store"]).getSettings().mediaUpload); 25449 Object(external_wp_element_["useEffect"])(() => { 25450 if (!id && Object(external_wp_blob_["isBlobURL"])(src)) { 25451 const file = Object(external_wp_blob_["getBlobByURL"])(src); 25452 25453 if (file) { 25454 mediaUpload({ 25455 filesList: [file], 25456 onFileChange: ([{ 25457 url 25458 }]) => { 25459 setAttributes({ 25460 src: url 25461 }); 25462 }, 25463 onError: message => { 25464 noticeOperations.createErrorNotice(message); 25465 }, 25466 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES 25467 }); 25468 } 25469 } 25470 }, []); 25471 Object(external_wp_element_["useEffect"])(() => { 25472 // Placeholder may be rendered. 25473 if (videoPlayer.current) { 25474 videoPlayer.current.load(); 25475 } 25476 }, [poster]); 25477 25478 function onSelectVideo(media) { 25479 if (!media || !media.url) { 25480 // in this case there was an error 25481 // previous attributes should be removed 25482 // because they may be temporary blob urls 25483 setAttributes({ 25484 src: undefined, 25485 id: undefined 25486 }); 25487 return; 25488 } // sets the block's attribute and updates the edit component from the 25489 // selected media 25490 25491 25492 setAttributes({ 25493 src: media.url, 25494 id: media.id 25495 }); 25496 } 25497 25498 function onSelectURL(newSrc) { 25499 if (newSrc !== src) { 25500 // Check if there's an embed block that handles this URL. 25501 const embedBlock = createUpgradedEmbedBlock({ 25502 attributes: { 25503 url: newSrc 25504 } 25505 }); 25506 25507 if (undefined !== embedBlock) { 25508 onReplace(embedBlock); 25509 return; 25510 } 25511 25512 setAttributes({ 25513 src: newSrc, 25514 id: undefined 25515 }); 25516 } 25517 } 25518 25519 function onUploadError(message) { 25520 noticeOperations.removeAllNotices(); 25521 noticeOperations.createErrorNotice(message); 25522 } 25523 25524 const classes = classnames_default()(className, { 25525 'is-transient': isTemporaryVideo 25526 }); 25527 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 25528 className: classes 25529 }); 25530 25531 if (!src) { 25532 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 25533 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 25534 icon: library_video 25535 }), 25536 onSelect: onSelectVideo, 25537 onSelectURL: onSelectURL, 25538 accept: "video/*", 25539 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES, 25540 value: attributes, 25541 notices: noticeUI, 25542 onError: onUploadError 25543 })); 25544 } 25545 25546 function onSelectPoster(image) { 25547 setAttributes({ 25548 poster: image.url 25549 }); 25550 } 25551 25552 function onRemovePoster() { 25553 setAttributes({ 25554 poster: '' 25555 }); // Move focus back to the Media Upload button. 25556 25557 this.posterImageButton.current.focus(); 25558 } 25559 25560 const videoPosterDescription = `video-block__poster-image-description-${instanceId}`; 25561 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 25562 group: "block" 25563 }, Object(external_wp_element_["createElement"])(TracksEditor, { 25564 tracks: tracks, 25565 onChange: newTracks => { 25566 setAttributes({ 25567 tracks: newTracks 25568 }); 25569 } 25570 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 25571 group: "other" 25572 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 25573 mediaId: id, 25574 mediaURL: src, 25575 allowedTypes: video_edit_ALLOWED_MEDIA_TYPES, 25576 accept: "video/*", 25577 onSelect: onSelectVideo, 25578 onSelectURL: onSelectURL, 25579 onError: onUploadError 25580 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 25581 title: Object(external_wp_i18n_["__"])('Video settings') 25582 }, Object(external_wp_element_["createElement"])(edit_common_settings, { 25583 setAttributes: setAttributes, 25584 attributes: attributes 25585 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaUploadCheck"], null, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { 25586 className: "editor-video-poster-control" 25587 }, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"].VisualLabel, null, Object(external_wp_i18n_["__"])('Poster image')), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaUpload"], { 25588 title: Object(external_wp_i18n_["__"])('Select poster image'), 25589 onSelect: onSelectPoster, 25590 allowedTypes: VIDEO_POSTER_ALLOWED_MEDIA_TYPES, 25591 render: ({ 25592 open 25593 }) => Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 25594 isPrimary: true, 25595 onClick: open, 25596 ref: posterImageButton, 25597 "aria-describedby": videoPosterDescription 25598 }, !poster ? Object(external_wp_i18n_["__"])('Select') : Object(external_wp_i18n_["__"])('Replace')) 25599 }), Object(external_wp_element_["createElement"])("p", { 25600 id: videoPosterDescription, 25601 hidden: true 25602 }, poster ? Object(external_wp_i18n_["sprintf"])( 25603 /* translators: %s: poster image URL. */ 25604 Object(external_wp_i18n_["__"])('The current poster image url is %s'), poster) : Object(external_wp_i18n_["__"])('There is no poster image currently selected')), !!poster && Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 25605 onClick: onRemovePoster, 25606 isTertiary: true 25607 }, Object(external_wp_i18n_["__"])('Remove')))))), Object(external_wp_element_["createElement"])("figure", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], { 25608 isDisabled: !isSelected 25609 }, Object(external_wp_element_["createElement"])("video", { 25610 controls: controls, 25611 poster: poster, 25612 src: src, 25613 ref: videoPlayer 25614 }, Object(external_wp_element_["createElement"])(Tracks, { 25615 tracks: tracks 25616 }))), isTemporaryVideo && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), (!external_wp_blockEditor_["RichText"].isEmpty(caption) || isSelected) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 25617 tagName: "figcaption", 25618 "aria-label": Object(external_wp_i18n_["__"])('Video caption text'), 25619 placeholder: Object(external_wp_i18n_["__"])('Add caption'), 25620 value: caption, 25621 onChange: value => setAttributes({ 25622 caption: value 25623 }), 25624 inlineToolbar: true, 25625 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])('core/paragraph')) 25626 }))); 25627 } 25628 25629 /* harmony default export */ var video_edit = (Object(external_wp_components_["withNotices"])(VideoEdit)); 25630 25631 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/save.js 25632 25633 25634 /** 25635 * WordPress dependencies 25636 */ 25637 25638 /** 25639 * Internal dependencies 25640 */ 25641 25642 25643 function video_save_save({ 25644 attributes 25645 }) { 25646 const { 25647 autoplay, 25648 caption, 25649 controls, 25650 loop, 25651 muted, 25652 poster, 25653 preload, 25654 src, 25655 playsInline, 25656 tracks 25657 } = attributes; 25658 return Object(external_wp_element_["createElement"])("figure", external_wp_blockEditor_["useBlockProps"].save(), src && Object(external_wp_element_["createElement"])("video", { 25659 autoPlay: autoplay, 25660 controls: controls, 25661 loop: loop, 25662 muted: muted, 25663 poster: poster, 25664 preload: preload !== 'metadata' ? preload : undefined, 25665 src: src, 25666 playsInline: playsInline 25667 }, Object(external_wp_element_["createElement"])(Tracks, { 25668 tracks: tracks 25669 })), !external_wp_blockEditor_["RichText"].isEmpty(caption) && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"].Content, { 25670 tagName: "figcaption", 25671 value: caption 25672 })); 25673 } 25674 25675 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/transforms.js 25676 /** 25677 * WordPress dependencies 25678 */ 25679 25680 25681 const video_transforms_transforms = { 25682 from: [{ 25683 type: 'files', 25684 25685 isMatch(files) { 25686 return files.length === 1 && files[0].type.indexOf('video/') === 0; 25687 }, 25688 25689 transform(files) { 25690 const file = files[0]; // We don't need to upload the media directly here 25691 // It's already done as part of the `componentDidMount` 25692 // in the video block 25693 25694 const block = Object(external_wp_blocks_["createBlock"])('core/video', { 25695 src: Object(external_wp_blob_["createBlobURL"])(file) 25696 }); 25697 return block; 25698 } 25699 25700 }, { 25701 type: 'shortcode', 25702 tag: 'video', 25703 attributes: { 25704 src: { 25705 type: 'string', 25706 shortcode: ({ 25707 named: { 25708 src, 25709 mp4, 25710 m4v, 25711 webm, 25712 ogv, 25713 flv 25714 } 25715 }) => { 25716 return src || mp4 || m4v || webm || ogv || flv; 25717 } 25718 }, 25719 poster: { 25720 type: 'string', 25721 shortcode: ({ 25722 named: { 25723 poster 25724 } 25725 }) => { 25726 return poster; 25727 } 25728 }, 25729 loop: { 25730 type: 'string', 25731 shortcode: ({ 25732 named: { 25733 loop 25734 } 25735 }) => { 25736 return loop; 25737 } 25738 }, 25739 autoplay: { 25740 type: 'string', 25741 shortcode: ({ 25742 named: { 25743 autoplay 25744 } 25745 }) => { 25746 return autoplay; 25747 } 25748 }, 25749 preload: { 25750 type: 'string', 25751 shortcode: ({ 25752 named: { 25753 preload 25754 } 25755 }) => { 25756 return preload; 25757 } 25758 } 25759 } 25760 }] 25761 }; 25762 /* harmony default export */ var video_transforms = (video_transforms_transforms); 25763 25764 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/video/index.js 25765 /** 25766 * WordPress dependencies 25767 */ 25768 25769 25770 /** 25771 * Internal dependencies 25772 */ 25773 25774 25775 const video_metadata = { 25776 apiVersion: 2, 25777 name: "core/video", 25778 title: "Video", 25779 category: "media", 25780 description: "Embed a video from your media library or upload a new one.", 25781 keywords: ["movie"], 25782 textdomain: "default", 25783 attributes: { 25784 autoplay: { 25785 type: "boolean", 25786 source: "attribute", 25787 selector: "video", 25788 attribute: "autoplay" 25789 }, 25790 caption: { 25791 type: "string", 25792 source: "html", 25793 selector: "figcaption" 25794 }, 25795 controls: { 25796 type: "boolean", 25797 source: "attribute", 25798 selector: "video", 25799 attribute: "controls", 25800 "default": true 25801 }, 25802 id: { 25803 type: "number" 25804 }, 25805 loop: { 25806 type: "boolean", 25807 source: "attribute", 25808 selector: "video", 25809 attribute: "loop" 25810 }, 25811 muted: { 25812 type: "boolean", 25813 source: "attribute", 25814 selector: "video", 25815 attribute: "muted" 25816 }, 25817 poster: { 25818 type: "string", 25819 source: "attribute", 25820 selector: "video", 25821 attribute: "poster" 25822 }, 25823 preload: { 25824 type: "string", 25825 source: "attribute", 25826 selector: "video", 25827 attribute: "preload", 25828 "default": "metadata" 25829 }, 25830 src: { 25831 type: "string", 25832 source: "attribute", 25833 selector: "video", 25834 attribute: "src" 25835 }, 25836 playsInline: { 25837 type: "boolean", 25838 source: "attribute", 25839 selector: "video", 25840 attribute: "playsinline" 25841 }, 25842 tracks: { 25843 type: "array", 25844 items: { 25845 type: "object" 25846 }, 25847 "default": [] 25848 } 25849 }, 25850 supports: { 25851 anchor: true, 25852 align: true 25853 }, 25854 editorStyle: "wp-block-video-editor", 25855 style: "wp-block-video" 25856 }; 25857 25858 25859 const { 25860 name: video_name 25861 } = video_metadata; 25862 25863 const video_settings = { 25864 icon: library_video, 25865 example: { 25866 attributes: { 25867 src: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm', 25868 // translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block. 25869 caption: Object(external_wp_i18n_["__"])('Wood thrush singing in Central Park, NYC.') 25870 } 25871 }, 25872 transforms: video_transforms, 25873 edit: video_edit, 25874 save: video_save_save 25875 }; 25876 25877 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/tag.js 25878 25879 25880 /** 25881 * WordPress dependencies 25882 */ 25883 25884 const tag_tag = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 25885 xmlns: "http://www.w3.org/2000/svg", 25886 viewBox: "0 0 24 24" 25887 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 25888 d: "M20.1 11.2l-6.7-6.7c-.1-.1-.3-.2-.5-.2H5c-.4-.1-.8.3-.8.7v7.8c0 .2.1.4.2.5l6.7 6.7c.2.2.5.4.7.5s.6.2.9.2c.3 0 .6-.1.9-.2.3-.1.5-.3.8-.5l5.6-5.6c.4-.4.7-1 .7-1.6.1-.6-.2-1.2-.6-1.6zM19 13.4L13.4 19c-.1.1-.2.1-.3.2-.2.1-.4.1-.6 0-.1 0-.2-.1-.3-.2l-6.5-6.5V5.8h6.8l6.5 6.5c.2.2.2.4.2.6 0 .1 0 .3-.2.5zM9 8c-.6 0-1 .4-1 1s.4 1 1 1 1-.4 1-1-.4-1-1-1z" 25889 })); 25890 /* harmony default export */ var library_tag = (tag_tag); 25891 25892 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/tag-cloud/edit.js 25893 25894 25895 /** 25896 * External dependencies 25897 */ 25898 25899 /** 25900 * WordPress dependencies 25901 */ 25902 25903 25904 25905 25906 25907 25908 25909 25910 function TagCloudEdit({ 25911 attributes, 25912 setAttributes, 25913 taxonomies 25914 }) { 25915 const { 25916 taxonomy, 25917 showTagCounts 25918 } = attributes; 25919 25920 const getTaxonomyOptions = () => { 25921 const selectOption = { 25922 label: Object(external_wp_i18n_["__"])('- Select -'), 25923 value: '', 25924 disabled: true 25925 }; 25926 const taxonomyOptions = Object(external_lodash_["map"])(Object(external_lodash_["filter"])(taxonomies, 'show_cloud'), item => { 25927 return { 25928 value: item.slug, 25929 label: item.name 25930 }; 25931 }); 25932 return [selectOption, ...taxonomyOptions]; 25933 }; 25934 25935 const inspectorControls = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 25936 title: Object(external_wp_i18n_["__"])('Tag Cloud settings') 25937 }, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 25938 label: Object(external_wp_i18n_["__"])('Taxonomy'), 25939 options: getTaxonomyOptions(), 25940 value: taxonomy, 25941 onChange: selectedTaxonomy => setAttributes({ 25942 taxonomy: selectedTaxonomy 25943 }) 25944 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 25945 label: Object(external_wp_i18n_["__"])('Show post counts'), 25946 checked: showTagCounts, 25947 onChange: () => setAttributes({ 25948 showTagCounts: !showTagCounts 25949 }) 25950 }))); 25951 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, inspectorControls, Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])(external_wp_serverSideRender_default.a, { 25952 key: "tag-cloud", 25953 block: "core/tag-cloud", 25954 attributes: attributes 25955 }))); 25956 } 25957 25958 /* harmony default export */ var tag_cloud_edit = (Object(external_wp_data_["withSelect"])(select => { 25959 return { 25960 taxonomies: select(external_wp_coreData_["store"]).getTaxonomies({ 25961 per_page: -1 25962 }) 25963 }; 25964 })(TagCloudEdit)); 25965 25966 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/tag-cloud/index.js 25967 /** 25968 * WordPress dependencies 25969 */ 25970 25971 /** 25972 * Internal dependencies 25973 */ 25974 25975 const tag_cloud_metadata = { 25976 apiVersion: 2, 25977 name: "core/tag-cloud", 25978 title: "Tag Cloud", 25979 category: "widgets", 25980 description: "A cloud of your most used tags.", 25981 textdomain: "default", 25982 attributes: { 25983 taxonomy: { 25984 type: "string", 25985 "default": "post_tag" 25986 }, 25987 showTagCounts: { 25988 type: "boolean", 25989 "default": false 25990 } 25991 }, 25992 supports: { 25993 html: false, 25994 align: true 25995 }, 25996 editorStyle: "wp-block-tag-cloud-editor" 25997 }; 25998 25999 const { 26000 name: tag_cloud_name 26001 } = tag_cloud_metadata; 26002 26003 const tag_cloud_settings = { 26004 icon: library_tag, 26005 example: {}, 26006 edit: tag_cloud_edit 26007 }; 26008 26009 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/classic.js 26010 26011 26012 /** 26013 * WordPress dependencies 26014 */ 26015 26016 const classic = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26017 viewBox: "0 0 24 24", 26018 xmlns: "http://www.w3.org/2000/svg" 26019 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26020 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" 26021 })); 26022 /* harmony default export */ var library_classic = (classic); 26023 26024 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/convert-to-blocks-button.js 26025 26026 26027 /** 26028 * WordPress dependencies 26029 */ 26030 26031 26032 26033 26034 26035 26036 const ConvertToBlocksButton = ({ 26037 clientId 26038 }) => { 26039 const { 26040 replaceBlocks 26041 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 26042 const block = Object(external_wp_data_["useSelect"])(select => { 26043 return select(external_wp_blockEditor_["store"]).getBlock(clientId); 26044 }, [clientId]); 26045 return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 26046 onClick: () => replaceBlocks(block.clientId, Object(external_wp_blocks_["rawHandler"])({ 26047 HTML: Object(external_wp_blocks_["serialize"])(block) 26048 })) 26049 }, Object(external_wp_i18n_["__"])('Convert to blocks')); 26050 }; 26051 26052 /* harmony default export */ var convert_to_blocks_button = (ConvertToBlocksButton); 26053 26054 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/edit.js 26055 26056 26057 /** 26058 * External dependencies 26059 */ 26060 26061 /** 26062 * WordPress dependencies 26063 */ 26064 26065 26066 26067 26068 26069 26070 /** 26071 * Internal dependencies 26072 */ 26073 26074 26075 const { 26076 wp: edit_wp 26077 } = window; 26078 26079 function isTmceEmpty(editor) { 26080 // When tinyMce is empty the content seems to be: 26081 // <p><br data-mce-bogus="1"></p> 26082 // avoid expensive checks for large documents 26083 const body = editor.getBody(); 26084 26085 if (body.childNodes.length > 1) { 26086 return false; 26087 } else if (body.childNodes.length === 0) { 26088 return true; 26089 } 26090 26091 if (body.childNodes[0].childNodes.length > 1) { 26092 return false; 26093 } 26094 26095 return /^\n?$/.test(body.innerText || body.textContent); 26096 } 26097 26098 function ClassicEdit({ 26099 clientId, 26100 attributes: { 26101 content 26102 }, 26103 setAttributes, 26104 onReplace 26105 }) { 26106 const didMount = Object(external_wp_element_["useRef"])(false); 26107 Object(external_wp_element_["useEffect"])(() => { 26108 if (!didMount.current) { 26109 return; 26110 } 26111 26112 const editor = window.tinymce.get(`editor-${clientId}`); 26113 const currentContent = editor === null || editor === void 0 ? void 0 : editor.getContent(); 26114 26115 if (currentContent !== content) { 26116 editor.setContent(content || ''); 26117 } 26118 }, [content]); 26119 Object(external_wp_element_["useEffect"])(() => { 26120 const { 26121 baseURL, 26122 suffix 26123 } = window.wpEditorL10n.tinymce; 26124 didMount.current = true; 26125 window.tinymce.EditorManager.overrideDefaults({ 26126 base_url: baseURL, 26127 suffix 26128 }); 26129 26130 function onSetup(editor) { 26131 let bookmark; 26132 26133 if (content) { 26134 editor.on('loadContent', () => editor.setContent(content)); 26135 } 26136 26137 editor.on('blur', () => { 26138 bookmark = editor.selection.getBookmark(2, true); // 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. 26139 // This causes a scroll to the top of editor content on return from some content updating dialogs so tracking 26140 // scroll position until this is fixed in core. 26141 26142 const scrollContainer = document.querySelector('.interface-interface-skeleton__content'); 26143 const scrollPosition = scrollContainer.scrollTop; 26144 setAttributes({ 26145 content: editor.getContent() 26146 }); 26147 editor.once('focus', () => { 26148 if (bookmark) { 26149 editor.selection.moveToBookmark(bookmark); 26150 26151 if (scrollContainer.scrollTop !== scrollPosition) { 26152 scrollContainer.scrollTop = scrollPosition; 26153 } 26154 } 26155 }); 26156 return false; 26157 }); 26158 editor.on('mousedown touchstart', () => { 26159 bookmark = null; 26160 }); 26161 const debouncedOnChange = Object(external_lodash_["debounce"])(() => { 26162 const value = editor.getContent(); 26163 26164 if (value !== editor._lastChange) { 26165 editor._lastChange = value; 26166 setAttributes({ 26167 content: value 26168 }); 26169 } 26170 }, 250); 26171 editor.on('Paste Change input Undo Redo', debouncedOnChange); // We need to cancel the debounce call because when we remove 26172 // the editor (onUnmount) this callback is executed in 26173 // another tick. This results in setting the content to empty. 26174 26175 editor.on('remove', debouncedOnChange.cancel); 26176 editor.on('keydown', event => { 26177 if (external_wp_keycodes_["isKeyboardEvent"].primary(event, 'z')) { 26178 // Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected 26179 event.stopPropagation(); 26180 } 26181 26182 if ((event.keyCode === external_wp_keycodes_["BACKSPACE"] || event.keyCode === external_wp_keycodes_["DELETE"]) && isTmceEmpty(editor)) { 26183 // delete the block 26184 onReplace([]); 26185 event.preventDefault(); 26186 event.stopImmediatePropagation(); 26187 } 26188 26189 const { 26190 altKey 26191 } = event; 26192 /* 26193 * Prevent Mousetrap from kicking in: TinyMCE already uses its own 26194 * `alt+f10` shortcut to focus its toolbar. 26195 */ 26196 26197 if (altKey && event.keyCode === external_wp_keycodes_["F10"]) { 26198 event.stopPropagation(); 26199 } 26200 }); 26201 editor.on('init', () => { 26202 const rootNode = editor.getBody(); // Create the toolbar by refocussing the editor. 26203 26204 if (rootNode.ownerDocument.activeElement === rootNode) { 26205 rootNode.blur(); 26206 editor.focus(); 26207 } 26208 }); 26209 } 26210 26211 function initialize() { 26212 const { 26213 settings 26214 } = window.wpEditorL10n.tinymce; 26215 edit_wp.oldEditor.initialize(`editor-${clientId}`, { 26216 tinymce: { ...settings, 26217 inline: true, 26218 content_css: false, 26219 fixed_toolbar_container: `#toolbar-${clientId}`, 26220 setup: onSetup 26221 } 26222 }); 26223 } 26224 26225 function onReadyStateChange() { 26226 if (document.readyState === 'complete') { 26227 initialize(); 26228 } 26229 } 26230 26231 if (document.readyState === 'complete') { 26232 initialize(); 26233 } else { 26234 document.addEventListener('readystatechange', onReadyStateChange); 26235 } 26236 26237 return () => { 26238 document.removeEventListener('readystatechange', onReadyStateChange); 26239 edit_wp.oldEditor.remove(`editor-${clientId}`); 26240 }; 26241 }, []); 26242 26243 function focus() { 26244 const editor = window.tinymce.get(`editor-${clientId}`); 26245 26246 if (editor) { 26247 editor.focus(); 26248 } 26249 } 26250 26251 function onToolbarKeyDown(event) { 26252 // Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar. 26253 event.stopPropagation(); // Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar. 26254 26255 event.nativeEvent.stopImmediatePropagation(); 26256 } // Disable reasons: 26257 // 26258 // jsx-a11y/no-static-element-interactions 26259 // - the toolbar itself is non-interactive, but must capture events 26260 // from the KeyboardShortcuts component to stop their propagation. 26261 26262 /* eslint-disable jsx-a11y/no-static-element-interactions */ 26263 26264 26265 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(convert_to_blocks_button, { 26266 clientId: clientId 26267 }))), Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), Object(external_wp_element_["createElement"])("div", { 26268 key: "toolbar", 26269 id: `toolbar-${clientId}`, 26270 className: "block-library-classic__toolbar", 26271 onClick: focus, 26272 "data-placeholder": Object(external_wp_i18n_["__"])('Classic'), 26273 onKeyDown: onToolbarKeyDown 26274 }), Object(external_wp_element_["createElement"])("div", { 26275 key: "editor", 26276 id: `editor-${clientId}`, 26277 className: "wp-block-freeform block-library-rich-text__tinymce" 26278 }))); 26279 /* eslint-enable jsx-a11y/no-static-element-interactions */ 26280 } 26281 26282 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/save.js 26283 26284 26285 /** 26286 * WordPress dependencies 26287 */ 26288 26289 function freeform_save_save({ 26290 attributes 26291 }) { 26292 const { 26293 content 26294 } = attributes; 26295 return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], null, content); 26296 } 26297 26298 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/freeform/index.js 26299 /** 26300 * WordPress dependencies 26301 */ 26302 26303 /** 26304 * Internal dependencies 26305 */ 26306 26307 26308 const freeform_metadata = { 26309 apiVersion: 2, 26310 name: "core/freeform", 26311 title: "Classic", 26312 category: "text", 26313 description: "Use the classic WordPress editor.", 26314 textdomain: "default", 26315 attributes: { 26316 content: { 26317 type: "string", 26318 source: "html" 26319 } 26320 }, 26321 supports: { 26322 className: false, 26323 customClassName: false, 26324 reusable: false 26325 }, 26326 editorStyle: "wp-block-freeform-editor" 26327 }; 26328 26329 const { 26330 name: freeform_name 26331 } = freeform_metadata; 26332 26333 const freeform_settings = { 26334 icon: library_classic, 26335 edit: ClassicEdit, 26336 save: freeform_save_save 26337 }; 26338 26339 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/share.js 26340 26341 26342 /** 26343 * WordPress dependencies 26344 */ 26345 26346 const share = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26347 viewBox: "0 0 24 24", 26348 xmlns: "http://www.w3.org/2000/svg" 26349 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26350 d: "M9 11.8l6.1-4.5c.1.4.4.7.9.7h2c.6 0 1-.4 1-1V5c0-.6-.4-1-1-1h-2c-.6 0-1 .4-1 1v.4l-6.4 4.8c-.2-.1-.4-.2-.6-.2H6c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h2c.2 0 .4-.1.6-.2l6.4 4.8v.4c0 .6.4 1 1 1h2c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-2c-.5 0-.8.3-.9.7L9 12.2v-.4z" 26351 })); 26352 /* harmony default export */ var library_share = (share); 26353 26354 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-links/deprecated.js 26355 26356 26357 /** 26358 * External dependencies 26359 */ 26360 26361 /** 26362 * WordPress dependencies 26363 */ 26364 26365 // Social Links block deprecations. 26366 26367 const social_links_deprecated_deprecated = [// V1. Remove CSS variable use for colors. 26368 { 26369 attributes: { 26370 iconColor: { 26371 type: 'string' 26372 }, 26373 customIconColor: { 26374 type: 'string' 26375 }, 26376 iconColorValue: { 26377 type: 'string' 26378 }, 26379 iconBackgroundColor: { 26380 type: 'string' 26381 }, 26382 customIconBackgroundColor: { 26383 type: 'string' 26384 }, 26385 iconBackgroundColorValue: { 26386 type: 'string' 26387 }, 26388 openInNewTab: { 26389 type: 'boolean', 26390 default: false 26391 }, 26392 size: { 26393 type: 'string' 26394 } 26395 }, 26396 providesContext: { 26397 openInNewTab: 'openInNewTab' 26398 }, 26399 supports: { 26400 align: ['left', 'center', 'right'], 26401 anchor: true 26402 }, 26403 save: props => { 26404 const { 26405 attributes: { 26406 iconBackgroundColorValue, 26407 iconColorValue, 26408 itemsJustification, 26409 size 26410 } 26411 } = props; 26412 const className = classnames_default()(size, { 26413 'has-icon-color': iconColorValue, 26414 'has-icon-background-color': iconBackgroundColorValue, 26415 [`items-justified-${itemsJustification}`]: itemsJustification 26416 }); 26417 const style = { 26418 '--wp--social-links--icon-color': iconColorValue, 26419 '--wp--social-links--icon-background-color': iconBackgroundColorValue 26420 }; 26421 return Object(external_wp_element_["createElement"])("ul", external_wp_blockEditor_["useBlockProps"].save({ 26422 className, 26423 style 26424 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 26425 } 26426 }]; 26427 /* harmony default export */ var social_links_deprecated = (social_links_deprecated_deprecated); 26428 26429 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-links/edit.js 26430 26431 26432 /** 26433 * External dependencies 26434 */ 26435 26436 /** 26437 * WordPress dependencies 26438 */ 26439 26440 26441 26442 26443 26444 26445 const social_links_edit_ALLOWED_BLOCKS = ['core/social-link']; 26446 const sizeOptions = [{ 26447 name: Object(external_wp_i18n_["__"])('Small'), 26448 value: 'has-small-icon-size' 26449 }, { 26450 name: Object(external_wp_i18n_["__"])('Normal'), 26451 value: 'has-normal-icon-size' 26452 }, { 26453 name: Object(external_wp_i18n_["__"])('Large'), 26454 value: 'has-large-icon-size' 26455 }, { 26456 name: Object(external_wp_i18n_["__"])('Huge'), 26457 value: 'has-huge-icon-size' 26458 }]; 26459 function SocialLinksEdit(props) { 26460 var _attributes$className; 26461 26462 const { 26463 attributes, 26464 iconBackgroundColor, 26465 iconColor, 26466 isSelected, 26467 setAttributes, 26468 setIconBackgroundColor, 26469 setIconColor 26470 } = props; 26471 const { 26472 iconBackgroundColorValue, 26473 iconColorValue, 26474 itemsJustification, 26475 openInNewTab, 26476 size 26477 } = attributes; // Remove icon background color if logos only style selected. 26478 26479 const logosOnly = ((_attributes$className = attributes.className) === null || _attributes$className === void 0 ? void 0 : _attributes$className.indexOf('is-style-logos-only')) >= 0; 26480 Object(external_wp_element_["useEffect"])(() => { 26481 if (logosOnly) { 26482 setAttributes({ 26483 iconBackgroundColor: undefined, 26484 customIconBackgroundColor: undefined, 26485 iconBackgroundColorValue: undefined 26486 }); 26487 } 26488 }, [logosOnly, setAttributes]); 26489 const SocialPlaceholder = Object(external_wp_element_["createElement"])("li", { 26490 className: "wp-block-social-links__social-placeholder" 26491 }, Object(external_wp_element_["createElement"])("div", { 26492 className: "wp-social-link" 26493 }), Object(external_wp_element_["createElement"])("div", { 26494 className: "wp-block-social-links__social-placeholder-icons" 26495 }, Object(external_wp_element_["createElement"])("div", { 26496 className: "wp-social-link wp-social-link-twitter" 26497 }), Object(external_wp_element_["createElement"])("div", { 26498 className: "wp-social-link wp-social-link-facebook" 26499 }), Object(external_wp_element_["createElement"])("div", { 26500 className: "wp-social-link wp-social-link-instagram" 26501 }))); 26502 const SelectedSocialPlaceholder = Object(external_wp_element_["createElement"])("li", { 26503 className: "wp-block-social-links__social-prompt" 26504 }, Object(external_wp_i18n_["__"])('Click plus to add')); // Fallback color values are used maintain selections in case switching 26505 // themes and named colors in palette do not match. 26506 26507 const className = classnames_default()(size, { 26508 'has-icon-color': iconColor.color || iconColorValue, 26509 'has-icon-background-color': iconBackgroundColor.color || iconBackgroundColorValue, 26510 [`items-justified-${itemsJustification}`]: itemsJustification 26511 }); 26512 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 26513 className 26514 }); 26515 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { 26516 allowedBlocks: social_links_edit_ALLOWED_BLOCKS, 26517 orientation: 'horizontal', 26518 placeholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder, 26519 templateLock: false, 26520 __experimentalAppenderTagName: 'li' 26521 }); 26522 const POPOVER_PROPS = { 26523 position: 'bottom right', 26524 isAlternate: true 26525 }; 26526 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 26527 group: "block" 26528 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["JustifyContentControl"], { 26529 allowedControls: ['left', 'center', 'right', 'space-between'], 26530 value: itemsJustification, 26531 onChange: value => setAttributes({ 26532 itemsJustification: value 26533 }), 26534 popoverProps: { 26535 position: 'bottom right', 26536 isAlternate: true 26537 } 26538 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 26539 group: "other" 26540 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { 26541 label: Object(external_wp_i18n_["__"])('Size'), 26542 text: Object(external_wp_i18n_["__"])('Size'), 26543 icon: null, 26544 popoverProps: POPOVER_PROPS 26545 }, ({ 26546 onClose 26547 }) => Object(external_wp_element_["createElement"])(external_wp_components_["MenuGroup"], null, sizeOptions.map(entry => { 26548 return Object(external_wp_element_["createElement"])(external_wp_components_["MenuItem"], { 26549 icon: (size === entry.value || !size && entry.value === 'has-normal-icon-size') && check["a" /* default */], 26550 isSelected: size === entry.value, 26551 key: entry.value, 26552 onClick: () => { 26553 setAttributes({ 26554 size: entry.value 26555 }); 26556 }, 26557 onClose: onClose, 26558 role: "menuitemradio" 26559 }, entry.name); 26560 })))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 26561 title: Object(external_wp_i18n_["__"])('Link settings') 26562 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 26563 label: Object(external_wp_i18n_["__"])('Open links in new tab'), 26564 checked: openInNewTab, 26565 onChange: () => setAttributes({ 26566 openInNewTab: !openInNewTab 26567 }) 26568 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PanelColorSettings"], { 26569 title: Object(external_wp_i18n_["__"])('Color'), 26570 colorSettings: [{ 26571 // Use custom attribute as fallback to prevent loss of named color selection when 26572 // switching themes to a new theme that does not have a matching named color. 26573 value: iconColor.color || iconColorValue, 26574 onChange: colorValue => { 26575 setIconColor(colorValue); 26576 setAttributes({ 26577 iconColorValue: colorValue 26578 }); 26579 }, 26580 label: Object(external_wp_i18n_["__"])('Icon color') 26581 }, !logosOnly && { 26582 // Use custom attribute as fallback to prevent loss of named color selection when 26583 // switching themes to a new theme that does not have a matching named color. 26584 value: iconBackgroundColor.color || iconBackgroundColorValue, 26585 onChange: colorValue => { 26586 setIconBackgroundColor(colorValue); 26587 setAttributes({ 26588 iconBackgroundColorValue: colorValue 26589 }); 26590 }, 26591 label: Object(external_wp_i18n_["__"])('Icon background color') 26592 }] 26593 }), !logosOnly && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["ContrastChecker"], { 26594 textColor: iconColorValue, 26595 backgroundColor: iconBackgroundColorValue, 26596 isLargeText: false 26597 })), Object(external_wp_element_["createElement"])("ul", innerBlocksProps)); 26598 } 26599 const iconColorAttributes = { 26600 iconColor: 'icon-color', 26601 iconBackgroundColor: 'icon-background-color' 26602 }; 26603 /* harmony default export */ var social_links_edit = (Object(external_wp_blockEditor_["withColors"])(iconColorAttributes)(SocialLinksEdit)); 26604 26605 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-links/save.js 26606 26607 26608 /** 26609 * External dependencies 26610 */ 26611 26612 /** 26613 * WordPress dependencies 26614 */ 26615 26616 26617 function social_links_save_save(props) { 26618 const { 26619 attributes: { 26620 iconBackgroundColorValue, 26621 iconColorValue, 26622 itemsJustification, 26623 size 26624 } 26625 } = props; 26626 const className = classnames_default()(size, { 26627 'has-icon-color': iconColorValue, 26628 'has-icon-background-color': iconBackgroundColorValue, 26629 [`items-justified-${itemsJustification}`]: itemsJustification 26630 }); 26631 return Object(external_wp_element_["createElement"])("ul", external_wp_blockEditor_["useBlockProps"].save({ 26632 className 26633 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 26634 } 26635 26636 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-links/index.js 26637 /** 26638 * WordPress dependencies 26639 */ 26640 26641 /** 26642 * Internal dependencies 26643 */ 26644 26645 26646 26647 const social_links_metadata = { 26648 apiVersion: 2, 26649 name: "core/social-links", 26650 title: "Social Icons", 26651 category: "widgets", 26652 description: "Display icons linking to your social media profiles or websites.", 26653 keywords: ["links"], 26654 textdomain: "default", 26655 attributes: { 26656 iconColor: { 26657 type: "string" 26658 }, 26659 customIconColor: { 26660 type: "string" 26661 }, 26662 iconColorValue: { 26663 type: "string" 26664 }, 26665 iconBackgroundColor: { 26666 type: "string" 26667 }, 26668 customIconBackgroundColor: { 26669 type: "string" 26670 }, 26671 iconBackgroundColorValue: { 26672 type: "string" 26673 }, 26674 openInNewTab: { 26675 type: "boolean", 26676 "default": false 26677 }, 26678 size: { 26679 type: "string" 26680 } 26681 }, 26682 providesContext: { 26683 openInNewTab: "openInNewTab", 26684 iconColorValue: "iconColorValue", 26685 iconBackgroundColorValue: "iconBackgroundColorValue" 26686 }, 26687 supports: { 26688 align: ["left", "center", "right"], 26689 anchor: true 26690 }, 26691 styles: [{ 26692 name: "default", 26693 label: "Default", 26694 isDefault: true 26695 }, { 26696 name: "logos-only", 26697 label: "Logos Only" 26698 }, { 26699 name: "pill-shape", 26700 label: "Pill Shape" 26701 }], 26702 editorStyle: "wp-block-social-links-editor", 26703 style: "wp-block-social-links" 26704 }; 26705 26706 const { 26707 name: social_links_name 26708 } = social_links_metadata; 26709 26710 const social_links_settings = { 26711 example: { 26712 innerBlocks: [{ 26713 name: 'core/social-link', 26714 attributes: { 26715 service: 'wordpress', 26716 url: 'https://wordpress.org' 26717 } 26718 }, { 26719 name: 'core/social-link', 26720 attributes: { 26721 service: 'facebook', 26722 url: 'https://www.facebook.com/WordPress/' 26723 } 26724 }, { 26725 name: 'core/social-link', 26726 attributes: { 26727 service: 'twitter', 26728 url: 'https://twitter.com/WordPress' 26729 } 26730 }] 26731 }, 26732 icon: library_share, 26733 edit: social_links_edit, 26734 save: social_links_save_save, 26735 deprecated: social_links_deprecated 26736 }; 26737 26738 // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/keyboard-return.js 26739 var keyboard_return = __webpack_require__("btIw"); 26740 26741 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/wordpress.js 26742 26743 26744 /** 26745 * WordPress dependencies 26746 */ 26747 26748 const WordPressIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26749 width: "24", 26750 height: "24", 26751 viewBox: "0 0 24 24", 26752 version: "1.1", 26753 xmlns: "http://www.w3.org/2000/svg" 26754 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26755 d: "M12.158,12.786L9.46,20.625c0.806,0.237,1.657,0.366,2.54,0.366c1.047,0,2.051-0.181,2.986-0.51 c-0.024-0.038-0.046-0.079-0.065-0.124L12.158,12.786z M3.009,12c0,3.559,2.068,6.634,5.067,8.092L3.788,8.341 C3.289,9.459,3.009,10.696,3.009,12z M18.069,11.546c0-1.112-0.399-1.881-0.741-2.48c-0.456-0.741-0.883-1.368-0.883-2.109 c0-0.826,0.627-1.596,1.51-1.596c0.04,0,0.078,0.005,0.116,0.007C16.472,3.904,14.34,3.009,12,3.009 c-3.141,0-5.904,1.612-7.512,4.052c0.211,0.007,0.41,0.011,0.579,0.011c0.94,0,2.396-0.114,2.396-0.114 C7.947,6.93,8.004,7.642,7.52,7.699c0,0-0.487,0.057-1.029,0.085l3.274,9.739l1.968-5.901l-1.401-3.838 C9.848,7.756,9.389,7.699,9.389,7.699C8.904,7.67,8.961,6.93,9.446,6.958c0,0,1.484,0.114,2.368,0.114 c0.94,0,2.397-0.114,2.397-0.114c0.485-0.028,0.542,0.684,0.057,0.741c0,0-0.488,0.057-1.029,0.085l3.249,9.665l0.897-2.996 C17.841,13.284,18.069,12.316,18.069,11.546z M19.889,7.686c0.039,0.286,0.06,0.593,0.06,0.924c0,0.912-0.171,1.938-0.684,3.22 l-2.746,7.94c2.673-1.558,4.47-4.454,4.47-7.771C20.991,10.436,20.591,8.967,19.889,7.686z M12,22C6.486,22,2,17.514,2,12 C2,6.486,6.486,2,12,2c5.514,0,10,4.486,10,10C22,17.514,17.514,22,12,22z" 26756 })); 26757 26758 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/fivehundredpx.js 26759 26760 26761 /** 26762 * WordPress dependencies 26763 */ 26764 26765 const FivehundredpxIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26766 width: "24", 26767 height: "24", 26768 viewBox: "0 0 24 24", 26769 version: "1.1" 26770 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26771 d: "M6.94026,15.1412c.00437.01213.108.29862.168.44064a6.55008,6.55008,0,1,0,6.03191-9.09557,6.68654,6.68654,0,0,0-2.58357.51467A8.53914,8.53914,0,0,0,8.21268,8.61344L8.209,8.61725V3.22948l9.0504-.00008c.32934-.0036.32934-.46353.32934-.61466s0-.61091-.33035-.61467L7.47248,2a.43.43,0,0,0-.43131.42692v7.58355c0,.24466.30476.42131.58793.4819.553.11812.68074-.05864.81617-.2457l.018-.02481A10.52673,10.52673,0,0,1,9.32258,9.258a5.35268,5.35268,0,1,1,7.58985,7.54976,5.417,5.417,0,0,1-3.80867,1.56365,5.17483,5.17483,0,0,1-2.69822-.74478l.00342-4.61111a2.79372,2.79372,0,0,1,.71372-1.78792,2.61611,2.61611,0,0,1,1.98282-.89477,2.75683,2.75683,0,0,1,1.95525.79477,2.66867,2.66867,0,0,1,.79656,1.909,2.724,2.724,0,0,1-2.75849,2.748,4.94651,4.94651,0,0,1-.86254-.13719c-.31234-.093-.44519.34058-.48892.48349-.16811.54966.08453.65862.13687.67489a3.75751,3.75751,0,0,0,1.25234.18375,3.94634,3.94634,0,1,0-2.82444-6.742,3.67478,3.67478,0,0,0-1.13028,2.584l-.00041.02323c-.0035.11667-.00579,2.881-.00644,3.78811l-.00407-.00451a6.18521,6.18521,0,0,1-1.0851-1.86092c-.10544-.27856-.34358-.22925-.66857-.12917-.14192.04372-.57386.17677-.47833.489Zm4.65165-1.08338a.51346.51346,0,0,0,.19513.31818l.02276.022a.52945.52945,0,0,0,.3517.18416.24242.24242,0,0,0,.16577-.0611c.05473-.05082.67382-.67812.73287-.738l.69041.68819a.28978.28978,0,0,0,.21437.11032.53239.53239,0,0,0,.35708-.19486c.29792-.30419.14885-.46821.07676-.54751l-.69954-.69975.72952-.73469c.16-.17311.01874-.35708-.12218-.498-.20461-.20461-.402-.25742-.52855-.14083l-.7254.72665-.73354-.73375a.20128.20128,0,0,0-.14179-.05695.54135.54135,0,0,0-.34379.19648c-.22561.22555-.274.38149-.15656.5059l.73374.7315-.72942.73072A.26589.26589,0,0,0,11.59191,14.05782Zm1.59866-9.915A8.86081,8.86081,0,0,0,9.854,4.776a.26169.26169,0,0,0-.16938.22759.92978.92978,0,0,0,.08619.42094c.05682.14524.20779.531.50006.41955a8.40969,8.40969,0,0,1,2.91968-.55484,7.87875,7.87875,0,0,1,3.086.62286,8.61817,8.61817,0,0,1,2.30562,1.49315.2781.2781,0,0,0,.18318.07586c.15529,0,.30425-.15253.43167-.29551.21268-.23861.35873-.4369.1492-.63538a8.50425,8.50425,0,0,0-2.62312-1.694A9.0177,9.0177,0,0,0,13.19058,4.14283ZM19.50945,18.6236h0a.93171.93171,0,0,0-.36642-.25406.26589.26589,0,0,0-.27613.06613l-.06943.06929A7.90606,7.90606,0,0,1,7.60639,18.505a7.57284,7.57284,0,0,1-1.696-2.51537,8.58715,8.58715,0,0,1-.5147-1.77754l-.00871-.04864c-.04939-.25873-.28755-.27684-.62981-.22448-.14234.02178-.5755.088-.53426.39969l.001.00712a9.08807,9.08807,0,0,0,15.406,4.99094c.00193-.00192.04753-.04718.0725-.07436C19.79425,19.16234,19.87422,18.98728,19.50945,18.6236Z" 26772 })); 26773 26774 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/amazon.js 26775 26776 26777 /** 26778 * WordPress dependencies 26779 */ 26780 26781 const AmazonIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26782 width: "24", 26783 height: "24", 26784 viewBox: "0 0 24 24", 26785 version: "1.1" 26786 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26787 d: "M13.582,8.182C11.934,8.367,9.78,8.49,8.238,9.166c-1.781,0.769-3.03,2.337-3.03,4.644 c0,2.953,1.86,4.429,4.253,4.429c2.02,0,3.125-0.477,4.685-2.065c0.516,0.747,0.685,1.109,1.629,1.894 c0.212,0.114,0.483,0.103,0.672-0.066l0.006,0.006c0.567-0.505,1.599-1.401,2.18-1.888c0.231-0.188,0.19-0.496,0.009-0.754 c-0.52-0.718-1.072-1.303-1.072-2.634V8.305c0-1.876,0.133-3.599-1.249-4.891C15.23,2.369,13.422,2,12.04,2 C9.336,2,6.318,3.01,5.686,6.351C5.618,6.706,5.877,6.893,6.109,6.945l2.754,0.298C9.121,7.23,9.308,6.977,9.357,6.72 c0.236-1.151,1.2-1.706,2.284-1.706c0.584,0,1.249,0.215,1.595,0.738c0.398,0.584,0.346,1.384,0.346,2.061V8.182z M13.049,14.088 c-0.451,0.8-1.169,1.291-1.967,1.291c-1.09,0-1.728-0.83-1.728-2.061c0-2.42,2.171-2.86,4.227-2.86v0.615 C13.582,12.181,13.608,13.104,13.049,14.088z M20.683,19.339C18.329,21.076,14.917,22,11.979,22c-4.118,0-7.826-1.522-10.632-4.057 c-0.22-0.199-0.024-0.471,0.241-0.317c3.027,1.762,6.771,2.823,10.639,2.823c2.608,0,5.476-0.541,8.115-1.66 C20.739,18.62,21.072,19.051,20.683,19.339z M21.336,21.043c-0.194,0.163-0.379,0.076-0.293-0.139 c0.284-0.71,0.92-2.298,0.619-2.684c-0.301-0.386-1.99-0.183-2.749-0.092c-0.23,0.027-0.266-0.173-0.059-0.319 c1.348-0.946,3.555-0.673,3.811-0.356C22.925,17.773,22.599,19.986,21.336,21.043z" 26788 })); 26789 26790 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/bandcamp.js 26791 26792 26793 /** 26794 * WordPress dependencies 26795 */ 26796 26797 const BandcampIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26798 width: "24", 26799 height: "24", 26800 viewBox: "0 0 24 24", 26801 version: "1.1" 26802 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26803 d: "M15.27 17.289 3 17.289 8.73 6.711 21 6.711 15.27 17.289" 26804 })); 26805 26806 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/behance.js 26807 26808 26809 /** 26810 * WordPress dependencies 26811 */ 26812 26813 const BehanceIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26814 width: "24", 26815 height: "24", 26816 viewBox: "0 0 24 24", 26817 version: "1.1" 26818 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26819 d: "M7.799,5.698c0.589,0,1.12,0.051,1.606,0.156c0.482,0.102,0.894,0.273,1.241,0.507c0.344,0.235,0.612,0.546,0.804,0.938 c0.188,0.387,0.281,0.871,0.281,1.443c0,0.619-0.141,1.137-0.421,1.551c-0.284,0.413-0.7,0.751-1.255,1.014 c0.756,0.218,1.317,0.601,1.689,1.146c0.374,0.549,0.557,1.205,0.557,1.975c0,0.623-0.12,1.161-0.359,1.612 c-0.241,0.457-0.569,0.828-0.973,1.114c-0.408,0.288-0.876,0.5-1.399,0.637C9.052,17.931,8.514,18,7.963,18H2V5.698H7.799 M7.449,10.668c0.481,0,0.878-0.114,1.192-0.345c0.311-0.228,0.463-0.603,0.463-1.119c0-0.286-0.051-0.523-0.152-0.707 C8.848,8.315,8.711,8.171,8.536,8.07C8.362,7.966,8.166,7.894,7.94,7.854c-0.224-0.044-0.457-0.06-0.697-0.06H4.709v2.874H7.449z M7.6,15.905c0.267,0,0.521-0.024,0.759-0.077c0.243-0.053,0.457-0.137,0.637-0.261c0.182-0.12,0.332-0.283,0.441-0.491 C9.547,14.87,9.6,14.602,9.6,14.278c0-0.633-0.18-1.084-0.533-1.357c-0.356-0.27-0.83-0.404-1.413-0.404H4.709v3.388L7.6,15.905z M16.162,15.864c0.367,0.358,0.897,0.538,1.583,0.538c0.493,0,0.92-0.125,1.277-0.374c0.354-0.248,0.571-0.514,0.654-0.79h2.155 c-0.347,1.072-0.872,1.838-1.589,2.299C19.534,18,18.67,18.23,17.662,18.23c-0.701,0-1.332-0.113-1.899-0.337 c-0.567-0.227-1.041-0.544-1.439-0.958c-0.389-0.415-0.689-0.907-0.904-1.484c-0.213-0.574-0.32-1.21-0.32-1.899 c0-0.666,0.11-1.288,0.329-1.863c0.222-0.577,0.529-1.075,0.933-1.492c0.406-0.42,0.885-0.751,1.444-0.994 c0.558-0.241,1.175-0.363,1.857-0.363c0.754,0,1.414,0.145,1.98,0.44c0.563,0.291,1.026,0.686,1.389,1.181 c0.363,0.493,0.622,1.057,0.783,1.69c0.16,0.632,0.217,1.292,0.171,1.983h-6.428C15.557,14.84,15.795,15.506,16.162,15.864 M18.973,11.184c-0.291-0.321-0.783-0.496-1.384-0.496c-0.39,0-0.714,0.066-0.973,0.2c-0.254,0.132-0.461,0.297-0.621,0.491 c-0.157,0.197-0.265,0.405-0.328,0.628c-0.063,0.217-0.101,0.413-0.111,0.587h3.98C19.478,11.969,19.265,11.509,18.973,11.184z M15.057,7.738h4.985V6.524h-4.985L15.057,7.738z" 26820 })); 26821 26822 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/chain.js 26823 26824 26825 /** 26826 * WordPress dependencies 26827 */ 26828 26829 const ChainIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26830 width: "24", 26831 height: "24", 26832 viewBox: "0 0 24 24", 26833 version: "1.1" 26834 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26835 d: "M19.647,16.706a1.134,1.134,0,0,0-.343-.833l-2.549-2.549a1.134,1.134,0,0,0-.833-.343,1.168,1.168,0,0,0-.883.392l.233.226q.2.189.264.264a2.922,2.922,0,0,1,.184.233.986.986,0,0,1,.159.312,1.242,1.242,0,0,1,.043.337,1.172,1.172,0,0,1-1.176,1.176,1.237,1.237,0,0,1-.337-.043,1,1,0,0,1-.312-.159,2.76,2.76,0,0,1-.233-.184q-.073-.068-.264-.264l-.226-.233a1.19,1.19,0,0,0-.4.895,1.134,1.134,0,0,0,.343.833L15.837,19.3a1.13,1.13,0,0,0,.833.331,1.18,1.18,0,0,0,.833-.318l1.8-1.789a1.12,1.12,0,0,0,.343-.821Zm-8.615-8.64a1.134,1.134,0,0,0-.343-.833L8.163,4.7a1.134,1.134,0,0,0-.833-.343,1.184,1.184,0,0,0-.833.331L4.7,6.473a1.12,1.12,0,0,0-.343.821,1.134,1.134,0,0,0,.343.833l2.549,2.549a1.13,1.13,0,0,0,.833.331,1.184,1.184,0,0,0,.883-.38L8.728,10.4q-.2-.189-.264-.264A2.922,2.922,0,0,1,8.28,9.9a.986.986,0,0,1-.159-.312,1.242,1.242,0,0,1-.043-.337A1.172,1.172,0,0,1,9.254,8.079a1.237,1.237,0,0,1,.337.043,1,1,0,0,1,.312.159,2.761,2.761,0,0,1,.233.184q.073.068.264.264l.226.233a1.19,1.19,0,0,0,.4-.895ZM22,16.706a3.343,3.343,0,0,1-1.042,2.488l-1.8,1.789a3.536,3.536,0,0,1-4.988-.025l-2.525-2.537a3.384,3.384,0,0,1-1.017-2.488,3.448,3.448,0,0,1,1.078-2.561l-1.078-1.078a3.434,3.434,0,0,1-2.549,1.078,3.4,3.4,0,0,1-2.5-1.029L3.029,9.794A3.4,3.4,0,0,1,2,7.294,3.343,3.343,0,0,1,3.042,4.806l1.8-1.789A3.384,3.384,0,0,1,7.331,2a3.357,3.357,0,0,1,2.5,1.042l2.525,2.537a3.384,3.384,0,0,1,1.017,2.488,3.448,3.448,0,0,1-1.078,2.561l1.078,1.078a3.551,3.551,0,0,1,5.049-.049l2.549,2.549A3.4,3.4,0,0,1,22,16.706Z" 26836 })); 26837 26838 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/codepen.js 26839 26840 26841 /** 26842 * WordPress dependencies 26843 */ 26844 26845 const CodepenIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26846 width: "24", 26847 height: "24", 26848 viewBox: "0 0 24 24", 26849 version: "1.1" 26850 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26851 d: "M22.016,8.84c-0.002-0.013-0.005-0.025-0.007-0.037c-0.005-0.025-0.008-0.048-0.015-0.072 c-0.003-0.015-0.01-0.028-0.013-0.042c-0.008-0.02-0.015-0.04-0.023-0.062c-0.007-0.015-0.013-0.028-0.02-0.042 c-0.008-0.02-0.018-0.037-0.03-0.057c-0.007-0.013-0.017-0.027-0.025-0.038c-0.012-0.018-0.023-0.035-0.035-0.052 c-0.01-0.013-0.02-0.025-0.03-0.037c-0.015-0.017-0.028-0.032-0.043-0.045c-0.01-0.012-0.022-0.023-0.035-0.035 c-0.015-0.015-0.032-0.028-0.048-0.04c-0.012-0.01-0.025-0.02-0.037-0.03c-0.005-0.003-0.01-0.008-0.015-0.012l-9.161-6.096 c-0.289-0.192-0.666-0.192-0.955,0L2.359,8.237C2.354,8.24,2.349,8.245,2.344,8.249L2.306,8.277 c-0.017,0.013-0.033,0.027-0.048,0.04C2.246,8.331,2.234,8.342,2.222,8.352c-0.015,0.015-0.028,0.03-0.042,0.047 c-0.012,0.013-0.022,0.023-0.03,0.037C2.139,8.453,2.125,8.471,2.115,8.488C2.107,8.501,2.099,8.514,2.09,8.526 C2.079,8.548,2.069,8.565,2.06,8.585C2.054,8.6,2.047,8.613,2.04,8.626C2.032,8.648,2.025,8.67,2.019,8.69 c-0.005,0.013-0.01,0.027-0.013,0.042C1.999,8.755,1.995,8.778,1.99,8.803C1.989,8.817,1.985,8.828,1.984,8.84 C1.978,8.879,1.975,8.915,1.975,8.954v6.093c0,0.037,0.003,0.075,0.008,0.112c0.002,0.012,0.005,0.025,0.007,0.038 c0.005,0.023,0.008,0.047,0.015,0.072c0.003,0.015,0.008,0.028,0.013,0.04c0.007,0.022,0.013,0.042,0.022,0.063 c0.007,0.015,0.013,0.028,0.02,0.04c0.008,0.02,0.018,0.038,0.03,0.058c0.007,0.013,0.015,0.027,0.025,0.038 c0.012,0.018,0.023,0.035,0.035,0.052c0.01,0.013,0.02,0.025,0.03,0.037c0.013,0.015,0.028,0.032,0.042,0.045 c0.012,0.012,0.023,0.023,0.035,0.035c0.015,0.013,0.032,0.028,0.048,0.04l0.038,0.03c0.005,0.003,0.01,0.007,0.013,0.01 l9.163,6.095C11.668,21.953,11.833,22,12,22c0.167,0,0.332-0.047,0.478-0.144l9.163-6.095l0.015-0.01 c0.013-0.01,0.027-0.02,0.037-0.03c0.018-0.013,0.035-0.028,0.048-0.04c0.013-0.012,0.025-0.023,0.035-0.035 c0.017-0.015,0.03-0.032,0.043-0.045c0.01-0.013,0.02-0.025,0.03-0.037c0.013-0.018,0.025-0.035,0.035-0.052 c0.008-0.013,0.018-0.027,0.025-0.038c0.012-0.02,0.022-0.038,0.03-0.058c0.007-0.013,0.013-0.027,0.02-0.04 c0.008-0.022,0.015-0.042,0.023-0.063c0.003-0.013,0.01-0.027,0.013-0.04c0.007-0.025,0.01-0.048,0.015-0.072 c0.002-0.013,0.005-0.027,0.007-0.037c0.003-0.042,0.007-0.079,0.007-0.117V8.954C22.025,8.915,22.022,8.879,22.016,8.84z M12.862,4.464l6.751,4.49l-3.016,2.013l-3.735-2.492V4.464z M11.138,4.464v4.009l-3.735,2.494L4.389,8.954L11.138,4.464z M3.699,10.562L5.853,12l-2.155,1.438V10.562z M11.138,19.536l-6.749-4.491l3.015-2.011l3.735,2.492V19.536z M12,14.035L8.953,12 L12,9.966L15.047,12L12,14.035z M12.862,19.536v-4.009l3.735-2.492l3.016,2.011L12.862,19.536z M20.303,13.438L18.147,12 l2.156-1.438L20.303,13.438z" 26852 })); 26853 26854 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/deviantart.js 26855 26856 26857 /** 26858 * WordPress dependencies 26859 */ 26860 26861 const DeviantArtIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26862 width: "24", 26863 height: "24", 26864 viewBox: "0 0 24 24", 26865 version: "1.1" 26866 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26867 d: "M 18.19 5.636 18.19 2 18.188 2 14.553 2 14.19 2.366 12.474 5.636 11.935 6 5.81 6 5.81 10.994 9.177 10.994 9.477 11.357 5.81 18.363 5.81 22 5.811 22 9.447 22 9.81 21.634 11.526 18.364 12.065 18 18.19 18 18.19 13.006 14.823 13.006 14.523 12.641 18.19 5.636z" 26868 })); 26869 26870 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/dribbble.js 26871 26872 26873 /** 26874 * WordPress dependencies 26875 */ 26876 26877 const DribbbleIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26878 width: "24", 26879 height: "24", 26880 viewBox: "0 0 24 24", 26881 version: "1.1" 26882 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26883 d: "M12,22C6.486,22,2,17.514,2,12S6.486,2,12,2c5.514,0,10,4.486,10,10S17.514,22,12,22z M20.434,13.369 c-0.292-0.092-2.644-0.794-5.32-0.365c1.117,3.07,1.572,5.57,1.659,6.09C18.689,17.798,20.053,15.745,20.434,13.369z M15.336,19.876c-0.127-0.749-0.623-3.361-1.822-6.477c-0.019,0.006-0.038,0.013-0.056,0.019c-4.818,1.679-6.547,5.02-6.701,5.334 c1.448,1.129,3.268,1.803,5.243,1.803C13.183,20.555,14.311,20.313,15.336,19.876z M5.654,17.724 c0.193-0.331,2.538-4.213,6.943-5.637c0.111-0.036,0.224-0.07,0.337-0.102c-0.214-0.485-0.448-0.971-0.692-1.45 c-4.266,1.277-8.405,1.223-8.778,1.216c-0.003,0.087-0.004,0.174-0.004,0.261C3.458,14.207,4.29,16.21,5.654,17.724z M3.639,10.264 c0.382,0.005,3.901,0.02,7.897-1.041c-1.415-2.516-2.942-4.631-3.167-4.94C5.979,5.41,4.193,7.613,3.639,10.264z M9.998,3.709 c0.236,0.316,1.787,2.429,3.187,5c3.037-1.138,4.323-2.867,4.477-3.085C16.154,4.286,14.17,3.471,12,3.471 C11.311,3.471,10.641,3.554,9.998,3.709z M18.612,6.612C18.432,6.855,17,8.69,13.842,9.979c0.199,0.407,0.389,0.821,0.567,1.237 c0.063,0.148,0.124,0.295,0.184,0.441c2.842-0.357,5.666,0.215,5.948,0.275C20.522,9.916,19.801,8.065,18.612,6.612z" 26884 })); 26885 26886 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/dropbox.js 26887 26888 26889 /** 26890 * WordPress dependencies 26891 */ 26892 26893 const DropboxIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26894 width: "24", 26895 height: "24", 26896 viewBox: "0 0 24 24", 26897 version: "1.1" 26898 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26899 d: "M12,6.134L6.069,9.797L2,6.54l5.883-3.843L12,6.134z M2,13.054l5.883,3.843L12,13.459L6.069,9.797L2,13.054z M12,13.459 l4.116,3.439L22,13.054l-4.069-3.257L12,13.459z M22,6.54l-5.884-3.843L12,6.134l5.931,3.663L22,6.54z M12.011,14.2l-4.129,3.426 l-1.767-1.153v1.291l5.896,3.539l5.897-3.539v-1.291l-1.769,1.153L12.011,14.2z" 26900 })); 26901 26902 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/etsy.js 26903 26904 26905 /** 26906 * WordPress dependencies 26907 */ 26908 26909 const EtsyIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26910 width: "24", 26911 height: "24", 26912 viewBox: "0 0 24 24", 26913 version: "1.1" 26914 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26915 d: "M9.16033,4.038c0-.27174.02717-.43478.48913-.43478h6.22283c1.087,0,1.68478.92391,2.11957,2.663l.35326,1.38587h1.05978C19.59511,3.712,19.75815,2,19.75815,2s-2.663.29891-4.23913.29891h-7.962L3.29076,2.163v1.1413L4.731,3.57609c1.00543.19022,1.25.40761,1.33152,1.33152,0,0,.08152,2.71739.08152,7.20109s-.08152,7.17391-.08152,7.17391c0,.81522-.32609,1.11413-1.33152,1.30435l-1.44022.27174V22l4.2663-.13587h7.11957c1.60326,0,5.32609.13587,5.32609.13587.08152-.97826.625-5.40761.70652-5.89674H19.7038L18.644,18.52174c-.84239,1.90217-2.06522,2.038-3.42391,2.038H11.1712c-1.3587,0-2.01087-.54348-2.01087-1.712V12.65217s3.0163,0,3.99457.08152c.76087.05435,1.22283.27174,1.46739,1.33152l.32609,1.413h1.16848l-.08152-3.55978.163-3.587H15.02989l-.38043,1.57609c-.24457,1.03261-.40761,1.22283-1.46739,1.33152-1.38587.13587-4.02174.1087-4.02174.1087Z" 26916 })); 26917 26918 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/facebook.js 26919 26920 26921 /** 26922 * WordPress dependencies 26923 */ 26924 26925 const FacebookIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26926 width: "24", 26927 height: "24", 26928 viewBox: "0 0 24 24", 26929 version: "1.1" 26930 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26931 d: "M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z" 26932 })); 26933 26934 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/feed.js 26935 26936 26937 /** 26938 * WordPress dependencies 26939 */ 26940 26941 const FeedIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26942 width: "24", 26943 height: "24", 26944 viewBox: "0 0 24 24", 26945 version: "1.1" 26946 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26947 d: "M2,8.667V12c5.515,0,10,4.485,10,10h3.333C15.333,14.637,9.363,8.667,2,8.667z M2,2v3.333 c9.19,0,16.667,7.477,16.667,16.667H22C22,10.955,13.045,2,2,2z M4.5,17C3.118,17,2,18.12,2,19.5S3.118,22,4.5,22S7,20.88,7,19.5 S5.882,17,4.5,17z" 26948 })); 26949 26950 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/flickr.js 26951 26952 26953 /** 26954 * WordPress dependencies 26955 */ 26956 26957 const FlickrIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26958 width: "24", 26959 height: "24", 26960 viewBox: "0 0 24 24", 26961 version: "1.1" 26962 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26963 d: "M6.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5S9.25,7,6.5,7z M17.5,7c-2.75,0-5,2.25-5,5s2.25,5,5,5s5-2.25,5-5 S20.25,7,17.5,7z" 26964 })); 26965 26966 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/foursquare.js 26967 26968 26969 /** 26970 * WordPress dependencies 26971 */ 26972 26973 const FoursquareIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26974 width: "24", 26975 height: "24", 26976 viewBox: "0 0 24 24", 26977 version: "1.1" 26978 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26979 d: "M17.573,2c0,0-9.197,0-10.668,0S5,3.107,5,3.805s0,16.948,0,16.948c0,0.785,0.422,1.077,0.66,1.172 c0.238,0.097,0.892,0.177,1.285-0.275c0,0,5.035-5.843,5.122-5.93c0.132-0.132,0.132-0.132,0.262-0.132h3.26 c1.368,0,1.588-0.977,1.732-1.552c0.078-0.318,0.692-3.428,1.225-6.122l0.675-3.368C19.56,2.893,19.14,2,17.573,2z M16.495,7.22 c-0.053,0.252-0.372,0.518-0.665,0.518c-0.293,0-4.157,0-4.157,0c-0.467,0-0.802,0.318-0.802,0.787v0.508 c0,0.467,0.337,0.798,0.805,0.798c0,0,3.197,0,3.528,0s0.655,0.362,0.583,0.715c-0.072,0.353-0.407,2.102-0.448,2.295 c-0.04,0.193-0.262,0.523-0.655,0.523c-0.33,0-2.88,0-2.88,0c-0.523,0-0.683,0.068-1.033,0.503 c-0.35,0.437-3.505,4.223-3.505,4.223c-0.032,0.035-0.063,0.027-0.063-0.015V4.852c0-0.298,0.26-0.648,0.648-0.648 c0,0,8.228,0,8.562,0c0.315,0,0.61,0.297,0.528,0.683L16.495,7.22z" 26980 })); 26981 26982 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/goodreads.js 26983 26984 26985 /** 26986 * WordPress dependencies 26987 */ 26988 26989 const GoodreadsIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 26990 width: "24", 26991 height: "24", 26992 viewBox: "0 0 24 24", 26993 version: "1.1" 26994 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 26995 d: "M17.3,17.5c-0.2,0.8-0.5,1.4-1,1.9c-0.4,0.5-1,0.9-1.7,1.2C13.9,20.9,13.1,21,12,21c-0.6,0-1.3-0.1-1.9-0.2 c-0.6-0.1-1.1-0.4-1.6-0.7c-0.5-0.3-0.9-0.7-1.2-1.2c-0.3-0.5-0.5-1.1-0.5-1.7h1.5c0.1,0.5,0.2,0.9,0.5,1.2 c0.2,0.3,0.5,0.6,0.9,0.8c0.3,0.2,0.7,0.3,1.1,0.4c0.4,0.1,0.8,0.1,1.2,0.1c1.4,0,2.5-0.4,3.1-1.2c0.6-0.8,1-2,1-3.5v-1.7h0 c-0.4,0.8-0.9,1.4-1.6,1.9c-0.7,0.5-1.5,0.7-2.4,0.7c-1,0-1.9-0.2-2.6-0.5C8.7,15,8.1,14.5,7.7,14c-0.5-0.6-0.8-1.3-1-2.1 c-0.2-0.8-0.3-1.6-0.3-2.5c0-0.9,0.1-1.7,0.4-2.5c0.3-0.8,0.6-1.5,1.1-2c0.5-0.6,1.1-1,1.8-1.4C10.3,3.2,11.1,3,12,3 c0.5,0,0.9,0.1,1.3,0.2c0.4,0.1,0.8,0.3,1.1,0.5c0.3,0.2,0.6,0.5,0.9,0.8c0.3,0.3,0.5,0.6,0.6,1h0V3.4h1.5V15 C17.6,15.9,17.5,16.7,17.3,17.5z M13.8,14.1c0.5-0.3,0.9-0.7,1.3-1.1c0.3-0.5,0.6-1,0.8-1.6c0.2-0.6,0.3-1.2,0.3-1.9 c0-0.6-0.1-1.2-0.2-1.9c-0.1-0.6-0.4-1.2-0.7-1.7c-0.3-0.5-0.7-0.9-1.3-1.2c-0.5-0.3-1.1-0.5-1.9-0.5s-1.4,0.2-1.9,0.5 c-0.5,0.3-1,0.7-1.3,1.2C8.5,6.4,8.3,7,8.1,7.6C8,8.2,7.9,8.9,7.9,9.5c0,0.6,0.1,1.3,0.2,1.9C8.3,12,8.6,12.5,8.9,13 c0.3,0.5,0.8,0.8,1.3,1.1c0.5,0.3,1.1,0.4,1.9,0.4C12.7,14.5,13.3,14.4,13.8,14.1z" 26996 })); 26997 26998 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/google.js 26999 27000 27001 /** 27002 * WordPress dependencies 27003 */ 27004 27005 const GoogleIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27006 width: "24", 27007 height: "24", 27008 viewBox: "0 0 24 24", 27009 version: "1.1" 27010 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27011 d: "M12.02,10.18v3.72v0.01h5.51c-0.26,1.57-1.67,4.22-5.5,4.22c-3.31,0-6.01-2.75-6.01-6.12s2.7-6.12,6.01-6.12 c1.87,0,3.13,0.8,3.85,1.48l2.84-2.76C16.99,2.99,14.73,2,12.03,2c-5.52,0-10,4.48-10,10s4.48,10,10,10c5.77,0,9.6-4.06,9.6-9.77 c0-0.83-0.11-1.42-0.25-2.05H12.02z" 27012 })); 27013 27014 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/github.js 27015 27016 27017 /** 27018 * WordPress dependencies 27019 */ 27020 27021 const GitHubIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27022 width: "24", 27023 height: "24", 27024 viewBox: "0 0 24 24", 27025 version: "1.1" 27026 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27027 d: "M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z" 27028 })); 27029 27030 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/instagram.js 27031 27032 27033 /** 27034 * WordPress dependencies 27035 */ 27036 27037 const InstagramIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27038 width: "24", 27039 height: "24", 27040 viewBox: "0 0 24 24", 27041 version: "1.1" 27042 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27043 d: "M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z" 27044 })); 27045 27046 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/lastfm.js 27047 27048 27049 /** 27050 * WordPress dependencies 27051 */ 27052 27053 const LastfmIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27054 width: "24", 27055 height: "24", 27056 viewBox: "0 0 24 24", 27057 version: "1.1" 27058 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27059 d: "M 12.0002 1.5 C 6.2006 1.5 1.5 6.2011 1.5 11.9998 C 1.5 17.799 6.2006 22.5 12.0002 22.5 C 17.799 22.5 22.5 17.799 22.5 11.9998 C 22.5 6.2011 17.799 1.5 12.0002 1.5 Z M 16.1974 16.2204 C 14.8164 16.2152 13.9346 15.587 13.3345 14.1859 L 13.1816 13.8451 L 11.8541 10.8101 C 11.4271 9.7688 10.3526 9.0712 9.1801 9.0712 C 7.5695 9.0712 6.2593 10.3851 6.2593 12.001 C 6.2593 13.6165 7.5695 14.9303 9.1801 14.9303 C 10.272 14.9303 11.2651 14.3275 11.772 13.3567 C 11.7893 13.3235 11.8239 13.302 11.863 13.3038 C 11.9007 13.3054 11.9353 13.3288 11.9504 13.3632 L 12.4865 14.6046 C 12.5016 14.639 12.4956 14.6778 12.4723 14.7069 C 11.6605 15.6995 10.4602 16.2683 9.1801 16.2683 C 6.8331 16.2683 4.9234 14.3536 4.9234 12.001 C 4.9234 9.6468 6.833 7.732 9.1801 7.732 C 10.9572 7.732 12.3909 8.6907 13.1138 10.3636 C 13.1206 10.3802 13.8412 12.0708 14.4744 13.5191 C 14.8486 14.374 15.1462 14.896 16.1288 14.9292 C 17.0663 14.9613 17.7538 14.4122 17.7538 13.6485 C 17.7538 12.9691 17.3321 12.8004 16.3803 12.4822 C 14.7365 11.9398 13.845 11.3861 13.845 10.0182 C 13.845 8.6809 14.7667 7.8162 16.192 7.8162 C 17.1288 7.8162 17.8155 8.2287 18.2921 9.0768 C 18.305 9.1006 18.3079 9.1281 18.3004 9.1542 C 18.2929 9.1803 18.2748 9.2021 18.2507 9.2138 L 17.3614 9.669 C 17.3178 9.692 17.2643 9.6781 17.2356 9.6385 C 16.9329 9.2135 16.5956 9.0251 16.1423 9.0251 C 15.5512 9.0251 15.122 9.429 15.122 9.9865 C 15.122 10.6738 15.6529 10.8414 16.5339 11.1192 C 16.6491 11.1558 16.7696 11.194 16.8939 11.2343 C 18.2763 11.6865 19.0768 12.2311 19.0768 13.6836 C 19.0769 15.1297 17.8389 16.2204 16.1974 16.2204 Z" 27060 })); 27061 27062 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/linkedin.js 27063 27064 27065 /** 27066 * WordPress dependencies 27067 */ 27068 27069 const LinkedInIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27070 width: "24", 27071 height: "24", 27072 viewBox: "0 0 24 24", 27073 version: "1.1" 27074 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27075 d: "M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z" 27076 })); 27077 27078 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/mail.js 27079 27080 27081 /** 27082 * WordPress dependencies 27083 */ 27084 27085 const MailIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27086 width: "24", 27087 height: "24", 27088 viewBox: "0 0 24 24", 27089 version: "1.1" 27090 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27091 d: "M20,4H4C2.895,4,2,4.895,2,6v12c0,1.105,0.895,2,2,2h16c1.105,0,2-0.895,2-2V6C22,4.895,21.105,4,20,4z M20,8.236l-8,4.882 L4,8.236V6h16V8.236z" 27092 })); 27093 27094 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/mastodon.js 27095 27096 27097 /** 27098 * WordPress dependencies 27099 */ 27100 27101 const MastodonIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27102 width: "24", 27103 height: "24", 27104 viewBox: "0 0 24 24", 27105 version: "1.1" 27106 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27107 d: "M23.193 7.879c0-5.206-3.411-6.732-3.411-6.732C18.062.357 15.108.025 12.041 0h-.076c-3.068.025-6.02.357-7.74 1.147 0 0-3.411 1.526-3.411 6.732 0 1.192-.023 2.618.015 4.129.124 5.092.934 10.109 5.641 11.355 2.17.574 4.034.695 5.535.612 2.722-.15 4.25-.972 4.25-.972l-.09-1.975s-1.945.613-4.129.539c-2.165-.074-4.449-.233-4.799-2.891a5.499 5.499 0 0 1-.048-.745s2.125.52 4.817.643c1.646.075 3.19-.097 4.758-.283 3.007-.359 5.625-2.212 5.954-3.905.517-2.665.475-6.507.475-6.507zm-4.024 6.709h-2.497V8.469c0-1.29-.543-1.944-1.628-1.944-1.2 0-1.802.776-1.802 2.312v3.349h-2.483v-3.35c0-1.536-.602-2.312-1.802-2.312-1.085 0-1.628.655-1.628 1.944v6.119H4.832V8.284c0-1.289.328-2.313.987-3.07.68-.758 1.569-1.146 2.674-1.146 1.278 0 2.246.491 2.886 1.474L12 6.585l.622-1.043c.64-.983 1.608-1.474 2.886-1.474 1.104 0 1.994.388 2.674 1.146.658.757.986 1.781.986 3.07v6.304z" 27108 })); 27109 27110 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/meetup.js 27111 27112 27113 /** 27114 * WordPress dependencies 27115 */ 27116 27117 const MeetupIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27118 width: "24", 27119 height: "24", 27120 viewBox: "0 0 24 24", 27121 version: "1.1" 27122 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27123 d: "M19.24775,14.722a3.57032,3.57032,0,0,1-2.94457,3.52073,3.61886,3.61886,0,0,1-.64652.05634c-.07314-.0008-.10187.02846-.12507.09547A2.38881,2.38881,0,0,1,13.49453,20.094a2.33092,2.33092,0,0,1-1.827-.50716.13635.13635,0,0,0-.19878-.00408,3.191,3.191,0,0,1-2.104.60248,3.26309,3.26309,0,0,1-3.00324-2.71993,2.19076,2.19076,0,0,1-.03512-.30865c-.00156-.08579-.03413-.1189-.11608-.13493a2.86421,2.86421,0,0,1-1.23189-.56111,2.945,2.945,0,0,1-1.166-2.05749,2.97484,2.97484,0,0,1,.87524-2.50774.112.112,0,0,0,.02091-.16107,2.7213,2.7213,0,0,1-.36648-1.48A2.81256,2.81256,0,0,1,6.57673,7.58838a.35764.35764,0,0,0,.28869-.22819,4.2208,4.2208,0,0,1,6.02892-1.90111.25161.25161,0,0,0,.22023.0243,3.65608,3.65608,0,0,1,3.76031.90678A3.57244,3.57244,0,0,1,17.95918,8.626a2.97339,2.97339,0,0,1,.01829.57356.10637.10637,0,0,0,.0853.12792,1.97669,1.97669,0,0,1,1.27939,1.33733,2.00266,2.00266,0,0,1-.57112,2.12652c-.05284.05166-.04168.08328-.01173.13489A3.51189,3.51189,0,0,1,19.24775,14.722Zm-6.35959-.27836a1.6984,1.6984,0,0,0,1.14556,1.61113,3.82039,3.82039,0,0,0,1.036.17935,1.46888,1.46888,0,0,0,.73509-.12255.44082.44082,0,0,0,.26057-.44274.45312.45312,0,0,0-.29211-.43375.97191.97191,0,0,0-.20678-.063c-.21326-.03806-.42754-.0701-.63973-.11215a.54787.54787,0,0,1-.50172-.60926,2.75864,2.75864,0,0,1,.1773-.901c.1763-.535.414-1.045.64183-1.55913A12.686,12.686,0,0,0,15.85,10.47863a1.58461,1.58461,0,0,0,.04861-.87208,1.04531,1.04531,0,0,0-.85432-.83981,1.60658,1.60658,0,0,0-1.23654.16594.27593.27593,0,0,1-.36286-.03413c-.085-.0747-.16594-.15379-.24918-.23055a.98682.98682,0,0,0-1.33577-.04933,6.1468,6.1468,0,0,1-.4989.41615.47762.47762,0,0,1-.51535.03566c-.17448-.09307-.35512-.175-.53531-.25665a1.74949,1.74949,0,0,0-.56476-.2016,1.69943,1.69943,0,0,0-1.61654.91787,8.05815,8.05815,0,0,0-.32952.80126c-.45471,1.2557-.82507,2.53825-1.20838,3.81639a1.24151,1.24151,0,0,0,.51532,1.44389,1.42659,1.42659,0,0,0,1.22008.17166,1.09728,1.09728,0,0,0,.66994-.69764c.44145-1.04111.839-2.09989,1.25981-3.14926.11581-.28876.22792-.57874.35078-.86438a.44548.44548,0,0,1,.69189-.19539.50521.50521,0,0,1,.15044.43836,1.75625,1.75625,0,0,1-.14731.50453c-.27379.69219-.55265,1.38236-.82766,2.074a2.0836,2.0836,0,0,0-.14038.42876.50719.50719,0,0,0,.27082.57722.87236.87236,0,0,0,.66145.02739.99137.99137,0,0,0,.53406-.532q.61571-1.20914,1.228-2.42031.28423-.55863.57585-1.1133a.87189.87189,0,0,1,.29055-.35253.34987.34987,0,0,1,.37634-.01265.30291.30291,0,0,1,.12434.31459.56716.56716,0,0,1-.04655.1915c-.05318.12739-.10286.25669-.16183.38156-.34118.71775-.68754,1.43273-1.02568,2.152A2.00213,2.00213,0,0,0,12.88816,14.44366Zm4.78568,5.28972a.88573.88573,0,0,0-1.77139.00465.8857.8857,0,0,0,1.77139-.00465Zm-14.83838-7.296a.84329.84329,0,1,0,.00827-1.68655.8433.8433,0,0,0-.00827,1.68655Zm10.366-9.43673a.83506.83506,0,1,0-.0091,1.67.83505.83505,0,0,0,.0091-1.67Zm6.85014,5.22a.71651.71651,0,0,0-1.433.0093.71656.71656,0,0,0,1.433-.0093ZM5.37528,6.17908A.63823.63823,0,1,0,6.015,5.54483.62292.62292,0,0,0,5.37528,6.17908Zm6.68214,14.80843a.54949.54949,0,1,0-.55052.541A.54556.54556,0,0,0,12.05742,20.98752Zm8.53235-8.49689a.54777.54777,0,0,0-.54027.54023.53327.53327,0,0,0,.532.52293.51548.51548,0,0,0,.53272-.5237A.53187.53187,0,0,0,20.58977,12.49063ZM7.82846,2.4715a.44927.44927,0,1,0,.44484.44766A.43821.43821,0,0,0,7.82846,2.4715Zm13.775,7.60492a.41186.41186,0,0,0-.40065.39623.40178.40178,0,0,0,.40168.40168A.38994.38994,0,0,0,22,10.48172.39946.39946,0,0,0,21.60349,10.07642ZM5.79193,17.96207a.40469.40469,0,0,0-.397-.39646.399.399,0,0,0-.396.405.39234.39234,0,0,0,.39939.389A.39857.39857,0,0,0,5.79193,17.96207Z" 27124 })); 27125 27126 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/medium.js 27127 27128 27129 /** 27130 * WordPress dependencies 27131 */ 27132 27133 const MediumIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27134 width: "24", 27135 height: "24", 27136 viewBox: "0 0 24 24", 27137 version: "1.1" 27138 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27139 d: "M20.962,7.257l-5.457,8.867l-3.923-6.375l3.126-5.08c0.112-0.182,0.319-0.286,0.527-0.286c0.05,0,0.1,0.008,0.149,0.02 c0.039,0.01,0.078,0.023,0.114,0.041l5.43,2.715l0.006,0.003c0.004,0.002,0.007,0.006,0.011,0.008 C20.971,7.191,20.98,7.227,20.962,7.257z M9.86,8.592v5.783l5.14,2.57L9.86,8.592z M15.772,17.331l4.231,2.115 C20.554,19.721,21,19.529,21,19.016V8.835L15.772,17.331z M8.968,7.178L3.665,4.527C3.569,4.479,3.478,4.456,3.395,4.456 C3.163,4.456,3,4.636,3,4.938v11.45c0,0.306,0.224,0.669,0.498,0.806l4.671,2.335c0.12,0.06,0.234,0.088,0.337,0.088 c0.29,0,0.494-0.225,0.494-0.602V7.231C9,7.208,8.988,7.188,8.968,7.178z" 27140 })); 27141 27142 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/patreon.js 27143 27144 27145 /** 27146 * WordPress dependencies 27147 */ 27148 27149 const PatreonIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27150 width: "24", 27151 height: "24", 27152 viewBox: "0 0 569 546", 27153 version: "1.1" 27154 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Circle"], { 27155 cx: "363", 27156 cy: "205", 27157 r: "205" 27158 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 27159 width: "100", 27160 height: "546", 27161 x: "0", 27162 y: "0" 27163 })); 27164 27165 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/pinterest.js 27166 27167 27168 /** 27169 * WordPress dependencies 27170 */ 27171 27172 const PinterestIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27173 width: "24", 27174 height: "24", 27175 viewBox: "0 0 24 24", 27176 version: "1.1" 27177 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27178 d: "M12.289,2C6.617,2,3.606,5.648,3.606,9.622c0,1.846,1.025,4.146,2.666,4.878c0.25,0.111,0.381,0.063,0.439-0.169 c0.044-0.175,0.267-1.029,0.365-1.428c0.032-0.128,0.017-0.237-0.091-0.362C6.445,11.911,6.01,10.75,6.01,9.668 c0-2.777,2.194-5.464,5.933-5.464c3.23,0,5.49,2.108,5.49,5.122c0,3.407-1.794,5.768-4.13,5.768c-1.291,0-2.257-1.021-1.948-2.277 c0.372-1.495,1.089-3.112,1.089-4.191c0-0.967-0.542-1.775-1.663-1.775c-1.319,0-2.379,1.309-2.379,3.059 c0,1.115,0.394,1.869,0.394,1.869s-1.302,5.279-1.54,6.261c-0.405,1.666,0.053,4.368,0.094,4.604 c0.021,0.126,0.167,0.169,0.25,0.063c0.129-0.165,1.699-2.419,2.142-4.051c0.158-0.59,0.817-2.995,0.817-2.995 c0.43,0.784,1.681,1.446,3.013,1.446c3.963,0,6.822-3.494,6.822-7.833C20.394,5.112,16.849,2,12.289,2" 27179 })); 27180 27181 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/pocket.js 27182 27183 27184 /** 27185 * WordPress dependencies 27186 */ 27187 27188 const PocketIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27189 width: "24", 27190 height: "24", 27191 viewBox: "0 0 24 24", 27192 version: "1.1" 27193 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27194 d: "M21.927,4.194C21.667,3.48,20.982,3,20.222,3h-0.01h-1.721H3.839C3.092,3,2.411,3.47,2.145,4.17 C2.066,4.378,2.026,4.594,2.026,4.814v6.035l0.069,1.2c0.29,2.73,1.707,5.115,3.899,6.778c0.039,0.03,0.079,0.059,0.119,0.089 l0.025,0.018c1.175,0.859,2.491,1.441,3.91,1.727c0.655,0.132,1.325,0.2,1.991,0.2c0.615,0,1.232-0.057,1.839-0.17 c0.073-0.014,0.145-0.028,0.219-0.044c0.02-0.004,0.042-0.012,0.064-0.023c1.359-0.297,2.621-0.864,3.753-1.691l0.025-0.018 c0.04-0.029,0.08-0.058,0.119-0.089c2.192-1.664,3.609-4.049,3.898-6.778l0.069-1.2V4.814C22.026,4.605,22,4.398,21.927,4.194z M17.692,10.481l-4.704,4.512c-0.266,0.254-0.608,0.382-0.949,0.382c-0.342,0-0.684-0.128-0.949-0.382l-4.705-4.512 C5.838,9.957,5.82,9.089,6.344,8.542c0.524-0.547,1.392-0.565,1.939-0.04l3.756,3.601l3.755-3.601 c0.547-0.524,1.415-0.506,1.939,0.04C18.256,9.089,18.238,9.956,17.692,10.481z" 27195 })); 27196 27197 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/reddit.js 27198 27199 27200 /** 27201 * WordPress dependencies 27202 */ 27203 27204 const RedditIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27205 width: "24", 27206 height: "24", 27207 viewBox: "0 0 24 24", 27208 version: "1.1" 27209 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27210 d: "M22,11.816c0-1.256-1.021-2.277-2.277-2.277c-0.593,0-1.122,0.24-1.526,0.614c-1.481-0.965-3.455-1.594-5.647-1.69 l1.171-3.702l3.18,0.748c0.008,1.028,0.846,1.862,1.876,1.862c1.035,0,1.877-0.842,1.877-1.878c0-1.035-0.842-1.877-1.877-1.877 c-0.769,0-1.431,0.466-1.72,1.13l-3.508-0.826c-0.203-0.047-0.399,0.067-0.46,0.261l-1.35,4.268 c-2.316,0.038-4.411,0.67-5.97,1.671C5.368,9.765,4.853,9.539,4.277,9.539C3.021,9.539,2,10.56,2,11.816 c0,0.814,0.433,1.523,1.078,1.925c-0.037,0.221-0.061,0.444-0.061,0.672c0,3.292,4.011,5.97,8.941,5.97s8.941-2.678,8.941-5.97 c0-0.214-0.02-0.424-0.053-0.632C21.533,13.39,22,12.661,22,11.816z M18.776,4.394c0.606,0,1.1,0.493,1.1,1.1s-0.493,1.1-1.1,1.1 s-1.1-0.494-1.1-1.1S18.169,4.394,18.776,4.394z M2.777,11.816c0-0.827,0.672-1.5,1.499-1.5c0.313,0,0.598,0.103,0.838,0.269 c-0.851,0.676-1.477,1.479-1.812,2.36C2.983,12.672,2.777,12.27,2.777,11.816z M11.959,19.606c-4.501,0-8.164-2.329-8.164-5.193 S7.457,9.22,11.959,9.22s8.164,2.329,8.164,5.193S16.46,19.606,11.959,19.606z M20.636,13.001c-0.326-0.89-0.948-1.701-1.797-2.384 c0.248-0.186,0.55-0.301,0.883-0.301c0.827,0,1.5,0.673,1.5,1.5C21.223,12.299,20.992,12.727,20.636,13.001z M8.996,14.704 c-0.76,0-1.397-0.616-1.397-1.376c0-0.76,0.637-1.397,1.397-1.397c0.76,0,1.376,0.637,1.376,1.397 C10.372,14.088,9.756,14.704,8.996,14.704z M16.401,13.328c0,0.76-0.616,1.376-1.376,1.376c-0.76,0-1.399-0.616-1.399-1.376 c0-0.76,0.639-1.397,1.399-1.397C15.785,11.931,16.401,12.568,16.401,13.328z M15.229,16.708c0.152,0.152,0.152,0.398,0,0.55 c-0.674,0.674-1.727,1.002-3.219,1.002c-0.004,0-0.007-0.002-0.011-0.002c-0.004,0-0.007,0.002-0.011,0.002 c-1.492,0-2.544-0.328-3.218-1.002c-0.152-0.152-0.152-0.398,0-0.55c0.152-0.152,0.399-0.151,0.55,0 c0.521,0.521,1.394,0.775,2.669,0.775c0.004,0,0.007,0.002,0.011,0.002c0.004,0,0.007-0.002,0.011-0.002 c1.275,0,2.148-0.253,2.669-0.775C14.831,16.556,15.078,16.556,15.229,16.708z" 27211 })); 27212 27213 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/skype.js 27214 27215 27216 /** 27217 * WordPress dependencies 27218 */ 27219 27220 const SkypeIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27221 width: "24", 27222 height: "24", 27223 viewBox: "0 0 24 24", 27224 version: "1.1" 27225 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27226 d: "M10.113,2.699c0.033-0.006,0.067-0.013,0.1-0.02c0.033,0.017,0.066,0.033,0.098,0.051L10.113,2.699z M2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223z M21.275,13.771 c0.007-0.035,0.011-0.071,0.018-0.106c-0.018-0.031-0.033-0.064-0.052-0.095L21.275,13.771z M13.563,21.199 c0.032,0.019,0.065,0.035,0.096,0.053c0.036-0.006,0.071-0.011,0.105-0.017L13.563,21.199z M22,16.386 c0,1.494-0.581,2.898-1.637,3.953c-1.056,1.057-2.459,1.637-3.953,1.637c-0.967,0-1.914-0.251-2.75-0.725 c0.036-0.006,0.071-0.011,0.105-0.017l-0.202-0.035c0.032,0.019,0.065,0.035,0.096,0.053c-0.543,0.096-1.099,0.147-1.654,0.147 c-1.275,0-2.512-0.25-3.676-0.743c-1.125-0.474-2.135-1.156-3.002-2.023c-0.867-0.867-1.548-1.877-2.023-3.002 c-0.493-1.164-0.743-2.401-0.743-3.676c0-0.546,0.049-1.093,0.142-1.628c0.018,0.032,0.033,0.064,0.051,0.095L2.72,10.223 c-0.006,0.034-0.011,0.069-0.017,0.103C2.244,9.5,2,8.566,2,7.615c0-1.493,0.582-2.898,1.637-3.953 c1.056-1.056,2.46-1.638,3.953-1.638c0.915,0,1.818,0.228,2.622,0.655c-0.033,0.007-0.067,0.013-0.1,0.02l0.199,0.031 c-0.032-0.018-0.066-0.034-0.098-0.051c0.002,0,0.003-0.001,0.004-0.001c0.586-0.112,1.187-0.169,1.788-0.169 c1.275,0,2.512,0.249,3.676,0.742c1.124,0.476,2.135,1.156,3.002,2.024c0.868,0.867,1.548,1.877,2.024,3.002 c0.493,1.164,0.743,2.401,0.743,3.676c0,0.575-0.054,1.15-0.157,1.712c-0.018-0.031-0.033-0.064-0.052-0.095l0.034,0.201 c0.007-0.035,0.011-0.071,0.018-0.106C21.754,14.494,22,15.432,22,16.386z M16.817,14.138c0-1.331-0.613-2.743-3.033-3.282 l-2.209-0.49c-0.84-0.192-1.807-0.444-1.807-1.237c0-0.794,0.679-1.348,1.903-1.348c2.468,0,2.243,1.696,3.468,1.696 c0.645,0,1.209-0.379,1.209-1.031c0-1.521-2.435-2.663-4.5-2.663c-2.242,0-4.63,0.952-4.63,3.488c0,1.221,0.436,2.521,2.839,3.123 l2.984,0.745c0.903,0.223,1.129,0.731,1.129,1.189c0,0.762-0.758,1.507-2.129,1.507c-2.679,0-2.307-2.062-3.743-2.062 c-0.645,0-1.113,0.444-1.113,1.078c0,1.236,1.501,2.886,4.856,2.886C15.236,17.737,16.817,16.199,16.817,14.138z" 27227 })); 27228 27229 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/snapchat.js 27230 27231 27232 /** 27233 * WordPress dependencies 27234 */ 27235 27236 const SnapchatIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27237 width: "24", 27238 height: "24", 27239 viewBox: "0 0 24 24", 27240 version: "1.1" 27241 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27242 d: "M12.065,2a5.526,5.526,0,0,1,3.132.892A5.854,5.854,0,0,1,17.326,5.4a5.821,5.821,0,0,1,.351,2.33q0,.612-.117,2.487a.809.809,0,0,0,.365.091,1.93,1.93,0,0,0,.664-.176,1.93,1.93,0,0,1,.664-.176,1.3,1.3,0,0,1,.729.234.7.7,0,0,1,.351.6.839.839,0,0,1-.41.7,2.732,2.732,0,0,1-.9.41,3.192,3.192,0,0,0-.9.378.728.728,0,0,0-.41.618,1.575,1.575,0,0,0,.156.56,6.9,6.9,0,0,0,1.334,1.953,5.6,5.6,0,0,0,1.881,1.315,5.875,5.875,0,0,0,1.042.3.42.42,0,0,1,.365.456q0,.911-2.852,1.341a1.379,1.379,0,0,0-.143.507,1.8,1.8,0,0,1-.182.605.451.451,0,0,1-.429.241,5.878,5.878,0,0,1-.807-.085,5.917,5.917,0,0,0-.833-.085,4.217,4.217,0,0,0-.807.065,2.42,2.42,0,0,0-.82.293,6.682,6.682,0,0,0-.755.5q-.351.267-.755.527a3.886,3.886,0,0,1-.989.436A4.471,4.471,0,0,1,11.831,22a4.307,4.307,0,0,1-1.256-.176,3.784,3.784,0,0,1-.976-.436q-.4-.26-.749-.527a6.682,6.682,0,0,0-.755-.5,2.422,2.422,0,0,0-.807-.293,4.432,4.432,0,0,0-.82-.065,5.089,5.089,0,0,0-.853.1,5,5,0,0,1-.762.1.474.474,0,0,1-.456-.241,1.819,1.819,0,0,1-.182-.618,1.411,1.411,0,0,0-.143-.521q-2.852-.429-2.852-1.341a.42.42,0,0,1,.365-.456,5.793,5.793,0,0,0,1.042-.3,5.524,5.524,0,0,0,1.881-1.315,6.789,6.789,0,0,0,1.334-1.953A1.575,1.575,0,0,0,6,12.9a.728.728,0,0,0-.41-.618,3.323,3.323,0,0,0-.9-.384,2.912,2.912,0,0,1-.9-.41.814.814,0,0,1-.41-.684.71.71,0,0,1,.338-.593,1.208,1.208,0,0,1,.716-.241,1.976,1.976,0,0,1,.625.169,2.008,2.008,0,0,0,.69.169.919.919,0,0,0,.416-.091q-.117-1.849-.117-2.474A5.861,5.861,0,0,1,6.385,5.4,5.516,5.516,0,0,1,8.625,2.819,7.075,7.075,0,0,1,12.062,2Z" 27243 })); 27244 27245 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/soundcloud.js 27246 27247 27248 /** 27249 * WordPress dependencies 27250 */ 27251 27252 const SoundCloudIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27253 width: "24", 27254 height: "24", 27255 viewBox: "0 0 24 24", 27256 version: "1.1" 27257 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27258 d: "M8.9,16.1L9,14L8.9,9.5c0-0.1,0-0.1-0.1-0.1c0,0-0.1-0.1-0.1-0.1c-0.1,0-0.1,0-0.1,0.1c0,0-0.1,0.1-0.1,0.1L8.3,14l0.1,2.1 c0,0.1,0,0.1,0.1,0.1c0,0,0.1,0.1,0.1,0.1C8.8,16.3,8.9,16.3,8.9,16.1z M11.4,15.9l0.1-1.8L11.4,9c0-0.1,0-0.2-0.1-0.2 c0,0-0.1,0-0.1,0s-0.1,0-0.1,0c-0.1,0-0.1,0.1-0.1,0.2l0,0.1l-0.1,5c0,0,0,0.7,0.1,2v0c0,0.1,0,0.1,0.1,0.1c0.1,0.1,0.1,0.1,0.2,0.1 c0.1,0,0.1,0,0.2-0.1c0.1,0,0.1-0.1,0.1-0.2L11.4,15.9z M2.4,12.9L2.5,14l-0.2,1.1c0,0.1,0,0.1-0.1,0.1c0,0-0.1,0-0.1-0.1L2.1,14 l0.1-1.1C2.2,12.9,2.3,12.9,2.4,12.9C2.3,12.9,2.4,12.9,2.4,12.9z M3.1,12.2L3.3,14l-0.2,1.8c0,0.1,0,0.1-0.1,0.1 c-0.1,0-0.1,0-0.1-0.1L2.8,14L3,12.2C3,12.2,3,12.2,3.1,12.2C3.1,12.2,3.1,12.2,3.1,12.2z M3.9,11.9L4.1,14l-0.2,2.1 c0,0.1,0,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L3.5,14l0.2-2.1c0-0.1,0-0.1,0.1-0.1C3.9,11.8,3.9,11.8,3.9,11.9z M4.7,11.9L4.9,14 l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c-0.1,0-0.1,0-0.1-0.1L4.3,14l0.2-2.2c0-0.1,0-0.1,0.1-0.1C4.7,11.7,4.7,11.8,4.7,11.9z M5.6,12 l0.2,2l-0.2,2.1c0,0.1-0.1,0.1-0.1,0.1c0,0-0.1,0-0.1,0c0,0,0-0.1,0-0.1L5.1,14l0.2-2c0,0,0-0.1,0-0.1s0.1,0,0.1,0 C5.5,11.9,5.5,11.9,5.6,12L5.6,12z M6.4,10.7L6.6,14l-0.2,2.1c0,0,0,0.1,0,0.1c0,0-0.1,0-0.1,0c-0.1,0-0.1-0.1-0.2-0.2L5.9,14 l0.2-3.3c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0C6.4,10.7,6.4,10.7,6.4,10.7z M7.2,10l0.2,4.1l-0.2,2.1c0,0,0,0.1,0,0.1 c0,0-0.1,0-0.1,0c-0.1,0-0.2-0.1-0.2-0.2l-0.1-2.1L6.8,10c0-0.1,0.1-0.2,0.2-0.2c0,0,0.1,0,0.1,0S7.2,9.9,7.2,10z M8,9.6L8.2,14 L8,16.1c0,0.1-0.1,0.2-0.2,0.2c-0.1,0-0.2-0.1-0.2-0.2L7.5,14l0.1-4.4c0-0.1,0-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0.1,0,0.1,0,0.1,0.1 C8,9.6,8,9.6,8,9.6z M11.4,16.1L11.4,16.1L11.4,16.1z M9.7,9.6L9.8,14l-0.1,2.1c0,0.1,0,0.1-0.1,0.2s-0.1,0.1-0.2,0.1 c-0.1,0-0.1,0-0.1-0.1s-0.1-0.1-0.1-0.2L9.2,14l0.1-4.4c0-0.1,0-0.1,0.1-0.2s0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S9.7,9.5,9.7,9.6 L9.7,9.6z M10.6,9.8l0.1,4.3l-0.1,2c0,0.1,0,0.1-0.1,0.2c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c0,0-0.1-0.1-0.1-0.2L10,14 l0.1-4.3c0-0.1,0-0.1,0.1-0.2c0,0,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1S10.6,9.7,10.6,9.8z M12.4,14l-0.1,2c0,0.1,0,0.1-0.1,0.2 c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2l-0.1-1l-0.1-1l0.1-5.5v0c0-0.1,0-0.2,0.1-0.2 c0.1,0,0.1-0.1,0.2-0.1c0,0,0.1,0,0.1,0c0.1,0,0.1,0.1,0.1,0.2L12.4,14z M22.1,13.9c0,0.7-0.2,1.3-0.7,1.7c-0.5,0.5-1.1,0.7-1.7,0.7 h-6.8c-0.1,0-0.1,0-0.2-0.1c-0.1-0.1-0.1-0.1-0.1-0.2V8.2c0-0.1,0.1-0.2,0.2-0.3c0.5-0.2,1-0.3,1.6-0.3c1.1,0,2.1,0.4,2.9,1.1 c0.8,0.8,1.3,1.7,1.4,2.8c0.3-0.1,0.6-0.2,1-0.2c0.7,0,1.3,0.2,1.7,0.7C21.8,12.6,22.1,13.2,22.1,13.9L22.1,13.9z" 27259 })); 27260 27261 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/spotify.js 27262 27263 27264 /** 27265 * WordPress dependencies 27266 */ 27267 27268 const SpotifyIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27269 width: "24", 27270 height: "24", 27271 viewBox: "0 0 24 24", 27272 version: "1.1" 27273 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27274 d: "M12,2C6.477,2,2,6.477,2,12c0,5.523,4.477,10,10,10c5.523,0,10-4.477,10-10C22,6.477,17.523,2,12,2 M16.586,16.424 c-0.18,0.295-0.563,0.387-0.857,0.207c-2.348-1.435-5.304-1.76-8.785-0.964c-0.335,0.077-0.67-0.133-0.746-0.469 c-0.077-0.335,0.132-0.67,0.469-0.746c3.809-0.871,7.077-0.496,9.713,1.115C16.673,15.746,16.766,16.13,16.586,16.424 M17.81,13.7 c-0.226,0.367-0.706,0.482-1.072,0.257c-2.687-1.652-6.785-2.131-9.965-1.166C6.36,12.917,5.925,12.684,5.8,12.273 C5.675,11.86,5.908,11.425,6.32,11.3c3.632-1.102,8.147-0.568,11.234,1.328C17.92,12.854,18.035,13.335,17.81,13.7 M17.915,10.865 c-3.223-1.914-8.54-2.09-11.618-1.156C5.804,9.859,5.281,9.58,5.131,9.086C4.982,8.591,5.26,8.069,5.755,7.919 c3.532-1.072,9.404-0.865,13.115,1.338c0.445,0.264,0.59,0.838,0.327,1.282C18.933,10.983,18.359,11.129,17.915,10.865" 27275 })); 27276 27277 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/telegram.js 27278 27279 27280 /** 27281 * WordPress dependencies 27282 */ 27283 27284 const TelegramIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27285 width: "24", 27286 height: "24", 27287 viewBox: "0 0 128 128", 27288 version: "1.1" 27289 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27290 d: "M28.9700376,63.3244248 C47.6273373,55.1957357 60.0684594,49.8368063 66.2934036,47.2476366 C84.0668845,39.855031 87.7600616,38.5708563 90.1672227,38.528 C90.6966555,38.5191258 91.8804274,38.6503351 92.6472251,39.2725385 C93.294694,39.7979149 93.4728387,40.5076237 93.5580865,41.0057381 C93.6433345,41.5038525 93.7494885,42.63857 93.6651041,43.5252052 C92.7019529,53.6451182 88.5344133,78.2034783 86.4142057,89.5379542 C85.5170662,94.3339958 83.750571,95.9420841 82.0403991,96.0994568 C78.3237996,96.4414641 75.5015827,93.6432685 71.9018743,91.2836143 C66.2690414,87.5912212 63.0868492,85.2926952 57.6192095,81.6896017 C51.3004058,77.5256038 55.3966232,75.2369981 58.9976911,71.4967761 C59.9401076,70.5179421 76.3155302,55.6232293 76.6324771,54.2720454 C76.6721165,54.1030573 76.7089039,53.4731496 76.3346867,53.1405352 C75.9604695,52.8079208 75.4081573,52.921662 75.0095933,53.0121213 C74.444641,53.1403447 65.4461175,59.0880351 48.0140228,70.8551922 C45.4598218,72.6091037 43.1463059,73.4636682 41.0734751,73.4188859 C38.7883453,73.3695169 34.3926725,72.1268388 31.1249416,71.0646282 C27.1169366,69.7617838 23.931454,69.0729605 24.208838,66.8603276 C24.3533167,65.7078514 25.9403832,64.5292172 28.9700376,63.3244248 Z" 27291 })); 27292 27293 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/tiktok.js 27294 27295 27296 /** 27297 * WordPress dependencies 27298 */ 27299 27300 const TiktokIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27301 width: "24", 27302 height: "24", 27303 viewBox: "0 0 32 32", 27304 version: "1.1" 27305 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27306 d: "M16.708 0.027c1.745-0.027 3.48-0.011 5.213-0.027 0.105 2.041 0.839 4.12 2.333 5.563 1.491 1.479 3.6 2.156 5.652 2.385v5.369c-1.923-0.063-3.855-0.463-5.6-1.291-0.76-0.344-1.468-0.787-2.161-1.24-0.009 3.896 0.016 7.787-0.025 11.667-0.104 1.864-0.719 3.719-1.803 5.255-1.744 2.557-4.771 4.224-7.88 4.276-1.907 0.109-3.812-0.411-5.437-1.369-2.693-1.588-4.588-4.495-4.864-7.615-0.032-0.667-0.043-1.333-0.016-1.984 0.24-2.537 1.495-4.964 3.443-6.615 2.208-1.923 5.301-2.839 8.197-2.297 0.027 1.975-0.052 3.948-0.052 5.923-1.323-0.428-2.869-0.308-4.025 0.495-0.844 0.547-1.485 1.385-1.819 2.333-0.276 0.676-0.197 1.427-0.181 2.145 0.317 2.188 2.421 4.027 4.667 3.828 1.489-0.016 2.916-0.88 3.692-2.145 0.251-0.443 0.532-0.896 0.547-1.417 0.131-2.385 0.079-4.76 0.095-7.145 0.011-5.375-0.016-10.735 0.025-16.093z" 27307 })); 27308 27309 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/tumblr.js 27310 27311 27312 /** 27313 * WordPress dependencies 27314 */ 27315 27316 const TumblrIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27317 width: "24", 27318 height: "24", 27319 viewBox: "0 0 24 24", 27320 version: "1.1" 27321 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27322 d: "M17.04 21.28h-3.28c-2.84 0-4.94-1.37-4.94-5.02v-5.67H6.08V7.5c2.93-.73 4.11-3.3 4.3-5.48h3.01v4.93h3.47v3.65H13.4v4.93c0 1.47.73 2.01 1.92 2.01h1.73v3.75z" 27323 })); 27324 27325 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/twitch.js 27326 27327 27328 /** 27329 * WordPress dependencies 27330 */ 27331 27332 const TwitchIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27333 width: "24", 27334 height: "24", 27335 viewBox: "0 0 24 24", 27336 version: "1.1" 27337 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27338 d: "M16.499,8.089h-1.636v4.91h1.636V8.089z M12,8.089h-1.637v4.91H12V8.089z M4.228,3.178L3,6.451v13.092h4.499V22h2.456 l2.454-2.456h3.681L21,14.636V3.178H4.228z M19.364,13.816l-2.864,2.865H12l-2.453,2.453V16.68H5.863V4.814h13.501V13.816z" 27339 })); 27340 27341 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/twitter.js 27342 27343 27344 /** 27345 * WordPress dependencies 27346 */ 27347 27348 const TwitterIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27349 width: "24", 27350 height: "24", 27351 viewBox: "0 0 24 24", 27352 version: "1.1" 27353 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27354 d: "M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z" 27355 })); 27356 27357 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/vimeo.js 27358 27359 27360 /** 27361 * WordPress dependencies 27362 */ 27363 27364 const VimeoIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27365 width: "24", 27366 height: "24", 27367 viewBox: "0 0 24 24", 27368 version: "1.1" 27369 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27370 d: "M22.396,7.164c-0.093,2.026-1.507,4.799-4.245,8.32C15.322,19.161,12.928,21,10.97,21c-1.214,0-2.24-1.119-3.079-3.359 c-0.56-2.053-1.119-4.106-1.68-6.159C5.588,9.243,4.921,8.122,4.206,8.122c-0.156,0-0.701,0.328-1.634,0.98L1.594,7.841 c1.027-0.902,2.04-1.805,3.037-2.708C6.001,3.95,7.03,3.327,7.715,3.264c1.619-0.156,2.616,0.951,2.99,3.321 c0.404,2.557,0.685,4.147,0.841,4.769c0.467,2.121,0.981,3.181,1.542,3.181c0.435,0,1.09-0.688,1.963-2.065 c0.871-1.376,1.338-2.422,1.401-3.142c0.125-1.187-0.343-1.782-1.401-1.782c-0.498,0-1.012,0.115-1.541,0.341 c1.023-3.35,2.977-4.977,5.862-4.884C21.511,3.066,22.52,4.453,22.396,7.164z" 27371 })); 27372 27373 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/vk.js 27374 27375 27376 /** 27377 * WordPress dependencies 27378 */ 27379 27380 const VkIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27381 width: "24", 27382 height: "24", 27383 viewBox: "0 0 24 24", 27384 version: "1.1" 27385 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27386 d: "M22,7.1c0.2,0.4-0.4,1.5-1.6,3.1c-0.2,0.2-0.4,0.5-0.7,0.9c-0.5,0.7-0.9,1.1-0.9,1.4c-0.1,0.3-0.1,0.6,0.1,0.8 c0.1,0.1,0.4,0.4,0.8,0.9h0l0,0c1,0.9,1.6,1.7,2,2.3c0,0,0,0.1,0.1,0.1c0,0.1,0,0.1,0.1,0.3c0,0.1,0,0.2,0,0.4 c0,0.1-0.1,0.2-0.3,0.3c-0.1,0.1-0.4,0.1-0.6,0.1l-2.7,0c-0.2,0-0.4,0-0.6-0.1c-0.2-0.1-0.4-0.1-0.5-0.2l-0.2-0.1 c-0.2-0.1-0.5-0.4-0.7-0.7s-0.5-0.6-0.7-0.8c-0.2-0.2-0.4-0.4-0.6-0.6C14.8,15,14.6,15,14.4,15c0,0,0,0-0.1,0c0,0-0.1,0.1-0.2,0.2 c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.1-0.1,0.3-0.2,0.5c-0.1,0.2-0.1,0.5-0.1,0.8c0,0.1,0,0.2,0,0.3c0,0.1-0.1,0.2-0.1,0.2l0,0.1 c-0.1,0.1-0.3,0.2-0.6,0.2h-1.2c-0.5,0-1,0-1.5-0.2c-0.5-0.1-1-0.3-1.4-0.6s-0.7-0.5-1.1-0.7s-0.6-0.4-0.7-0.6l-0.3-0.3 c-0.1-0.1-0.2-0.2-0.3-0.3s-0.4-0.5-0.7-0.9s-0.7-1-1.1-1.6c-0.4-0.6-0.8-1.3-1.3-2.2C2.9,9.4,2.5,8.5,2.1,7.5C2,7.4,2,7.3,2,7.2 c0-0.1,0-0.1,0-0.2l0-0.1c0.1-0.1,0.3-0.2,0.6-0.2l2.9,0c0.1,0,0.2,0,0.2,0.1S5.9,6.9,5.9,7L6,7c0.1,0.1,0.2,0.2,0.3,0.3 C6.4,7.7,6.5,8,6.7,8.4C6.9,8.8,7,9,7.1,9.2l0.2,0.3c0.2,0.4,0.4,0.8,0.6,1.1c0.2,0.3,0.4,0.5,0.5,0.7s0.3,0.3,0.4,0.4 c0.1,0.1,0.3,0.1,0.4,0.1c0.1,0,0.2,0,0.3-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.1-0.2c0.1-0.1,0.1-0.3,0.1-0.5c0-0.2,0.1-0.5,0.1-0.8 c0-0.4,0-0.8,0-1.3c0-0.3,0-0.5-0.1-0.8c0-0.2-0.1-0.4-0.1-0.5L9.6,7.6C9.4,7.3,9.1,7.2,8.7,7.1C8.6,7.1,8.6,7,8.7,6.9 C8.9,6.7,9,6.6,9.1,6.5c0.4-0.2,1.2-0.3,2.5-0.3c0.6,0,1,0.1,1.4,0.1c0.1,0,0.3,0.1,0.3,0.1c0.1,0.1,0.2,0.1,0.2,0.3 c0,0.1,0.1,0.2,0.1,0.3s0,0.3,0,0.5c0,0.2,0,0.4,0,0.6c0,0.2,0,0.4,0,0.7c0,0.3,0,0.6,0,0.9c0,0.1,0,0.2,0,0.4c0,0.2,0,0.4,0,0.5 c0,0.1,0,0.3,0,0.4s0.1,0.3,0.1,0.4c0.1,0.1,0.1,0.2,0.2,0.3c0.1,0,0.1,0,0.2,0c0.1,0,0.2,0,0.3-0.1c0.1-0.1,0.2-0.2,0.4-0.4 s0.3-0.4,0.5-0.7c0.2-0.3,0.5-0.7,0.7-1.1c0.4-0.7,0.8-1.5,1.1-2.3c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.1l0,0l0.1,0 c0,0,0,0,0.1,0s0.2,0,0.2,0l3,0c0.3,0,0.5,0,0.7,0S21.9,7,21.9,7L22,7.1z" 27387 })); 27388 27389 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/yelp.js 27390 27391 27392 /** 27393 * WordPress dependencies 27394 */ 27395 27396 const YelpIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27397 width: "24", 27398 height: "24", 27399 viewBox: "0 0 24 24", 27400 version: "1.1" 27401 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27402 d: "M12.271,16.718v1.417q-.011,3.257-.067,3.4a.707.707,0,0,1-.569.446,4.637,4.637,0,0,1-2.024-.424A4.609,4.609,0,0,1,7.8,20.565a.844.844,0,0,1-.19-.4.692.692,0,0,1,.044-.29,3.181,3.181,0,0,1,.379-.524q.335-.412,2.019-2.409.011,0,.669-.781a.757.757,0,0,1,.44-.274.965.965,0,0,1,.552.039.945.945,0,0,1,.418.324.732.732,0,0,1,.139.468Zm-1.662-2.8a.783.783,0,0,1-.58.781l-1.339.435q-3.067.981-3.257.981a.711.711,0,0,1-.6-.4,2.636,2.636,0,0,1-.19-.836,9.134,9.134,0,0,1,.011-1.857,3.559,3.559,0,0,1,.335-1.389.659.659,0,0,1,.625-.357,22.629,22.629,0,0,1,2.253.859q.781.324,1.283.524l.937.379a.771.771,0,0,1,.4.34A.982.982,0,0,1,10.609,13.917Zm9.213,3.313a4.467,4.467,0,0,1-1.021,1.8,4.559,4.559,0,0,1-1.512,1.417.671.671,0,0,1-.7-.078q-.156-.112-2.052-3.2l-.524-.859a.761.761,0,0,1-.128-.513.957.957,0,0,1,.217-.513.774.774,0,0,1,.926-.29q.011.011,1.327.446,2.264.736,2.7.887a2.082,2.082,0,0,1,.524.229.673.673,0,0,1,.245.68Zm-7.5-7.049q.056,1.137-.6,1.361-.647.19-1.272-.792L6.237,4.08a.7.7,0,0,1,.212-.691,5.788,5.788,0,0,1,2.314-1,5.928,5.928,0,0,1,2.5-.352.681.681,0,0,1,.547.5q.034.2.245,3.407T12.327,10.181Zm7.384,1.2a.679.679,0,0,1-.29.658q-.167.112-3.67.959-.747.167-1.015.257l.011-.022a.769.769,0,0,1-.513-.044.914.914,0,0,1-.413-.357.786.786,0,0,1,0-.971q.011-.011.836-1.137,1.394-1.908,1.673-2.275a2.423,2.423,0,0,1,.379-.435A.7.7,0,0,1,17.435,8a4.482,4.482,0,0,1,1.372,1.489,4.81,4.81,0,0,1,.9,1.868v.034Z" 27403 })); 27404 27405 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/icons/youtube.js 27406 27407 27408 /** 27409 * WordPress dependencies 27410 */ 27411 27412 const YouTubeIcon = () => Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27413 width: "24", 27414 height: "24", 27415 viewBox: "0 0 24 24", 27416 version: "1.1" 27417 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27418 d: "M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z" 27419 })); 27420 27421 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/variations.js 27422 /** 27423 * Internal dependencies 27424 */ 27425 27426 const social_link_variations_variations = [{ 27427 isDefault: true, 27428 name: 'wordpress', 27429 attributes: { 27430 service: 'wordpress' 27431 }, 27432 title: 'WordPress', 27433 icon: WordPressIcon 27434 }, { 27435 name: 'fivehundredpx', 27436 attributes: { 27437 service: 'fivehundredpx' 27438 }, 27439 title: '500px', 27440 icon: FivehundredpxIcon 27441 }, { 27442 name: 'amazon', 27443 attributes: { 27444 service: 'amazon' 27445 }, 27446 title: 'Amazon', 27447 icon: AmazonIcon 27448 }, { 27449 name: 'bandcamp', 27450 attributes: { 27451 service: 'bandcamp' 27452 }, 27453 title: 'Bandcamp', 27454 icon: BandcampIcon 27455 }, { 27456 name: 'behance', 27457 attributes: { 27458 service: 'behance' 27459 }, 27460 title: 'Behance', 27461 icon: BehanceIcon 27462 }, { 27463 name: 'chain', 27464 attributes: { 27465 service: 'chain' 27466 }, 27467 title: 'Link', 27468 icon: ChainIcon 27469 }, { 27470 name: 'codepen', 27471 attributes: { 27472 service: 'codepen' 27473 }, 27474 title: 'CodePen', 27475 icon: CodepenIcon 27476 }, { 27477 name: 'deviantart', 27478 attributes: { 27479 service: 'deviantart' 27480 }, 27481 title: 'DeviantArt', 27482 icon: DeviantArtIcon 27483 }, { 27484 name: 'dribbble', 27485 attributes: { 27486 service: 'dribbble' 27487 }, 27488 title: 'Dribbble', 27489 icon: DribbbleIcon 27490 }, { 27491 name: 'dropbox', 27492 attributes: { 27493 service: 'dropbox' 27494 }, 27495 title: 'Dropbox', 27496 icon: DropboxIcon 27497 }, { 27498 name: 'etsy', 27499 attributes: { 27500 service: 'etsy' 27501 }, 27502 title: 'Etsy', 27503 icon: EtsyIcon 27504 }, { 27505 name: 'facebook', 27506 attributes: { 27507 service: 'facebook' 27508 }, 27509 title: 'Facebook', 27510 icon: FacebookIcon 27511 }, { 27512 name: 'feed', 27513 attributes: { 27514 service: 'feed' 27515 }, 27516 title: 'RSS Feed', 27517 icon: FeedIcon 27518 }, { 27519 name: 'flickr', 27520 attributes: { 27521 service: 'flickr' 27522 }, 27523 title: 'Flickr', 27524 icon: FlickrIcon 27525 }, { 27526 name: 'foursquare', 27527 attributes: { 27528 service: 'foursquare' 27529 }, 27530 title: 'Foursquare', 27531 icon: FoursquareIcon 27532 }, { 27533 name: 'goodreads', 27534 attributes: { 27535 service: 'goodreads' 27536 }, 27537 title: 'Goodreads', 27538 icon: GoodreadsIcon 27539 }, { 27540 name: 'google', 27541 attributes: { 27542 service: 'google' 27543 }, 27544 title: 'Google', 27545 icon: GoogleIcon 27546 }, { 27547 name: 'github', 27548 attributes: { 27549 service: 'github' 27550 }, 27551 title: 'GitHub', 27552 icon: GitHubIcon 27553 }, { 27554 name: 'instagram', 27555 attributes: { 27556 service: 'instagram' 27557 }, 27558 title: 'Instagram', 27559 icon: InstagramIcon 27560 }, { 27561 name: 'lastfm', 27562 attributes: { 27563 service: 'lastfm' 27564 }, 27565 title: 'Last.fm', 27566 icon: LastfmIcon 27567 }, { 27568 name: 'linkedin', 27569 attributes: { 27570 service: 'linkedin' 27571 }, 27572 title: 'LinkedIn', 27573 icon: LinkedInIcon 27574 }, { 27575 name: 'mail', 27576 attributes: { 27577 service: 'mail' 27578 }, 27579 title: 'Mail', 27580 keywords: ['email', 'e-mail'], 27581 icon: MailIcon 27582 }, { 27583 name: 'mastodon', 27584 attributes: { 27585 service: 'mastodon' 27586 }, 27587 title: 'Mastodon', 27588 icon: MastodonIcon 27589 }, { 27590 name: 'meetup', 27591 attributes: { 27592 service: 'meetup' 27593 }, 27594 title: 'Meetup', 27595 icon: MeetupIcon 27596 }, { 27597 name: 'medium', 27598 attributes: { 27599 service: 'medium' 27600 }, 27601 title: 'Medium', 27602 icon: MediumIcon 27603 }, { 27604 name: 'patreon', 27605 attributes: { 27606 service: 'patreon' 27607 }, 27608 title: 'Patreon', 27609 icon: PatreonIcon 27610 }, { 27611 name: 'pinterest', 27612 attributes: { 27613 service: 'pinterest' 27614 }, 27615 title: 'Pinterest', 27616 icon: PinterestIcon 27617 }, { 27618 name: 'pocket', 27619 attributes: { 27620 service: 'pocket' 27621 }, 27622 title: 'Pocket', 27623 icon: PocketIcon 27624 }, { 27625 name: 'reddit', 27626 attributes: { 27627 service: 'reddit' 27628 }, 27629 title: 'Reddit', 27630 icon: RedditIcon 27631 }, { 27632 name: 'skype', 27633 attributes: { 27634 service: 'skype' 27635 }, 27636 title: 'Skype', 27637 icon: SkypeIcon 27638 }, { 27639 name: 'snapchat', 27640 attributes: { 27641 service: 'snapchat' 27642 }, 27643 title: 'Snapchat', 27644 icon: SnapchatIcon 27645 }, { 27646 name: 'soundcloud', 27647 attributes: { 27648 service: 'soundcloud' 27649 }, 27650 title: 'SoundCloud', 27651 icon: SoundCloudIcon 27652 }, { 27653 name: 'spotify', 27654 attributes: { 27655 service: 'spotify' 27656 }, 27657 title: 'Spotify', 27658 icon: SpotifyIcon 27659 }, { 27660 name: 'telegram', 27661 attributes: { 27662 service: 'telegram' 27663 }, 27664 title: 'Telegram', 27665 icon: TelegramIcon 27666 }, { 27667 name: 'tiktok', 27668 attributes: { 27669 service: 'tiktok' 27670 }, 27671 title: 'TikTok', 27672 icon: TiktokIcon 27673 }, { 27674 name: 'tumblr', 27675 attributes: { 27676 service: 'tumblr' 27677 }, 27678 title: 'Tumblr', 27679 icon: TumblrIcon 27680 }, { 27681 name: 'twitch', 27682 attributes: { 27683 service: 'twitch' 27684 }, 27685 title: 'Twitch', 27686 icon: TwitchIcon 27687 }, { 27688 name: 'twitter', 27689 attributes: { 27690 service: 'twitter' 27691 }, 27692 title: 'Twitter', 27693 icon: TwitterIcon 27694 }, { 27695 name: 'vimeo', 27696 attributes: { 27697 service: 'vimeo' 27698 }, 27699 title: 'Vimeo', 27700 icon: VimeoIcon 27701 }, { 27702 name: 'vk', 27703 attributes: { 27704 service: 'vk' 27705 }, 27706 title: 'VK', 27707 icon: VkIcon 27708 }, { 27709 name: 'yelp', 27710 attributes: { 27711 service: 'yelp' 27712 }, 27713 title: 'Yelp', 27714 icon: YelpIcon 27715 }, { 27716 name: 'youtube', 27717 attributes: { 27718 service: 'youtube' 27719 }, 27720 title: 'YouTube', 27721 icon: YouTubeIcon 27722 }]; 27723 /** 27724 * Add `isActive` function to all `social link` variations, if not defined. 27725 * `isActive` function is used to find a variation match from a created 27726 * Block by providing its attributes. 27727 */ 27728 27729 social_link_variations_variations.forEach(variation => { 27730 if (variation.isActive) return; 27731 27732 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.service === variationAttributes.service; 27733 }); 27734 /* harmony default export */ var social_link_variations = (social_link_variations_variations); 27735 27736 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/social-list.js 27737 /** 27738 * External dependencies 27739 */ 27740 27741 /** 27742 * WordPress dependencies 27743 */ 27744 27745 27746 /** 27747 * Internal dependencies 27748 */ 27749 27750 27751 27752 /** 27753 * Retrieves the social service's icon component. 27754 * 27755 * @param {string} name key for a social service (lowercase slug) 27756 * 27757 * @return {WPComponent} Icon component for social service. 27758 */ 27759 27760 const getIconBySite = name => { 27761 const variation = Object(external_lodash_["find"])(social_link_variations, { 27762 name 27763 }); 27764 return variation ? variation.icon : ChainIcon; 27765 }; 27766 /** 27767 * Retrieves the display name for the social service. 27768 * 27769 * @param {string} name key for a social service (lowercase slug) 27770 * 27771 * @return {string} Display name for social service 27772 */ 27773 27774 const getNameBySite = name => { 27775 const variation = Object(external_lodash_["find"])(social_link_variations, { 27776 name 27777 }); 27778 return variation ? variation.title : Object(external_wp_i18n_["__"])('Social Icon'); 27779 }; 27780 27781 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/edit.js 27782 27783 27784 /** 27785 * External dependencies 27786 */ 27787 27788 /** 27789 * WordPress dependencies 27790 */ 27791 27792 27793 27794 27795 27796 27797 /** 27798 * Internal dependencies 27799 */ 27800 27801 27802 27803 const SocialLinkEdit = ({ 27804 attributes, 27805 context, 27806 isSelected, 27807 setAttributes 27808 }) => { 27809 const { 27810 url, 27811 service, 27812 label 27813 } = attributes; 27814 const { 27815 iconColorValue, 27816 iconBackgroundColorValue 27817 } = context; 27818 const [showURLPopover, setPopover] = Object(external_wp_element_["useState"])(false); 27819 const classes = classnames_default()('wp-social-link', 'wp-social-link-' + service, { 27820 'wp-social-link__is-incomplete': !url 27821 }); 27822 const IconComponent = getIconBySite(service); 27823 const socialLinkName = getNameBySite(service); 27824 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 27825 className: classes, 27826 style: { 27827 color: iconColorValue, 27828 backgroundColor: iconBackgroundColorValue 27829 } 27830 }); 27831 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 27832 title: Object(external_wp_i18n_["sprintf"])( 27833 /* translators: %s: name of the social service. */ 27834 Object(external_wp_i18n_["__"])('%s label'), socialLinkName), 27835 initialOpen: false 27836 }, Object(external_wp_element_["createElement"])(external_wp_components_["PanelRow"], null, Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 27837 label: Object(external_wp_i18n_["__"])('Link label'), 27838 help: Object(external_wp_i18n_["__"])('Briefly describe the link to help screen reader users.'), 27839 value: label, 27840 onChange: value => setAttributes({ 27841 label: value 27842 }) 27843 })))), Object(external_wp_element_["createElement"])("li", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 27844 onClick: () => setPopover(true) 27845 }, Object(external_wp_element_["createElement"])(IconComponent, null), isSelected && showURLPopover && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["URLPopover"], { 27846 onClose: () => setPopover(false) 27847 }, Object(external_wp_element_["createElement"])("form", { 27848 className: "block-editor-url-popover__link-editor", 27849 onSubmit: event => { 27850 event.preventDefault(); 27851 setPopover(false); 27852 } 27853 }, Object(external_wp_element_["createElement"])("div", { 27854 className: "block-editor-url-input" 27855 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["URLInput"], { 27856 value: url, 27857 onChange: nextURL => setAttributes({ 27858 url: nextURL 27859 }), 27860 placeholder: Object(external_wp_i18n_["__"])('Enter address'), 27861 disableSuggestions: true 27862 })), Object(external_wp_element_["createElement"])(external_wp_components_["Button"], { 27863 icon: keyboard_return["a" /* default */], 27864 label: Object(external_wp_i18n_["__"])('Apply'), 27865 type: "submit" 27866 })))))); 27867 }; 27868 27869 /* harmony default export */ var social_link_edit = (SocialLinkEdit); 27870 27871 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/social-link/index.js 27872 /** 27873 * WordPress dependencies 27874 */ 27875 27876 /** 27877 * Internal dependencies 27878 */ 27879 27880 27881 const social_link_metadata = { 27882 apiVersion: 2, 27883 name: "core/social-link", 27884 title: "Social Icon", 27885 category: "widgets", 27886 parent: ["core/social-links"], 27887 description: "Display an icon linking to a social media profile or website.", 27888 textdomain: "default", 27889 attributes: { 27890 url: { 27891 type: "string" 27892 }, 27893 service: { 27894 type: "string" 27895 }, 27896 label: { 27897 type: "string" 27898 } 27899 }, 27900 usesContext: ["openInNewTab", "iconColorValue", "iconBackgroundColorValue"], 27901 supports: { 27902 reusable: false, 27903 html: false 27904 }, 27905 editorStyle: "wp-block-social-link-editor" 27906 }; 27907 27908 const { 27909 name: social_link_name 27910 } = social_link_metadata; 27911 27912 const social_link_settings = { 27913 icon: library_share, 27914 edit: social_link_edit, 27915 variations: social_link_variations 27916 }; 27917 27918 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/site-logo.js 27919 27920 27921 /** 27922 * WordPress dependencies 27923 */ 27924 27925 const siteLogo = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 27926 xmlns: "http://www.w3.org/2000/svg", 27927 viewBox: "0 0 24 24" 27928 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 27929 d: "M12 3c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 1.5c4.1 0 7.5 3.4 7.5 7.5v.1c-1.4-.8-3.3-1.7-3.4-1.8-.2-.1-.5-.1-.8.1l-2.9 2.1L9 11.3c-.2-.1-.4 0-.6.1l-3.7 2.2c-.1-.5-.2-1-.2-1.5 0-4.2 3.4-7.6 7.5-7.6zm0 15c-3.1 0-5.7-1.9-6.9-4.5l3.7-2.2 3.5 1.2c.2.1.5 0 .7-.1l2.9-2.1c.8.4 2.5 1.2 3.5 1.9-.9 3.3-3.9 5.8-7.4 5.8z" 27930 })); 27931 /* harmony default export */ var site_logo = (siteLogo); 27932 27933 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-logo/edit.js 27934 27935 27936 /** 27937 * External dependencies 27938 */ 27939 27940 27941 /** 27942 * WordPress dependencies 27943 */ 27944 27945 27946 27947 27948 27949 27950 27951 27952 27953 27954 /** 27955 * Internal dependencies 27956 */ 27957 27958 27959 /** 27960 * Module constants 27961 */ 27962 27963 27964 const site_logo_edit_ALLOWED_MEDIA_TYPES = ['image']; 27965 const ACCEPT_MEDIA_STRING = 'image/*'; 27966 27967 const SiteLogo = ({ 27968 alt, 27969 attributes: { 27970 align, 27971 width, 27972 height, 27973 isLink, 27974 linkTarget 27975 }, 27976 containerRef, 27977 isSelected, 27978 setAttributes, 27979 logoUrl, 27980 siteUrl 27981 }) => { 27982 const clientWidth = useClientWidth(containerRef, [align]); 27983 const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); 27984 const isWideAligned = Object(external_lodash_["includes"])(['wide', 'full'], align); 27985 const isResizable = !isWideAligned && isLargeViewport; 27986 const [{ 27987 naturalWidth, 27988 naturalHeight 27989 }, setNaturalSize] = Object(external_wp_element_["useState"])({}); 27990 const { 27991 toggleSelection 27992 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 27993 const classes = classnames_default()('custom-logo-link', { 27994 'is-transient': Object(external_wp_blob_["isBlobURL"])(logoUrl) 27995 }); 27996 const { 27997 maxWidth, 27998 title 27999 } = Object(external_wp_data_["useSelect"])(select => { 28000 const { 28001 getSettings 28002 } = select(external_wp_blockEditor_["store"]); 28003 const siteEntities = select(external_wp_coreData_["store"]).getEditedEntityRecord('root', 'site'); 28004 return { 28005 title: siteEntities.title, 28006 ...Object(external_lodash_["pick"])(getSettings(), ['imageSizes', 'maxWidth']) 28007 }; 28008 }, []); 28009 28010 function onResizeStart() { 28011 toggleSelection(false); 28012 } 28013 28014 function onResizeStop() { 28015 toggleSelection(true); 28016 } 28017 28018 const img = Object(external_wp_element_["createElement"])("img", { 28019 className: "custom-logo", 28020 src: logoUrl, 28021 alt: alt, 28022 onLoad: event => { 28023 setNaturalSize(Object(external_lodash_["pick"])(event.target, ['naturalWidth', 'naturalHeight'])); 28024 } 28025 }); 28026 let imgWrapper = img; // Disable reason: Image itself is not meant to be interactive, but 28027 // should direct focus to block. 28028 28029 if (isLink) { 28030 imgWrapper = 28031 /* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 28032 Object(external_wp_element_["createElement"])("a", { 28033 href: siteUrl, 28034 className: classes, 28035 rel: "home", 28036 title: title, 28037 onClick: event => event.preventDefault() 28038 }, img) 28039 /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */ 28040 ; 28041 } 28042 28043 let imageWidthWithinContainer; 28044 28045 if (clientWidth && naturalWidth && naturalHeight) { 28046 const exceedMaxWidth = naturalWidth > clientWidth; 28047 imageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth; 28048 } 28049 28050 if (!isResizable || !imageWidthWithinContainer) { 28051 return Object(external_wp_element_["createElement"])("div", { 28052 style: { 28053 width, 28054 height 28055 } 28056 }, imgWrapper); 28057 } 28058 28059 const currentWidth = width || imageWidthWithinContainer; 28060 const ratio = naturalWidth / naturalHeight; 28061 const currentHeight = currentWidth / ratio; 28062 const minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio; 28063 const minHeight = naturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio; // With the current implementation of ResizableBox, an image needs an 28064 // explicit pixel value for the max-width. In absence of being able to 28065 // set the content-width, this max-width is currently dictated by the 28066 // vanilla editor style. The following variable adds a buffer to this 28067 // vanilla style, so 3rd party themes have some wiggleroom. This does, 28068 // in most cases, allow you to scale the image beyond the width of the 28069 // main column, though not infinitely. 28070 // @todo It would be good to revisit this once a content-width variable 28071 // becomes available. 28072 28073 const maxWidthBuffer = maxWidth * 2.5; // Set the default width to a responsible size. 28074 // Note that this width is also set in the attached CSS file. 28075 28076 const defaultWidth = 120; 28077 let showRightHandle = false; 28078 let showLeftHandle = false; 28079 /* eslint-disable no-lonely-if */ 28080 // See https://github.com/WordPress/gutenberg/issues/7584. 28081 28082 if (align === 'center') { 28083 // When the image is centered, show both handles. 28084 showRightHandle = true; 28085 showLeftHandle = true; 28086 } else if (Object(external_wp_i18n_["isRTL"])()) { 28087 // In RTL mode the image is on the right by default. 28088 // Show the right handle and hide the left handle only when it is 28089 // aligned left. Otherwise always show the left handle. 28090 if (align === 'left') { 28091 showRightHandle = true; 28092 } else { 28093 showLeftHandle = true; 28094 } 28095 } else { 28096 // Show the left handle and hide the right handle only when the 28097 // image is aligned right. Otherwise always show the right handle. 28098 if (align === 'right') { 28099 showLeftHandle = true; 28100 } else { 28101 showRightHandle = true; 28102 } 28103 } 28104 /* eslint-enable no-lonely-if */ 28105 28106 28107 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 28108 title: Object(external_wp_i18n_["__"])('Settings') 28109 }, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 28110 label: Object(external_wp_i18n_["__"])('Image width'), 28111 onChange: newWidth => setAttributes({ 28112 width: newWidth 28113 }), 28114 min: minWidth, 28115 max: maxWidthBuffer, 28116 initialPosition: Math.min(defaultWidth, maxWidthBuffer), 28117 value: width || '', 28118 disabled: !isResizable 28119 }), Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 28120 label: Object(external_wp_i18n_["__"])('Link image to home'), 28121 onChange: () => setAttributes({ 28122 isLink: !isLink 28123 }), 28124 checked: isLink 28125 }), isLink && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 28126 label: Object(external_wp_i18n_["__"])('Open in new tab'), 28127 onChange: value => setAttributes({ 28128 linkTarget: value ? '_blank' : '_self' 28129 }), 28130 checked: linkTarget === '_blank' 28131 })))), Object(external_wp_element_["createElement"])(external_wp_components_["ResizableBox"], { 28132 size: { 28133 width, 28134 height 28135 }, 28136 showHandle: isSelected, 28137 minWidth: minWidth, 28138 maxWidth: maxWidthBuffer, 28139 minHeight: minHeight, 28140 maxHeight: maxWidthBuffer / ratio, 28141 lockAspectRatio: true, 28142 enable: { 28143 top: false, 28144 right: showRightHandle, 28145 bottom: true, 28146 left: showLeftHandle 28147 }, 28148 onResizeStart: onResizeStart, 28149 onResizeStop: (event, direction, elt, delta) => { 28150 onResizeStop(); 28151 setAttributes({ 28152 width: parseInt(currentWidth + delta.width, 10), 28153 height: parseInt(currentHeight + delta.height, 10) 28154 }); 28155 } 28156 }, imgWrapper)); 28157 }; 28158 28159 function LogoEdit({ 28160 attributes, 28161 className, 28162 setAttributes, 28163 isSelected 28164 }) { 28165 const { 28166 width 28167 } = attributes; 28168 const [logoUrl, setLogoUrl] = Object(external_wp_element_["useState"])(); 28169 const [error, setError] = Object(external_wp_element_["useState"])(); 28170 const ref = Object(external_wp_element_["useRef"])(); 28171 const { 28172 siteLogoId, 28173 canUserEdit, 28174 url, 28175 mediaItemData, 28176 isRequestingMediaItem 28177 } = Object(external_wp_data_["useSelect"])(select => { 28178 const { 28179 canUser, 28180 getEntityRecord, 28181 getEditedEntityRecord 28182 } = select(external_wp_coreData_["store"]); 28183 const siteSettings = getEditedEntityRecord('root', 'site'); 28184 const siteData = getEntityRecord('root', '__unstableBase'); 28185 28186 const _siteLogo = siteSettings === null || siteSettings === void 0 ? void 0 : siteSettings.site_logo; 28187 28188 const _readOnlyLogo = siteData === null || siteData === void 0 ? void 0 : siteData.site_logo; 28189 28190 const _canUserEdit = canUser('update', 'settings'); 28191 28192 const _siteLogoId = _siteLogo || _readOnlyLogo; 28193 28194 const mediaItem = _siteLogoId && select(external_wp_coreData_["store"]).getEntityRecord('root', 'media', _siteLogoId, { 28195 context: 'view' 28196 }); 28197 28198 const _isRequestingMediaItem = _siteLogoId && !select(external_wp_coreData_["store"]).hasFinishedResolution('getEntityRecord', ['root', 'media', _siteLogoId, { 28199 context: 'view' 28200 }]); 28201 28202 return { 28203 siteLogoId: _siteLogoId, 28204 canUserEdit: _canUserEdit, 28205 url: siteData === null || siteData === void 0 ? void 0 : siteData.url, 28206 mediaItemData: mediaItem && { 28207 url: mediaItem.source_url, 28208 alt: mediaItem.alt_text 28209 }, 28210 isRequestingMediaItem: _isRequestingMediaItem 28211 }; 28212 }, []); 28213 const { 28214 editEntityRecord 28215 } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); 28216 28217 const setLogo = newValue => editEntityRecord('root', 'site', undefined, { 28218 site_logo: newValue 28219 }); 28220 28221 let alt = null; 28222 28223 if (mediaItemData) { 28224 alt = mediaItemData.alt; 28225 28226 if (logoUrl !== mediaItemData.url) { 28227 setLogoUrl(mediaItemData.url); 28228 } 28229 } 28230 28231 const onSelectLogo = media => { 28232 if (!media) { 28233 return; 28234 } 28235 28236 if (!media.id && media.url) { 28237 // This is a temporary blob image 28238 setLogo(undefined); 28239 setError(null); 28240 setLogoUrl(media.url); 28241 return; 28242 } 28243 28244 setLogo(media.id); 28245 }; 28246 28247 const onUploadError = message => { 28248 setError(message[2] ? message[2] : null); 28249 }; 28250 28251 const controls = canUserEdit && logoUrl && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 28252 group: "other" 28253 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 28254 mediaURL: logoUrl, 28255 allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, 28256 accept: ACCEPT_MEDIA_STRING, 28257 onSelect: onSelectLogo, 28258 onError: onUploadError 28259 })); 28260 28261 const label = Object(external_wp_i18n_["__"])('Site Logo'); 28262 28263 let logoImage; 28264 const isLoading = siteLogoId === undefined || isRequestingMediaItem; 28265 28266 if (isLoading) { 28267 logoImage = Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null); 28268 } 28269 28270 if (!!logoUrl) { 28271 logoImage = Object(external_wp_element_["createElement"])(SiteLogo, { 28272 alt: alt, 28273 attributes: attributes, 28274 className: className, 28275 containerRef: ref, 28276 isSelected: isSelected, 28277 setAttributes: setAttributes, 28278 logoUrl: logoUrl, 28279 siteUrl: url 28280 }); 28281 } 28282 28283 const classes = classnames_default()(className, { 28284 'is-default-size': !width 28285 }); 28286 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 28287 ref, 28288 className: classes 28289 }); 28290 return Object(external_wp_element_["createElement"])("div", blockProps, controls, !!logoUrl && logoImage, !logoUrl && !canUserEdit && Object(external_wp_element_["createElement"])(external_wp_components_["Placeholder"], { 28291 className: "site-logo_placeholder", 28292 icon: site_logo, 28293 label: label 28294 }, isLoading && Object(external_wp_element_["createElement"])("span", { 28295 className: "components-placeholder__preview" 28296 }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null))), !logoUrl && canUserEdit && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 28297 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 28298 icon: site_logo 28299 }), 28300 labels: { 28301 title: label, 28302 instructions: Object(external_wp_i18n_["__"])('Upload an image, or pick one from your media library, to be your site logo') 28303 }, 28304 onSelect: onSelectLogo, 28305 accept: ACCEPT_MEDIA_STRING, 28306 allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, 28307 mediaPreview: logoImage, 28308 notices: error && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { 28309 status: "error", 28310 isDismissible: false 28311 }, error), 28312 onError: onUploadError 28313 })); 28314 } 28315 28316 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-logo/index.js 28317 /** 28318 * WordPress dependencies 28319 */ 28320 28321 /** 28322 * Internal dependencies 28323 */ 28324 28325 const site_logo_metadata = { 28326 apiVersion: 2, 28327 name: "core/site-logo", 28328 title: "Site Logo", 28329 category: "layout", 28330 description: "Useful for displaying a graphic mark, design, or symbol to represent the site. Once a site logo is set, it can be reused in different places and templates. It should not be confused with the site icon, which is the small image used in the dashboard, browser tabs, public search results, etc, to help recognize a site.", 28331 textdomain: "default", 28332 attributes: { 28333 align: { 28334 type: "string" 28335 }, 28336 width: { 28337 type: "number" 28338 }, 28339 isLink: { 28340 type: "boolean", 28341 "default": true 28342 }, 28343 linkTarget: { 28344 type: "string", 28345 "default": "_self" 28346 } 28347 }, 28348 supports: { 28349 html: false, 28350 align: true, 28351 alignWide: false 28352 }, 28353 styles: [{ 28354 name: "default", 28355 label: "Default", 28356 isDefault: true 28357 }, { 28358 name: "rounded", 28359 label: "Rounded" 28360 }], 28361 editorStyle: "wp-block-site-logo-editor", 28362 style: "wp-block-site-logo" 28363 }; 28364 28365 const { 28366 name: site_logo_name 28367 } = site_logo_metadata; 28368 28369 const site_logo_settings = { 28370 icon: site_logo, 28371 edit: LogoEdit 28372 }; 28373 28374 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-tagline/edit.js 28375 28376 28377 28378 /** 28379 * External dependencies 28380 */ 28381 28382 /** 28383 * WordPress dependencies 28384 */ 28385 28386 28387 28388 28389 28390 function SiteTaglineEdit({ 28391 attributes, 28392 setAttributes 28393 }) { 28394 const { 28395 textAlign 28396 } = attributes; 28397 const [siteTagline, setSiteTagline] = Object(external_wp_coreData_["useEntityProp"])('root', 'site', 'description'); 28398 const { 28399 canUserEdit, 28400 readOnlySiteTagLine 28401 } = Object(external_wp_data_["useSelect"])(select => { 28402 const { 28403 canUser, 28404 getEntityRecord 28405 } = select(external_wp_coreData_["store"]); 28406 const siteData = getEntityRecord('root', '__unstableBase'); 28407 return { 28408 canUserEdit: canUser('update', 'settings'), 28409 readOnlySiteTagLine: siteData === null || siteData === void 0 ? void 0 : siteData.description 28410 }; 28411 }, []); 28412 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 28413 className: classnames_default()({ 28414 [`has-text-align-${textAlign}`]: textAlign, 28415 'wp-block-site-tagline__placeholder': !canUserEdit && !readOnlySiteTagLine 28416 }) 28417 }); 28418 const siteTaglineContent = canUserEdit ? Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], Object(esm_extends["a" /* default */])({ 28419 allowedFormats: [], 28420 onChange: setSiteTagline, 28421 "aria-label": Object(external_wp_i18n_["__"])('Site tagline text'), 28422 placeholder: Object(external_wp_i18n_["__"])('Write site tagline…'), 28423 tagName: "p", 28424 value: siteTagline 28425 }, blockProps)) : Object(external_wp_element_["createElement"])("p", blockProps, readOnlySiteTagLine || Object(external_wp_i18n_["__"])('Site Tagline placeholder')); 28426 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 28427 group: "block" 28428 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 28429 onChange: newAlign => setAttributes({ 28430 textAlign: newAlign 28431 }), 28432 value: textAlign 28433 })), siteTaglineContent); 28434 } 28435 28436 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-tagline/icon.js 28437 28438 28439 /** 28440 * WordPress dependencies 28441 */ 28442 28443 /* harmony default export */ var site_tagline_icon = (Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 28444 xmlns: "http://www.w3.org/2000/svg", 28445 width: "24", 28446 height: "24" 28447 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 28448 fill: "none", 28449 d: "M0 0h24v24H0z" 28450 }), Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 28451 d: "M4 9h16v2H4V9zm0 4h10v2H4v-2z" 28452 }))); 28453 28454 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-tagline/index.js 28455 /** 28456 * Internal dependencies 28457 */ 28458 const site_tagline_metadata = { 28459 apiVersion: 2, 28460 name: "core/site-tagline", 28461 title: "Site Tagline", 28462 category: "design", 28463 description: "Describe in a few words what the website is about. The tagline can be used in search results or when sharing on social networks even if it's not displayed in the theme design.", 28464 keywords: ["description"], 28465 textdomain: "default", 28466 attributes: { 28467 textAlign: { 28468 type: "string" 28469 } 28470 }, 28471 supports: { 28472 html: false, 28473 color: { 28474 gradients: true 28475 }, 28476 spacing: { 28477 margin: true, 28478 padding: true 28479 }, 28480 typography: { 28481 fontSize: true, 28482 lineHeight: true, 28483 __experimentalFontFamily: true, 28484 __experimentalTextTransform: true 28485 } 28486 }, 28487 editorStyle: "wp-block-site-tagline-editor" 28488 }; 28489 28490 28491 const { 28492 name: site_tagline_name 28493 } = site_tagline_metadata; 28494 28495 const site_tagline_settings = { 28496 icon: site_tagline_icon, 28497 edit: SiteTaglineEdit 28498 }; 28499 28500 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/map-marker.js 28501 28502 28503 /** 28504 * WordPress dependencies 28505 */ 28506 28507 const mapMarker = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 28508 xmlns: "https://www.w3.org/2000/svg", 28509 viewBox: "0 0 24 24" 28510 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 28511 d: "M12 9c-.8 0-1.5.7-1.5 1.5S11.2 12 12 12s1.5-.7 1.5-1.5S12.8 9 12 9zm0-5c-3.6 0-6.5 2.8-6.5 6.2 0 .8.3 1.8.9 3.1.5 1.1 1.2 2.3 2 3.6.7 1 3 3.8 3.2 3.9l.4.5.4-.5c.2-.2 2.6-2.9 3.2-3.9.8-1.2 1.5-2.5 2-3.6.6-1.3.9-2.3.9-3.1C18.5 6.8 15.6 4 12 4zm4.3 8.7c-.5 1-1.1 2.2-1.9 3.4-.5.7-1.7 2.2-2.4 3-.7-.8-1.9-2.3-2.4-3-.8-1.2-1.4-2.3-1.9-3.3-.6-1.4-.7-2.2-.7-2.5 0-2.6 2.2-4.7 5-4.7s5 2.1 5 4.7c0 .2-.1 1-.7 2.4z" 28512 })); 28513 /* harmony default export */ var map_marker = (mapMarker); 28514 28515 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-title/edit/level-icon.js 28516 28517 28518 /** 28519 * WordPress dependencies 28520 */ 28521 28522 28523 function LevelIcon({ 28524 level, 28525 isPressed = false 28526 }) { 28527 if (level === 0) return library_paragraph; 28528 const levelToPath = { 28529 1: 'M9 5h2v10H9v-4H5v4H3V5h2v4h4V5zm6.6 0c-.6.9-1.5 1.7-2.6 2v1h2v7h2V5h-1.4z', 28530 2: 'M7 5h2v10H7v-4H3v4H1V5h2v4h4V5zm8 8c.5-.4.6-.6 1.1-1.1.4-.4.8-.8 1.2-1.3.3-.4.6-.8.9-1.3.2-.4.3-.8.3-1.3 0-.4-.1-.9-.3-1.3-.2-.4-.4-.7-.8-1-.3-.3-.7-.5-1.2-.6-.5-.2-1-.2-1.5-.2-.4 0-.7 0-1.1.1-.3.1-.7.2-1 .3-.3.1-.6.3-.9.5-.3.2-.6.4-.8.7l1.2 1.2c.3-.3.6-.5 1-.7.4-.2.7-.3 1.2-.3s.9.1 1.3.4c.3.3.5.7.5 1.1 0 .4-.1.8-.4 1.1-.3.5-.6.9-1 1.2-.4.4-1 .9-1.6 1.4-.6.5-1.4 1.1-2.2 1.6V15h8v-2H15z', 28531 3: 'M12.1 12.2c.4.3.8.5 1.2.7.4.2.9.3 1.4.3.5 0 1-.1 1.4-.3.3-.1.5-.5.5-.8 0-.2 0-.4-.1-.6-.1-.2-.3-.3-.5-.4-.3-.1-.7-.2-1-.3-.5-.1-1-.1-1.5-.1V9.1c.7.1 1.5-.1 2.2-.4.4-.2.6-.5.6-.9 0-.3-.1-.6-.4-.8-.3-.2-.7-.3-1.1-.3-.4 0-.8.1-1.1.3-.4.2-.7.4-1.1.6l-1.2-1.4c.5-.4 1.1-.7 1.6-.9.5-.2 1.2-.3 1.8-.3.5 0 1 .1 1.6.2.4.1.8.3 1.2.5.3.2.6.5.8.8.2.3.3.7.3 1.1 0 .5-.2.9-.5 1.3-.4.4-.9.7-1.5.9v.1c.6.1 1.2.4 1.6.8.4.4.7.9.7 1.5 0 .4-.1.8-.3 1.2-.2.4-.5.7-.9.9-.4.3-.9.4-1.3.5-.5.1-1 .2-1.6.2-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1l1.1-1.4zM7 9H3V5H1v10h2v-4h4v4h2V5H7v4z', 28532 4: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm10-2h-1v2h-2v-2h-5v-2l4-6h3v6h1v2zm-3-2V7l-2.8 4H16z', 28533 5: 'M12.1 12.2c.4.3.7.5 1.1.7.4.2.9.3 1.3.3.5 0 1-.1 1.4-.4.4-.3.6-.7.6-1.1 0-.4-.2-.9-.6-1.1-.4-.3-.9-.4-1.4-.4H14c-.1 0-.3 0-.4.1l-.4.1-.5.2-1-.6.3-5h6.4v1.9h-4.3L14 8.8c.2-.1.5-.1.7-.2.2 0 .5-.1.7-.1.5 0 .9.1 1.4.2.4.1.8.3 1.1.6.3.2.6.6.8.9.2.4.3.9.3 1.4 0 .5-.1 1-.3 1.4-.2.4-.5.8-.9 1.1-.4.3-.8.5-1.3.7-.5.2-1 .3-1.5.3-.8 0-1.6-.1-2.3-.4-.6-.2-1.1-.6-1.6-1-.1-.1 1-1.5 1-1.5zM9 15H7v-4H3v4H1V5h2v4h4V5h2v10z', 28534 6: 'M9 15H7v-4H3v4H1V5h2v4h4V5h2v10zm8.6-7.5c-.2-.2-.5-.4-.8-.5-.6-.2-1.3-.2-1.9 0-.3.1-.6.3-.8.5l-.6.9c-.2.5-.2.9-.2 1.4.4-.3.8-.6 1.2-.8.4-.2.8-.3 1.3-.3.4 0 .8 0 1.2.2.4.1.7.3 1 .6.3.3.5.6.7.9.2.4.3.8.3 1.3s-.1.9-.3 1.4c-.2.4-.5.7-.8 1-.4.3-.8.5-1.2.6-1 .3-2 .3-3 0-.5-.2-1-.5-1.4-.9-.4-.4-.8-.9-1-1.5-.2-.6-.3-1.3-.3-2.1s.1-1.6.4-2.3c.2-.6.6-1.2 1-1.6.4-.4.9-.7 1.4-.9.6-.3 1.1-.4 1.7-.4.7 0 1.4.1 2 .3.5.2 1 .5 1.4.8 0 .1-1.3 1.4-1.3 1.4zm-2.4 5.8c.2 0 .4 0 .6-.1.2 0 .4-.1.5-.2.1-.1.3-.3.4-.5.1-.2.1-.5.1-.7 0-.4-.1-.8-.4-1.1-.3-.2-.7-.3-1.1-.3-.3 0-.7.1-1 .2-.4.2-.7.4-1 .7 0 .3.1.7.3 1 .1.2.3.4.4.6.2.1.3.3.5.3.2.1.5.2.7.1z' 28535 }; 28536 return Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 28537 width: "20", 28538 height: "20", 28539 viewBox: "0 0 20 20", 28540 xmlns: "http://www.w3.org/2000/svg", 28541 isPressed: isPressed 28542 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 28543 d: levelToPath[level] 28544 })); 28545 } 28546 28547 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-title/edit/level-toolbar.js 28548 28549 28550 /** 28551 * WordPress dependencies 28552 */ 28553 28554 28555 /** 28556 * Internal dependencies 28557 */ 28558 28559 28560 function LevelControl({ 28561 level, 28562 onChange 28563 }) { 28564 const allControls = [1, 2, 3, 4, 5, 6, 0].map(currentLevel => { 28565 const isActive = currentLevel === level; 28566 return { 28567 icon: Object(external_wp_element_["createElement"])(LevelIcon, { 28568 level: currentLevel, 28569 isPressed: isActive 28570 }), 28571 title: currentLevel === 0 ? Object(external_wp_i18n_["__"])('Paragraph') : // translators: %s: heading level e.g: "1", "2", "3" 28572 Object(external_wp_i18n_["sprintf"])(Object(external_wp_i18n_["__"])('Heading %d'), currentLevel), 28573 isActive, 28574 onClick: () => onChange(currentLevel) 28575 }; 28576 }); 28577 return Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarDropdownMenu"], { 28578 label: Object(external_wp_i18n_["__"])('Change heading level'), 28579 icon: Object(external_wp_element_["createElement"])(LevelIcon, { 28580 level: level 28581 }), 28582 controls: allControls 28583 }); 28584 } 28585 28586 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-title/edit/index.js 28587 28588 28589 /** 28590 * External dependencies 28591 */ 28592 28593 /** 28594 * WordPress dependencies 28595 */ 28596 28597 28598 28599 28600 28601 28602 /** 28603 * Internal dependencies 28604 */ 28605 28606 28607 function SiteTitleEdit({ 28608 attributes, 28609 setAttributes, 28610 insertBlocksAfter 28611 }) { 28612 const { 28613 level, 28614 textAlign 28615 } = attributes; 28616 const [title, setTitle] = Object(external_wp_coreData_["useEntityProp"])('root', 'site', 'title'); 28617 const { 28618 canUserEdit, 28619 readOnlyTitle 28620 } = Object(external_wp_data_["useSelect"])(select => { 28621 const { 28622 canUser, 28623 getEntityRecord 28624 } = select(external_wp_coreData_["store"]); 28625 const siteData = getEntityRecord('root', '__unstableBase'); 28626 return { 28627 canUserEdit: canUser('update', 'settings'), 28628 readOnlyTitle: siteData === null || siteData === void 0 ? void 0 : siteData.name 28629 }; 28630 }, []); 28631 const TagName = level === 0 ? 'p' : `h${level}`; 28632 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 28633 className: classnames_default()({ 28634 [`has-text-align-${textAlign}`]: textAlign, 28635 'wp-block-site-title__placeholder': !canUserEdit && !readOnlyTitle 28636 }) 28637 }); 28638 const siteTitleContent = canUserEdit ? Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 28639 tagName: "a", 28640 style: { 28641 display: 'inline-block' 28642 }, 28643 "aria-label": Object(external_wp_i18n_["__"])('Site title text'), 28644 placeholder: Object(external_wp_i18n_["__"])('Write site title…'), 28645 value: title || readOnlyTitle, 28646 onChange: setTitle, 28647 allowedFormats: [], 28648 disableLineBreaks: true, 28649 __unstableOnSplitAtEnd: () => insertBlocksAfter(Object(external_wp_blocks_["createBlock"])(Object(external_wp_blocks_["getDefaultBlockName"])())) 28650 })) : Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_element_["createElement"])("a", { 28651 href: "#site-title-pseudo-link", 28652 onClick: event => event.preventDefault() 28653 }, readOnlyTitle || Object(external_wp_i18n_["__"])('Site Title placeholder'))); 28654 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 28655 group: "block" 28656 }, Object(external_wp_element_["createElement"])(LevelControl, { 28657 level: level, 28658 onChange: newLevel => setAttributes({ 28659 level: newLevel 28660 }) 28661 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 28662 value: textAlign, 28663 onChange: nextAlign => { 28664 setAttributes({ 28665 textAlign: nextAlign 28666 }); 28667 } 28668 })), siteTitleContent); 28669 } 28670 28671 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/site-title/index.js 28672 /** 28673 * WordPress dependencies 28674 */ 28675 28676 /** 28677 * Internal dependencies 28678 */ 28679 28680 const site_title_metadata = { 28681 apiVersion: 2, 28682 name: "core/site-title", 28683 title: "Site Title", 28684 category: "design", 28685 description: "Displays and allows editing the name of the site. The site title usually appears in the browser title bar, in search results, and more. Also available in Settings > General.", 28686 textdomain: "default", 28687 attributes: { 28688 level: { 28689 type: "number", 28690 "default": 1 28691 }, 28692 textAlign: { 28693 type: "string" 28694 } 28695 }, 28696 supports: { 28697 align: ["wide", "full"], 28698 html: false, 28699 color: { 28700 gradients: true, 28701 text: false, 28702 link: true 28703 }, 28704 spacing: { 28705 padding: true, 28706 margin: true 28707 }, 28708 typography: { 28709 fontSize: true, 28710 lineHeight: true, 28711 __experimentalFontFamily: true, 28712 __experimentalTextTransform: true, 28713 __experimentalFontStyle: true, 28714 __experimentalFontWeight: true 28715 } 28716 }, 28717 editorStyle: "wp-block-site-title-editor" 28718 }; 28719 28720 const { 28721 name: site_title_name 28722 } = site_title_metadata; 28723 28724 const site_title_settings = { 28725 icon: map_marker, 28726 edit: SiteTitleEdit 28727 }; 28728 28729 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/loop.js 28730 28731 28732 /** 28733 * WordPress dependencies 28734 */ 28735 28736 const loop_loop = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 28737 viewBox: "0 0 24 24", 28738 xmlns: "http://www.w3.org/2000/svg" 28739 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 28740 d: "M18.1823 11.6392C18.1823 13.0804 17.0139 14.2487 15.5727 14.2487C14.3579 14.2487 13.335 13.4179 13.0453 12.2922L13.0377 12.2625L13.0278 12.2335L12.3985 10.377L12.3942 10.3785C11.8571 8.64997 10.246 7.39405 8.33961 7.39405C5.99509 7.39405 4.09448 9.29465 4.09448 11.6392C4.09448 13.9837 5.99509 15.8843 8.33961 15.8843C8.88499 15.8843 9.40822 15.781 9.88943 15.5923L9.29212 14.0697C8.99812 14.185 8.67729 14.2487 8.33961 14.2487C6.89838 14.2487 5.73003 13.0804 5.73003 11.6392C5.73003 10.1979 6.89838 9.02959 8.33961 9.02959C9.55444 9.02959 10.5773 9.86046 10.867 10.9862L10.8772 10.9836L11.4695 12.7311C11.9515 14.546 13.6048 15.8843 15.5727 15.8843C17.9172 15.8843 19.8178 13.9837 19.8178 11.6392C19.8178 9.29465 17.9172 7.39404 15.5727 7.39404C15.0287 7.39404 14.5066 7.4968 14.0264 7.6847L14.6223 9.20781C14.9158 9.093 15.2358 9.02959 15.5727 9.02959C17.0139 9.02959 18.1823 10.1979 18.1823 11.6392Z" 28741 })); 28742 /* harmony default export */ var library_loop = (loop_loop); 28743 28744 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/settings.js 28745 28746 28747 /** 28748 * WordPress dependencies 28749 */ 28750 28751 const settings_settings = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 28752 xmlns: "http://www.w3.org/2000/svg", 28753 viewBox: "0 0 24 24" 28754 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 28755 d: "M17 4h-2v4.5h2V7h3V5.5h-3V4zM4 5.5h9V7H4V5.5zm16 5.75h-9v1.5h9v-1.5zm-16 0h3V10h2v4.25H7v-1.5H4v-1.5zM9 17H4v1.5h5V17zm4 0h7v1.5h-7V20h-2v-4.25h2V17z" 28756 })); 28757 /* harmony default export */ var library_settings = (settings_settings); 28758 28759 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/edit/query-toolbar.js 28760 28761 28762 /** 28763 * WordPress dependencies 28764 */ 28765 28766 28767 28768 28769 function QueryToolbar({ 28770 attributes: { 28771 query, 28772 displayLayout 28773 }, 28774 setQuery, 28775 setDisplayLayout 28776 }) { 28777 const maxPageInputId = Object(external_wp_compose_["useInstanceId"])(QueryToolbar, 'blocks-query-pagination-max-page-input'); 28778 const displayLayoutControls = [{ 28779 icon: library_list, 28780 title: Object(external_wp_i18n_["__"])('List view'), 28781 onClick: () => setDisplayLayout({ 28782 type: 'list' 28783 }), 28784 isActive: (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.type) === 'list' 28785 }, { 28786 icon: grid["a" /* default */], 28787 title: Object(external_wp_i18n_["__"])('Grid view'), 28788 onClick: () => setDisplayLayout({ 28789 type: 'flex', 28790 columns: (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.columns) || 3 28791 }), 28792 isActive: (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.type) === 'flex' 28793 }]; 28794 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, !query.inherit && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], null, Object(external_wp_element_["createElement"])(external_wp_components_["Dropdown"], { 28795 contentClassName: "block-library-query-toolbar__popover", 28796 renderToggle: ({ 28797 onToggle 28798 }) => Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 28799 icon: library_settings, 28800 label: Object(external_wp_i18n_["__"])('Display settings'), 28801 onClick: onToggle 28802 }), 28803 renderContent: () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNumberControl"], { 28804 __unstableInputWidth: "60px", 28805 label: Object(external_wp_i18n_["__"])('Items per Page'), 28806 labelPosition: "edge", 28807 min: 1, 28808 max: 100, 28809 onChange: value => { 28810 if (isNaN(value) || value < 1 || value > 100) { 28811 return; 28812 } 28813 28814 setQuery({ 28815 perPage: value 28816 }); 28817 }, 28818 step: "1", 28819 value: query.perPage, 28820 isDragEnabled: false 28821 })), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], null, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNumberControl"], { 28822 __unstableInputWidth: "60px", 28823 label: Object(external_wp_i18n_["__"])('Offset'), 28824 labelPosition: "edge", 28825 min: 0, 28826 max: 100, 28827 onChange: value => { 28828 if (isNaN(value) || value < 0 || value > 100) { 28829 return; 28830 } 28831 28832 setQuery({ 28833 offset: value 28834 }); 28835 }, 28836 step: "1", 28837 value: query.offset, 28838 isDragEnabled: false 28839 })), Object(external_wp_element_["createElement"])(external_wp_components_["BaseControl"], { 28840 id: maxPageInputId, 28841 help: Object(external_wp_i18n_["__"])('Limit the pages you want to show, even if the query has more results. To show all pages use 0 (zero).') 28842 }, Object(external_wp_element_["createElement"])(external_wp_components_["__experimentalNumberControl"], { 28843 id: maxPageInputId, 28844 __unstableInputWidth: "60px", 28845 label: Object(external_wp_i18n_["__"])('Max page to show'), 28846 labelPosition: "edge", 28847 min: 0, 28848 onChange: value => { 28849 if (isNaN(value) || value < 0) { 28850 return; 28851 } 28852 28853 setQuery({ 28854 pages: value 28855 }); 28856 }, 28857 step: "1", 28858 value: query.pages, 28859 isDragEnabled: false 28860 }))) 28861 })), Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarGroup"], { 28862 controls: displayLayoutControls 28863 })); 28864 } 28865 28866 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/utils.js 28867 /** 28868 * WordPress dependencies 28869 */ 28870 28871 28872 28873 /** 28874 * WordPress term object from REST API. 28875 * Categories ref: https://developer.wordpress.org/rest-api/reference/categories/ 28876 * Tags ref: https://developer.wordpress.org/rest-api/reference/tags/ 28877 * 28878 * @typedef {Object} WPTerm 28879 * @property {number} id Unique identifier for the term. 28880 * @property {number} count Number of published posts for the term. 28881 * @property {string} description HTML description of the term. 28882 * @property {string} link URL of the term. 28883 * @property {string} name HTML title for the term. 28884 * @property {string} slug An alphanumeric identifier for the term unique to its type. 28885 * @property {string} taxonomy Type attribution for the term. 28886 * @property {Object} meta Meta fields 28887 * @property {number} [parent] The parent term ID. 28888 */ 28889 28890 /** 28891 * The object used in Query block that contains info and helper mappings 28892 * from an array of WPTerm. 28893 * 28894 * @typedef {Object} QueryTermsInfo 28895 * @property {WPTerm[]} terms The array of terms. 28896 * @property {Object<string, WPTerm>} mapById Object mapping with the term id as key and the term as value. 28897 * @property {Object<string, WPTerm>} mapByName Object mapping with the term name as key and the term as value. 28898 * @property {string[]} names Array with the terms' names. 28899 */ 28900 28901 /** 28902 * Returns a helper object with mapping from WPTerms. 28903 * 28904 * @param {WPTerm[]} terms The terms to extract of helper object. 28905 * @return {QueryTermsInfo} The object with the terms information. 28906 */ 28907 28908 const getTermsInfo = terms => { 28909 const mapping = terms === null || terms === void 0 ? void 0 : terms.reduce((accumulator, term) => { 28910 const { 28911 mapById, 28912 mapByName, 28913 names 28914 } = accumulator; 28915 mapById[term.id] = term; 28916 mapByName[term.name] = term; 28917 names.push(term.name); 28918 return accumulator; 28919 }, { 28920 mapById: {}, 28921 mapByName: {}, 28922 names: [] 28923 }); 28924 return { 28925 terms, 28926 ...mapping 28927 }; 28928 }; 28929 /** 28930 * Returns a helper object that contains: 28931 * 1. An `options` object from the available post types, to be passed to a `SelectControl`. 28932 * 2. A helper map with available taxonomies per post type. 28933 * 28934 * @return {Object} The helper object related to post types. 28935 */ 28936 28937 const usePostTypes = () => { 28938 const { 28939 postTypes 28940 } = Object(external_wp_data_["useSelect"])(select => { 28941 var _getPostTypes; 28942 28943 const { 28944 getPostTypes 28945 } = select(external_wp_coreData_["store"]); 28946 const excludedPostTypes = ['attachment']; 28947 const filteredPostTypes = (_getPostTypes = getPostTypes({ 28948 per_page: -1 28949 })) === null || _getPostTypes === void 0 ? void 0 : _getPostTypes.filter(({ 28950 viewable, 28951 slug 28952 }) => viewable && !excludedPostTypes.includes(slug)); 28953 return { 28954 postTypes: filteredPostTypes 28955 }; 28956 }, []); 28957 const postTypesTaxonomiesMap = Object(external_wp_element_["useMemo"])(() => { 28958 if (!(postTypes !== null && postTypes !== void 0 && postTypes.length)) return; 28959 return postTypes.reduce((accumulator, type) => { 28960 accumulator[type.slug] = type.taxonomies; 28961 return accumulator; 28962 }, {}); 28963 }, [postTypes]); 28964 const postTypesSelectOptions = Object(external_wp_element_["useMemo"])(() => (postTypes || []).map(({ 28965 labels, 28966 slug 28967 }) => ({ 28968 label: labels.singular_name, 28969 value: slug 28970 })), [postTypes]); 28971 return { 28972 postTypesTaxonomiesMap, 28973 postTypesSelectOptions 28974 }; 28975 }; 28976 /** 28977 * Recurses over a list of blocks and returns the first found 28978 * Query Loop block's clientId. 28979 * 28980 * @param {WPBlock[]} blocks The list of blocks to look through. 28981 * @return {string=} The first found Query Loop's clientId. 28982 */ 28983 28984 const getFirstQueryClientIdFromBlocks = blocks => { 28985 const blocksQueue = [...blocks]; 28986 28987 while (blocksQueue.length > 0) { 28988 var _block$innerBlocks; 28989 28990 const block = blocksQueue.shift(); 28991 28992 if (block.name === 'core/query') { 28993 return block.clientId; 28994 } 28995 28996 (_block$innerBlocks = block.innerBlocks) === null || _block$innerBlocks === void 0 ? void 0 : _block$innerBlocks.forEach(innerBlock => { 28997 blocksQueue.push(innerBlock); 28998 }); 28999 } 29000 }; 29001 29002 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/constants.js 29003 const MAX_FETCHED_TERMS = 100; 29004 const DEFAULTS_POSTS_PER_PAGE = 3; 29005 /* harmony default export */ var constants = ({ 29006 MAX_FETCHED_TERMS, 29007 DEFAULTS_POSTS_PER_PAGE 29008 }); 29009 29010 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/edit/query-inspector-controls.js 29011 29012 29013 /** 29014 * External dependencies 29015 */ 29016 29017 /** 29018 * WordPress dependencies 29019 */ 29020 29021 29022 29023 29024 29025 29026 29027 /** 29028 * Internal dependencies 29029 */ 29030 29031 29032 29033 const stickyOptions = [{ 29034 label: Object(external_wp_i18n_["__"])('Include'), 29035 value: '' 29036 }, { 29037 label: Object(external_wp_i18n_["__"])('Exclude'), 29038 value: 'exclude' 29039 }, { 29040 label: Object(external_wp_i18n_["__"])('Only'), 29041 value: 'only' 29042 }]; // Helper function to get the term id based on user input in terms `FormTokenField`. 29043 29044 const getTermIdByTermValue = (termsMappedByName, termValue) => { 29045 var _termsMappedByName$te; 29046 29047 // First we check for exact match by `term.id` or case sensitive `term.name` match. 29048 const termId = (termValue === null || termValue === void 0 ? void 0 : termValue.id) || ((_termsMappedByName$te = termsMappedByName[termValue]) === null || _termsMappedByName$te === void 0 ? void 0 : _termsMappedByName$te.id); 29049 if (termId) return termId; 29050 /** 29051 * Here we make an extra check for entered terms in a non case sensitive way, 29052 * to match user expectations, due to `FormTokenField` behaviour that shows 29053 * suggestions which are case insensitive. 29054 * 29055 * Although WP tries to discourage users to add terms with the same name (case insensitive), 29056 * it's still possible if you manually change the name, as long as the terms have different slugs. 29057 * In this edge case we always apply the first match from the terms list. 29058 */ 29059 29060 const termValueLower = termValue.toLocaleLowerCase(); 29061 29062 for (const term in termsMappedByName) { 29063 if (term.toLocaleLowerCase() === termValueLower) { 29064 return termsMappedByName[term].id; 29065 } 29066 } 29067 }; 29068 29069 function QueryInspectorControls({ 29070 attributes: { 29071 query, 29072 displayLayout 29073 }, 29074 setQuery, 29075 setDisplayLayout 29076 }) { 29077 var _categories$terms, _tags$terms; 29078 29079 const { 29080 order, 29081 orderBy, 29082 author: selectedAuthorId, 29083 postType, 29084 sticky, 29085 inherit 29086 } = query; 29087 const [showCategories, setShowCategories] = Object(external_wp_element_["useState"])(true); 29088 const [showTags, setShowTags] = Object(external_wp_element_["useState"])(true); 29089 const [showSticky, setShowSticky] = Object(external_wp_element_["useState"])(postType === 'post'); 29090 const { 29091 postTypesTaxonomiesMap, 29092 postTypesSelectOptions 29093 } = usePostTypes(); 29094 const { 29095 authorList, 29096 categories, 29097 tags 29098 } = Object(external_wp_data_["useSelect"])(select => { 29099 const { 29100 getEntityRecords 29101 } = select(external_wp_coreData_["store"]); 29102 const termsQuery = { 29103 per_page: MAX_FETCHED_TERMS 29104 }; 29105 29106 const _categories = getEntityRecords('taxonomy', 'category', termsQuery); 29107 29108 const _tags = getEntityRecords('taxonomy', 'post_tag', termsQuery); 29109 29110 return { 29111 categories: getTermsInfo(_categories), 29112 tags: getTermsInfo(_tags), 29113 authorList: getEntityRecords('root', 'user', { 29114 per_page: -1 29115 }) 29116 }; 29117 }, []); 29118 Object(external_wp_element_["useEffect"])(() => { 29119 if (!postTypesTaxonomiesMap) return; 29120 const postTypeTaxonomies = postTypesTaxonomiesMap[postType]; 29121 setShowCategories(postTypeTaxonomies.includes('category')); 29122 setShowTags(postTypeTaxonomies.includes('post_tag')); 29123 }, [postType, postTypesTaxonomiesMap]); 29124 Object(external_wp_element_["useEffect"])(() => { 29125 setShowSticky(postType === 'post'); 29126 }, [postType]); 29127 29128 const onPostTypeChange = newValue => { 29129 const updateQuery = { 29130 postType: newValue 29131 }; 29132 29133 if (!postTypesTaxonomiesMap[newValue].includes('category')) { 29134 updateQuery.categoryIds = []; 29135 } 29136 29137 if (!postTypesTaxonomiesMap[newValue].includes('post_tag')) { 29138 updateQuery.tagIds = []; 29139 } 29140 29141 if (newValue !== 'post') { 29142 updateQuery.sticky = ''; 29143 } 29144 29145 setQuery(updateQuery); 29146 }; // Handles categories and tags changes. 29147 29148 29149 const onTermsChange = (terms, queryProperty) => newTermValues => { 29150 const termIds = Array.from(newTermValues.reduce((accumulator, termValue) => { 29151 const termId = getTermIdByTermValue(terms.mapByName, termValue); 29152 if (termId) accumulator.add(termId); 29153 return accumulator; 29154 }, new Set())); 29155 setQuery({ 29156 [queryProperty]: termIds 29157 }); 29158 }; 29159 29160 const onCategoriesChange = onTermsChange(categories, 'categoryIds'); 29161 const onTagsChange = onTermsChange(tags, 'tagIds'); 29162 const [querySearch, setQuerySearch] = Object(external_wp_element_["useState"])(query.search); 29163 const onChangeDebounced = Object(external_wp_element_["useCallback"])(Object(external_lodash_["debounce"])(() => { 29164 if (query.search !== querySearch) { 29165 setQuery({ 29166 search: querySearch 29167 }); 29168 } 29169 }, 250), [querySearch, query.search]); 29170 Object(external_wp_element_["useEffect"])(() => { 29171 onChangeDebounced(); 29172 return onChangeDebounced.cancel; 29173 }, [querySearch, onChangeDebounced]); // Returns only the existing term ids (categories/tags) in proper 29174 // format to be used in `FormTokenField`. This prevents the component 29175 // from crashing in the editor, when non existing term ids were provided. 29176 29177 const getExistingTermsFormTokenValue = taxonomy => { 29178 const termsMapper = { 29179 category: { 29180 queryProp: 'categoryIds', 29181 terms: categories 29182 }, 29183 post_tag: { 29184 queryProp: 'tagIds', 29185 terms: tags 29186 } 29187 }; 29188 const requestedTerm = termsMapper[taxonomy]; 29189 return (query[requestedTerm.queryProp] || []).reduce((accumulator, termId) => { 29190 const term = requestedTerm.terms.mapById[termId]; 29191 29192 if (term) { 29193 accumulator.push({ 29194 id: termId, 29195 value: term.name 29196 }); 29197 } 29198 29199 return accumulator; 29200 }, []); 29201 }; 29202 29203 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 29204 title: Object(external_wp_i18n_["__"])('Settings') 29205 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 29206 label: Object(external_wp_i18n_["__"])('Inherit query from template'), 29207 help: Object(external_wp_i18n_["__"])('Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'), 29208 checked: !!inherit, 29209 onChange: value => setQuery({ 29210 inherit: !!value 29211 }) 29212 }), !inherit && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 29213 options: postTypesSelectOptions, 29214 value: postType, 29215 label: Object(external_wp_i18n_["__"])('Post Type'), 29216 onChange: onPostTypeChange, 29217 help: Object(external_wp_i18n_["__"])('WordPress contains different types of content and they are divided into collections called "Post Types". By default there are a few different ones such as blog posts and pages, but plugins could add more.') 29218 }), (displayLayout === null || displayLayout === void 0 ? void 0 : displayLayout.type) === 'flex' && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { 29219 label: Object(external_wp_i18n_["__"])('Columns'), 29220 value: displayLayout.columns, 29221 onChange: value => setDisplayLayout({ 29222 columns: value 29223 }), 29224 min: 2, 29225 max: Math.max(6, displayLayout.columns) 29226 }), displayLayout.columns > 6 && Object(external_wp_element_["createElement"])(external_wp_components_["Notice"], { 29227 status: "warning", 29228 isDismissible: false 29229 }, Object(external_wp_i18n_["__"])('This column count exceeds the recommended amount and may cause visual breakage.'))), !inherit && Object(external_wp_element_["createElement"])(external_wp_components_["QueryControls"], { 29230 order, 29231 orderBy, 29232 onOrderChange: value => setQuery({ 29233 order: value 29234 }), 29235 onOrderByChange: value => setQuery({ 29236 orderBy: value 29237 }) 29238 }), showSticky && Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 29239 label: Object(external_wp_i18n_["__"])('Sticky posts'), 29240 options: stickyOptions, 29241 value: sticky, 29242 onChange: value => setQuery({ 29243 sticky: value 29244 }), 29245 help: Object(external_wp_i18n_["__"])('Blog posts can be "stickied", a feature that places them at the top of the front page of posts, keeping it there until new sticky posts are published.') 29246 })), !inherit && Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 29247 title: Object(external_wp_i18n_["__"])('Filters') 29248 }, showCategories && (categories === null || categories === void 0 ? void 0 : (_categories$terms = categories.terms) === null || _categories$terms === void 0 ? void 0 : _categories$terms.length) > 0 && Object(external_wp_element_["createElement"])(external_wp_components_["FormTokenField"], { 29249 label: Object(external_wp_i18n_["__"])('Categories'), 29250 value: getExistingTermsFormTokenValue('category'), 29251 suggestions: categories.names, 29252 onChange: onCategoriesChange 29253 }), showTags && (tags === null || tags === void 0 ? void 0 : (_tags$terms = tags.terms) === null || _tags$terms === void 0 ? void 0 : _tags$terms.length) > 0 && Object(external_wp_element_["createElement"])(external_wp_components_["FormTokenField"], { 29254 label: Object(external_wp_i18n_["__"])('Tags'), 29255 value: getExistingTermsFormTokenValue('post_tag'), 29256 suggestions: tags.names, 29257 onChange: onTagsChange 29258 }), Object(external_wp_element_["createElement"])(external_wp_components_["QueryControls"], { 29259 selectedAuthorId, 29260 authorList, 29261 onAuthorChange: value => setQuery({ 29262 author: value !== '' ? +value : undefined 29263 }) 29264 }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 29265 label: Object(external_wp_i18n_["__"])('Keyword'), 29266 value: querySearch, 29267 onChange: setQuerySearch 29268 }))); 29269 } 29270 29271 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/edit/query-placeholder.js 29272 29273 29274 /** 29275 * WordPress dependencies 29276 */ 29277 29278 29279 29280 29281 const QueryPlaceholder = ({ 29282 clientId, 29283 name, 29284 attributes, 29285 setAttributes 29286 }) => { 29287 var _blockType$icon; 29288 29289 const { 29290 blockType, 29291 defaultVariation, 29292 scopeVariations, 29293 allVariations 29294 } = Object(external_wp_data_["useSelect"])(select => { 29295 const { 29296 getBlockVariations, 29297 getBlockType, 29298 getDefaultBlockVariation 29299 } = select(external_wp_blocks_["store"]); 29300 return { 29301 blockType: getBlockType(name), 29302 defaultVariation: getDefaultBlockVariation(name, 'block'), 29303 scopeVariations: getBlockVariations(name, 'block'), 29304 allVariations: getBlockVariations(name) 29305 }; 29306 }, [name]); 29307 const { 29308 replaceInnerBlocks 29309 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 29310 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 29311 const matchingVariation = Object(external_wp_blockEditor_["__experimentalGetMatchingVariation"])(attributes, allVariations); 29312 const icon = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.icon) || (blockType === null || blockType === void 0 ? void 0 : (_blockType$icon = blockType.icon) === null || _blockType$icon === void 0 ? void 0 : _blockType$icon.src); 29313 const label = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.title) || (blockType === null || blockType === void 0 ? void 0 : blockType.title); 29314 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockVariationPicker"], { 29315 icon: icon, 29316 label: label, 29317 variations: scopeVariations, 29318 onSelect: (nextVariation = defaultVariation) => { 29319 if (nextVariation.attributes) { 29320 setAttributes(nextVariation.attributes); 29321 } 29322 29323 if (nextVariation.innerBlocks) { 29324 replaceInnerBlocks(clientId, Object(external_wp_blocks_["createBlocksFromInnerBlocksTemplate"])(nextVariation.innerBlocks), false); 29325 } 29326 } 29327 })); 29328 }; 29329 29330 /* harmony default export */ var query_placeholder = (QueryPlaceholder); 29331 29332 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/edit/index.js 29333 29334 29335 /** 29336 * WordPress dependencies 29337 */ 29338 29339 29340 29341 29342 29343 29344 29345 /** 29346 * Internal dependencies 29347 */ 29348 29349 29350 29351 29352 29353 29354 const edit_TEMPLATE = [['core/post-template']]; 29355 function QueryContent({ 29356 attributes, 29357 setAttributes 29358 }) { 29359 const { 29360 queryId, 29361 query, 29362 displayLayout, 29363 tagName: TagName = 'div', 29364 layout = {} 29365 } = attributes; 29366 const { 29367 __unstableMarkNextChangeAsNotPersistent 29368 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 29369 const instanceId = Object(external_wp_compose_["useInstanceId"])(QueryContent); 29370 const { 29371 themeSupportsLayout 29372 } = Object(external_wp_data_["useSelect"])(select => { 29373 var _getSettings; 29374 29375 const { 29376 getSettings 29377 } = select(external_wp_blockEditor_["store"]); 29378 return { 29379 themeSupportsLayout: (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout 29380 }; 29381 }, []); 29382 const defaultLayout = Object(external_wp_blockEditor_["useSetting"])('layout') || {}; 29383 const usedLayout = !!layout && layout.inherit ? defaultLayout : layout; 29384 const { 29385 contentSize, 29386 wideSize 29387 } = usedLayout; 29388 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 29389 29390 const _layout = Object(external_wp_element_["useMemo"])(() => { 29391 if (themeSupportsLayout) { 29392 const alignments = contentSize || wideSize ? ['wide', 'full', 'left', 'center', 'right'] : ['left', 'center', 'right']; 29393 return { 29394 type: 'default', 29395 // Find a way to inject this in the support flag code (hooks). 29396 alignments 29397 }; 29398 } 29399 29400 return undefined; 29401 }, [themeSupportsLayout, contentSize, wideSize]); 29402 29403 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { 29404 template: edit_TEMPLATE, 29405 __experimentalLayout: _layout 29406 }); 29407 const { 29408 postsPerPage 29409 } = Object(external_wp_data_["useSelect"])(select => { 29410 const { 29411 getSettings 29412 } = select(external_wp_blockEditor_["store"]); 29413 return { 29414 postsPerPage: +getSettings().postsPerPage || DEFAULTS_POSTS_PER_PAGE 29415 }; 29416 }, []); // There are some effects running where some initialization logic is 29417 // happening and setting some values to some attributes (ex. queryId). 29418 // These updates can cause an `undo trap` where undoing will result in 29419 // resetting again, so we need to mark these changes as not persistent 29420 // with `__unstableMarkNextChangeAsNotPersistent`. 29421 // Changes in query property (which is an object) need to be in the same callback, 29422 // because updates are batched after the render and changes in different query properties 29423 // would cause to overide previous wanted changes. 29424 29425 Object(external_wp_element_["useEffect"])(() => { 29426 const newQuery = {}; 29427 29428 if (!query.perPage && postsPerPage) { 29429 newQuery.perPage = postsPerPage; 29430 } 29431 29432 if (!!Object.keys(newQuery).length) { 29433 __unstableMarkNextChangeAsNotPersistent(); 29434 29435 updateQuery(newQuery); 29436 } 29437 }, [query.perPage]); // We need this for multi-query block pagination. 29438 // Query parameters for each block are scoped to their ID. 29439 29440 Object(external_wp_element_["useEffect"])(() => { 29441 if (!queryId) { 29442 __unstableMarkNextChangeAsNotPersistent(); 29443 29444 setAttributes({ 29445 queryId: instanceId 29446 }); 29447 } 29448 }, [queryId, instanceId]); 29449 29450 const updateQuery = newQuery => setAttributes({ 29451 query: { ...query, 29452 ...newQuery 29453 } 29454 }); 29455 29456 const updateDisplayLayout = newDisplayLayout => setAttributes({ 29457 displayLayout: { ...displayLayout, 29458 ...newDisplayLayout 29459 } 29460 }); 29461 29462 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(QueryInspectorControls, { 29463 attributes: attributes, 29464 setQuery: updateQuery, 29465 setDisplayLayout: updateDisplayLayout 29466 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(QueryToolbar, { 29467 attributes: attributes, 29468 setQuery: updateQuery, 29469 setDisplayLayout: updateDisplayLayout 29470 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorAdvancedControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["SelectControl"], { 29471 label: Object(external_wp_i18n_["__"])('HTML element'), 29472 options: [{ 29473 label: Object(external_wp_i18n_["__"])('Default (<div>)'), 29474 value: 'div' 29475 }, { 29476 label: '<main>', 29477 value: 'main' 29478 }, { 29479 label: '<section>', 29480 value: 'section' 29481 }, { 29482 label: '<aside>', 29483 value: 'aside' 29484 }], 29485 value: TagName, 29486 onChange: value => setAttributes({ 29487 tagName: value 29488 }) 29489 })), Object(external_wp_element_["createElement"])(TagName, innerBlocksProps)); 29490 } 29491 29492 function QueryPatternSetup(props) { 29493 const { 29494 clientId, 29495 name: blockName 29496 } = props; 29497 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 29498 const { 29499 replaceBlock, 29500 selectBlock 29501 } = Object(external_wp_data_["useDispatch"])(external_wp_blockEditor_["store"]); 29502 29503 const onBlockPatternSelect = blocks => { 29504 const clonedBlocks = blocks.map(block => Object(external_wp_blocks_["cloneBlock"])(block)); 29505 const firstQueryClientId = getFirstQueryClientIdFromBlocks(clonedBlocks); 29506 replaceBlock(clientId, clonedBlocks); 29507 29508 if (firstQueryClientId) { 29509 selectBlock(firstQueryClientId); 29510 } 29511 }; // `startBlankComponent` is what to render when clicking `Start blank` 29512 // or if no matched patterns are found. 29513 29514 29515 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["__experimentalBlockPatternSetup"], { 29516 blockName: blockName, 29517 clientId: clientId, 29518 startBlankComponent: Object(external_wp_element_["createElement"])(query_placeholder, props), 29519 onBlockPatternSelect: onBlockPatternSelect 29520 })); 29521 } 29522 29523 const QueryEdit = props => { 29524 const { 29525 clientId 29526 } = props; 29527 const hasInnerBlocks = Object(external_wp_data_["useSelect"])(select => !!select(external_wp_blockEditor_["store"]).getBlocks(clientId).length, [clientId]); 29528 const Component = hasInnerBlocks ? QueryContent : QueryPatternSetup; 29529 return Object(external_wp_element_["createElement"])(Component, props); 29530 }; 29531 29532 /* harmony default export */ var query_edit = (QueryEdit); 29533 29534 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/save.js 29535 29536 29537 /** 29538 * WordPress dependencies 29539 */ 29540 29541 function QuerySave({ 29542 attributes: { 29543 tagName: Tag = 'div' 29544 } 29545 }) { 29546 return Object(external_wp_element_["createElement"])(Tag, external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 29547 } 29548 29549 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/icons.js 29550 29551 29552 /** 29553 * WordPress dependencies 29554 */ 29555 29556 const titleDate = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 29557 xmlns: "http://www.w3.org/2000/svg", 29558 viewBox: "0 0 48 48" 29559 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 29560 d: "M41 9H7v3h34V9zm-22 5H7v1h12v-1zM7 26h12v1H7v-1zm34-5H7v3h34v-3zM7 38h12v1H7v-1zm34-5H7v3h34v-3z" 29561 })); 29562 const titleExcerpt = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 29563 xmlns: "http://www.w3.org/2000/svg", 29564 viewBox: "0 0 48 48" 29565 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 29566 d: "M41 9H7v3h34V9zm-4 5H7v1h30v-1zm4 3H7v1h34v-1zM7 20h30v1H7v-1zm0 12h30v1H7v-1zm34 3H7v1h34v-1zM7 38h30v1H7v-1zm34-11H7v3h34v-3z" 29567 })); 29568 const titleDateExcerpt = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 29569 xmlns: "http://www.w3.org/2000/svg", 29570 viewBox: "0 0 48 48" 29571 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 29572 d: "M41 9H7v3h34V9zm-22 5H7v1h12v-1zm22 3H7v1h34v-1zM7 20h34v1H7v-1zm0 12h12v1H7v-1zm34 3H7v1h34v-1zM7 38h34v1H7v-1zm34-11H7v3h34v-3z" 29573 })); 29574 const imageDateTitle = Object(external_wp_element_["createElement"])(external_wp_components_["SVG"], { 29575 xmlns: "http://www.w3.org/2000/svg", 29576 viewBox: "0 0 48 48" 29577 }, Object(external_wp_element_["createElement"])(external_wp_components_["Path"], { 29578 d: "M7 9h34v6H7V9zm12 8H7v1h12v-1zm18 3H7v1h30v-1zm0 18H7v1h30v-1zM7 35h12v1H7v-1zm34-8H7v6h34v-6z" 29579 })); 29580 29581 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/variations.js 29582 /** 29583 * WordPress dependencies 29584 */ 29585 29586 29587 /** 29588 * Internal dependencies 29589 */ 29590 29591 29592 const QUERY_DEFAULT_ATTRIBUTES = { 29593 query: { 29594 perPage: 3, 29595 pages: 0, 29596 offset: 0, 29597 postType: 'post', 29598 categoryIds: [], 29599 tagIds: [], 29600 order: 'desc', 29601 orderBy: 'date', 29602 author: '', 29603 search: '', 29604 exclude: [], 29605 sticky: '', 29606 inherit: false 29607 } 29608 }; 29609 const query_variations_variations = [{ 29610 name: 'posts-list', 29611 title: Object(external_wp_i18n_["__"])('Posts List'), 29612 description: Object(external_wp_i18n_["__"])('Display a list of your most recent posts, excluding sticky posts.'), 29613 icon: post_list, 29614 attributes: { 29615 query: { 29616 perPage: 4, 29617 pages: 1, 29618 offset: 0, 29619 postType: 'post', 29620 categoryIds: [], 29621 tagIds: [], 29622 order: 'desc', 29623 orderBy: 'date', 29624 author: '', 29625 search: '', 29626 sticky: 'exclude', 29627 inherit: false 29628 } 29629 }, 29630 scope: ['inserter'] 29631 }, { 29632 name: 'title-date', 29633 title: Object(external_wp_i18n_["__"])('Title & Date'), 29634 icon: titleDate, 29635 attributes: { ...QUERY_DEFAULT_ATTRIBUTES 29636 }, 29637 innerBlocks: [['core/post-template', {}, [['core/post-title'], ['core/post-date']]]], 29638 scope: ['block'] 29639 }, { 29640 name: 'title-excerpt', 29641 title: Object(external_wp_i18n_["__"])('Title & Excerpt'), 29642 icon: titleExcerpt, 29643 attributes: { ...QUERY_DEFAULT_ATTRIBUTES 29644 }, 29645 innerBlocks: [['core/post-template', {}, [['core/post-title'], ['core/post-excerpt']]]], 29646 scope: ['block'] 29647 }, { 29648 name: 'title-date-excerpt', 29649 title: Object(external_wp_i18n_["__"])('Title, Date, & Excerpt'), 29650 icon: titleDateExcerpt, 29651 attributes: { ...QUERY_DEFAULT_ATTRIBUTES 29652 }, 29653 innerBlocks: [['core/post-template', {}, [['core/post-title'], ['core/post-date'], ['core/post-excerpt']]]], 29654 scope: ['block'] 29655 }, { 29656 name: 'image-date-title', 29657 title: Object(external_wp_i18n_["__"])('Image, Date, & Title'), 29658 icon: imageDateTitle, 29659 attributes: { ...QUERY_DEFAULT_ATTRIBUTES 29660 }, 29661 innerBlocks: [['core/post-template', {}, [['core/post-featured-image'], ['core/post-date'], ['core/post-title']]]], 29662 scope: ['block'] 29663 }]; 29664 /* harmony default export */ var query_variations = (query_variations_variations); 29665 29666 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/deprecated.js 29667 29668 29669 /** 29670 * WordPress dependencies 29671 */ 29672 29673 const query_deprecated_deprecated = [// Version with NO wrapper `div` element. 29674 { 29675 attributes: { 29676 queryId: { 29677 type: 'number' 29678 }, 29679 query: { 29680 type: 'object', 29681 default: { 29682 perPage: null, 29683 pages: 0, 29684 offset: 0, 29685 postType: 'post', 29686 categoryIds: [], 29687 tagIds: [], 29688 order: 'desc', 29689 orderBy: 'date', 29690 author: '', 29691 search: '', 29692 exclude: [], 29693 sticky: '', 29694 inherit: true 29695 } 29696 }, 29697 layout: { 29698 type: 'object', 29699 default: { 29700 type: 'list' 29701 } 29702 } 29703 }, 29704 supports: { 29705 html: false 29706 }, 29707 29708 save() { 29709 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null); 29710 } 29711 29712 }]; 29713 /* harmony default export */ var query_deprecated = (query_deprecated_deprecated); 29714 29715 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/hooks.js 29716 29717 29718 29719 /** 29720 * WordPress dependencies 29721 */ 29722 29723 29724 29725 29726 29727 29728 const CreateNewPostLink = ({ 29729 attributes: { 29730 query: { 29731 postType 29732 } = {} 29733 } = {} 29734 }) => { 29735 if (!postType) return null; 29736 const newPostUrl = Object(external_wp_url_["addQueryArgs"])('post-new.php', { 29737 post_type: postType 29738 }); 29739 return Object(external_wp_element_["createElement"])("div", { 29740 className: "wp-block-query__create-new-link" 29741 }, Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('<a>Create a new post</a> for this feed.'), // eslint-disable-next-line jsx-a11y/anchor-has-content 29742 { 29743 a: Object(external_wp_element_["createElement"])("a", { 29744 href: newPostUrl 29745 }) 29746 })); 29747 }; 29748 /** 29749 * Override the default edit UI to include layout controls 29750 * 29751 * @param {Function} BlockEdit Original component 29752 * @return {Function} Wrapped component 29753 */ 29754 29755 29756 const queryTopInspectorControls = Object(external_wp_compose_["createHigherOrderComponent"])(BlockEdit => props => { 29757 const { 29758 name, 29759 isSelected 29760 } = props; 29761 29762 if (name !== 'core/query' || !isSelected) { 29763 return Object(external_wp_element_["createElement"])(BlockEdit, Object(esm_extends["a" /* default */])({ 29764 key: "edit" 29765 }, props)); 29766 } 29767 29768 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(CreateNewPostLink, props)), Object(external_wp_element_["createElement"])(BlockEdit, Object(esm_extends["a" /* default */])({ 29769 key: "edit" 29770 }, props))); 29771 }, 'withInspectorControls'); 29772 /* harmony default export */ var hooks = (queryTopInspectorControls); 29773 29774 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query/index.js 29775 /** 29776 * WordPress dependencies 29777 */ 29778 29779 29780 /** 29781 * Internal dependencies 29782 */ 29783 29784 const query_metadata = { 29785 apiVersion: 2, 29786 name: "core/query", 29787 title: "Query Loop", 29788 category: "theme", 29789 description: "An advanced block that allows displaying post types based on different query parameters and visual configurations.", 29790 textdomain: "default", 29791 attributes: { 29792 queryId: { 29793 type: "number" 29794 }, 29795 query: { 29796 type: "object", 29797 "default": { 29798 perPage: null, 29799 pages: 0, 29800 offset: 0, 29801 postType: "post", 29802 categoryIds: [], 29803 tagIds: [], 29804 order: "desc", 29805 orderBy: "date", 29806 author: "", 29807 search: "", 29808 exclude: [], 29809 sticky: "", 29810 inherit: true 29811 } 29812 }, 29813 tagName: { 29814 type: "string", 29815 "default": "div" 29816 }, 29817 displayLayout: { 29818 type: "object", 29819 "default": { 29820 type: "list" 29821 } 29822 } 29823 }, 29824 providesContext: { 29825 queryId: "queryId", 29826 query: "query", 29827 displayLayout: "displayLayout" 29828 }, 29829 supports: { 29830 align: ["wide", "full"], 29831 html: false, 29832 color: { 29833 gradients: true, 29834 link: true 29835 }, 29836 __experimentalLayout: true 29837 }, 29838 editorStyle: "wp-block-query-editor" 29839 }; 29840 29841 29842 29843 29844 29845 const { 29846 name: query_name 29847 } = query_metadata; 29848 29849 const query_settings = { 29850 icon: library_loop, 29851 edit: query_edit, 29852 save: QuerySave, 29853 variations: query_variations, 29854 deprecated: query_deprecated 29855 }; // Importing this file includes side effects and is whitelisted 29856 // in block-library/package.json under `sideEffects`. 29857 29858 Object(external_wp_hooks_["addFilter"])('editor.BlockEdit', 'core/query', hooks); 29859 29860 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-template/edit.js 29861 29862 29863 /** 29864 * External dependencies 29865 */ 29866 29867 /** 29868 * WordPress dependencies 29869 */ 29870 29871 29872 29873 29874 29875 29876 29877 const post_template_edit_TEMPLATE = [['core/post-title'], ['core/post-date'], ['core/post-excerpt']]; 29878 function PostTemplateEdit({ 29879 clientId, 29880 context: { 29881 query: { 29882 perPage, 29883 offset, 29884 categoryIds, 29885 postType, 29886 tagIds = [], 29887 order, 29888 orderBy, 29889 author, 29890 search, 29891 exclude, 29892 sticky, 29893 inherit 29894 } = {}, 29895 queryContext = [{ 29896 page: 1 29897 }], 29898 templateSlug, 29899 displayLayout: { 29900 type: layoutType = 'flex', 29901 columns = 1 29902 } = {} 29903 } 29904 }) { 29905 const [{ 29906 page 29907 }] = queryContext; 29908 const [activeBlockContext, setActiveBlockContext] = Object(external_wp_element_["useState"])(); 29909 const { 29910 posts, 29911 blocks 29912 } = Object(external_wp_data_["useSelect"])(select => { 29913 const { 29914 getEntityRecords 29915 } = select(external_wp_coreData_["store"]); 29916 const { 29917 getBlocks 29918 } = select(external_wp_blockEditor_["store"]); 29919 const query = { 29920 offset: perPage ? perPage * (page - 1) + offset : 0, 29921 categories: categoryIds, 29922 tags: tagIds, 29923 order, 29924 orderby: orderBy 29925 }; 29926 29927 if (perPage) { 29928 query.per_page = perPage; 29929 } 29930 29931 if (author) { 29932 query.author = author; 29933 } 29934 29935 if (search) { 29936 query.search = search; 29937 } 29938 29939 if (exclude !== null && exclude !== void 0 && exclude.length) { 29940 query.exclude = exclude; 29941 } // If sticky is not set, it will return all posts in the results. 29942 // If sticky is set to `only`, it will limit the results to sticky posts only. 29943 // If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`. 29944 29945 29946 if (sticky) { 29947 query.sticky = sticky === 'only'; 29948 } // If `inherit` is truthy, adjust conditionally the query to create a better preview. 29949 29950 29951 if (inherit) { 29952 // Change the post-type if needed. 29953 if (templateSlug !== null && templateSlug !== void 0 && templateSlug.startsWith('archive-')) { 29954 query.postType = templateSlug.replace('archive-', ''); 29955 postType = query.postType; 29956 } 29957 } 29958 29959 return { 29960 posts: getEntityRecords('postType', postType, query), 29961 blocks: getBlocks(clientId) 29962 }; 29963 }, [perPage, page, offset, categoryIds, tagIds, order, orderBy, clientId, author, search, postType, exclude, sticky, inherit, templateSlug]); 29964 const blockContexts = Object(external_wp_element_["useMemo"])(() => posts === null || posts === void 0 ? void 0 : posts.map(post => ({ 29965 postType: post.type, 29966 postId: post.id 29967 })), [posts]); 29968 const hasLayoutFlex = layoutType === 'flex' && columns > 1; 29969 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 29970 className: classnames_default()({ 29971 'is-flex-container': hasLayoutFlex, 29972 [`columns-${columns}`]: hasLayoutFlex 29973 }) 29974 }); 29975 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])({}, { 29976 template: post_template_edit_TEMPLATE 29977 }); 29978 29979 if (!posts) { 29980 return Object(external_wp_element_["createElement"])("p", blockProps, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null)); 29981 } 29982 29983 if (!posts.length) { 29984 return Object(external_wp_element_["createElement"])("p", blockProps, " ", Object(external_wp_i18n_["__"])('No results found.')); 29985 } 29986 29987 return Object(external_wp_element_["createElement"])("ul", blockProps, blockContexts && blockContexts.map(blockContext => Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockContextProvider"], { 29988 key: blockContext.postId, 29989 value: blockContext 29990 }, blockContext === (activeBlockContext || blockContexts[0]) ? Object(external_wp_element_["createElement"])("li", innerBlocksProps) : Object(external_wp_element_["createElement"])("li", null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockPreview"], { 29991 blocks: blocks, 29992 __experimentalLive: true, 29993 __experimentalOnClick: () => setActiveBlockContext(blockContext) 29994 }))))); 29995 } 29996 29997 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-template/save.js 29998 29999 30000 /** 30001 * WordPress dependencies 30002 */ 30003 30004 function PostTemplateSave() { 30005 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null); 30006 } 30007 30008 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-template/index.js 30009 /** 30010 * WordPress dependencies 30011 */ 30012 30013 /** 30014 * Internal dependencies 30015 */ 30016 30017 const post_template_metadata = { 30018 apiVersion: 2, 30019 name: "core/post-template", 30020 title: "Post Template", 30021 category: "design", 30022 parent: ["core/query"], 30023 description: "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.", 30024 textdomain: "default", 30025 usesContext: ["queryId", "query", "queryContext", "displayLayout", "templateSlug"], 30026 supports: { 30027 reusable: false, 30028 html: false, 30029 align: true 30030 }, 30031 style: "wp-block-post-template", 30032 editorStyle: "wp-block-post-template-editor" 30033 }; 30034 30035 30036 const { 30037 name: post_template_name 30038 } = post_template_metadata; 30039 30040 const post_template_settings = { 30041 icon: library_loop, 30042 edit: PostTemplateEdit, 30043 save: PostTemplateSave 30044 }; 30045 30046 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-title/edit.js 30047 30048 30049 /** 30050 * External dependencies 30051 */ 30052 30053 /** 30054 * WordPress dependencies 30055 */ 30056 // import { useSelect, useDispatch } from '@wordpress/data'; 30057 30058 30059 30060 /** 30061 * Internal dependencies 30062 */ 30063 30064 30065 const SUPPORTED_TYPES = ['archive']; 30066 function QueryTitleEdit({ 30067 attributes: { 30068 type, 30069 level, 30070 textAlign 30071 }, 30072 setAttributes 30073 }) { 30074 const TagName = `h${level}`; 30075 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 30076 className: classnames_default()({ 30077 [`has-text-align-${textAlign}`]: textAlign, 30078 'wp-block-query-title__placeholder': type === 'archive' 30079 }) 30080 }); // The plan is to augment this block with more 30081 // block variations like `Search Title`. 30082 30083 if (!SUPPORTED_TYPES.includes(type)) { 30084 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Provided type is not supported.'))); 30085 } 30086 30087 let titleElement; 30088 30089 if (type === 'archive') { 30090 titleElement = Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_i18n_["__"])('Archive title')); 30091 } 30092 30093 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 30094 group: "block" 30095 }, Object(external_wp_element_["createElement"])(HeadingLevelDropdown, { 30096 selectedLevel: level, 30097 onChange: newLevel => setAttributes({ 30098 level: newLevel 30099 }) 30100 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 30101 value: textAlign, 30102 onChange: nextAlign => { 30103 setAttributes({ 30104 textAlign: nextAlign 30105 }); 30106 } 30107 })), titleElement); 30108 } 30109 30110 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/archive-title.js 30111 30112 30113 /** 30114 * WordPress dependencies 30115 */ 30116 30117 const archiveTitle = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30118 viewBox: "0 0 24 24", 30119 xmlns: "http://www.w3.org/2000/svg" 30120 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30121 stroke: "#1E1E1E", 30122 strokeWidth: "1.5", 30123 d: "M4 19.25h9M4 15.25h16" 30124 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30125 d: "M8.994 10.103H6.08L5.417 12H4l2.846-8h1.383l2.845 8H9.657l-.663-1.897zm-.457-1.28l-.994-2.857-1.006 2.857h2z", 30126 fill: "#1E1E1E" 30127 })); 30128 /* harmony default export */ var archive_title = (archiveTitle); 30129 30130 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-title/variations.js 30131 /** 30132 * WordPress dependencies 30133 */ 30134 30135 30136 const query_title_variations_variations = [{ 30137 isDefault: true, 30138 name: 'archive-title', 30139 title: Object(external_wp_i18n_["__"])('Archive Title'), 30140 description: Object(external_wp_i18n_["__"])('Display the archive title based on the queried object.'), 30141 icon: archive_title, 30142 attributes: { 30143 type: 'archive' 30144 }, 30145 scope: ['inserter'] 30146 }]; 30147 /** 30148 * Add `isActive` function to all `query-title` variations, if not defined. 30149 * `isActive` function is used to find a variation match from a created 30150 * Block by providing its attributes. 30151 */ 30152 30153 query_title_variations_variations.forEach(variation => { 30154 if (variation.isActive) return; 30155 30156 variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.type === variationAttributes.type; 30157 }); 30158 /* harmony default export */ var query_title_variations = (query_title_variations_variations); 30159 30160 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-title/index.js 30161 /** 30162 * Internal dependencies 30163 */ 30164 const query_title_metadata = { 30165 apiVersion: 2, 30166 name: "core/query-title", 30167 title: "Query Title", 30168 category: "design", 30169 description: "Display the query title.", 30170 textdomain: "default", 30171 attributes: { 30172 type: { 30173 type: "string" 30174 }, 30175 textAlign: { 30176 type: "string" 30177 }, 30178 level: { 30179 type: "number", 30180 "default": 1 30181 } 30182 }, 30183 supports: { 30184 align: ["wide", "full"], 30185 html: false, 30186 color: { 30187 gradients: true 30188 }, 30189 typography: { 30190 fontSize: true, 30191 lineHeight: true, 30192 __experimentalFontFamily: true 30193 } 30194 }, 30195 editorStyle: "wp-block-query-title-editor" 30196 }; 30197 30198 30199 const { 30200 name: query_title_name 30201 } = query_title_metadata; 30202 30203 const query_title_settings = { 30204 edit: QueryTitleEdit, 30205 variations: query_title_variations 30206 }; 30207 30208 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/query-pagination.js 30209 30210 30211 /** 30212 * WordPress dependencies 30213 */ 30214 30215 const queryPagination = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30216 xmlns: "http://www.w3.org/2000/svg", 30217 viewBox: "0 0 24 24" 30218 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30219 x: "4", 30220 y: "10.5", 30221 width: "6", 30222 height: "3", 30223 rx: "1.5", 30224 fill: "#000" 30225 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30226 x: "12", 30227 y: "10.5", 30228 width: "3", 30229 height: "3", 30230 rx: "1.5", 30231 fill: "#000" 30232 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30233 x: "17", 30234 y: "10.5", 30235 width: "3", 30236 height: "3", 30237 rx: "1.5", 30238 fill: "#000" 30239 })); 30240 /* harmony default export */ var query_pagination = (queryPagination); 30241 30242 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination/edit.js 30243 30244 30245 /** 30246 * WordPress dependencies 30247 */ 30248 30249 const query_pagination_edit_TEMPLATE = [['core/query-pagination-previous'], ['core/query-pagination-numbers'], ['core/query-pagination-next']]; 30250 function QueryPaginationEdit() { 30251 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 30252 const innerBlocksProps = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(blockProps, { 30253 template: query_pagination_edit_TEMPLATE, 30254 allowedBlocks: ['core/query-pagination-previous', 'core/query-pagination-numbers', 'core/query-pagination-next'], 30255 orientation: 'horizontal' 30256 }); 30257 return Object(external_wp_element_["createElement"])("div", innerBlocksProps); 30258 } 30259 30260 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination/save.js 30261 30262 30263 /** 30264 * WordPress dependencies 30265 */ 30266 30267 function query_pagination_save_save() { 30268 return Object(external_wp_element_["createElement"])("div", external_wp_blockEditor_["useBlockProps"].save(), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InnerBlocks"].Content, null)); 30269 } 30270 30271 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination/index.js 30272 /** 30273 * WordPress dependencies 30274 */ 30275 30276 /** 30277 * Internal dependencies 30278 */ 30279 30280 const query_pagination_metadata = { 30281 apiVersion: 2, 30282 name: "core/query-pagination", 30283 title: "Query Pagination", 30284 category: "design", 30285 parent: ["core/query"], 30286 description: "Displays a paginated navigation to next/previous set of posts, when applicable.", 30287 textdomain: "default", 30288 usesContext: ["queryId", "query"], 30289 supports: { 30290 align: true, 30291 reusable: false, 30292 html: false, 30293 color: { 30294 gradients: true, 30295 link: true 30296 } 30297 }, 30298 editorStyle: "wp-block-query-pagination-editor", 30299 style: "wp-block-query-pagination" 30300 }; 30301 30302 30303 const { 30304 name: query_pagination_name 30305 } = query_pagination_metadata; 30306 30307 const query_pagination_settings = { 30308 icon: query_pagination, 30309 edit: QueryPaginationEdit, 30310 save: query_pagination_save_save 30311 }; 30312 30313 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/query-pagination-next.js 30314 30315 30316 /** 30317 * WordPress dependencies 30318 */ 30319 30320 const queryPaginationNext = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30321 xmlns: "http://www.w3.org/2000/svg", 30322 viewBox: "0 0 24 24" 30323 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30324 x: "6", 30325 y: "10.5", 30326 width: "3", 30327 height: "3", 30328 rx: "1.5", 30329 fill: "#000" 30330 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30331 x: "11", 30332 y: "10.5", 30333 width: "3", 30334 height: "3", 30335 rx: "1.5", 30336 fill: "#000" 30337 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30338 d: "M16.5 9.5L19 12l-2.5 2.5", 30339 stroke: "#1E1E1E", 30340 strokeWidth: "1.5" 30341 })); 30342 /* harmony default export */ var query_pagination_next = (queryPaginationNext); 30343 30344 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/edit.js 30345 30346 30347 30348 /** 30349 * WordPress dependencies 30350 */ 30351 30352 30353 function QueryPaginationNextEdit({ 30354 attributes: { 30355 label 30356 }, 30357 setAttributes 30358 }) { 30359 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], Object(esm_extends["a" /* default */])({ 30360 __experimentalVersion: 2, 30361 tagName: "a", 30362 style: { 30363 display: 'inline-block' 30364 }, 30365 "aria-label": Object(external_wp_i18n_["__"])('Next page link'), 30366 placeholder: Object(external_wp_i18n_["__"])('Next Page'), 30367 value: label, 30368 onChange: newLabel => setAttributes({ 30369 label: newLabel 30370 }) 30371 }, Object(external_wp_blockEditor_["useBlockProps"])())); 30372 } 30373 30374 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-next/index.js 30375 /** 30376 * WordPress dependencies 30377 */ 30378 30379 /** 30380 * Internal dependencies 30381 */ 30382 30383 const query_pagination_next_metadata = { 30384 apiVersion: 2, 30385 name: "core/query-pagination-next", 30386 title: "Query Pagination Next", 30387 category: "design", 30388 parent: ["core/query-pagination"], 30389 description: "Displays the next posts page link.", 30390 textdomain: "default", 30391 attributes: { 30392 label: { 30393 type: "string" 30394 } 30395 }, 30396 usesContext: ["queryId", "query"], 30397 supports: { 30398 reusable: false, 30399 html: false, 30400 color: { 30401 gradients: true, 30402 link: true 30403 }, 30404 typography: { 30405 fontSize: true, 30406 lineHeight: true 30407 } 30408 } 30409 }; 30410 30411 const { 30412 name: query_pagination_next_name 30413 } = query_pagination_next_metadata; 30414 30415 const query_pagination_next_settings = { 30416 icon: query_pagination_next, 30417 edit: QueryPaginationNextEdit 30418 }; 30419 30420 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/query-pagination-numbers.js 30421 30422 30423 /** 30424 * WordPress dependencies 30425 */ 30426 30427 const queryPaginationNumbers = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30428 xmlns: "http://www.w3.org/2000/svg", 30429 viewBox: "0 0 24 24" 30430 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30431 x: "4", 30432 y: "10.5", 30433 width: "6", 30434 height: "3", 30435 rx: "1.5", 30436 fill: "#000" 30437 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30438 d: "M13.5 14v-4l-1.5.5", 30439 stroke: "#1E1E1E" 30440 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30441 d: "M19.266 9.805c-.473-.611-1.22-.51-1.702-.367a3.854 3.854 0 00-.718.307l.13 1.082c.192-.17.47-.422.782-.515.34-.1.578.025.668.141.21.27-.034.835-.16 1.055-.49.85-.93 1.594-1.45 2.492H19.5v-1h-.914c.277-.574.814-1.443.914-2.106.052-.343.02-.762-.234-1.09z", 30442 fill: "#1E1E1E" 30443 })); 30444 /* harmony default export */ var query_pagination_numbers = (queryPaginationNumbers); 30445 30446 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/edit.js 30447 30448 30449 /** 30450 * WordPress dependencies 30451 */ 30452 30453 30454 const createPaginationItem = (content, Tag = 'a', extraClass = '') => Object(external_wp_element_["createElement"])(Tag, { 30455 className: `page-numbers ${extraClass}` 30456 }, content); 30457 30458 const previewPaginationNumbers = () => Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, createPaginationItem(1), createPaginationItem(2), createPaginationItem(3, 'span', 'current'), createPaginationItem(4), createPaginationItem(5), createPaginationItem('...', 'span', 'dots'), createPaginationItem(8)); 30459 30460 function QueryPaginationNumbersEdit() { 30461 const paginationNumbers = previewPaginationNumbers(); 30462 return Object(external_wp_element_["createElement"])("div", Object(external_wp_blockEditor_["useBlockProps"])(), paginationNumbers); 30463 } 30464 30465 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-numbers/index.js 30466 /** 30467 * WordPress dependencies 30468 */ 30469 30470 /** 30471 * Internal dependencies 30472 */ 30473 30474 const query_pagination_numbers_metadata = { 30475 apiVersion: 2, 30476 name: "core/query-pagination-numbers", 30477 title: "Query Pagination Numbers", 30478 category: "design", 30479 parent: ["core/query-pagination"], 30480 description: "Displays a list of page numbers for pagination", 30481 textdomain: "default", 30482 usesContext: ["queryId", "query"], 30483 supports: { 30484 reusable: false, 30485 html: false 30486 }, 30487 editorStyle: "query-pagination-numbers-editor" 30488 }; 30489 30490 const { 30491 name: query_pagination_numbers_name 30492 } = query_pagination_numbers_metadata; 30493 30494 const query_pagination_numbers_settings = { 30495 icon: query_pagination_numbers, 30496 edit: QueryPaginationNumbersEdit 30497 }; 30498 30499 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/query-pagination-previous.js 30500 30501 30502 /** 30503 * WordPress dependencies 30504 */ 30505 30506 const queryPaginationPrevious = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30507 xmlns: "http://www.w3.org/2000/svg", 30508 viewBox: "0 0 24 24" 30509 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30510 x: "18", 30511 y: "13.5", 30512 width: "3", 30513 height: "3", 30514 rx: "1.5", 30515 transform: "rotate(-180 18 13.5)", 30516 fill: "#000" 30517 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Rect"], { 30518 x: "13", 30519 y: "13.5", 30520 width: "3", 30521 height: "3", 30522 rx: "1.5", 30523 transform: "rotate(-180 13 13.5)", 30524 fill: "#000" 30525 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30526 d: "M7.5 14.5L5 12l2.5-2.5", 30527 stroke: "#1E1E1E", 30528 strokeWidth: "1.5" 30529 })); 30530 /* harmony default export */ var query_pagination_previous = (queryPaginationPrevious); 30531 30532 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/edit.js 30533 30534 30535 30536 /** 30537 * WordPress dependencies 30538 */ 30539 30540 30541 function QueryPaginationPreviousEdit({ 30542 attributes: { 30543 label 30544 }, 30545 setAttributes 30546 }) { 30547 return Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], Object(esm_extends["a" /* default */])({ 30548 __experimentalVersion: 2, 30549 tagName: "a", 30550 style: { 30551 display: 'inline-block' 30552 }, 30553 "aria-label": Object(external_wp_i18n_["__"])('Previous page link'), 30554 placeholder: Object(external_wp_i18n_["__"])('Previous Page'), 30555 value: label, 30556 onChange: newLabel => setAttributes({ 30557 label: newLabel 30558 }) 30559 }, Object(external_wp_blockEditor_["useBlockProps"])())); 30560 } 30561 30562 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/query-pagination-previous/index.js 30563 /** 30564 * WordPress dependencies 30565 */ 30566 30567 /** 30568 * Internal dependencies 30569 */ 30570 30571 const query_pagination_previous_metadata = { 30572 apiVersion: 2, 30573 name: "core/query-pagination-previous", 30574 title: "Query Pagination Previous", 30575 category: "design", 30576 parent: ["core/query-pagination"], 30577 description: "Displays the previous posts page link.", 30578 textdomain: "default", 30579 attributes: { 30580 label: { 30581 type: "string" 30582 } 30583 }, 30584 usesContext: ["queryId", "query"], 30585 supports: { 30586 reusable: false, 30587 html: false, 30588 color: { 30589 gradients: true, 30590 link: true 30591 }, 30592 typography: { 30593 fontSize: true, 30594 lineHeight: true 30595 } 30596 } 30597 }; 30598 30599 const { 30600 name: query_pagination_previous_name 30601 } = query_pagination_previous_metadata; 30602 30603 const query_pagination_previous_settings = { 30604 icon: query_pagination_previous, 30605 edit: QueryPaginationPreviousEdit 30606 }; 30607 30608 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-title.js 30609 30610 30611 /** 30612 * WordPress dependencies 30613 */ 30614 30615 const postTitle = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30616 viewBox: "0 0 24 24", 30617 xmlns: "http://www.w3.org/2000/svg" 30618 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30619 d: "M4 14.5h16V16H4zM4 18.5h9V20H4zM4 4h3c2 0 3 .86 3 2.583 0 .891-.253 1.554-.76 1.988-.505.435-1.24.652-2.204.652H5.542V12H4V4zm2.855 4c.53 0 .924-.114 1.18-.343.266-.228.398-.579.398-1.051 0-.473-.132-.82-.397-1.04-.265-.229-.67-.343-1.217-.343H5.542V8h1.313z" 30620 })); 30621 /* harmony default export */ var post_title = (postTitle); 30622 30623 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/utils/hooks.js 30624 /** 30625 * WordPress dependencies 30626 */ 30627 30628 30629 /** 30630 * Returns whether the current user can edit the given entity. 30631 * 30632 * @param {string} kind Entity kind. 30633 * @param {string} name Entity name. 30634 * @param {string} recordId Record's id. 30635 */ 30636 30637 function useCanEditEntity(kind, name, recordId) { 30638 return Object(external_wp_data_["useSelect"])(select => select(external_wp_coreData_["store"]).canUserEditEntityRecord(kind, name, recordId), [kind, name, recordId]); 30639 } 30640 /* harmony default export */ var utils_hooks = ({ 30641 useCanEditEntity 30642 }); 30643 30644 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-title/edit.js 30645 30646 30647 30648 /** 30649 * External dependencies 30650 */ 30651 30652 /** 30653 * WordPress dependencies 30654 */ 30655 30656 30657 30658 30659 30660 30661 /** 30662 * Internal dependencies 30663 */ 30664 30665 30666 30667 function PostTitleEdit({ 30668 attributes: { 30669 level, 30670 textAlign, 30671 isLink, 30672 rel, 30673 linkTarget 30674 }, 30675 setAttributes, 30676 context: { 30677 postType, 30678 postId, 30679 queryId 30680 } 30681 }) { 30682 const TagName = 0 === level ? 'p' : 'h' + level; 30683 const isDescendentOfQueryLoop = !!queryId; 30684 const userCanEdit = useCanEditEntity('postType', postType, postId); 30685 const [rawTitle = '', setTitle, fullTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'title', postId); 30686 const [link] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'link', postId); 30687 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 30688 className: classnames_default()({ 30689 [`has-text-align-${textAlign}`]: textAlign 30690 }) 30691 }); 30692 let titleElement = Object(external_wp_element_["createElement"])(TagName, isLink ? {} : blockProps, Object(external_wp_i18n_["__"])('An example title')); 30693 30694 if (postType && postId) { 30695 titleElement = userCanEdit && !isDescendentOfQueryLoop ? Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], Object(esm_extends["a" /* default */])({ 30696 tagName: TagName, 30697 placeholder: Object(external_wp_i18n_["__"])('No Title'), 30698 value: rawTitle, 30699 onChange: setTitle, 30700 __experimentalVersion: 2 30701 }, isLink ? {} : blockProps)) : Object(external_wp_element_["createElement"])(TagName, isLink ? {} : blockProps, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { 30702 key: "html" 30703 }, fullTitle.rendered)); 30704 } 30705 30706 if (isLink) { 30707 titleElement = userCanEdit && !isDescendentOfQueryLoop ? Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["PlainText"], { 30708 tagName: "a", 30709 href: link, 30710 target: linkTarget, 30711 rel: rel, 30712 placeholder: !rawTitle.length ? Object(external_wp_i18n_["__"])('No Title') : null, 30713 value: rawTitle, 30714 onChange: setTitle, 30715 __experimentalVersion: 2 30716 })) : Object(external_wp_element_["createElement"])(TagName, blockProps, Object(external_wp_element_["createElement"])("a", { 30717 href: link, 30718 target: linkTarget, 30719 rel: rel, 30720 onClick: event => event.preventDefault() 30721 }, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { 30722 key: "html" 30723 }, fullTitle.rendered))); 30724 } 30725 30726 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 30727 group: "block" 30728 }, Object(external_wp_element_["createElement"])(HeadingLevelDropdown, { 30729 selectedLevel: level, 30730 onChange: newLevel => setAttributes({ 30731 level: newLevel 30732 }) 30733 }), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 30734 value: textAlign, 30735 onChange: nextAlign => { 30736 setAttributes({ 30737 textAlign: nextAlign 30738 }); 30739 } 30740 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 30741 title: Object(external_wp_i18n_["__"])('Link settings') 30742 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 30743 label: Object(external_wp_i18n_["__"])('Make title a link'), 30744 onChange: () => setAttributes({ 30745 isLink: !isLink 30746 }), 30747 checked: isLink 30748 }), isLink && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 30749 label: Object(external_wp_i18n_["__"])('Open in new tab'), 30750 onChange: value => setAttributes({ 30751 linkTarget: value ? '_blank' : '_self' 30752 }), 30753 checked: linkTarget === '_blank' 30754 }), Object(external_wp_element_["createElement"])(external_wp_components_["TextControl"], { 30755 label: Object(external_wp_i18n_["__"])('Link rel'), 30756 value: rel, 30757 onChange: newRel => setAttributes({ 30758 rel: newRel 30759 }) 30760 })))), titleElement); 30761 } 30762 30763 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-title/index.js 30764 /** 30765 * WordPress dependencies 30766 */ 30767 30768 /** 30769 * Internal dependencies 30770 */ 30771 30772 const post_title_metadata = { 30773 apiVersion: 2, 30774 name: "core/post-title", 30775 title: "Post Title", 30776 category: "theme", 30777 description: "Displays the title of a post, page, or any other content-type.", 30778 textdomain: "default", 30779 usesContext: ["postId", "postType", "queryId"], 30780 attributes: { 30781 textAlign: { 30782 type: "string" 30783 }, 30784 level: { 30785 type: "number", 30786 "default": 2 30787 }, 30788 isLink: { 30789 type: "boolean", 30790 "default": false 30791 }, 30792 rel: { 30793 type: "string", 30794 attribute: "rel", 30795 "default": "" 30796 }, 30797 linkTarget: { 30798 type: "string", 30799 "default": "_self" 30800 } 30801 }, 30802 supports: { 30803 align: ["wide", "full"], 30804 html: false, 30805 color: { 30806 gradients: true, 30807 link: true 30808 }, 30809 typography: { 30810 fontSize: true, 30811 lineHeight: true, 30812 __experimentalFontFamily: true 30813 } 30814 }, 30815 style: "wp-block-post-title" 30816 }; 30817 30818 const { 30819 name: post_title_name 30820 } = post_title_metadata; 30821 30822 const post_title_settings = { 30823 icon: post_title, 30824 edit: PostTitleEdit 30825 }; 30826 30827 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-content.js 30828 30829 30830 /** 30831 * WordPress dependencies 30832 */ 30833 30834 const postContent = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 30835 xmlns: "https://www.w3.org/2000/svg", 30836 viewBox: "0 0 24 24" 30837 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 30838 d: "M4 20h16v-1.5H4V20zm0-4.8h16v-1.5H4v1.5zm0-6.4v1.5h16V8.8H4zM16 4H4v1.5h12V4z" 30839 })); 30840 /* harmony default export */ var post_content = (postContent); 30841 30842 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-content/edit.js 30843 30844 30845 /** 30846 * WordPress dependencies 30847 */ 30848 30849 30850 30851 30852 30853 /** 30854 * Internal dependencies 30855 */ 30856 30857 30858 30859 function ReadOnlyContent({ 30860 userCanEdit, 30861 postType, 30862 postId 30863 }) { 30864 const [,, content] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'content', postId); 30865 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 30866 return content !== null && content !== void 0 && content.protected && !userCanEdit ? Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('This content is password protected.'))) : Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { 30867 key: "html" 30868 }, content === null || content === void 0 ? void 0 : content.rendered)); 30869 } 30870 30871 function EditableContent({ 30872 layout, 30873 context = {} 30874 }) { 30875 const { 30876 postType, 30877 postId 30878 } = context; 30879 const themeSupportsLayout = Object(external_wp_data_["useSelect"])(select => { 30880 var _getSettings; 30881 30882 const { 30883 getSettings 30884 } = select(external_wp_blockEditor_["store"]); 30885 return (_getSettings = getSettings()) === null || _getSettings === void 0 ? void 0 : _getSettings.supportsLayout; 30886 }, []); 30887 const defaultLayout = Object(external_wp_blockEditor_["useSetting"])('layout') || {}; 30888 const usedLayout = !!layout && layout.inherit ? defaultLayout : layout; 30889 const { 30890 contentSize, 30891 wideSize 30892 } = usedLayout; 30893 30894 const _layout = Object(external_wp_element_["useMemo"])(() => { 30895 if (themeSupportsLayout) { 30896 const alignments = contentSize || wideSize ? ['wide', 'full', 'left', 'center', 'right'] : ['left', 'center', 'right']; 30897 return { 30898 type: 'default', 30899 // Find a way to inject this in the support flag code (hooks). 30900 alignments 30901 }; 30902 } 30903 30904 return undefined; 30905 }, [themeSupportsLayout, contentSize, wideSize]); 30906 30907 const [blocks, onInput, onChange] = Object(external_wp_coreData_["useEntityBlockEditor"])('postType', postType, { 30908 id: postId 30909 }); 30910 const props = Object(external_wp_blockEditor_["__experimentalUseInnerBlocksProps"])(Object(external_wp_blockEditor_["useBlockProps"])({ 30911 className: 'entry-content' 30912 }), { 30913 value: blocks, 30914 onInput, 30915 onChange, 30916 __experimentalLayout: _layout 30917 }); 30918 return Object(external_wp_element_["createElement"])("div", props); 30919 } 30920 30921 function Content(props) { 30922 const { 30923 context: { 30924 queryId, 30925 postType, 30926 postId 30927 } = {} 30928 } = props; 30929 const isDescendentOfQueryLoop = !!queryId; 30930 const userCanEdit = useCanEditEntity('postType', postType, postId); 30931 const isEditable = userCanEdit && !isDescendentOfQueryLoop; 30932 return isEditable ? Object(external_wp_element_["createElement"])(EditableContent, props) : Object(external_wp_element_["createElement"])(ReadOnlyContent, { 30933 userCanEdit: userCanEdit, 30934 postType: postType, 30935 postId: postId 30936 }); 30937 } 30938 30939 function edit_Placeholder() { 30940 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 30941 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])("div", { 30942 className: "wp-block-post-content__placeholder" 30943 }, Object(external_wp_element_["createElement"])("span", null, Object(external_wp_i18n_["__"])('This is a placeholder for post content.')))); 30944 } 30945 30946 function RecursionError() { 30947 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 30948 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Block cannot be rendered inside itself.'))); 30949 } 30950 30951 function PostContentEdit({ 30952 context, 30953 attributes 30954 }) { 30955 const { 30956 postId: contextPostId, 30957 postType: contextPostType 30958 } = context; 30959 const { 30960 layout = {} 30961 } = attributes; 30962 const [hasAlreadyRendered, RecursionProvider] = Object(external_wp_blockEditor_["__experimentalUseNoRecursiveRenders"])(contextPostId); 30963 30964 if (contextPostId && contextPostType && hasAlreadyRendered) { 30965 return Object(external_wp_element_["createElement"])(RecursionError, null); 30966 } 30967 30968 return Object(external_wp_element_["createElement"])(RecursionProvider, null, contextPostId && contextPostType ? Object(external_wp_element_["createElement"])(Content, { 30969 context: context, 30970 layout: layout 30971 }) : Object(external_wp_element_["createElement"])(edit_Placeholder, null)); 30972 } 30973 30974 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-content/index.js 30975 /** 30976 * WordPress dependencies 30977 */ 30978 30979 /** 30980 * Internal dependencies 30981 */ 30982 30983 const post_content_metadata = { 30984 apiVersion: 2, 30985 name: "core/post-content", 30986 title: "Post Content", 30987 category: "theme", 30988 description: "Displays the contents of a post or page.", 30989 textdomain: "default", 30990 usesContext: ["postId", "postType", "queryId"], 30991 supports: { 30992 align: ["wide", "full"], 30993 html: false, 30994 __experimentalLayout: true 30995 }, 30996 editorStyle: "wp-block-post-content-editor" 30997 }; 30998 30999 const { 31000 name: post_content_name 31001 } = post_content_metadata; 31002 31003 const post_content_settings = { 31004 icon: post_content, 31005 edit: PostContentEdit 31006 }; 31007 31008 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-date.js 31009 31010 31011 /** 31012 * WordPress dependencies 31013 */ 31014 31015 const post_date_postDate = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 31016 xmlns: "http://www.w3.org/2000/svg", 31017 viewBox: "0 0 24 24" 31018 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 31019 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" 31020 }), Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 31021 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" 31022 })); 31023 /* harmony default export */ var post_date = (post_date_postDate); 31024 31025 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-date/edit.js 31026 31027 31028 /** 31029 * External dependencies 31030 */ 31031 31032 /** 31033 * WordPress dependencies 31034 */ 31035 31036 31037 31038 31039 31040 31041 31042 31043 function PostDateEdit({ 31044 attributes: { 31045 textAlign, 31046 format, 31047 isLink 31048 }, 31049 context: { 31050 postId, 31051 postType, 31052 queryId 31053 }, 31054 setAttributes 31055 }) { 31056 const isDescendentOfQueryLoop = !!queryId; 31057 const [siteFormat] = Object(external_wp_coreData_["useEntityProp"])('root', 'site', 'date_format'); 31058 const [date, setDate] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'date', postId); 31059 const [isPickerOpen, setIsPickerOpen] = Object(external_wp_element_["useState"])(false); 31060 31061 const settings = Object(external_wp_date_["__experimentalGetSettings"])(); // To know if the current time format is a 12 hour time, look for "a". 31062 // Also make sure this "a" is not escaped by a "/". 31063 31064 31065 const is12Hour = /a(?!\\)/i.test(settings.formats.time.toLowerCase() // Test only for the lower case "a". 31066 .replace(/\\\\/g, '') // Replace "//" with empty strings. 31067 .split('').reverse().join('') // Reverse the string and test for "a" not followed by a slash. 31068 ); 31069 const formatOptions = Object.values(settings.formats).map(formatOption => ({ 31070 key: formatOption, 31071 name: Object(external_wp_date_["dateI18n"])(formatOption, date) 31072 })); 31073 const resolvedFormat = format || siteFormat || settings.formats.date; 31074 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 31075 className: classnames_default()({ 31076 [`has-text-align-${textAlign}`]: textAlign 31077 }) 31078 }); 31079 let postDate = date ? Object(external_wp_element_["createElement"])("time", { 31080 dateTime: Object(external_wp_date_["dateI18n"])('c', date) 31081 }, Object(external_wp_date_["dateI18n"])(resolvedFormat, date), isPickerOpen && Object(external_wp_element_["createElement"])(external_wp_components_["Popover"], { 31082 onClose: setIsPickerOpen.bind(null, false) 31083 }, Object(external_wp_element_["createElement"])(external_wp_components_["DateTimePicker"], { 31084 currentDate: date, 31085 onChange: setDate, 31086 is12Hour: is12Hour 31087 }))) : Object(external_wp_i18n_["__"])('No Date'); 31088 31089 if (isLink && date) { 31090 postDate = Object(external_wp_element_["createElement"])("a", { 31091 href: "#post-date-pseudo-link", 31092 onClick: event => event.preventDefault() 31093 }, postDate); 31094 } 31095 31096 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 31097 group: "block" 31098 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentControl"], { 31099 value: textAlign, 31100 onChange: nextAlign => { 31101 setAttributes({ 31102 textAlign: nextAlign 31103 }); 31104 } 31105 }), date && !isDescendentOfQueryLoop && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { 31106 icon: library_edit["a" /* default */], 31107 title: Object(external_wp_i18n_["__"])('Change Date'), 31108 onClick: () => setIsPickerOpen(_isPickerOpen => !_isPickerOpen) 31109 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 31110 title: Object(external_wp_i18n_["__"])('Format settings') 31111 }, Object(external_wp_element_["createElement"])(external_wp_components_["CustomSelectControl"], { 31112 hideLabelFromVision: true, 31113 label: Object(external_wp_i18n_["__"])('Date Format'), 31114 options: formatOptions, 31115 onChange: ({ 31116 selectedItem 31117 }) => setAttributes({ 31118 format: selectedItem.key 31119 }), 31120 value: formatOptions.find(option => option.key === resolvedFormat) 31121 })), Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 31122 title: Object(external_wp_i18n_["__"])('Link settings') 31123 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 31124 label: Object(external_wp_i18n_["sprintf"])( // translators: %s: Name of the post type e.g: "post". 31125 Object(external_wp_i18n_["__"])('Link to %s'), postType), 31126 onChange: () => setAttributes({ 31127 isLink: !isLink 31128 }), 31129 checked: isLink 31130 }))), Object(external_wp_element_["createElement"])("div", blockProps, postDate)); 31131 } 31132 31133 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-date/index.js 31134 /** 31135 * WordPress dependencies 31136 */ 31137 31138 /** 31139 * Internal dependencies 31140 */ 31141 31142 const post_date_metadata = { 31143 apiVersion: 2, 31144 name: "core/post-date", 31145 title: "Post Date", 31146 category: "theme", 31147 description: "Add the date of this post.", 31148 textdomain: "default", 31149 attributes: { 31150 textAlign: { 31151 type: "string" 31152 }, 31153 format: { 31154 type: "string" 31155 }, 31156 isLink: { 31157 type: "boolean", 31158 "default": false 31159 } 31160 }, 31161 usesContext: ["postId", "postType", "queryId"], 31162 supports: { 31163 html: false, 31164 color: { 31165 gradients: true, 31166 link: true 31167 }, 31168 typography: { 31169 fontSize: true, 31170 lineHeight: true 31171 } 31172 } 31173 }; 31174 31175 const { 31176 name: post_date_name 31177 } = post_date_metadata; 31178 31179 const post_date_settings = { 31180 icon: post_date, 31181 edit: PostDateEdit 31182 }; 31183 31184 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-excerpt.js 31185 31186 31187 /** 31188 * WordPress dependencies 31189 */ 31190 31191 const post_excerpt_postExcerpt = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 31192 xmlns: "http://www.w3.org/2000/svg", 31193 viewBox: "0 0 24 24" 31194 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 31195 d: "M12.75 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.395.395 0 00.199-.166c.05-.083.114-.253.114-.584V7.2H8.8V4h3.95v5.333zM7.95 9.333c0 .521-.102.977-.327 1.354-.23.386-.555.628-.893.774-.545.234-1.183.227-1.544.222l-.12-.001v-1.5h.123c.414.001.715.002.948-.099a.394.394 0 00.198-.166c.05-.083.115-.253.115-.584V7.2H4V4h3.95v5.333zM13 20H4v-1.5h9V20zM20 16H4v-1.5h16V16z" 31196 })); 31197 /* harmony default export */ var post_excerpt = (post_excerpt_postExcerpt); 31198 31199 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-excerpt/edit.js 31200 31201 31202 /** 31203 * External dependencies 31204 */ 31205 31206 /** 31207 * WordPress dependencies 31208 */ 31209 31210 31211 31212 31213 31214 31215 /** 31216 * Internal dependencies 31217 */ 31218 31219 31220 function PostExcerptEditor({ 31221 attributes: { 31222 textAlign, 31223 moreText, 31224 showMoreOnNewLine 31225 }, 31226 setAttributes, 31227 isSelected, 31228 context: { 31229 postId, 31230 postType, 31231 queryId 31232 } 31233 }) { 31234 const isDescendentOfQueryLoop = !!queryId; 31235 const userCanEdit = useCanEditEntity('postType', postType, postId); 31236 const isEditable = userCanEdit && !isDescendentOfQueryLoop; 31237 const [rawExcerpt, setExcerpt, { 31238 rendered: renderedExcerpt, 31239 protected: isProtected 31240 } = {}] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'excerpt', postId); 31241 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 31242 className: classnames_default()({ 31243 [`has-text-align-${textAlign}`]: textAlign 31244 }) 31245 }); 31246 /** 31247 * When excerpt is editable, strip the html tags from 31248 * rendered excerpt. This will be used if the entity's 31249 * excerpt has been produced from the content. 31250 */ 31251 31252 const strippedRenderedExcerpt = Object(external_wp_element_["useMemo"])(() => { 31253 if (!renderedExcerpt) return ''; 31254 const document = new window.DOMParser().parseFromString(renderedExcerpt, 'text/html'); 31255 return document.body.textContent || document.body.innerText || ''; 31256 }, [renderedExcerpt]); 31257 31258 if (!postType || !postId) { 31259 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Post excerpt block: no post found.'))); 31260 } 31261 31262 if (isProtected && !userCanEdit) { 31263 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('There is no excerpt because this is a protected post.'))); 31264 } 31265 31266 const readMoreLink = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 31267 className: "wp-block-post-excerpt__more-link", 31268 tagName: "a", 31269 "aria-label": Object(external_wp_i18n_["__"])('"Read more" link text'), 31270 placeholder: Object(external_wp_i18n_["__"])('Add "read more" link text'), 31271 value: moreText, 31272 onChange: newMoreText => setAttributes({ 31273 moreText: newMoreText 31274 }) 31275 }); 31276 const excerptContent = isEditable ? Object(external_wp_element_["createElement"])(external_wp_blockEditor_["RichText"], { 31277 className: !showMoreOnNewLine && 'wp-block-post-excerpt__excerpt is-inline', 31278 "aria-label": Object(external_wp_i18n_["__"])('Post excerpt text'), 31279 value: rawExcerpt || strippedRenderedExcerpt || (isSelected ? '' : Object(external_wp_i18n_["__"])('No post excerpt found')), 31280 onChange: setExcerpt 31281 }) : renderedExcerpt && Object(external_wp_element_["createElement"])(external_wp_components_["Disabled"], null, Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { 31282 key: "html" 31283 }, renderedExcerpt)) || Object(external_wp_i18n_["__"])('No post excerpt found'); 31284 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentToolbar"], { 31285 value: textAlign, 31286 onChange: newAlign => setAttributes({ 31287 textAlign: newAlign 31288 }) 31289 })), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 31290 title: Object(external_wp_i18n_["__"])('Post Excerpt Settings') 31291 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 31292 label: Object(external_wp_i18n_["__"])('Show link on new line'), 31293 checked: showMoreOnNewLine, 31294 onChange: newShowMoreOnNewLine => setAttributes({ 31295 showMoreOnNewLine: newShowMoreOnNewLine 31296 }) 31297 }))), Object(external_wp_element_["createElement"])("div", blockProps, excerptContent, !showMoreOnNewLine && ' ', showMoreOnNewLine ? Object(external_wp_element_["createElement"])("p", { 31298 className: "wp-block-post-excerpt__more-text" 31299 }, readMoreLink) : readMoreLink)); 31300 } 31301 31302 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-excerpt/index.js 31303 /** 31304 * WordPress dependencies 31305 */ 31306 31307 /** 31308 * Internal dependencies 31309 */ 31310 31311 const post_excerpt_metadata = { 31312 apiVersion: 2, 31313 name: "core/post-excerpt", 31314 title: "Post Excerpt", 31315 category: "theme", 31316 description: "Display a post's excerpt.", 31317 textdomain: "default", 31318 attributes: { 31319 textAlign: { 31320 type: "string" 31321 }, 31322 moreText: { 31323 type: "string" 31324 }, 31325 showMoreOnNewLine: { 31326 type: "boolean", 31327 "default": true 31328 } 31329 }, 31330 usesContext: ["postId", "postType", "queryId"], 31331 supports: { 31332 html: false, 31333 color: { 31334 gradients: true, 31335 link: true 31336 }, 31337 typography: { 31338 fontSize: true, 31339 lineHeight: true 31340 } 31341 }, 31342 editorStyle: "wp-block-post-excerpt-editor", 31343 style: "wp-block-post-excerpt" 31344 }; 31345 31346 const { 31347 name: post_excerpt_name 31348 } = post_excerpt_metadata; 31349 31350 const post_excerpt_settings = { 31351 icon: post_excerpt, 31352 edit: PostExcerptEditor 31353 }; 31354 31355 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-featured-image.js 31356 31357 31358 /** 31359 * WordPress dependencies 31360 */ 31361 31362 const postFeaturedImage = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 31363 xmlns: "http://www.w3.org/2000/svg", 31364 viewBox: "0 0 24 24" 31365 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 31366 d: "M19 3H5c-.6 0-1 .4-1 1v7c0 .5.4 1 1 1h14c.5 0 1-.4 1-1V4c0-.6-.4-1-1-1zM5.5 10.5v-.4l1.8-1.3 1.3.8c.3.2.7.2.9-.1L11 8.1l2.4 2.4H5.5zm13 0h-2.9l-4-4c-.3-.3-.8-.3-1.1 0L8.9 8l-1.2-.8c-.3-.2-.6-.2-.9 0l-1.3 1V4.5h13v6zM4 20h9v-1.5H4V20zm0-4h16v-1.5H4V16z" 31367 })); 31368 /* harmony default export */ var post_featured_image = (postFeaturedImage); 31369 31370 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-featured-image/edit.js 31371 31372 31373 /** 31374 * WordPress dependencies 31375 */ 31376 31377 31378 31379 31380 31381 31382 const post_featured_image_edit_ALLOWED_MEDIA_TYPES = ['image']; 31383 const placeholderChip = Object(external_wp_element_["createElement"])("div", { 31384 className: "post-featured-image_placeholder" 31385 }, Object(external_wp_element_["createElement"])(external_wp_components_["Icon"], { 31386 icon: post_featured_image 31387 }), Object(external_wp_element_["createElement"])("p", null, " ", Object(external_wp_i18n_["__"])('Featured Image'))); 31388 31389 function PostFeaturedImageDisplay({ 31390 attributes: { 31391 isLink 31392 }, 31393 setAttributes, 31394 context: { 31395 postId, 31396 postType, 31397 queryId 31398 }, 31399 noticeUI, 31400 noticeOperations 31401 }) { 31402 const isDescendentOfQueryLoop = !!queryId; 31403 const [featuredImage, setFeaturedImage] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'featured_media', postId); 31404 const media = Object(external_wp_data_["useSelect"])(select => featuredImage && select(external_wp_coreData_["store"]).getMedia(featuredImage), [featuredImage]); 31405 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 31406 31407 const onSelectImage = value => { 31408 if (value !== null && value !== void 0 && value.id) { 31409 setFeaturedImage(value.id); 31410 } 31411 }; 31412 31413 function onUploadError(message) { 31414 noticeOperations.removeAllNotices(); 31415 noticeOperations.createErrorNotice(message); 31416 } 31417 31418 let image; 31419 31420 if (!featuredImage && isDescendentOfQueryLoop) { 31421 return Object(external_wp_element_["createElement"])("div", blockProps, placeholderChip); 31422 } 31423 31424 if (!featuredImage) { 31425 image = Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { 31426 icon: Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockIcon"], { 31427 icon: post_featured_image 31428 }), 31429 onSelect: onSelectImage, 31430 notices: noticeUI, 31431 onError: onUploadError, 31432 accept: "image/*", 31433 allowedTypes: post_featured_image_edit_ALLOWED_MEDIA_TYPES, 31434 labels: { 31435 title: Object(external_wp_i18n_["__"])('Featured image'), 31436 instructions: Object(external_wp_i18n_["__"])('Upload a media file or pick one from your media library.') 31437 } 31438 }); 31439 } else { 31440 // We have a Featured image so show a Placeholder if is loading. 31441 image = !media ? placeholderChip : Object(external_wp_element_["createElement"])("img", { 31442 src: media.source_url, 31443 alt: media.alt_text || Object(external_wp_i18n_["__"])('Featured image') 31444 }); 31445 } 31446 31447 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { 31448 title: Object(external_wp_i18n_["__"])('Link settings') 31449 }, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], { 31450 label: Object(external_wp_i18n_["sprintf"])( // translators: %s: Name of the post type e.g: "post". 31451 Object(external_wp_i18n_["__"])('Link to %s'), postType), 31452 onChange: () => setAttributes({ 31453 isLink: !isLink 31454 }), 31455 checked: isLink 31456 }))), !!media && !isDescendentOfQueryLoop && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { 31457 group: "other" 31458 }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaReplaceFlow"], { 31459 mediaId: featuredImage, 31460 mediaURL: media.source_url, 31461 allowedTypes: post_featured_image_edit_ALLOWED_MEDIA_TYPES, 31462 accept: "image/*", 31463 onSelect: onSelectImage, 31464 onError: onUploadError 31465 })), Object(external_wp_element_["createElement"])("figure", blockProps, image)); 31466 } 31467 31468 const PostFeaturedImageWithNotices = Object(external_wp_components_["withNotices"])(PostFeaturedImageDisplay); 31469 function PostFeaturedImageEdit(props) { 31470 var _props$context; 31471 31472 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])(); 31473 31474 if (!((_props$context = props.context) !== null && _props$context !== void 0 && _props$context.postId)) { 31475 return Object(external_wp_element_["createElement"])("div", blockProps, placeholderChip); 31476 } 31477 31478 return Object(external_wp_element_["createElement"])(PostFeaturedImageWithNotices, props); 31479 } 31480 31481 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-featured-image/index.js 31482 /** 31483 * WordPress dependencies 31484 */ 31485 31486 /** 31487 * Internal dependencies 31488 */ 31489 31490 const post_featured_image_metadata = { 31491 apiVersion: 2, 31492 name: "core/post-featured-image", 31493 title: "Post Featured Image", 31494 category: "theme", 31495 description: "Display a post's featured image.", 31496 textdomain: "default", 31497 attributes: { 31498 isLink: { 31499 type: "boolean", 31500 "default": false 31501 } 31502 }, 31503 usesContext: ["postId", "postType", "queryId"], 31504 supports: { 31505 align: ["left", "right", "center", "wide", "full"], 31506 html: false 31507 }, 31508 editorStyle: "wp-block-post-featured-image-editor", 31509 style: "wp-block-post-featured-image" 31510 }; 31511 31512 const { 31513 name: post_featured_image_name 31514 } = post_featured_image_metadata; 31515 31516 const post_featured_image_settings = { 31517 icon: post_featured_image, 31518 edit: PostFeaturedImageEdit 31519 }; 31520 31521 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-terms/use-post-terms.js 31522 /** 31523 * WordPress dependencies 31524 */ 31525 31526 31527 function usePostTerms({ 31528 postId, 31529 postType, 31530 term 31531 }) { 31532 var _term$visibility2; 31533 31534 const { 31535 rest_base: restBase, 31536 slug 31537 } = term; 31538 const [termIds] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, restBase, postId); 31539 return Object(external_wp_data_["useSelect"])(select => { 31540 var _term$visibility; 31541 31542 const visible = term === null || term === void 0 ? void 0 : (_term$visibility = term.visibility) === null || _term$visibility === void 0 ? void 0 : _term$visibility.publicly_queryable; 31543 31544 if (!visible) { 31545 return { 31546 postTerms: [], 31547 _isLoading: false, 31548 hasPostTerms: false 31549 }; 31550 } 31551 31552 if (!termIds) { 31553 // Waiting for post terms to be fetched. 31554 return { 31555 isLoading: true 31556 }; 31557 } 31558 31559 if (!termIds.length) { 31560 return { 31561 isLoading: false 31562 }; 31563 } 31564 31565 const { 31566 getEntityRecords, 31567 isResolving 31568 } = select(external_wp_coreData_["store"]); 31569 const taxonomyArgs = ['taxonomy', slug, { 31570 include: termIds, 31571 context: 'view' 31572 }]; 31573 const terms = getEntityRecords(...taxonomyArgs); 31574 31575 const _isLoading = isResolving('getEntityRecords', taxonomyArgs); 31576 31577 return { 31578 postTerms: terms, 31579 isLoading: _isLoading, 31580 hasPostTerms: !!(terms !== null && terms !== void 0 && terms.length) 31581 }; 31582 }, [termIds, term === null || term === void 0 ? void 0 : (_term$visibility2 = term.visibility) === null || _term$visibility2 === void 0 ? void 0 : _term$visibility2.publicly_queryable]); 31583 } 31584 31585 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-terms/edit.js 31586 31587 31588 /** 31589 * External dependencies 31590 */ 31591 31592 /** 31593 * WordPress dependencies 31594 */ 31595 31596 31597 31598 31599 31600 31601 /** 31602 * Internal dependencies 31603 */ 31604 31605 31606 function PostTermsEdit({ 31607 attributes, 31608 context, 31609 setAttributes 31610 }) { 31611 var _selectedTerm$labels; 31612 31613 const { 31614 term, 31615 textAlign 31616 } = attributes; 31617 const { 31618 postId, 31619 postType 31620 } = context; 31621 const selectedTerm = Object(external_wp_data_["useSelect"])(select => { 31622 var _taxonomy$visibility; 31623 31624 if (!term) return {}; 31625 const { 31626 getTaxonomy 31627 } = select(external_wp_coreData_["store"]); 31628 const taxonomy = getTaxonomy(term); 31629 return taxonomy !== null && taxonomy !== void 0 && (_taxonomy$visibility = taxonomy.visibility) !== null && _taxonomy$visibility !== void 0 && _taxonomy$visibility.publicly_queryable ? taxonomy : {}; 31630 }, [term]); 31631 const { 31632 postTerms, 31633 hasPostTerms, 31634 isLoading 31635 } = usePostTerms({ 31636 postId, 31637 postType, 31638 term: selectedTerm 31639 }); 31640 const hasPost = postId && postType; 31641 const blockProps = Object(external_wp_blockEditor_["useBlockProps"])({ 31642 className: classnames_default()({ 31643 [`has-text-align-${textAlign}`]: textAlign 31644 }) 31645 }); 31646 31647 if (!hasPost) { 31648 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["Warning"], null, Object(external_wp_i18n_["__"])('Post Terms block: post not found.'))); 31649 } 31650 31651 if (!term) { 31652 return Object(external_wp_element_["createElement"])("div", blockProps, Object(external_wp_i18n_["__"])('Post Terms block: no term specified.')); 31653 } 31654 31655 return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["AlignmentToolbar"], { 31656 value: textAlign, 31657 onChange: nextAlign => { 31658 setAttributes({ 31659 textAlign: nextAlign 31660 }); 31661 } 31662 })), Object(external_wp_element_["createElement"])("div", blockProps, isLoading && Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null), !isLoading && hasPostTerms && postTerms.map(postTerm => Object(external_wp_element_["createElement"])("a", { 31663 key: postTerm.id, 31664 href: postTerm.link, 31665 onClick: event => event.preventDefault() 31666 }, postTerm.name)).reduce((prev, curr) => [prev, ' | ', curr]), !isLoading && !hasPostTerms && ((selectedTerm === null || selectedTerm === void 0 ? void 0 : (_selectedTerm$labels = selectedTerm.labels) === null || _selectedTerm$labels === void 0 ? void 0 : _selectedTerm$labels.no_terms) || Object(external_wp_i18n_["__"])('Term items not found.')))); 31667 } 31668 31669 // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/post-categories.js 31670 31671 31672 /** 31673 * WordPress dependencies 31674 */ 31675 31676 const postCategories = Object(external_wp_element_["createElement"])(external_wp_primitives_["SVG"], { 31677 viewBox: "0 0 24 24", 31678 xmlns: "http://www.w3.org/2000/svg" 31679 }, Object(external_wp_element_["createElement"])(external_wp_primitives_["Path"], { 31680 d: "M20 4H4v1.5h16V4zm-2 9h-3c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3zM4 9.5h9V8H4v1.5zM9 13H6c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h3c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zm.5 5c0 .3-.2.5-.5.5H6c-.3 0-.5-.2-.5-.5v-3c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v3z", 31681 fillRule: "evenodd", 31682 clipRule: "evenodd" 31683 })); 31684 /* harmony default export */ var post_categories = (postCategories); 31685 31686 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-terms/variations.js 31687 /** 31688 * WordPress dependencies 31689 */ 31690 31691 31692 const post_terms_variations_variations = [{ 31693 name: 'category', 31694 title: Object(external_wp_i18n_["__"])('Post Categories'), 31695 description: Object(external_wp_i18n_["__"])("Display a post's categories."), 31696 icon: post_categories, 31697 isDefault: true, 31698 attributes: { 31699 term: 'category' 31700 }, 31701 isActive: blockAttributes => blockAttributes.term === 'category' 31702 }, { 31703 name: 'post_tag', 31704 title: Object(external_wp_i18n_["__"])('Post Tags'), 31705 description: Object(external_wp_i18n_["__"])("Display a post's tags."), 31706 icon: post_categories, 31707 attributes: { 31708 term: 'post_tag' 31709 }, 31710 isActive: blockAttributes => blockAttributes.term === 'post_tag' 31711 }]; 31712 /* harmony default export */ var post_terms_variations = (post_terms_variations_variations); 31713 31714 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/post-terms/index.js 31715 /** 31716 * Internal dependencies 31717 */ 31718 const post_terms_metadata = { 31719 apiVersion: 2, 31720 name: "core/post-terms", 31721 title: "Post Terms", 31722 category: "design", 31723 description: "Post terms.", 31724 textdomain: "default", 31725 attributes: { 31726 term: { 31727 type: "string" 31728 }, 31729 textAlign: { 31730 type: "string" 31731 } 31732 }, 31733 usesContext: ["postId", "postType"], 31734 supports: { 31735 html: false, 31736 color: { 31737 gradients: true, 31738 link: true 31739 }, 31740 typography: { 31741 lineHeight: true, 31742 fontSize: true 31743 } 31744 } 31745 }; 31746 31747 31748 const { 31749 name: post_terms_name 31750 } = post_terms_metadata; 31751 31752 const post_terms_settings = { 31753 variations: post_terms_variations, 31754 edit: PostTermsEdit 31755 }; 31756 31757 // CONCATENATED MODULE: ./node_modules/@wordpress/block-library/build-module/index.js 31758 /** 31759 * WordPress dependencies 31760 */ 31761 31762 31763 31764 /** 31765 * Internal dependencies 31766 */ 31767 31768 31769 31770 31771 31772 31773 31774 31775 31776 31777 31778 31779 31780 31781 31782 31783 31784 31785 31786 31787 31788 31789 31790 31791 31792 31793 31794 31795 31796 31797 31798 31799 31800 31801 31802 31803 31804 31805 31806 31807 // import * as tableOfContents from './table-of-contents'; 31808 31809 31810 31811 31812 31813 31814 31815 // Full Site Editing Blocks 31816 31817 31818 31819 31820 31821 31822 31823 31824 31825 31826 31827 31828 31829 31830 31831 31832 31833 31834 31835 31836 31837 31838 31839 31840 31841 31842 31843 31844 31845 /** 31846 * Function to register an individual block. 31847 * 31848 * @param {Object} block The block to be registered. 31849 * 31850 */ 31851 31852 const registerBlock = block => { 31853 if (!block) { 31854 return; 31855 } 31856 31857 const { 31858 metadata, 31859 settings, 31860 name 31861 } = block; 31862 Object(external_wp_blocks_["registerBlockType"])({ 31863 name, 31864 ...metadata 31865 }, settings); 31866 }; 31867 /** 31868 * Function to get all the core blocks in an array. 31869 * 31870 * @example 31871 * ```js 31872 * import { __experimentalGetCoreBlocks } from '@wordpress/block-library'; 31873 * 31874 * const coreBlocks = __experimentalGetCoreBlocks(); 31875 * ``` 31876 */ 31877 31878 31879 const __experimentalGetCoreBlocks = () => [// Common blocks are grouped at the top to prioritize their display 31880 // in various contexts — like the inserter and auto-complete components. 31881 build_module_paragraph_namespaceObject, build_module_image_namespaceObject, build_module_heading_namespaceObject, build_module_gallery_namespaceObject, build_module_list_namespaceObject, build_module_quote_namespaceObject, // Register all remaining core blocks. 31882 build_module_shortcode_namespaceObject, archives_namespaceObject, build_module_audio_namespaceObject, button_namespaceObject, build_module_buttons_namespaceObject, build_module_calendar_namespaceObject, categories_namespaceObject, code_namespaceObject, build_module_columns_namespaceObject, build_module_column_namespaceObject, build_module_cover_namespaceObject, embed_namespaceObject, build_module_file_namespaceObject, build_module_group_namespaceObject, window.wp && window.wp.oldEditor ? freeform_namespaceObject : null, // Only add the classic block in WP Context 31883 build_module_html_namespaceObject, media_text_namespaceObject, latest_comments_namespaceObject, latest_posts_namespaceObject, missing_namespaceObject, build_module_more_namespaceObject, nextpage_namespaceObject, page_list_namespaceObject, build_module_preformatted_namespaceObject, build_module_pullquote_namespaceObject, build_module_rss_namespaceObject, search_namespaceObject, build_module_separator_namespaceObject, block_namespaceObject, social_links_namespaceObject, social_link_namespaceObject, spacer_namespaceObject, build_module_table_namespaceObject, // tableOfContents, 31884 tag_cloud_namespaceObject, text_columns_namespaceObject, build_module_verse_namespaceObject, build_module_video_namespaceObject, // Theme blocks 31885 build_module_site_logo_namespaceObject, site_tagline_namespaceObject, site_title_namespaceObject, query_namespaceObject, post_template_namespaceObject, query_title_namespaceObject, build_module_query_pagination_namespaceObject, build_module_query_pagination_next_namespaceObject, build_module_query_pagination_numbers_namespaceObject, build_module_query_pagination_previous_namespaceObject, build_module_post_title_namespaceObject, build_module_post_content_namespaceObject, build_module_post_date_namespaceObject, build_module_post_excerpt_namespaceObject, build_module_post_featured_image_namespaceObject, post_terms_namespaceObject, loginout_namespaceObject]; 31886 /** 31887 * Function to register core blocks provided by the block editor. 31888 * 31889 * @param {Array} blocks An optional array of the core blocks being registered. 31890 * 31891 * @example 31892 * ```js 31893 * import { registerCoreBlocks } from '@wordpress/block-library'; 31894 * 31895 * registerCoreBlocks(); 31896 * ``` 31897 */ 31898 31899 const registerCoreBlocks = (blocks = __experimentalGetCoreBlocks()) => { 31900 blocks.forEach(registerBlock); 31901 Object(external_wp_blocks_["setDefaultBlockName"])(paragraph_name); 31902 31903 if (window.wp && window.wp.oldEditor) { 31904 Object(external_wp_blocks_["setFreeformContentHandlerName"])(freeform_name); 31905 } 31906 31907 Object(external_wp_blocks_["setUnregisteredTypeHandlerName"])(missing_name); 31908 Object(external_wp_blocks_["setGroupingBlockName"])(group_name); 31909 }; 31910 /** 31911 * Function to register experimental core blocks depending on editor settings. 31912 * 31913 * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks. 31914 * @example 31915 * ```js 31916 * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library'; 31917 * 31918 * __experimentalRegisterExperimentalCoreBlocks( settings ); 31919 * ``` 31920 */ 31921 31922 const __experimentalRegisterExperimentalCoreBlocks = false ? undefined : undefined; 31923 31924 31925 /***/ }), 31926 31927 /***/ "K9lf": 31928 /***/ (function(module, exports) { 31929 31930 (function() { module.exports = window["wp"]["compose"]; }()); 31931 31932 /***/ }), 31933 31934 /***/ "KEfo": 31935 /***/ (function(module, exports) { 31936 31937 (function() { module.exports = window["wp"]["viewport"]; }()); 31938 31939 /***/ }), 31940 31941 /***/ "Mmq9": 31942 /***/ (function(module, exports) { 31943 31944 (function() { module.exports = window["wp"]["url"]; }()); 31945 31946 /***/ }), 31947 31948 /***/ "Mp0b": 31949 /***/ (function(module, __webpack_exports__, __webpack_require__) { 31950 31951 "use strict"; 31952 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 31953 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 31954 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 31955 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 31956 31957 31958 /** 31959 * WordPress dependencies 31960 */ 31961 31962 const linkOff = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 31963 xmlns: "http://www.w3.org/2000/svg", 31964 viewBox: "0 0 24 24" 31965 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 31966 d: "M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z" 31967 })); 31968 /* harmony default export */ __webpack_exports__["a"] = (linkOff); 31969 31970 31971 /***/ }), 31972 31973 /***/ "NMb1": 31974 /***/ (function(module, exports) { 31975 31976 (function() { module.exports = window["wp"]["deprecated"]; }()); 31977 31978 /***/ }), 31979 31980 /***/ "NTP4": 31981 /***/ (function(module, __webpack_exports__, __webpack_require__) { 31982 31983 "use strict"; 31984 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 31985 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 31986 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 31987 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 31988 31989 31990 /** 31991 * WordPress dependencies 31992 */ 31993 31994 const upload = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 31995 xmlns: "http://www.w3.org/2000/svg", 31996 viewBox: "0 0 24 24" 31997 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 31998 d: "M18.5 15v3.5H13V6.7l4.5 4.1 1-1.1-6.2-5.8-5.8 5.8 1 1.1 4-4v11.7h-6V15H4v5h16v-5z" 31999 })); 32000 /* harmony default export */ __webpack_exports__["a"] = (upload); 32001 32002 32003 /***/ }), 32004 32005 /***/ "RMJe": 32006 /***/ (function(module, __webpack_exports__, __webpack_require__) { 32007 32008 "use strict"; 32009 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 32010 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 32011 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 32012 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 32013 32014 32015 /** 32016 * WordPress dependencies 32017 */ 32018 32019 const check = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 32020 xmlns: "http://www.w3.org/2000/svg", 32021 viewBox: "0 0 24 24" 32022 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 32023 d: "M18.3 5.6L9.9 16.9l-4.6-3.4-.9 1.2 5.8 4.3 9.3-12.6z" 32024 })); 32025 /* harmony default export */ __webpack_exports__["a"] = (check); 32026 32027 32028 /***/ }), 32029 32030 /***/ "RxS6": 32031 /***/ (function(module, exports) { 32032 32033 (function() { module.exports = window["wp"]["keycodes"]; }()); 32034 32035 /***/ }), 32036 32037 /***/ "TSYQ": 32038 /***/ (function(module, exports, __webpack_require__) { 32039 32040 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! 32041 Copyright (c) 2018 Jed Watson. 32042 Licensed under the MIT License (MIT), see 32043 http://jedwatson.github.io/classnames 32044 */ 32045 /* global define */ 32046 32047 (function () { 32048 'use strict'; 32049 32050 var hasOwn = {}.hasOwnProperty; 32051 32052 function classNames() { 32053 var classes = []; 32054 32055 for (var i = 0; i < arguments.length; i++) { 32056 var arg = arguments[i]; 32057 if (!arg) continue; 32058 32059 var argType = typeof arg; 32060 32061 if (argType === 'string' || argType === 'number') { 32062 classes.push(arg); 32063 } else if (Array.isArray(arg)) { 32064 if (arg.length) { 32065 var inner = classNames.apply(null, arg); 32066 if (inner) { 32067 classes.push(inner); 32068 } 32069 } 32070 } else if (argType === 'object') { 32071 if (arg.toString === Object.prototype.toString) { 32072 for (var key in arg) { 32073 if (hasOwn.call(arg, key) && arg[key]) { 32074 classes.push(key); 32075 } 32076 } 32077 } else { 32078 classes.push(arg.toString()); 32079 } 32080 } 32081 } 32082 32083 return classes.join(' '); 32084 } 32085 32086 if ( true && module.exports) { 32087 classNames.default = classNames; 32088 module.exports = classNames; 32089 } else if (true) { 32090 // register as 'classnames', consistent with npm package name 32091 !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { 32092 return classNames; 32093 }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), 32094 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 32095 } else {} 32096 }()); 32097 32098 32099 /***/ }), 32100 32101 /***/ "Tqx9": 32102 /***/ (function(module, exports) { 32103 32104 (function() { module.exports = window["wp"]["primitives"]; }()); 32105 32106 /***/ }), 32107 32108 /***/ "UuzZ": 32109 /***/ (function(module, exports) { 32110 32111 (function() { module.exports = window["wp"]["autop"]; }()); 32112 32113 /***/ }), 32114 32115 /***/ "YLtl": 32116 /***/ (function(module, exports) { 32117 32118 (function() { module.exports = window["lodash"]; }()); 32119 32120 /***/ }), 32121 32122 /***/ "Zss7": 32123 /***/ (function(module, exports, __webpack_require__) { 32124 32125 var __WEBPACK_AMD_DEFINE_RESULT__;// TinyColor v1.4.2 32126 // https://github.com/bgrins/TinyColor 32127 // Brian Grinstead, MIT License 32128 32129 (function(Math) { 32130 32131 var trimLeft = /^\s+/, 32132 trimRight = /\s+$/, 32133 tinyCounter = 0, 32134 mathRound = Math.round, 32135 mathMin = Math.min, 32136 mathMax = Math.max, 32137 mathRandom = Math.random; 32138 32139 function tinycolor (color, opts) { 32140 32141 color = (color) ? color : ''; 32142 opts = opts || { }; 32143 32144 // If input is already a tinycolor, return itself 32145 if (color instanceof tinycolor) { 32146 return color; 32147 } 32148 // If we are called as a function, call using new instead 32149 if (!(this instanceof tinycolor)) { 32150 return new tinycolor(color, opts); 32151 } 32152 32153 var rgb = inputToRGB(color); 32154 this._originalInput = color, 32155 this._r = rgb.r, 32156 this._g = rgb.g, 32157 this._b = rgb.b, 32158 this._a = rgb.a, 32159 this._roundA = mathRound(100*this._a) / 100, 32160 this._format = opts.format || rgb.format; 32161 this._gradientType = opts.gradientType; 32162 32163 // Don't let the range of [0,255] come back in [0,1]. 32164 // Potentially lose a little bit of precision here, but will fix issues where 32165 // .5 gets interpreted as half of the total, instead of half of 1 32166 // If it was supposed to be 128, this was already taken care of by `inputToRgb` 32167 if (this._r < 1) { this._r = mathRound(this._r); } 32168 if (this._g < 1) { this._g = mathRound(this._g); } 32169 if (this._b < 1) { this._b = mathRound(this._b); } 32170 32171 this._ok = rgb.ok; 32172 this._tc_id = tinyCounter++; 32173 } 32174 32175 tinycolor.prototype = { 32176 isDark: function() { 32177 return this.getBrightness() < 128; 32178 }, 32179 isLight: function() { 32180 return !this.isDark(); 32181 }, 32182 isValid: function() { 32183 return this._ok; 32184 }, 32185 getOriginalInput: function() { 32186 return this._originalInput; 32187 }, 32188 getFormat: function() { 32189 return this._format; 32190 }, 32191 getAlpha: function() { 32192 return this._a; 32193 }, 32194 getBrightness: function() { 32195 //http://www.w3.org/TR/AERT#color-contrast 32196 var rgb = this.toRgb(); 32197 return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; 32198 }, 32199 getLuminance: function() { 32200 //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef 32201 var rgb = this.toRgb(); 32202 var RsRGB, GsRGB, BsRGB, R, G, B; 32203 RsRGB = rgb.r/255; 32204 GsRGB = rgb.g/255; 32205 BsRGB = rgb.b/255; 32206 32207 if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} 32208 if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} 32209 if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} 32210 return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); 32211 }, 32212 setAlpha: function(value) { 32213 this._a = boundAlpha(value); 32214 this._roundA = mathRound(100*this._a) / 100; 32215 return this; 32216 }, 32217 toHsv: function() { 32218 var hsv = rgbToHsv(this._r, this._g, this._b); 32219 return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; 32220 }, 32221 toHsvString: function() { 32222 var hsv = rgbToHsv(this._r, this._g, this._b); 32223 var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); 32224 return (this._a == 1) ? 32225 "hsv(" + h + ", " + s + "%, " + v + "%)" : 32226 "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; 32227 }, 32228 toHsl: function() { 32229 var hsl = rgbToHsl(this._r, this._g, this._b); 32230 return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; 32231 }, 32232 toHslString: function() { 32233 var hsl = rgbToHsl(this._r, this._g, this._b); 32234 var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); 32235 return (this._a == 1) ? 32236 "hsl(" + h + ", " + s + "%, " + l + "%)" : 32237 "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; 32238 }, 32239 toHex: function(allow3Char) { 32240 return rgbToHex(this._r, this._g, this._b, allow3Char); 32241 }, 32242 toHexString: function(allow3Char) { 32243 return '#' + this.toHex(allow3Char); 32244 }, 32245 toHex8: function(allow4Char) { 32246 return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); 32247 }, 32248 toHex8String: function(allow4Char) { 32249 return '#' + this.toHex8(allow4Char); 32250 }, 32251 toRgb: function() { 32252 return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; 32253 }, 32254 toRgbString: function() { 32255 return (this._a == 1) ? 32256 "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : 32257 "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; 32258 }, 32259 toPercentageRgb: function() { 32260 return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; 32261 }, 32262 toPercentageRgbString: function() { 32263 return (this._a == 1) ? 32264 "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : 32265 "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; 32266 }, 32267 toName: function() { 32268 if (this._a === 0) { 32269 return "transparent"; 32270 } 32271 32272 if (this._a < 1) { 32273 return false; 32274 } 32275 32276 return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; 32277 }, 32278 toFilter: function(secondColor) { 32279 var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); 32280 var secondHex8String = hex8String; 32281 var gradientType = this._gradientType ? "GradientType = 1, " : ""; 32282 32283 if (secondColor) { 32284 var s = tinycolor(secondColor); 32285 secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); 32286 } 32287 32288 return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; 32289 }, 32290 toString: function(format) { 32291 var formatSet = !!format; 32292 format = format || this._format; 32293 32294 var formattedString = false; 32295 var hasAlpha = this._a < 1 && this._a >= 0; 32296 var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); 32297 32298 if (needsAlphaFormat) { 32299 // Special case for "transparent", all other non-alpha formats 32300 // will return rgba when there is transparency. 32301 if (format === "name" && this._a === 0) { 32302 return this.toName(); 32303 } 32304 return this.toRgbString(); 32305 } 32306 if (format === "rgb") { 32307 formattedString = this.toRgbString(); 32308 } 32309 if (format === "prgb") { 32310 formattedString = this.toPercentageRgbString(); 32311 } 32312 if (format === "hex" || format === "hex6") { 32313 formattedString = this.toHexString(); 32314 } 32315 if (format === "hex3") { 32316 formattedString = this.toHexString(true); 32317 } 32318 if (format === "hex4") { 32319 formattedString = this.toHex8String(true); 32320 } 32321 if (format === "hex8") { 32322 formattedString = this.toHex8String(); 32323 } 32324 if (format === "name") { 32325 formattedString = this.toName(); 32326 } 32327 if (format === "hsl") { 32328 formattedString = this.toHslString(); 32329 } 32330 if (format === "hsv") { 32331 formattedString = this.toHsvString(); 32332 } 32333 32334 return formattedString || this.toHexString(); 32335 }, 32336 clone: function() { 32337 return tinycolor(this.toString()); 32338 }, 32339 32340 _applyModification: function(fn, args) { 32341 var color = fn.apply(null, [this].concat([].slice.call(args))); 32342 this._r = color._r; 32343 this._g = color._g; 32344 this._b = color._b; 32345 this.setAlpha(color._a); 32346 return this; 32347 }, 32348 lighten: function() { 32349 return this._applyModification(lighten, arguments); 32350 }, 32351 brighten: function() { 32352 return this._applyModification(brighten, arguments); 32353 }, 32354 darken: function() { 32355 return this._applyModification(darken, arguments); 32356 }, 32357 desaturate: function() { 32358 return this._applyModification(desaturate, arguments); 32359 }, 32360 saturate: function() { 32361 return this._applyModification(saturate, arguments); 32362 }, 32363 greyscale: function() { 32364 return this._applyModification(greyscale, arguments); 32365 }, 32366 spin: function() { 32367 return this._applyModification(spin, arguments); 32368 }, 32369 32370 _applyCombination: function(fn, args) { 32371 return fn.apply(null, [this].concat([].slice.call(args))); 32372 }, 32373 analogous: function() { 32374 return this._applyCombination(analogous, arguments); 32375 }, 32376 complement: function() { 32377 return this._applyCombination(complement, arguments); 32378 }, 32379 monochromatic: function() { 32380 return this._applyCombination(monochromatic, arguments); 32381 }, 32382 splitcomplement: function() { 32383 return this._applyCombination(splitcomplement, arguments); 32384 }, 32385 triad: function() { 32386 return this._applyCombination(triad, arguments); 32387 }, 32388 tetrad: function() { 32389 return this._applyCombination(tetrad, arguments); 32390 } 32391 }; 32392 32393 // If input is an object, force 1 into "1.0" to handle ratios properly 32394 // String input requires "1.0" as input, so 1 will be treated as 1 32395 tinycolor.fromRatio = function(color, opts) { 32396 if (typeof color == "object") { 32397 var newColor = {}; 32398 for (var i in color) { 32399 if (color.hasOwnProperty(i)) { 32400 if (i === "a") { 32401 newColor[i] = color[i]; 32402 } 32403 else { 32404 newColor[i] = convertToPercentage(color[i]); 32405 } 32406 } 32407 } 32408 color = newColor; 32409 } 32410 32411 return tinycolor(color, opts); 32412 }; 32413 32414 // Given a string or object, convert that input to RGB 32415 // Possible string inputs: 32416 // 32417 // "red" 32418 // "#f00" or "f00" 32419 // "#ff0000" or "ff0000" 32420 // "#ff000000" or "ff000000" 32421 // "rgb 255 0 0" or "rgb (255, 0, 0)" 32422 // "rgb 1.0 0 0" or "rgb (1, 0, 0)" 32423 // "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" 32424 // "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" 32425 // "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" 32426 // "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" 32427 // "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" 32428 // 32429 function inputToRGB(color) { 32430 32431 var rgb = { r: 0, g: 0, b: 0 }; 32432 var a = 1; 32433 var s = null; 32434 var v = null; 32435 var l = null; 32436 var ok = false; 32437 var format = false; 32438 32439 if (typeof color == "string") { 32440 color = stringInputToObject(color); 32441 } 32442 32443 if (typeof color == "object") { 32444 if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { 32445 rgb = rgbToRgb(color.r, color.g, color.b); 32446 ok = true; 32447 format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; 32448 } 32449 else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { 32450 s = convertToPercentage(color.s); 32451 v = convertToPercentage(color.v); 32452 rgb = hsvToRgb(color.h, s, v); 32453 ok = true; 32454 format = "hsv"; 32455 } 32456 else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { 32457 s = convertToPercentage(color.s); 32458 l = convertToPercentage(color.l); 32459 rgb = hslToRgb(color.h, s, l); 32460 ok = true; 32461 format = "hsl"; 32462 } 32463 32464 if (color.hasOwnProperty("a")) { 32465 a = color.a; 32466 } 32467 } 32468 32469 a = boundAlpha(a); 32470 32471 return { 32472 ok: ok, 32473 format: color.format || format, 32474 r: mathMin(255, mathMax(rgb.r, 0)), 32475 g: mathMin(255, mathMax(rgb.g, 0)), 32476 b: mathMin(255, mathMax(rgb.b, 0)), 32477 a: a 32478 }; 32479 } 32480 32481 32482 // Conversion Functions 32483 // -------------------- 32484 32485 // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from: 32486 // <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript> 32487 32488 // `rgbToRgb` 32489 // Handle bounds / percentage checking to conform to CSS color spec 32490 // <http://www.w3.org/TR/css3-color/> 32491 // *Assumes:* r, g, b in [0, 255] or [0, 1] 32492 // *Returns:* { r, g, b } in [0, 255] 32493 function rgbToRgb(r, g, b){ 32494 return { 32495 r: bound01(r, 255) * 255, 32496 g: bound01(g, 255) * 255, 32497 b: bound01(b, 255) * 255 32498 }; 32499 } 32500 32501 // `rgbToHsl` 32502 // Converts an RGB color value to HSL. 32503 // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] 32504 // *Returns:* { h, s, l } in [0,1] 32505 function rgbToHsl(r, g, b) { 32506 32507 r = bound01(r, 255); 32508 g = bound01(g, 255); 32509 b = bound01(b, 255); 32510 32511 var max = mathMax(r, g, b), min = mathMin(r, g, b); 32512 var h, s, l = (max + min) / 2; 32513 32514 if(max == min) { 32515 h = s = 0; // achromatic 32516 } 32517 else { 32518 var d = max - min; 32519 s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 32520 switch(max) { 32521 case r: h = (g - b) / d + (g < b ? 6 : 0); break; 32522 case g: h = (b - r) / d + 2; break; 32523 case b: h = (r - g) / d + 4; break; 32524 } 32525 32526 h /= 6; 32527 } 32528 32529 return { h: h, s: s, l: l }; 32530 } 32531 32532 // `hslToRgb` 32533 // Converts an HSL color value to RGB. 32534 // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] 32535 // *Returns:* { r, g, b } in the set [0, 255] 32536 function hslToRgb(h, s, l) { 32537 var r, g, b; 32538 32539 h = bound01(h, 360); 32540 s = bound01(s, 100); 32541 l = bound01(l, 100); 32542 32543 function hue2rgb(p, q, t) { 32544 if(t < 0) t += 1; 32545 if(t > 1) t -= 1; 32546 if(t < 1/6) return p + (q - p) * 6 * t; 32547 if(t < 1/2) return q; 32548 if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; 32549 return p; 32550 } 32551 32552 if(s === 0) { 32553 r = g = b = l; // achromatic 32554 } 32555 else { 32556 var q = l < 0.5 ? l * (1 + s) : l + s - l * s; 32557 var p = 2 * l - q; 32558 r = hue2rgb(p, q, h + 1/3); 32559 g = hue2rgb(p, q, h); 32560 b = hue2rgb(p, q, h - 1/3); 32561 } 32562 32563 return { r: r * 255, g: g * 255, b: b * 255 }; 32564 } 32565 32566 // `rgbToHsv` 32567 // Converts an RGB color value to HSV 32568 // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] 32569 // *Returns:* { h, s, v } in [0,1] 32570 function rgbToHsv(r, g, b) { 32571 32572 r = bound01(r, 255); 32573 g = bound01(g, 255); 32574 b = bound01(b, 255); 32575 32576 var max = mathMax(r, g, b), min = mathMin(r, g, b); 32577 var h, s, v = max; 32578 32579 var d = max - min; 32580 s = max === 0 ? 0 : d / max; 32581 32582 if(max == min) { 32583 h = 0; // achromatic 32584 } 32585 else { 32586 switch(max) { 32587 case r: h = (g - b) / d + (g < b ? 6 : 0); break; 32588 case g: h = (b - r) / d + 2; break; 32589 case b: h = (r - g) / d + 4; break; 32590 } 32591 h /= 6; 32592 } 32593 return { h: h, s: s, v: v }; 32594 } 32595 32596 // `hsvToRgb` 32597 // Converts an HSV color value to RGB. 32598 // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] 32599 // *Returns:* { r, g, b } in the set [0, 255] 32600 function hsvToRgb(h, s, v) { 32601 32602 h = bound01(h, 360) * 6; 32603 s = bound01(s, 100); 32604 v = bound01(v, 100); 32605 32606 var i = Math.floor(h), 32607 f = h - i, 32608 p = v * (1 - s), 32609 q = v * (1 - f * s), 32610 t = v * (1 - (1 - f) * s), 32611 mod = i % 6, 32612 r = [v, q, p, p, t, v][mod], 32613 g = [t, v, v, q, p, p][mod], 32614 b = [p, p, t, v, v, q][mod]; 32615 32616 return { r: r * 255, g: g * 255, b: b * 255 }; 32617 } 32618 32619 // `rgbToHex` 32620 // Converts an RGB color to hex 32621 // Assumes r, g, and b are contained in the set [0, 255] 32622 // Returns a 3 or 6 character hex 32623 function rgbToHex(r, g, b, allow3Char) { 32624 32625 var hex = [ 32626 pad2(mathRound(r).toString(16)), 32627 pad2(mathRound(g).toString(16)), 32628 pad2(mathRound(b).toString(16)) 32629 ]; 32630 32631 // Return a 3 character hex if possible 32632 if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { 32633 return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); 32634 } 32635 32636 return hex.join(""); 32637 } 32638 32639 // `rgbaToHex` 32640 // Converts an RGBA color plus alpha transparency to hex 32641 // Assumes r, g, b are contained in the set [0, 255] and 32642 // a in [0, 1]. Returns a 4 or 8 character rgba hex 32643 function rgbaToHex(r, g, b, a, allow4Char) { 32644 32645 var hex = [ 32646 pad2(mathRound(r).toString(16)), 32647 pad2(mathRound(g).toString(16)), 32648 pad2(mathRound(b).toString(16)), 32649 pad2(convertDecimalToHex(a)) 32650 ]; 32651 32652 // Return a 4 character hex if possible 32653 if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { 32654 return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); 32655 } 32656 32657 return hex.join(""); 32658 } 32659 32660 // `rgbaToArgbHex` 32661 // Converts an RGBA color to an ARGB Hex8 string 32662 // Rarely used, but required for "toFilter()" 32663 function rgbaToArgbHex(r, g, b, a) { 32664 32665 var hex = [ 32666 pad2(convertDecimalToHex(a)), 32667 pad2(mathRound(r).toString(16)), 32668 pad2(mathRound(g).toString(16)), 32669 pad2(mathRound(b).toString(16)) 32670 ]; 32671 32672 return hex.join(""); 32673 } 32674 32675 // `equals` 32676 // Can be called with any tinycolor input 32677 tinycolor.equals = function (color1, color2) { 32678 if (!color1 || !color2) { return false; } 32679 return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); 32680 }; 32681 32682 tinycolor.random = function() { 32683 return tinycolor.fromRatio({ 32684 r: mathRandom(), 32685 g: mathRandom(), 32686 b: mathRandom() 32687 }); 32688 }; 32689 32690 32691 // Modification Functions 32692 // ---------------------- 32693 // Thanks to less.js for some of the basics here 32694 // <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js> 32695 32696 function desaturate(color, amount) { 32697 amount = (amount === 0) ? 0 : (amount || 10); 32698 var hsl = tinycolor(color).toHsl(); 32699 hsl.s -= amount / 100; 32700 hsl.s = clamp01(hsl.s); 32701 return tinycolor(hsl); 32702 } 32703 32704 function saturate(color, amount) { 32705 amount = (amount === 0) ? 0 : (amount || 10); 32706 var hsl = tinycolor(color).toHsl(); 32707 hsl.s += amount / 100; 32708 hsl.s = clamp01(hsl.s); 32709 return tinycolor(hsl); 32710 } 32711 32712 function greyscale(color) { 32713 return tinycolor(color).desaturate(100); 32714 } 32715 32716 function lighten (color, amount) { 32717 amount = (amount === 0) ? 0 : (amount || 10); 32718 var hsl = tinycolor(color).toHsl(); 32719 hsl.l += amount / 100; 32720 hsl.l = clamp01(hsl.l); 32721 return tinycolor(hsl); 32722 } 32723 32724 function brighten(color, amount) { 32725 amount = (amount === 0) ? 0 : (amount || 10); 32726 var rgb = tinycolor(color).toRgb(); 32727 rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); 32728 rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); 32729 rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); 32730 return tinycolor(rgb); 32731 } 32732 32733 function darken (color, amount) { 32734 amount = (amount === 0) ? 0 : (amount || 10); 32735 var hsl = tinycolor(color).toHsl(); 32736 hsl.l -= amount / 100; 32737 hsl.l = clamp01(hsl.l); 32738 return tinycolor(hsl); 32739 } 32740 32741 // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. 32742 // Values outside of this range will be wrapped into this range. 32743 function spin(color, amount) { 32744 var hsl = tinycolor(color).toHsl(); 32745 var hue = (hsl.h + amount) % 360; 32746 hsl.h = hue < 0 ? 360 + hue : hue; 32747 return tinycolor(hsl); 32748 } 32749 32750 // Combination Functions 32751 // --------------------- 32752 // Thanks to jQuery xColor for some of the ideas behind these 32753 // <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js> 32754 32755 function complement(color) { 32756 var hsl = tinycolor(color).toHsl(); 32757 hsl.h = (hsl.h + 180) % 360; 32758 return tinycolor(hsl); 32759 } 32760 32761 function triad(color) { 32762 var hsl = tinycolor(color).toHsl(); 32763 var h = hsl.h; 32764 return [ 32765 tinycolor(color), 32766 tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), 32767 tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) 32768 ]; 32769 } 32770 32771 function tetrad(color) { 32772 var hsl = tinycolor(color).toHsl(); 32773 var h = hsl.h; 32774 return [ 32775 tinycolor(color), 32776 tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), 32777 tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), 32778 tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) 32779 ]; 32780 } 32781 32782 function splitcomplement(color) { 32783 var hsl = tinycolor(color).toHsl(); 32784 var h = hsl.h; 32785 return [ 32786 tinycolor(color), 32787 tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), 32788 tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) 32789 ]; 32790 } 32791 32792 function analogous(color, results, slices) { 32793 results = results || 6; 32794 slices = slices || 30; 32795 32796 var hsl = tinycolor(color).toHsl(); 32797 var part = 360 / slices; 32798 var ret = [tinycolor(color)]; 32799 32800 for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { 32801 hsl.h = (hsl.h + part) % 360; 32802 ret.push(tinycolor(hsl)); 32803 } 32804 return ret; 32805 } 32806 32807 function monochromatic(color, results) { 32808 results = results || 6; 32809 var hsv = tinycolor(color).toHsv(); 32810 var h = hsv.h, s = hsv.s, v = hsv.v; 32811 var ret = []; 32812 var modification = 1 / results; 32813 32814 while (results--) { 32815 ret.push(tinycolor({ h: h, s: s, v: v})); 32816 v = (v + modification) % 1; 32817 } 32818 32819 return ret; 32820 } 32821 32822 // Utility Functions 32823 // --------------------- 32824 32825 tinycolor.mix = function(color1, color2, amount) { 32826 amount = (amount === 0) ? 0 : (amount || 50); 32827 32828 var rgb1 = tinycolor(color1).toRgb(); 32829 var rgb2 = tinycolor(color2).toRgb(); 32830 32831 var p = amount / 100; 32832 32833 var rgba = { 32834 r: ((rgb2.r - rgb1.r) * p) + rgb1.r, 32835 g: ((rgb2.g - rgb1.g) * p) + rgb1.g, 32836 b: ((rgb2.b - rgb1.b) * p) + rgb1.b, 32837 a: ((rgb2.a - rgb1.a) * p) + rgb1.a 32838 }; 32839 32840 return tinycolor(rgba); 32841 }; 32842 32843 32844 // Readability Functions 32845 // --------------------- 32846 // <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2) 32847 32848 // `contrast` 32849 // Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2) 32850 tinycolor.readability = function(color1, color2) { 32851 var c1 = tinycolor(color1); 32852 var c2 = tinycolor(color2); 32853 return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05); 32854 }; 32855 32856 // `isReadable` 32857 // Ensure that foreground and background color combinations meet WCAG2 guidelines. 32858 // The third argument is an optional Object. 32859 // the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA'; 32860 // the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'. 32861 // If the entire object is absent, isReadable defaults to {level:"AA",size:"small"}. 32862 32863 // *Example* 32864 // tinycolor.isReadable("#000", "#111") => false 32865 // tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false 32866 tinycolor.isReadable = function(color1, color2, wcag2) { 32867 var readability = tinycolor.readability(color1, color2); 32868 var wcag2Parms, out; 32869 32870 out = false; 32871 32872 wcag2Parms = validateWCAG2Parms(wcag2); 32873 switch (wcag2Parms.level + wcag2Parms.size) { 32874 case "AAsmall": 32875 case "AAAlarge": 32876 out = readability >= 4.5; 32877 break; 32878 case "AAlarge": 32879 out = readability >= 3; 32880 break; 32881 case "AAAsmall": 32882 out = readability >= 7; 32883 break; 32884 } 32885 return out; 32886 32887 }; 32888 32889 // `mostReadable` 32890 // Given a base color and a list of possible foreground or background 32891 // colors for that base, returns the most readable color. 32892 // Optionally returns Black or White if the most readable color is unreadable. 32893 // *Example* 32894 // tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" 32895 // tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" 32896 // tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" 32897 // tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" 32898 tinycolor.mostReadable = function(baseColor, colorList, args) { 32899 var bestColor = null; 32900 var bestScore = 0; 32901 var readability; 32902 var includeFallbackColors, level, size ; 32903 args = args || {}; 32904 includeFallbackColors = args.includeFallbackColors ; 32905 level = args.level; 32906 size = args.size; 32907 32908 for (var i= 0; i < colorList.length ; i++) { 32909 readability = tinycolor.readability(baseColor, colorList[i]); 32910 if (readability > bestScore) { 32911 bestScore = readability; 32912 bestColor = tinycolor(colorList[i]); 32913 } 32914 } 32915 32916 if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { 32917 return bestColor; 32918 } 32919 else { 32920 args.includeFallbackColors=false; 32921 return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); 32922 } 32923 }; 32924 32925 32926 // Big List of Colors 32927 // ------------------ 32928 // <http://www.w3.org/TR/css3-color/#svg-color> 32929 var names = tinycolor.names = { 32930 aliceblue: "f0f8ff", 32931 antiquewhite: "faebd7", 32932 aqua: "0ff", 32933 aquamarine: "7fffd4", 32934 azure: "f0ffff", 32935 beige: "f5f5dc", 32936 bisque: "ffe4c4", 32937 black: "000", 32938 blanchedalmond: "ffebcd", 32939 blue: "00f", 32940 blueviolet: "8a2be2", 32941 brown: "a52a2a", 32942 burlywood: "deb887", 32943 burntsienna: "ea7e5d", 32944 cadetblue: "5f9ea0", 32945 chartreuse: "7fff00", 32946 chocolate: "d2691e", 32947 coral: "ff7f50", 32948 cornflowerblue: "6495ed", 32949 cornsilk: "fff8dc", 32950 crimson: "dc143c", 32951 cyan: "0ff", 32952 darkblue: "00008b", 32953 darkcyan: "008b8b", 32954 darkgoldenrod: "b8860b", 32955 darkgray: "a9a9a9", 32956 darkgreen: "006400", 32957 darkgrey: "a9a9a9", 32958 darkkhaki: "bdb76b", 32959 darkmagenta: "8b008b", 32960 darkolivegreen: "556b2f", 32961 darkorange: "ff8c00", 32962 darkorchid: "9932cc", 32963 darkred: "8b0000", 32964 darksalmon: "e9967a", 32965 darkseagreen: "8fbc8f", 32966 darkslateblue: "483d8b", 32967 darkslategray: "2f4f4f", 32968 darkslategrey: "2f4f4f", 32969 darkturquoise: "00ced1", 32970 darkviolet: "9400d3", 32971 deeppink: "ff1493", 32972 deepskyblue: "00bfff", 32973 dimgray: "696969", 32974 dimgrey: "696969", 32975 dodgerblue: "1e90ff", 32976 firebrick: "b22222", 32977 floralwhite: "fffaf0", 32978 forestgreen: "228b22", 32979 fuchsia: "f0f", 32980 gainsboro: "dcdcdc", 32981 ghostwhite: "f8f8ff", 32982 gold: "ffd700", 32983 goldenrod: "daa520", 32984 gray: "808080", 32985 green: "008000", 32986 greenyellow: "adff2f", 32987 grey: "808080", 32988 honeydew: "f0fff0", 32989 hotpink: "ff69b4", 32990 indianred: "cd5c5c", 32991 indigo: "4b0082", 32992 ivory: "fffff0", 32993 khaki: "f0e68c", 32994 lavender: "e6e6fa", 32995 lavenderblush: "fff0f5", 32996 lawngreen: "7cfc00", 32997 lemonchiffon: "fffacd", 32998 lightblue: "add8e6", 32999 lightcoral: "f08080", 33000 lightcyan: "e0ffff", 33001 lightgoldenrodyellow: "fafad2", 33002 lightgray: "d3d3d3", 33003 lightgreen: "90ee90", 33004 lightgrey: "d3d3d3", 33005 lightpink: "ffb6c1", 33006 lightsalmon: "ffa07a", 33007 lightseagreen: "20b2aa", 33008 lightskyblue: "87cefa", 33009 lightslategray: "789", 33010 lightslategrey: "789", 33011 lightsteelblue: "b0c4de", 33012 lightyellow: "ffffe0", 33013 lime: "0f0", 33014 limegreen: "32cd32", 33015 linen: "faf0e6", 33016 magenta: "f0f", 33017 maroon: "800000", 33018 mediumaquamarine: "66cdaa", 33019 mediumblue: "0000cd", 33020 mediumorchid: "ba55d3", 33021 mediumpurple: "9370db", 33022 mediumseagreen: "3cb371", 33023 mediumslateblue: "7b68ee", 33024 mediumspringgreen: "00fa9a", 33025 mediumturquoise: "48d1cc", 33026 mediumvioletred: "c71585", 33027 midnightblue: "191970", 33028 mintcream: "f5fffa", 33029 mistyrose: "ffe4e1", 33030 moccasin: "ffe4b5", 33031 navajowhite: "ffdead", 33032 navy: "000080", 33033 oldlace: "fdf5e6", 33034 olive: "808000", 33035 olivedrab: "6b8e23", 33036 orange: "ffa500", 33037 orangered: "ff4500", 33038 orchid: "da70d6", 33039 palegoldenrod: "eee8aa", 33040 palegreen: "98fb98", 33041 paleturquoise: "afeeee", 33042 palevioletred: "db7093", 33043 papayawhip: "ffefd5", 33044 peachpuff: "ffdab9", 33045 peru: "cd853f", 33046 pink: "ffc0cb", 33047 plum: "dda0dd", 33048 powderblue: "b0e0e6", 33049 purple: "800080", 33050 rebeccapurple: "663399", 33051 red: "f00", 33052 rosybrown: "bc8f8f", 33053 royalblue: "4169e1", 33054 saddlebrown: "8b4513", 33055 salmon: "fa8072", 33056 sandybrown: "f4a460", 33057 seagreen: "2e8b57", 33058 seashell: "fff5ee", 33059 sienna: "a0522d", 33060 silver: "c0c0c0", 33061 skyblue: "87ceeb", 33062 slateblue: "6a5acd", 33063 slategray: "708090", 33064 slategrey: "708090", 33065 snow: "fffafa", 33066 springgreen: "00ff7f", 33067 steelblue: "4682b4", 33068 tan: "d2b48c", 33069 teal: "008080", 33070 thistle: "d8bfd8", 33071 tomato: "ff6347", 33072 turquoise: "40e0d0", 33073 violet: "ee82ee", 33074 wheat: "f5deb3", 33075 white: "fff", 33076 whitesmoke: "f5f5f5", 33077 yellow: "ff0", 33078 yellowgreen: "9acd32" 33079 }; 33080 33081 // Make it easy to access colors via `hexNames[hex]` 33082 var hexNames = tinycolor.hexNames = flip(names); 33083 33084 33085 // Utilities 33086 // --------- 33087 33088 // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }` 33089 function flip(o) { 33090 var flipped = { }; 33091 for (var i in o) { 33092 if (o.hasOwnProperty(i)) { 33093 flipped[o[i]] = i; 33094 } 33095 } 33096 return flipped; 33097 } 33098 33099 // Return a valid alpha value [0,1] with all invalid values being set to 1 33100 function boundAlpha(a) { 33101 a = parseFloat(a); 33102 33103 if (isNaN(a) || a < 0 || a > 1) { 33104 a = 1; 33105 } 33106 33107 return a; 33108 } 33109 33110 // Take input from [0, n] and return it as [0, 1] 33111 function bound01(n, max) { 33112 if (isOnePointZero(n)) { n = "100%"; } 33113 33114 var processPercent = isPercentage(n); 33115 n = mathMin(max, mathMax(0, parseFloat(n))); 33116 33117 // Automatically convert percentage into number 33118 if (processPercent) { 33119 n = parseInt(n * max, 10) / 100; 33120 } 33121 33122 // Handle floating point rounding errors 33123 if ((Math.abs(n - max) < 0.000001)) { 33124 return 1; 33125 } 33126 33127 // Convert into [0, 1] range if it isn't already 33128 return (n % max) / parseFloat(max); 33129 } 33130 33131 // Force a number between 0 and 1 33132 function clamp01(val) { 33133 return mathMin(1, mathMax(0, val)); 33134 } 33135 33136 // Parse a base-16 hex value into a base-10 integer 33137 function parseIntFromHex(val) { 33138 return parseInt(val, 16); 33139 } 33140 33141 // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 33142 // <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0> 33143 function isOnePointZero(n) { 33144 return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; 33145 } 33146 33147 // Check to see if string passed in is a percentage 33148 function isPercentage(n) { 33149 return typeof n === "string" && n.indexOf('%') != -1; 33150 } 33151 33152 // Force a hex value to have 2 characters 33153 function pad2(c) { 33154 return c.length == 1 ? '0' + c : '' + c; 33155 } 33156 33157 // Replace a decimal with it's percentage value 33158 function convertToPercentage(n) { 33159 if (n <= 1) { 33160 n = (n * 100) + "%"; 33161 } 33162 33163 return n; 33164 } 33165 33166 // Converts a decimal to a hex value 33167 function convertDecimalToHex(d) { 33168 return Math.round(parseFloat(d) * 255).toString(16); 33169 } 33170 // Converts a hex value to a decimal 33171 function convertHexToDecimal(h) { 33172 return (parseIntFromHex(h) / 255); 33173 } 33174 33175 var matchers = (function() { 33176 33177 // <http://www.w3.org/TR/css3-values/#integers> 33178 var CSS_INTEGER = "[-\\+]?\\d+%?"; 33179 33180 // <http://www.w3.org/TR/css3-values/#number-value> 33181 var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; 33182 33183 // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. 33184 var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; 33185 33186 // Actual matching. 33187 // Parentheses and commas are optional, but not required. 33188 // Whitespace can take the place of commas or opening paren 33189 var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; 33190 var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; 33191 33192 return { 33193 CSS_UNIT: new RegExp(CSS_UNIT), 33194 rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), 33195 rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), 33196 hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), 33197 hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), 33198 hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), 33199 hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), 33200 hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, 33201 hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, 33202 hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, 33203 hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ 33204 }; 33205 })(); 33206 33207 // `isValidCSSUnit` 33208 // Take in a single string / number and check to see if it looks like a CSS unit 33209 // (see `matchers` above for definition). 33210 function isValidCSSUnit(color) { 33211 return !!matchers.CSS_UNIT.exec(color); 33212 } 33213 33214 // `stringInputToObject` 33215 // Permissive string parsing. Take in a number of formats, and output an object 33216 // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}` 33217 function stringInputToObject(color) { 33218 33219 color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase(); 33220 var named = false; 33221 if (names[color]) { 33222 color = names[color]; 33223 named = true; 33224 } 33225 else if (color == 'transparent') { 33226 return { r: 0, g: 0, b: 0, a: 0, format: "name" }; 33227 } 33228 33229 // Try to match string input using regular expressions. 33230 // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] 33231 // Just return an object and let the conversion functions handle that. 33232 // This way the result will be the same whether the tinycolor is initialized with string or object. 33233 var match; 33234 if ((match = matchers.rgb.exec(color))) { 33235 return { r: match[1], g: match[2], b: match[3] }; 33236 } 33237 if ((match = matchers.rgba.exec(color))) { 33238 return { r: match[1], g: match[2], b: match[3], a: match[4] }; 33239 } 33240 if ((match = matchers.hsl.exec(color))) { 33241 return { h: match[1], s: match[2], l: match[3] }; 33242 } 33243 if ((match = matchers.hsla.exec(color))) { 33244 return { h: match[1], s: match[2], l: match[3], a: match[4] }; 33245 } 33246 if ((match = matchers.hsv.exec(color))) { 33247 return { h: match[1], s: match[2], v: match[3] }; 33248 } 33249 if ((match = matchers.hsva.exec(color))) { 33250 return { h: match[1], s: match[2], v: match[3], a: match[4] }; 33251 } 33252 if ((match = matchers.hex8.exec(color))) { 33253 return { 33254 r: parseIntFromHex(match[1]), 33255 g: parseIntFromHex(match[2]), 33256 b: parseIntFromHex(match[3]), 33257 a: convertHexToDecimal(match[4]), 33258 format: named ? "name" : "hex8" 33259 }; 33260 } 33261 if ((match = matchers.hex6.exec(color))) { 33262 return { 33263 r: parseIntFromHex(match[1]), 33264 g: parseIntFromHex(match[2]), 33265 b: parseIntFromHex(match[3]), 33266 format: named ? "name" : "hex" 33267 }; 33268 } 33269 if ((match = matchers.hex4.exec(color))) { 33270 return { 33271 r: parseIntFromHex(match[1] + '' + match[1]), 33272 g: parseIntFromHex(match[2] + '' + match[2]), 33273 b: parseIntFromHex(match[3] + '' + match[3]), 33274 a: convertHexToDecimal(match[4] + '' + match[4]), 33275 format: named ? "name" : "hex8" 33276 }; 33277 } 33278 if ((match = matchers.hex3.exec(color))) { 33279 return { 33280 r: parseIntFromHex(match[1] + '' + match[1]), 33281 g: parseIntFromHex(match[2] + '' + match[2]), 33282 b: parseIntFromHex(match[3] + '' + match[3]), 33283 format: named ? "name" : "hex" 33284 }; 33285 } 33286 33287 return false; 33288 } 33289 33290 function validateWCAG2Parms(parms) { 33291 // return valid WCAG2 parms for isReadable. 33292 // If input parms are invalid, return {"level":"AA", "size":"small"} 33293 var level, size; 33294 parms = parms || {"level":"AA", "size":"small"}; 33295 level = (parms.level || "AA").toUpperCase(); 33296 size = (parms.size || "small").toLowerCase(); 33297 if (level !== "AA" && level !== "AAA") { 33298 level = "AA"; 33299 } 33300 if (size !== "small" && size !== "large") { 33301 size = "small"; 33302 } 33303 return {"level":level, "size":size}; 33304 } 33305 33306 // Node: Export function 33307 if ( true && module.exports) { 33308 module.exports = tinycolor; 33309 } 33310 // AMD/requirejs: Define the module 33311 else if (true) { 33312 !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {return tinycolor;}).call(exports, __webpack_require__, exports, module), 33313 __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); 33314 } 33315 // Browser: Expose to window 33316 else {} 33317 33318 })(Math); 33319 33320 33321 /***/ }), 33322 33323 /***/ "axFQ": 33324 /***/ (function(module, exports) { 33325 33326 (function() { module.exports = window["wp"]["blockEditor"]; }()); 33327 33328 /***/ }), 33329 33330 /***/ "b2RC": 33331 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33332 33333 "use strict"; 33334 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33335 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33336 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33337 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33338 33339 33340 /** 33341 * WordPress dependencies 33342 */ 33343 33344 const grid = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33345 xmlns: "http://www.w3.org/2000/svg", 33346 viewBox: "0 0 24 24" 33347 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33348 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-7.8 16.5H5c-.3 0-.5-.2-.5-.5v-6.2h6.8v6.7zm0-8.3H4.5V5c0-.3.2-.5.5-.5h6.2v6.7zm8.3 7.8c0 .3-.2.5-.5.5h-6.2v-6.8h6.8V19zm0-7.8h-6.8V4.5H19c.3 0 .5.2.5.5v6.2z", 33349 fillRule: "evenodd", 33350 clipRule: "evenodd" 33351 })); 33352 /* harmony default export */ __webpack_exports__["a"] = (grid); 33353 33354 33355 /***/ }), 33356 33357 /***/ "bWcr": 33358 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33359 33360 "use strict"; 33361 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33362 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33363 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33364 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33365 33366 33367 /** 33368 * WordPress dependencies 33369 */ 33370 33371 const closeSmall = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33372 xmlns: "http://www.w3.org/2000/svg", 33373 viewBox: "0 0 24 24" 33374 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33375 d: "M12 13.06l3.712 3.713 1.061-1.06L13.061 12l3.712-3.712-1.06-1.06L12 10.938 8.288 7.227l-1.061 1.06L10.939 12l-3.712 3.712 1.06 1.061L12 13.061z" 33376 })); 33377 /* harmony default export */ __webpack_exports__["a"] = (closeSmall); 33378 33379 33380 /***/ }), 33381 33382 /***/ "btIw": 33383 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33384 33385 "use strict"; 33386 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33387 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33388 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33389 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33390 33391 33392 /** 33393 * WordPress dependencies 33394 */ 33395 33396 const keyboardReturn = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33397 xmlns: "http://www.w3.org/2000/svg", 33398 viewBox: "-2 -2 24 24" 33399 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33400 d: "M6.734 16.106l2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.157 1.093-1.027-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734z" 33401 })); 33402 /* harmony default export */ __webpack_exports__["a"] = (keyboardReturn); 33403 33404 33405 /***/ }), 33406 33407 /***/ "cDcd": 33408 /***/ (function(module, exports) { 33409 33410 (function() { module.exports = window["React"]; }()); 33411 33412 /***/ }), 33413 33414 /***/ "cGtP": 33415 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33416 33417 "use strict"; 33418 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33419 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33420 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33421 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33422 33423 33424 /** 33425 * WordPress dependencies 33426 */ 33427 33428 const search = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33429 xmlns: "http://www.w3.org/2000/svg", 33430 viewBox: "0 0 24 24" 33431 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33432 d: "M13.5 6C10.5 6 8 8.5 8 11.5c0 1.1.3 2.1.9 3l-3.4 3 1 1.1 3.4-2.9c1 .9 2.2 1.4 3.6 1.4 3 0 5.5-2.5 5.5-5.5C19 8.5 16.5 6 13.5 6zm0 9.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" 33433 })); 33434 /* harmony default export */ __webpack_exports__["a"] = (search); 33435 33436 33437 /***/ }), 33438 33439 /***/ "diJD": 33440 /***/ (function(module, exports) { 33441 33442 (function() { module.exports = window["wp"]["reusableBlocks"]; }()); 33443 33444 /***/ }), 33445 33446 /***/ "ez49": 33447 /***/ (function(module, exports, __webpack_require__) { 33448 33449 "use strict"; 33450 /** 33451 * Copyright 2013-2015, Facebook, Inc. 33452 * All rights reserved. 33453 * 33454 * This source code is licensed under the BSD-style license found in the 33455 * LICENSE file in the root directory of this source tree. An additional grant 33456 * of patent rights can be found in the PATENTS file in the same directory. 33457 * 33458 * @providesModule isEventSupported 33459 */ 33460 33461 33462 33463 var ExecutionEnvironment = __webpack_require__("o97j"); 33464 33465 var useHasFeature; 33466 if (ExecutionEnvironment.canUseDOM) { 33467 useHasFeature = 33468 document.implementation && 33469 document.implementation.hasFeature && 33470 // always returns true in newer browsers as per the standard. 33471 // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature 33472 document.implementation.hasFeature('', '') !== true; 33473 } 33474 33475 /** 33476 * Checks if an event is supported in the current execution environment. 33477 * 33478 * NOTE: This will not work correctly for non-generic events such as `change`, 33479 * `reset`, `load`, `error`, and `select`. 33480 * 33481 * Borrows from Modernizr. 33482 * 33483 * @param {string} eventNameSuffix Event name, e.g. "click". 33484 * @param {?boolean} capture Check if the capture phase is supported. 33485 * @return {boolean} True if the event is supported. 33486 * @internal 33487 * @license Modernizr 3.0.0pre (Custom Build) | MIT 33488 */ 33489 function isEventSupported(eventNameSuffix, capture) { 33490 if (!ExecutionEnvironment.canUseDOM || 33491 capture && !('addEventListener' in document)) { 33492 return false; 33493 } 33494 33495 var eventName = 'on' + eventNameSuffix; 33496 var isSupported = eventName in document; 33497 33498 if (!isSupported) { 33499 var element = document.createElement('div'); 33500 element.setAttribute(eventName, 'return;'); 33501 isSupported = typeof element[eventName] === 'function'; 33502 } 33503 33504 if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { 33505 // This is the only way to test support for the `wheel` event in IE9+. 33506 isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); 33507 } 33508 33509 return isSupported; 33510 } 33511 33512 module.exports = isEventSupported; 33513 33514 33515 /***/ }), 33516 33517 /***/ "fPbg": 33518 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33519 33520 "use strict"; 33521 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33522 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33523 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33524 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33525 33526 33527 /** 33528 * WordPress dependencies 33529 */ 33530 33531 const alignLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33532 xmlns: "http://www.w3.org/2000/svg", 33533 viewBox: "0 0 24 24" 33534 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33535 d: "M4 19.8h8.9v-1.5H4v1.5zm8.9-15.6H4v1.5h8.9V4.2zm-8.9 7v1.5h16v-1.5H4z" 33536 })); 33537 /* harmony default export */ __webpack_exports__["a"] = (alignLeft); 33538 33539 33540 /***/ }), 33541 33542 /***/ "g56x": 33543 /***/ (function(module, exports) { 33544 33545 (function() { module.exports = window["wp"]["hooks"]; }()); 33546 33547 /***/ }), 33548 33549 /***/ "iClF": 33550 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33551 33552 "use strict"; 33553 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33554 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33555 /** 33556 * WordPress dependencies 33557 */ 33558 33559 /** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */ 33560 33561 /** 33562 * Return an SVG icon. 33563 * 33564 * @param {IconProps} props icon is the SVG component to render 33565 * size is a number specifiying the icon size in pixels 33566 * Other props will be passed to wrapped SVG component 33567 * 33568 * @return {JSX.Element} Icon component 33569 */ 33570 33571 function Icon({ 33572 icon, 33573 size = 24, 33574 ...props 33575 }) { 33576 return Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["cloneElement"])(icon, { 33577 width: size, 33578 height: size, 33579 ...props 33580 }); 33581 } 33582 33583 /* harmony default export */ __webpack_exports__["a"] = (Icon); 33584 33585 33586 /***/ }), 33587 33588 /***/ "jZUy": 33589 /***/ (function(module, exports) { 33590 33591 (function() { module.exports = window["wp"]["coreData"]; }()); 33592 33593 /***/ }), 33594 33595 /***/ "jrfk": 33596 /***/ (function(module, exports) { 33597 33598 /** 33599 * Copyright 2004-present Facebook. All Rights Reserved. 33600 * 33601 * @providesModule UserAgent_DEPRECATED 33602 */ 33603 33604 /** 33605 * Provides entirely client-side User Agent and OS detection. You should prefer 33606 * the non-deprecated UserAgent module when possible, which exposes our 33607 * authoritative server-side PHP-based detection to the client. 33608 * 33609 * Usage is straightforward: 33610 * 33611 * if (UserAgent_DEPRECATED.ie()) { 33612 * // IE 33613 * } 33614 * 33615 * You can also do version checks: 33616 * 33617 * if (UserAgent_DEPRECATED.ie() >= 7) { 33618 * // IE7 or better 33619 * } 33620 * 33621 * The browser functions will return NaN if the browser does not match, so 33622 * you can also do version compares the other way: 33623 * 33624 * if (UserAgent_DEPRECATED.ie() < 7) { 33625 * // IE6 or worse 33626 * } 33627 * 33628 * Note that the version is a float and may include a minor version number, 33629 * so you should always use range operators to perform comparisons, not 33630 * strict equality. 33631 * 33632 * **Note:** You should **strongly** prefer capability detection to browser 33633 * version detection where it's reasonable: 33634 * 33635 * http://www.quirksmode.org/js/support.html 33636 * 33637 * Further, we have a large number of mature wrapper functions and classes 33638 * which abstract away many browser irregularities. Check the documentation, 33639 * grep for things, or ask on javascript@lists.facebook.com before writing yet 33640 * another copy of "event || window.event". 33641 * 33642 */ 33643 33644 var _populated = false; 33645 33646 // Browsers 33647 var _ie, _firefox, _opera, _webkit, _chrome; 33648 33649 // Actual IE browser for compatibility mode 33650 var _ie_real_version; 33651 33652 // Platforms 33653 var _osx, _windows, _linux, _android; 33654 33655 // Architectures 33656 var _win64; 33657 33658 // Devices 33659 var _iphone, _ipad, _native; 33660 33661 var _mobile; 33662 33663 function _populate() { 33664 if (_populated) { 33665 return; 33666 } 33667 33668 _populated = true; 33669 33670 // To work around buggy JS libraries that can't handle multi-digit 33671 // version numbers, Opera 10's user agent string claims it's Opera 33672 // 9, then later includes a Version/X.Y field: 33673 // 33674 // Opera/9.80 (foo) Presto/2.2.15 Version/10.10 33675 var uas = navigator.userAgent; 33676 var agent = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(uas); 33677 var os = /(Mac OS X)|(Windows)|(Linux)/.exec(uas); 33678 33679 _iphone = /\b(iPhone|iP[ao]d)/.exec(uas); 33680 _ipad = /\b(iP[ao]d)/.exec(uas); 33681 _android = /Android/i.exec(uas); 33682 _native = /FBAN\/\w+;/i.exec(uas); 33683 _mobile = /Mobile/i.exec(uas); 33684 33685 // Note that the IE team blog would have you believe you should be checking 33686 // for 'Win64; x64'. But MSDN then reveals that you can actually be coming 33687 // from either x64 or ia64; so ultimately, you should just check for Win64 33688 // as in indicator of whether you're in 64-bit IE. 32-bit IE on 64-bit 33689 // Windows will send 'WOW64' instead. 33690 _win64 = !!(/Win64/.exec(uas)); 33691 33692 if (agent) { 33693 _ie = agent[1] ? parseFloat(agent[1]) : ( 33694 agent[5] ? parseFloat(agent[5]) : NaN); 33695 // IE compatibility mode 33696 if (_ie && document && document.documentMode) { 33697 _ie = document.documentMode; 33698 } 33699 // grab the "true" ie version from the trident token if available 33700 var trident = /(?:Trident\/(\d+.\d+))/.exec(uas); 33701 _ie_real_version = trident ? parseFloat(trident[1]) + 4 : _ie; 33702 33703 _firefox = agent[2] ? parseFloat(agent[2]) : NaN; 33704 _opera = agent[3] ? parseFloat(agent[3]) : NaN; 33705 _webkit = agent[4] ? parseFloat(agent[4]) : NaN; 33706 if (_webkit) { 33707 // We do not add the regexp to the above test, because it will always 33708 // match 'safari' only since 'AppleWebKit' appears before 'Chrome' in 33709 // the userAgent string. 33710 agent = /(?:Chrome\/(\d+\.\d+))/.exec(uas); 33711 _chrome = agent && agent[1] ? parseFloat(agent[1]) : NaN; 33712 } else { 33713 _chrome = NaN; 33714 } 33715 } else { 33716 _ie = _firefox = _opera = _chrome = _webkit = NaN; 33717 } 33718 33719 if (os) { 33720 if (os[1]) { 33721 // Detect OS X version. If no version number matches, set _osx to true. 33722 // Version examples: 10, 10_6_1, 10.7 33723 // Parses version number as a float, taking only first two sets of 33724 // digits. If only one set of digits is found, returns just the major 33725 // version number. 33726 var ver = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(uas); 33727 33728 _osx = ver ? parseFloat(ver[1].replace('_', '.')) : true; 33729 } else { 33730 _osx = false; 33731 } 33732 _windows = !!os[2]; 33733 _linux = !!os[3]; 33734 } else { 33735 _osx = _windows = _linux = false; 33736 } 33737 } 33738 33739 var UserAgent_DEPRECATED = { 33740 33741 /** 33742 * Check if the UA is Internet Explorer. 33743 * 33744 * 33745 * @return float|NaN Version number (if match) or NaN. 33746 */ 33747 ie: function() { 33748 return _populate() || _ie; 33749 }, 33750 33751 /** 33752 * Check if we're in Internet Explorer compatibility mode. 33753 * 33754 * @return bool true if in compatibility mode, false if 33755 * not compatibility mode or not ie 33756 */ 33757 ieCompatibilityMode: function() { 33758 return _populate() || (_ie_real_version > _ie); 33759 }, 33760 33761 33762 /** 33763 * Whether the browser is 64-bit IE. Really, this is kind of weak sauce; we 33764 * only need this because Skype can't handle 64-bit IE yet. We need to remove 33765 * this when we don't need it -- tracked by #601957. 33766 */ 33767 ie64: function() { 33768 return UserAgent_DEPRECATED.ie() && _win64; 33769 }, 33770 33771 /** 33772 * Check if the UA is Firefox. 33773 * 33774 * 33775 * @return float|NaN Version number (if match) or NaN. 33776 */ 33777 firefox: function() { 33778 return _populate() || _firefox; 33779 }, 33780 33781 33782 /** 33783 * Check if the UA is Opera. 33784 * 33785 * 33786 * @return float|NaN Version number (if match) or NaN. 33787 */ 33788 opera: function() { 33789 return _populate() || _opera; 33790 }, 33791 33792 33793 /** 33794 * Check if the UA is WebKit. 33795 * 33796 * 33797 * @return float|NaN Version number (if match) or NaN. 33798 */ 33799 webkit: function() { 33800 return _populate() || _webkit; 33801 }, 33802 33803 /** 33804 * For Push 33805 * WILL BE REMOVED VERY SOON. Use UserAgent_DEPRECATED.webkit 33806 */ 33807 safari: function() { 33808 return UserAgent_DEPRECATED.webkit(); 33809 }, 33810 33811 /** 33812 * Check if the UA is a Chrome browser. 33813 * 33814 * 33815 * @return float|NaN Version number (if match) or NaN. 33816 */ 33817 chrome : function() { 33818 return _populate() || _chrome; 33819 }, 33820 33821 33822 /** 33823 * Check if the user is running Windows. 33824 * 33825 * @return bool `true' if the user's OS is Windows. 33826 */ 33827 windows: function() { 33828 return _populate() || _windows; 33829 }, 33830 33831 33832 /** 33833 * Check if the user is running Mac OS X. 33834 * 33835 * @return float|bool Returns a float if a version number is detected, 33836 * otherwise true/false. 33837 */ 33838 osx: function() { 33839 return _populate() || _osx; 33840 }, 33841 33842 /** 33843 * Check if the user is running Linux. 33844 * 33845 * @return bool `true' if the user's OS is some flavor of Linux. 33846 */ 33847 linux: function() { 33848 return _populate() || _linux; 33849 }, 33850 33851 /** 33852 * Check if the user is running on an iPhone or iPod platform. 33853 * 33854 * @return bool `true' if the user is running some flavor of the 33855 * iPhone OS. 33856 */ 33857 iphone: function() { 33858 return _populate() || _iphone; 33859 }, 33860 33861 mobile: function() { 33862 return _populate() || (_iphone || _ipad || _android || _mobile); 33863 }, 33864 33865 nativeApp: function() { 33866 // webviews inside of the native apps 33867 return _populate() || _native; 33868 }, 33869 33870 android: function() { 33871 return _populate() || _android; 33872 }, 33873 33874 ipad: function() { 33875 return _populate() || _ipad; 33876 } 33877 }; 33878 33879 module.exports = UserAgent_DEPRECATED; 33880 33881 33882 /***/ }), 33883 33884 /***/ "l3Sj": 33885 /***/ (function(module, exports) { 33886 33887 (function() { module.exports = window["wp"]["i18n"]; }()); 33888 33889 /***/ }), 33890 33891 /***/ "o97j": 33892 /***/ (function(module, exports, __webpack_require__) { 33893 33894 "use strict"; 33895 /** 33896 * Copyright (c) 2015, Facebook, Inc. 33897 * All rights reserved. 33898 * 33899 * This source code is licensed under the BSD-style license found in the 33900 * LICENSE file in the root directory of this source tree. An additional grant 33901 * of patent rights can be found in the PATENTS file in the same directory. 33902 * 33903 * @providesModule ExecutionEnvironment 33904 */ 33905 33906 /*jslint evil: true */ 33907 33908 33909 33910 var canUseDOM = !!( 33911 typeof window !== 'undefined' && 33912 window.document && 33913 window.document.createElement 33914 ); 33915 33916 /** 33917 * Simple, lightweight module assisting with the detection and context of 33918 * Worker. Helps avoid circular dependencies and allows code to reason about 33919 * whether or not they are in a Worker, even if they never include the main 33920 * `ReactWorker` dependency. 33921 */ 33922 var ExecutionEnvironment = { 33923 33924 canUseDOM: canUseDOM, 33925 33926 canUseWorkers: typeof Worker !== 'undefined', 33927 33928 canUseEventListeners: 33929 canUseDOM && !!(window.addEventListener || window.attachEvent), 33930 33931 canUseViewport: canUseDOM && !!window.screen, 33932 33933 isInWorker: !canUseDOM // For now, this is true - might change in the future. 33934 33935 }; 33936 33937 module.exports = ExecutionEnvironment; 33938 33939 33940 /***/ }), 33941 33942 /***/ "oMoS": 33943 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33944 33945 "use strict"; 33946 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33947 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33948 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33949 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33950 33951 33952 /** 33953 * WordPress dependencies 33954 */ 33955 33956 const button = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33957 viewBox: "0 0 24 24", 33958 xmlns: "http://www.w3.org/2000/svg" 33959 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33960 d: "M19 6.5H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v7zM8 12.8h8v-1.5H8v1.5z" 33961 })); 33962 /* harmony default export */ __webpack_exports__["a"] = (button); 33963 33964 33965 /***/ }), 33966 33967 /***/ "onLe": 33968 /***/ (function(module, exports) { 33969 33970 (function() { module.exports = window["wp"]["notices"]; }()); 33971 33972 /***/ }), 33973 33974 /***/ "plpT": 33975 /***/ (function(module, __webpack_exports__, __webpack_require__) { 33976 33977 "use strict"; 33978 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 33979 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 33980 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 33981 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 33982 33983 33984 /** 33985 * WordPress dependencies 33986 */ 33987 33988 const alignCenter = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 33989 xmlns: "http://www.w3.org/2000/svg", 33990 viewBox: "0 0 24 24" 33991 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 33992 d: "M16.4 4.2H7.6v1.5h8.9V4.2zM4 11.2v1.5h16v-1.5H4zm3.6 8.6h8.9v-1.5H7.6v1.5z" 33993 })); 33994 /* harmony default export */ __webpack_exports__["a"] = (alignCenter); 33995 33996 33997 /***/ }), 33998 33999 /***/ "qRz9": 34000 /***/ (function(module, exports) { 34001 34002 (function() { module.exports = window["wp"]["richText"]; }()); 34003 34004 /***/ }), 34005 34006 /***/ "rH4q": 34007 /***/ (function(module, __webpack_exports__, __webpack_require__) { 34008 34009 "use strict"; 34010 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 34011 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 34012 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 34013 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 34014 34015 34016 /** 34017 * WordPress dependencies 34018 */ 34019 34020 const media = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 34021 xmlns: "http://www.w3.org/2000/svg", 34022 viewBox: "0 0 24 24" 34023 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 34024 d: "M18.7 3H5.3C4 3 3 4 3 5.3v13.4C3 20 4 21 5.3 21h13.4c1.3 0 2.3-1 2.3-2.3V5.3C21 4 20 3 18.7 3zm.8 15.7c0 .4-.4.8-.8.8H5.3c-.4 0-.8-.4-.8-.8V5.3c0-.4.4-.8.8-.8h13.4c.4 0 .8.4.8.8v13.4zM10 15l5-3-5-3v6z" 34025 })); 34026 /* harmony default export */ __webpack_exports__["a"] = (media); 34027 34028 34029 /***/ }), 34030 34031 /***/ "tI+e": 34032 /***/ (function(module, exports) { 34033 34034 (function() { module.exports = window["wp"]["components"]; }()); 34035 34036 /***/ }), 34037 34038 /***/ "wJiJ": 34039 /***/ (function(module, exports, __webpack_require__) { 34040 34041 module.exports = __webpack_require__("1K8p"); 34042 34043 34044 /***/ }), 34045 34046 /***/ "wx14": 34047 /***/ (function(module, __webpack_exports__, __webpack_require__) { 34048 34049 "use strict"; 34050 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _extends; }); 34051 function _extends() { 34052 _extends = Object.assign || function (target) { 34053 for (var i = 1; i < arguments.length; i++) { 34054 var source = arguments[i]; 34055 34056 for (var key in source) { 34057 if (Object.prototype.hasOwnProperty.call(source, key)) { 34058 target[key] = source[key]; 34059 } 34060 } 34061 } 34062 34063 return target; 34064 }; 34065 34066 return _extends.apply(this, arguments); 34067 } 34068 34069 /***/ }), 34070 34071 /***/ "wy2R": 34072 /***/ (function(module, exports) { 34073 34074 (function() { module.exports = window["moment"]; }()); 34075 34076 /***/ }), 34077 34078 /***/ "xTGt": 34079 /***/ (function(module, exports) { 34080 34081 (function() { module.exports = window["wp"]["blob"]; }()); 34082 34083 /***/ }), 34084 34085 /***/ "ywyh": 34086 /***/ (function(module, exports) { 34087 34088 (function() { module.exports = window["wp"]["apiFetch"]; }()); 34089 34090 /***/ }), 34091 34092 /***/ "ziDm": 34093 /***/ (function(module, __webpack_exports__, __webpack_require__) { 34094 34095 "use strict"; 34096 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("GRId"); 34097 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__); 34098 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("Tqx9"); 34099 /* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__); 34100 34101 34102 /** 34103 * WordPress dependencies 34104 */ 34105 34106 const alignRight = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["SVG"], { 34107 xmlns: "http://www.w3.org/2000/svg", 34108 viewBox: "0 0 24 24" 34109 }, Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["createElement"])(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__["Path"], { 34110 d: "M11.1 19.8H20v-1.5h-8.9v1.5zm0-15.6v1.5H20V4.2h-8.9zM4 12.8h16v-1.5H4v1.5z" 34111 })); 34112 /* harmony default export */ __webpack_exports__["a"] = (alignRight); 34113 34114 34115 /***/ }) 34116 34117 /******/ });